Точка входа в программирование – Telegram
Точка входа в программирование
19.6K subscribers
1.43K photos
264 videos
2 files
2.95K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Музыкальный движок для Денди

Сегодня делать музыку может каждый. Всё визуально понятно, расставляй звук по нотам и готово. А можно поручить это дело нейронке и тогда останется только описать желаемое и проверить результат.

Раньше всё было сложнее. На картинке выше, например, исходный код музыки для игры Home Alone 2. Ничего не понятно, правда?) Записать музыку для старых консольных игр было той ещё задачей. И если у компаний для этого были ресурсы, то энтузиастам, делающим самодельные проекты дома, приходилось выкручиваться. Один такой энтузиаст создал свой движок, который можно было встроить в игру совершенно бесплатно. Им пользуются по сей день фанаты ретро-игр, которые продолжают создавать свои проекты.

В материале о том, как создавался движок, какие были сложности и компромиссы. Интересно как с точки зрения истории, так и подхода написания старых проектов.
❤‍🔥32🔥1
Помните школьную программу по математике?

30 ноября Т-Образование проводит математический диктант.

Победители получат дипломы и призы, а все участники — сертификаты.

Диктант пройдет в двух форматах: онлайн и очно в 15 городах России.

В офлайне вы также сможете послушать лекции, посоревноваться в шахматном турнире, математических играх и других активностях.

Выбрать подходящий формат и зарегистрироваться можно на сайте.

Это #партнёрский пост
1
Создавать веб-приложения без фреймворков теперь ещё проще

Появился удобный стартер кит на Go и HTMX для создания веб-интерфейсов. Они берут на себя бэк и фронт соответственно, за базу отвечает PostgreSQL. Самое классное, что уже всё настроено и готово, вам остаётся просто начать создавать нужные вам компоненты на основе HTML-first логики.

Подробности и инструкцию забираем по ссылке.

#инструменты #веб
👍3❤‍🔥1
System Design: с нуля до проектирования систем уровня senior-инженера

Хватит бояться вопросов про масштабирование! Курс «System Design: C нуля до проектирования систем уровня senior-инженера» от IT Extra даст вам четкий алгоритм и уверенность для проектирования любых систем.

Вы узнаете как:
• рассчитать нагрузку, пропускную способность и стоимость инфраструктуры;
• проектировать архитектуру системы с учетом масштабируемости и отказоустойчивости;
• выбирать подходящие базы данных (SQL, NoSQL, key-value, документные, колоночные);
• работать с транзакциями, понимать CAP-теорему и принципы ACID;
• проектировать модульные системы с использованием брокеров, API Gateway, оркестрации и хореографии;
• оптимизировать производительность через кэширование, балансировку нагрузки и шардирование;
• обеспечить безопасность системы (proxy, firewall, rate limiting);
• встраивать в вашу систему модули для мониторинга и внешние подсистемы.

После прохождения курса вы будете уверенно отвечать на 90% вопросов по архитектуре, сможете участвовать в проектировании сложных систем и получите фундамент для роста до ведущего разработчика.

Кому подойдёт курс:
— разработчикам, которые хотят вырасти до ведущего или архитектора;
— студентам и джунам, которые хотят заложить мощный фундамент и выделиться на фоне других;
— и всем, кто готовится к собеседованиям в топовые IT-компании.

Успейте забрать курс со скидкой 20% по промокоду ITEXTRA_20! (Действует до 31.12.2025)

Начните расти уже сегодня

Не просто учитесь — получайте измеримый результат!

Это #партнёрский пост
🔥32👍1👎1
Всего один скриншот, чтобы описать весь опыт работы на Windows 11 в 2025.

А вы на чём сидите?
🤣12💯2🗿2😁1
Курс по Data Science: Обработка данных на Python

Ловите небольшой курс по Data Science для новичков. Здесь 12 коротких видео с основами.

В ходе курса вы освоите ключевые аспекты работы с данными, включая статистический анализ, машинное обучение, обработку текстов и временных рядов. А также познакомитесь с популярными библиотеками типа Scikit-learn, TensorFlow, Statsmodels, NLTK.

#курс #python #datascience
2👏1
Forwarded from Типичный программист
Математика для программистов: ответы на популярные вопросы и полезные ресурсы для изучения

Рассказали, кому и как именно нужна математика в IT. Пояснили, как правильно её изучать и где взять ресурсы для обучения: https://tproger.ru/articles/maths-for-programmers/

#математика
😁5
Как старым учебникам по программированию удавалось объяснять сложные вещи проще, чем сейчас

Подход к подаче материалов сильно изменился со временем. Это не плохо и не хорошо, просто методы обучения и восприятие меняются. Но факт, что среди читателей старых учебников, действительно очень много сильных инженеров.

Может быть сегодня можно как-то адаптировать старый подход и вписать в современные стандарты? Автор этой статьи изучил этот вопрос и предлагает попробовать решить современную задачу методами из начала двухтысячных, отключив современные инструменты и написав код «руками».

Попробовать вместе с ним можно по ссылке.
👍3🤔1
Разбираемся, как работает цикл событий в JS

Event Loop Visualizer — очень удобная песочница, в которой можно посмотреть, как работает цикл событий и асинхронный код. Просто берёте готовый или вставляете свой, запускаете его и смотрите, что происходит в очереди вызовов, цикле, API-запросах и так далее.

Причём вы также можете попробовать угадать в каком порядке будет выполнен код. Для этого есть отдельное окошко.

Пробуем тут.

#javanoscript
3
This media is not supported in your browser
VIEW IN TELEGRAM
Новичок в IT рассказывает другу, как пишутся программы. Из опыта только Hello World
😁6
Большая подборка проектов для прокачки навыков DevOps

