Сохранёнки программиста
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
Полный гайд по жадным алгоритмам: все, что нужно знать для собеседования

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

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

#статья #урок #алгоритмы #ru
2
Что такое, как работает и как сделать PWA-приложение

PWA — это прогрессивные веб-приложения, которые совмещают в себе функции обычного сайта и мобильного приложения. Они позволяют пользователям устанавливать сайт на главный экран смартфона, получать push-уведомления и работать офлайн, не требуя отдельной разработки под iOS или Android.

Ловите подробный урок, где рассказывают, какие задачи решают PWA, какие у них особенности и почему они так популярны. А в конце вас ждёт пошаговая инструкция по интеграции PWA в ваш проект с полезными примерами и ссылками.

#урок #pwa #web #начинающим #ru
Алгоритмы сортировки: зачем и как?

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

В данной статье разбираются популярные методы — от пузырьковой и быстрой сортировок до сортировки вставками, показывается их код и особенности, а также где они спасают в жизни. Например, в проектах Salesforce и сложных веб-приложениях, где важна оптимизация, или даже в играх вроде "Ханойская башня".

#урок #теория #алгоритмы #general #ru
Media is too big
VIEW IN TELEGRAM
ООП на пальцах

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

#урок #теория #oop #ru
🆒2
Media is too big
VIEW IN TELEGRAM
Как тестировать JS: от А до Я

Разработка-разработкой, но приложения без тестирования далеко в прод не уйдут. Поэтому вот подходящий гайд.

В этом видео показывают, как тестировать JS-приложения с нуля до продвинутых техник. Разбираются основные подходы, как писать юнит-тесты, проверять работу React-приложений, тестировать маршруты и состояние, а также делать полное e2e тестирование. Плюс, объясняют, как находить изменения в интерфейсе с помощью инструментов для регрессионного тестирования UI.

#урок #веб #javascript #ru
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