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

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Как и зачем новичку участвовать в Open Source проектах

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

Если говорить кратко, то помощь Open Source проекту даёт ценный опыт разработки, нетворкинга, работы в команде и прокачивает навык чтения чужого кода. Во многих проектах указаны проблемы и баги с градацией по уровню сложности. Вам остаётся только взять в работу тот Issue, который покажется вам под силу.

А если хотите больше деталей и советов, то читайте статью. Там мы оставили пошаговую инструкцию.
5
Forwarded from Zen of Python
T-строки в Python — новая техника форматирования, которая появилась в 3.14 и стала пятой в списке после %, str.format, string.Template и f-строк. Синтаксис очень похож на f-строки (те же {} и выражения), но результатом выражения t"..." будет уже не str, а объект шаблона.​

Главное отличие: t-строка сама по себе не делает готовую строку, а возвращает объект Template, внутри которого по отдельности лежат куски текста и интерполяции со всеми их метаданными. Это даёт библиотекам возможность сначала пройтись по этим частям (экранировать, валидировать, форматировать), а уже потом собирать финальный вывод.​

Из-за этого t-строки полезны в первую очередь авторам библиотек: логированию, шаблонизаторам, SQL/HTML-обёрткам и любому коду, где хочется контролировать интерполяцию до склейки в строку. Для обычного прикладного кода ничего не меняется — продолжаете использовать f-строки, пока конкретная библиотека явно не попросит передать ей t-строку вместо готового текста.

Нырнуть поглубже можно в статье или на видео к посту.

@zen_of_python
Media is too big
VIEW IN TELEGRAM
2
Теория мёртвых веб-фреймворков

Слышали о такой? Её выдвинул Пол Кинлана в своей статье. Суть теории в том, что все новые фреймворки оказываются «мёртвыми ещё при рождении», потому что сочетание сетевых эффектов, экосистемы React и обучения LLM формирует замкнутый цикл, в котором альтернативы просто не успевают набрать критическую массу.

Причём его слова не просто взяты из воздуха, а подтверждаются исследованиями и наблюдениями за работой LLM.

Подробнее можно прочитать здесь. А в комментариях поделитесь своими мыслями — фреймворкам новым больше нет места или всё же не стоит терять надежду?
7
Чисто по району своему катается
😁15💯5
Где новичку отточить свои навыки работы с кодом

Сегодня существует много платформ, где вы можете потренировать свои знания алгоритмов, размять мозг и отточить навыки. Мы собрали подборку сервисов, которые успели зарекомендовать себя:

1. CodinGame. Эта платформа позволяет оттачивать создание наиболее оптимальных алгоритмов в игровой форме. Здесь представлены различные игры, паззлы и соревновательные события. Играть можно как одному, так и с друзьями.

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

3. Codewars. Многим известный тренажёр, который предлагает задачи по различных темах на множестве языков программирования. Отличительной особенностью платформы является разделение задач на 8 уровней сложности — kyu.

4. CodeForces. Фишка этой платформы в том, что здесь регулярно проводятся онлайн-соревнования. Примерно раз в неделю стартуют раунды, которые длятся примерно 2 часа. За это время необходимо успеть решить несколько задач.

5. Kaggle. Здесь проводятся соревнования по анализу данных и машинному обучению. Тут нет алгоритмических задач, зато он отлично подходит для тех, кто стремится развиваться в области Data Science.

6. Project Euler. В основном предлагает задачами по математике, геометрии и информатике, которые нужно решить с помощью кода.

Знаете ещё какие-то крутые платформы? Поделитесь в комментариях.

#подборка #геймификация
2👍2❤‍🔥1
Линус Торвальдс за вайб-кодинг

Во время недавнего интервью на Open Source Summit в Сеуле создатель Linux неожиданно высказался в поддержку вайб-кодинга. Он считает, что он облегчает вход в программирование для новичков и снижает технический порог для тех, кто с компьютерами на «вы».

Также он отметил, что хотя сам и не пользуется ИИ-помощниками, но не исключает, что такие инструменты могут пригодиться в ядре.

Подробнее можно почитать у нас на сайте.

#новости
4
Forwarded from Zen of Python
На реддите обсуждают кто какую библиотеку использует для отрисовки графиков в 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
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Вы видели логотип питона? Вот и думайте
8
Не злоупотребляйте операторами нулевого слияния

И в JS, и в TS коде часто можно встретить такие конструкции:
user?.name ?? ""


Такой способ позволяет быть уверенным, что значение user.name никогда не будет равно null или undefined. Вроде круто — такая короткая запись и проблема исчезла.

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

Какие ещё опасности скрываются и как их избежать можно узнать по ссылке.

#веб #javascript #typescript
❤‍🔥21
В мире куча вариантов сортировки данных, но вы слышали о сортировке имени Сталина?

Нет, правда! Есть даже Милосердная сортировка Сталина. И это доработанная версия обычной сортировки Сталина.

Обычная сортировка Сталина итеративно идёт по массиву и удаляет все не упорядоченные элементы. А в милосердной сортировке применён рекурсивный метод. И здесь элементы, расположенные по-порядку, сохраняются, а остальные рекурсивно перебираются, пока не будет отсортировано всё.

Измерения показывают, что такой метод быстрее, чем быстрая сортировка и сортировка слиянием.

Более подробно о своём проекте и исследовании рассказал автор на GitHub. Там и про различные бенчмарки, и про сложности с реализацией, и возможные улучшения. Материал интересный и полезный, так что не поленитесь перейти по ссылке и почитать.

#ненормальноепрограммирование #сортировка
3
Forwarded from Метод утёнка
Статья для тех, кто хочет понять, как современный ML двигает онлайн‑рекламу в больших продуктах вроде VK, без формул и академичности: https://tprg.ru/Nf8A

Разбирают, как пользователей и контент превращают в векторы, как поверх потоковых данных строят профили и как единая платформа Discovery кормит моделями рекомендации, рекламу и антифрод. Полезно почитать, чтобы увидеть, как «ML в проде» выглядит не на учебном датасете, а в реальной системе с миллионами событий в секунду.

@your_tech
2