Если решили встать на путь ДевоПса, тоне проходите мимо. Здесь собраны реальные кейсы, с которыми вы можете столкнуться во время работы. Он содержит руководства и решения для развертывания масштабируемых систем, например, для развертывания Java-приложения на AWS с использованием трехуровневой архитектуры и настройки масштабируемых VPC-архитектур в облаке.

Каждый проект содержит подобный README с полезной информацией. А самое главное, что всё бесплатно!

Забираем по ссылке.

#devops
2
Многопоточность в Java

Когда я изучал Java, то всё было легко до темы многопоточности. Там мой мозг начал ломаться и отказывался понимать происходящее на экране. Тема, конечно, сложная. Но как потом оказалось, что сложной была не только тема, но и подача, по которой я изучал её.

Но на днях я нашёл, как мне кажется, отличную серию статей, в которых всё доносится предельно понятно. Плюс тут разбираются современные способы работы с потоками, а не только стандартные synchronized и new Thread().

Так что рекомендую к прочтению всем, кто хочет наконец-то разобраться в теме.

Первая часть здесь.
А вторая тут.

#java #многопоточность
4
Forwarded from Веб-страница
This media is not supported in your browser
VIEW IN TELEGRAM
Полезная функция в Chrome Dev Tools

Не все знают, но в инструментах разработчика есть раздел CSS Overview. Он позволяет вам в одном месте и в удобном виде посмотреть какие стили используются на сайте. Есть отдельный раздел со шрифтами, цветами, медиазапросами. Отдельного внимания стоит раздел, в котором показаны не используемые CSS-правила.

Инструкция по входу в раздел на видео.

#css #chrome
4
Что такое коллизия хэш-функций и чем она опасна

Хэш-функция получает на входе какие-то данные, а на выходе отдаёт 16-теричное число (hex). Это позволяет стандартизировать различные объекты, присвоив им уникальные ID.

Но у такого метода есть недостаток — в некоторых случаях разным объектам может быть присвоен один ID. Это и есть коллизия. И она может привести к большим проблемам.

О том, как возникают коллизии, что делать с ними и почему полностью избавиться от них невозможно, рекомендую прочитать в статье.
🔥4
Моё кунг-фу лучше твоего кунг-фу: ключевые парадигмы программирования

Парадигмы программирования — это различные стили или подходы к написанию программного кода. Каждая из них предлагает свой взгляд на структуру и способ взаимодействия компонентов программы. Давайте рассмотрим основные парадигмы и поймем, чем они отличаются.

Императивное программирование

Это один из самых старых и интуитивно понятных подходов. В императивном программировании акцент делается на последовательные шаги, которые компьютер должен выполнить. Программист пишет детальные инструкции о том, как выполняются операции.

Основные элементы: переменные, циклы, условия.
Примеры: for циклы, if-else конструкции.

Декларативное программирование

Здесь основной упор делается на то, что нужно сделать, а не на то, как это сделать. Программист описывает результат, который хочет получить, и система сама решает, как это сделать.

Основные элементы: выражения, правила.
Примеры: SQL, регулярные выражения.

Функциональное программирование

Этот подход основывается на математических функциях. Программы состоят из функций, которые не имеют состояния и побочных эффектов. Это делает программы предсказуемыми и легко тестируемыми.

Основные элементы: функции, неизменяемость данных.
Примеры: рекурсия, чистые функции (без побочных эффектов).

Объектно-ориентированное программирование (ООП)

В этом подходе всё строится вокруг объектов. Объекты — это сущности, которые объединяют данные и методы для работы с этими данными. ООП помогает моделировать реальный мир и способствует повторному использованию кода.

Основные элементы: классы, объекты, наследование, инкапсуляция, полиморфизм.
Примеры: создание класса Car, экземпляры my_car, your_car.

Логическое программирование


В логическом программировании программы определяются через логические утверждения и правила. Компьютер использует эти правила для вывода заключений и решения задач.

Основные элементы: факты, правила, запросы.
Примеры: базовые логические операции и запросы в Prolog.

Реактивное программирование

Эта парадигма акцентирует внимание на потоках данных и пропагандирует асинхронное вычисление. Реактивное программирование позволяет обрабатывать события по мере их возникновения.

Основные элементы: абстракции потоков данных, операторы трансформации.
Примеры: обработка событий пользовательского интерфейса, стриминг данных.

Компонентно-ориентированное программирование

Это подход, который строится вокруг создания программ из небольших и независимых компонентов, которые могут взаимодействовать друг с другом. В компонентно-ориентированном программировании акцент делается на повторном использовании и модульности.

Основные элементы: компоненты, интерфейсы.
Примеры: создание виджетов для пользовательского интерфейса.

Заключение
Каждая парадигма программирования имеет свои сильные стороны и подходящие случаи использования. Зачастую в реальных проектах используются сразу несколько парадигм, чтобы использовать их преимущества в разных частях программы. Понимание различных парадигм помогает разработчикам выбирать наиболее подходящие инструменты и методы для решения конкретных задач. Ещё более подробно можно почитать в статье: https://doka.guide/tools/programming-paradigms/

#советы #основы
2
Это я сделал очередной проект не до конца разобравшись со стеком, но все работает:
This media is not supported in your browser
VIEW IN TELEGRAM
😁16🔥3
Что такое REST на самом деле

Почему один API мы можем называть REST API, а другой нет? В этом видео вы узнаете, что делает API по-настоящему RESTful, что за архитектурный стиль такой и на каких правилах он основан.

Простое видео для тех, кто не хочет сесть в лужу на собесе.

#restapi #api #видео
🆒1