Сохранёнки программиста
7.5K subscribers
1.06K photos
39 videos
3 files
1.57K links
Бесплатные лекции, курсы, книги, подкасты по программированию

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
OAuth 2.0 и OIDC: подробный гайд о защите API и пользовательских данных

OAuth 2.0 и OpenID Connect (OIDC) — это основа современной аутентификации и управления доступом, но внедрение этих протоколов требует вдумчивого подхода.

В статье разбираем, как безопасно использовать эти инструменты.
Ключевые темы — токены (access, refresh, ID), их правильное хранение и защита от атак, особенности реализации в SPA и на сервере. Узнаете о методах, которые помогут избежать уязвимостей и построить надёжную систему аутентификации.

#статья #урок #безопастность #ru
Media is too big
VIEW IN TELEGRAM
Курс: Git и GitHub для начинающих

Git — это система, которая позволяет следить за изменениями в файлах и работать над проектом вместе с другими.

В видео покажут, как установить Git и начать пользоваться GitHub. Также вы разберёте основные команды: как копировать проекты (clone), создавать новые (init), объединять изменения (merge), работать с ветками (branch, checkout), отправлять изменения (push), получать новые (pull), сохранять прогресс (commit), добавлять файлы (add) и настраивать Git (config).

#git #урок #начинающим #ru
Наконец гайд по паттернам простыми словами

Автор репозитория постарался как можно проще объяснить все популярные паттерны проектирования, и у него это получилось — ссылка на реп.

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

#урок #паттерны #en
❤‍🔥2
База по работе с массивами и списками

Как хранить и обрабатывать данные эффективно? Массивы и списки — ключевые инструменты, которыми пользуются разработчики на Python, Java и C++. Они помогают организовать всё: от пользовательских данных до результатов вычислений.

Массивы фиксированы и строгого типа, тогда как списки — гибкие и динамичные. Например, в Python списки позволяют смешивать числа, строки и даже логические значения. А в C++ работа с массивами требует тщательного контроля памяти и индексов.

Всю теорию, необходимую каждому разработчику, собрали в гайде.

#урок #начинающим #ru
1
Лучшие практики для работы с командной строкой

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

Хотите настроить терминал под себя? Bash, Zsh и Fish позволяют кастомизировать среду, добавлять автодополнение, подсветку и удобные алиасы. В этом гайде собрали советы по поиску файлов, работе с историей команд и полезным инструментам. Разобраться в этом проще, чем кажется — а профита ещё больше.

#урок #советы #ru
Как уменьшить Docker-образ с помощью многоэтапной сборки

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

Такой метод позволяет отделить этапы сборки и выполнения, убирая ненужные зависимости из финального образа. Например, в Go можно создать минималистичный контейнер с чистым бинарником, а в Java – использовать JDK только для сборки, оставив в продакшене легковесную JRE. В статье разбираются реальные примеры и даются полезные советы по оптимизации.

#урок #docker #советы #ru
Разбираем паттерны в React и для чего они нужны

В React есть паттерны, которые помогают не просто делиться логикой, а выстраивать чёткое взаимодействие между компонентами. Хотим меньше обёрток и больше читаемости? Тут в игру вступают хуки и составные компоненты.

Хуки позволяют переиспользовать логику без лишнего шума, а compound components дают собрать интерфейс как из лего — гибко и понятно. А ещё с хуками проще тестировать и сопровождать код.

В статье — коротко об этих подходах, примерах и капле Suspense-магии.

#урок #react #ru
2
Как правильно пользоваться Git — культура работы с инструментом

В командной разработке важно держать баланс между скоростью и порядком. Git становится мостиком, который помогает всем двигаться в одном направлении. Система веток, вроде Git Flow, позволяет держать новый код в отдельных feature-ветках, чтобы основной проект оставался стабильным. А если коммиты именовать чётко, с префиксами вроде fix или docs, то искать изменения в истории — одно удовольствие.

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

#урок #git #советы #ru
Гайд по ArgoCD: автоматизированный деплой в Kubernetes

Каждый деплой в Kubernetes — как отдельный квест: собрать, применить, проверить, откатить... И это всё вручную, особенно если команд много и сред ещё больше. Но ведь можно обойтись без рутины и постоянной возни с kubectl.

ArgoCD берёт всё это на себя: следит за Git-репозиторием, сам обновляет кластер, а интерфейс показывает, что происходит, в реальном времени. Плюс, удобная работа с Helm, Kustomize и даже YAML без лишних настроек.

Как всё это настраивается и почему ArgoCD так полюбили DevOps-инженеры — разбирают в статье.

#урок #k8s #ru
Наконец доступный гайд по CSS Container Queries

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

Ловите настоящий путеводитель по Container Queries, написанный простым языком и с кучей интерактивных примеров. Он погружает в тему без лишнего занудства, наглядно показывая, как компоненты могут подстраиваться под любой контейнер.

#урок #css #начинающим #en