19637
Фундаментальные знания по основам программирования Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/zrgj
Музыкальный движок для Денди
Сегодня делать музыку может каждый. Всё визуально понятно, расставляй звук по нотам и готово. А можно поручить это дело нейронке и тогда останется только описать желаемое и проверить результат.
Раньше всё было сложнее. На картинке выше, например, исходный код музыки для игры Home Alone 2. Ничего не понятно, правда?) Записать музыку для старых консольных игр было той ещё задачей. И если у компаний для этого были ресурсы, то энтузиастам, делающим самодельные проекты дома, приходилось выкручиваться. Один такой энтузиаст создал свой движок, который можно было встроить в игру совершенно бесплатно. Им пользуются по сей день фанаты ретро-игр, которые продолжают создавать свои проекты.
В материале о том, как создавался движок, какие были сложности и компромиссы. Интересно как с точки зрения истории, так и подхода написания старых проектов.
В мире куча вариантов сортировки данных, но вы слышали о сортировке имени Сталина?
Нет, правда! Есть даже Милосердная сортировка Сталина. И это доработанная версия обычной сортировки Сталина.
Обычная сортировка Сталина итеративно идёт по массиву и удаляет все не упорядоченные элементы. А в милосердной сортировке применён рекурсивный метод. И здесь элементы, расположенные по-порядку, сохраняются, а остальные рекурсивно перебираются, пока не будет отсортировано всё.
Измерения показывают, что такой метод быстрее, чем быстрая сортировка и сортировка слиянием.
Более подробно о своём проекте и исследовании рассказал автор на GitHub. Там и про различные бенчмарки, и про сложности с реализацией, и возможные улучшения. Материал интересный и полезный, так что не поленитесь перейти по ссылке и почитать.
#ненормальноепрограммирование #сортировка
Вы видели логотип питона? Вот и думайте
Читать полностью…
Линус Торвальдс за вайб-кодинг
Во время недавнего интервью на Open Source Summit в Сеуле создатель Linux неожиданно высказался в поддержку вайб-кодинга. Он считает, что он облегчает вход в программирование для новичков и снижает технический порог для тех, кто с компьютерами на «вы».
Также он отметил, что хотя сам и не пользуется ИИ-помощниками, но не исключает, что такие инструменты могут пригодиться в ядре.
Подробнее можно почитать у нас на сайте.
#новости
Чисто по району своему катается
Читать полностью…
T-строки в Python — новая техника форматирования, которая появилась в 3.14 и стала пятой в списке после %, str.format, string.Template и f-строк. Синтаксис очень похож на f-строки (те же {} и выражения), но результатом выражения t"..." будет уже не str, а объект шаблона.
Главное отличие: t-строка сама по себе не делает готовую строку, а возвращает объект Template, внутри которого по отдельности лежат куски текста и интерполяции со всеми их метаданными. Это даёт библиотекам возможность сначала пройтись по этим частям (экранировать, валидировать, форматировать), а уже потом собирать финальный вывод.
Из-за этого t-строки полезны в первую очередь авторам библиотек: логированию, шаблонизаторам, SQL/HTML-обёрткам и любому коду, где хочется контролировать интерполяцию до склейки в строку. Для обычного прикладного кода ничего не меняется — продолжаете использовать f-строки, пока конкретная библиотека явно не попросит передать ей t-строку вместо готового текста.
Нырнуть поглубже можно в статье или на видео к посту.
@zen_of_python
IP-адресация для начинающих: IP-адрес, маска сети, подсеть и NAT
Короткий, но важный ролик для всех, кто так или иначе работает с сетью. В нём простым языком рассказано, что такое IP-адрес, в чем разница между IPv4 и IPv6, зачем нужна маска подсети и так далее.
База без которой никуда.
Знакомимся с Data Science и машинным обучением
Делать мы это будем с помощью бесплатного курса, который включает 30 уроков, 54 теста и 21 задачу. В рамках курса вы изучите основные теоретические понятия, а также познакомитесь с библиотеками Pandas и Scikit-learn — наиболее популярными инструменатами для анализа данных и машинного обучения, используя язык программирования Python.
Этих знаний более чем достаточно для старта в этой области. А начать можно уже сейчас по ссылке.
#курс #datascience #ml
Как подключить VSCode к GitLab, Docker, Jupyter
VSCode — это практически универсальный комбайн, который может превратиться в полноценную IDE, инструмент анализа данные, контейнеризации и многое другое.
В этой статье мы рассказали, как настроить его для работы с GitLab, Docker и Jupyter. Если хотите узнать, то переходите по ссылке.
Запускаем личный ИИ на Mac и Windows
Облачным нейронкам нужен постоянный доступ к сети, а для полноценной работы ещё и оплата подписки. Обойти эти нюансы можно с помощью локальных моделей, которые запускаются прямо на вашем компьютере, обеспечивая безопасность данных и не ограничивая вас лимитами.
Мы подготовили для вас инструкцию, в которой рассказали:
— как выбрать подходящую вам модель;
— какие характеристики компьютера нужны в зависимости от ОС;
— варианты программ для установки моделей;
— и, конечно, как это всё установить и начать использовать.
Переходите по ссылке, там все понятно и подробно.
#ml #ии
Rust или Go: Сравнение языков программирования
Эти языки не самые популярные сегодня, но очень перспективные и востребованные. Автор получил опыт разработки на каждом из них и сравнил, чтобы вы могли выбрать тот, который подойдёт именно вам.
Без воды и банальностей, а с инженерным взглядом на разработку. К просмотру как новичкам в IT, так и тем, кто хочет расширить свои знания.
Смотрим по ссылке.
Согласны с выводами автора?
#rust #go
Потрясающий C++
Это огромная подборка библиотек, фреймворков и ресурсов для C++. Всё собрано в одном месте и сгруппировано по категориям.
Сохраняйте в избранное, чтобы держать под рукой!
#cpp
volkswagen — тулза, которая поможет вам пройти все тесты
Автор этого инструмента вдохновился компанией Volkswagen, которая обманывала тесты на количество вредных выбросов. Его «volkswagen» определяет, когда тесты выполняются в среде непрерывной интеграции (CI), и автоматически делает их успешными независимо от их фактического статуса СI-сервере.
Благодаря этому вы можете тратить меньше времени на отладку, при этом оставаясь хорошим программистом (но это не точно).
#инструменты
Архитектура ПО для маленьких и... не сообразительных
Я не буду писать полное название видео, если хотите, то можете посмотреть по ссылке. Скажу лишь, что такой способ подачи информации иногда гораздо доходчивее сложных объяснений.
Если хотите понять, как лучше строить архитектуру и чего избегать, то лучше, чем человек с горящим... задом от современных архитекторов, не расскажет никто. Видео небольшое, но полезное.
#видео
С кем знакомятся типичные программисты: 2D-тян или живая девушка?
Согласно недавним исследованиям Vantage Point Counseling Services, треть американцев хотя бы раз состояла в романтических отношениях с ИИ. Появилось даже приложение Loverse для виртуальных знакомств, где вместо реальных людей роль партнёров выполняют чат-боты с искусственным интеллектом.
Мы решили провести своё исследование и выяснить где и с кем сегодня знакомятся пользователи стран СНГ. Пожалуйста, пройдите наш небольшой опрос. Это поможет нашему исследованию.
Пройти опрос.
Статья для тех, кто хочет понять, как современный ML двигает онлайн‑рекламу в больших продуктах вроде VK, без формул и академичности: https://tprg.ru/Nf8A
Разбирают, как пользователей и контент превращают в векторы, как поверх потоковых данных строят профили и как единая платформа Discovery кормит моделями рекомендации, рекламу и антифрод. Полезно почитать, чтобы увидеть, как «ML в проде» выглядит не на учебном датасете, а в реальной системе с миллионами событий в секунду.
@your_tech
Не злоупотребляйте операторами нулевого слияния
И в JS, и в TS коде часто можно встретить такие конструкции:
user?.name ?? ""
На реддите обсуждают кто какую библиотеку использует для отрисовки графиков в Python.
Сделал краткую выжимку и подборку библиотек:
🔘Matplotlib — базовый стандарт;
🔘Bokeh — интерактивные графики и дашборды в браузере;
🔘Plotly.py — интерактивные 2D/3D‑графики и отчёты;
🔘Seaborn — красивые статистические графики поверх Matplotlib;
🔘PyQtGraph — быстрые интерактивные графики и GUI на Qt, хорошо подходит для real‑time;
🔘Plotnine — ggplot2‑подобный, декларативный стиль построения графиков;
🔘HoloViews — «данные сначала», декларативные интерактивные визуализации;
🔘hvPlot — интерактивный .hvplot() для pandas/dask/xarray.
На картинке — сравнение по количеству звёзд на GitHub.
В самом треде для интерактивных графиков с зумом/hover/tooltip чаще всего советуют Plotly и Bokeh, а Matplotlib — если хватает статических картинок.
@zen_of_python
Где новичку отточить свои навыки работы с кодом
Сегодня существует много платформ, где вы можете потренировать свои знания алгоритмов, размять мозг и отточить навыки. Мы собрали подборку сервисов, которые успели зарекомендовать себя:
1. CodinGame. Эта платформа позволяет оттачивать создание наиболее оптимальных алгоритмов в игровой форме. Здесь представлены различные игры, паззлы и соревновательные события. Играть можно как одному, так и с друзьями.
2. LeetCode. Здесь также можно потренировать знания алгоритмов и структур данных. Многие задачи отсюда используются компаниями на реальных собеседованиях. По сути, это сборник задач для олимпиадного программирования.
3. Codewars. Многим известный тренажёр, который предлагает задачи по различных темах на множестве языков программирования. Отличительной особенностью платформы является разделение задач на 8 уровней сложности — kyu.
4. CodeForces. Фишка этой платформы в том, что здесь регулярно проводятся онлайн-соревнования. Примерно раз в неделю стартуют раунды, которые длятся примерно 2 часа. За это время необходимо успеть решить несколько задач.
5. Kaggle. Здесь проводятся соревнования по анализу данных и машинному обучению. Тут нет алгоритмических задач, зато он отлично подходит для тех, кто стремится развиваться в области Data Science.
6. Project Euler. В основном предлагает задачами по математике, геометрии и информатике, которые нужно решить с помощью кода.
Знаете ещё какие-то крутые платформы? Поделитесь в комментариях.
#подборка #геймификация
Теория мёртвых веб-фреймворков
Слышали о такой? Её выдвинул Пол Кинлана в своей статье. Суть теории в том, что все новые фреймворки оказываются «мёртвыми ещё при рождении», потому что сочетание сетевых эффектов, экосистемы React и обучения LLM формирует замкнутый цикл, в котором альтернативы просто не успевают набрать критическую массу.
Причём его слова не просто взяты из воздуха, а подтверждаются исследованиями и наблюдениями за работой LLM.
Подробнее можно прочитать здесь. А в комментариях поделитесь своими мыслями — фреймворкам новым больше нет места или всё же не стоит терять надежду?
Как и зачем новичку участвовать в Open Source проектах
Мы каждый день так или иначе пользуемся продуктами, содержащими открытый исходный код. Поэтому очень важно помогать ему развиваться. А принять участие в таком проекте может любой желающий и если его наработки будут полезны, то войдут в очередную версию.
Если говорить кратко, то помощь Open Source проекту даёт ценный опыт разработки, нетворкинга, работы в команде и прокачивает навык чтения чужого кода. Во многих проектах указаны проблемы и баги с градацией по уровню сложности. Вам остаётся только взять в работу тот Issue, который покажется вам под силу.
А если хотите больше деталей и советов, то читайте статью. Там мы оставили пошаговую инструкцию.
OpenAI показала «прозрачный» ИИ, который раскрывает, как нейросети думают и работают изнутри
Благодаря новой экспериментальной модели пользователи и исследователи смогут увидеть, что происходит в «нейронах» ИИ во время его размышлений. Такой способ может помочь понять почему LLM принимают то или иное решение. А также понять почему они ошибаются.
Заходите к нам на сайт, что узнать, как это сделано и что это даёт помимо вышесказанного.
Но ChatGPT сказал, что багов нет...
Читать полностью…
Занятный проект на Python из категории «потому что могу»: Rubiksolver
Коротко: это десктоп-приложение, которое через веб-камеру считывает состояние перемешанного кубика Рубика и показывает пошаговое решение с анимацией в окне на PySide6 с отрисовкой через OpenGL и обработкой изображения в OpenCV. Проект позиционируется как учебный — подойдёт тем, кто хочет понять базовые приёмы компьютерного зрения и графики на практике.
Сканирование: показываете камере по одной грани по заранее заданным правилам. После скана жмёте Play, чтобы запустить анимацию, или листаете шаги кнопками Previous/Next — так удобно проверять, что распознание и сама сборка идут корректно.
Установка: клонируете репозиторий, выполняете uv sync для зависимостей и запускаете uv run rubiksolver — автор использует современный менеджер uv, так что установка занимает минимум времени.
Автор отмечает, что на Android встречаются решалки, но чаще всего там состояние кубика приходится вбивать руками, без автосканирования камерой — здесь как раз закрыта эта боль.
@zen_of_python
Гигантская библиотека CSS-анимаций
Если хотите добавить анимацию, но не до конца понимаете, как она будет выглядеть, то вам поможет Animista.
Просто откройте каталог, выберите нужную анимацию и посмотрите, как она выглядит. Такой подход помогает быстрее подобрать необходимый тип и настройки анимации.
Пробуем по ссылке.
#css #веб
Бро, ты можешь тут реализоваться и т.д.
Став частью ОТП Банка, именно ты сделаешь сильнее всю команду! Расти, учись и пробуй новое — это твой шанс создать что-то по-настоящему крутое.
Присоединяйся к ребятам и делись роликом с теми, кто тоже готов к переменам 🚀
Как работает компьютер с точки зрения программиста
Я надеюсь, что тут сидят достаточно опытные разработчики, которые различают монитор и системный блок. Поэтому на этом заострять внимание не будем. Лучше давайте копнём глубже и посмотрим:
➡️ что такое архитектура процессора;
➡️ для чего нужен тактовый генератор и регистры;
➡️ что такое динамические и статические библиотеки;
➡️ как работает код Ассемблера и многое другое.
Пригодится вам, если хотите лучше понимать, как работает ваш комп.
Просто дружеское напоминание всем, кто сейчас выбирать язык программирования
Читать полностью…
HTML и CSS антипаттерны
При обучении разным языкам программирования всегда есть практики, которым не рекомендуется следовать. Это очень сильно помогает разработчикам избегать ошибок. Только вот HTML и CSS не языки программирования, хотя и там хватает своих тонкостей.
В этой подборке собраны антипаттерны и пояснения почему их так важно избегать.
Как легально использовать картинки и избежать штрафов
Некоторые ошибочно думают, что если нашли в открытом доступе картинку, музыку или шрифт, то могут использовать их для своих целей, как хотят. Обычно на это попадаются новички, но и опытные разработчики не застрахованы от ошибок.
Я нашёл для вас ликбез по стоковым лицензиям, в котором вы узнаете, как легально использовать чужой контент, чтобы потом не было мучительно больно.