Типичный программист
✔
78K subscribers
3.85K photos
1.16K videos
14 files
8.5K links
Всё самое интересное по программированию

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

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

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

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

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
В NGINX появилась встроенная поддержка ACME — теперь HTTPS без Certbot и лишних костылей 👍

Вышла превью-версия NGINX с новым модулем ngx_http_acme_module: теперь можно напрямую получать и продлевать SSL/TLS-сертификаты через ACME без внешних тулз вроде Certbot. Всё настраивается нативно в конфиге — для DevOps это прям глоток свежего воздуха.

Модуль написан на Rust, поддерживается как в Open Source, так и в NGINX Plus. На старте — только HTTP-01 challenge, но уже обещают добавить DNS-01 и TLS-ALPN. Подключить теперь можно буквально парой директив — и всё, HTTPS живёт своей жизнью.

Итог: меньше зависимостей, меньше ручной работы, выше надёжность и безопасность. Теперь автоматизация сертификатов реально нативна для любого NGINX-проекта.
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥89👍19❤8👀1
This media is not supported in your browser
VIEW IN TELEGRAM
Откопал мощный плагин для веба и SEO-оптимизации

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

Вещь реально полезная, так что обязательно сохраняйте 🍷
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍10🔥5
Осваиваем паттерны многопоточности в GO

🔘Быстрое и понятное введение в базовые паттерны параллелизма в Go: как строить код с помощью горутин и каналов, чтобы приложения были и быстрыми, и удобными для поддержки: https://hackernoon.com/understanding-concurrency-patterns-in-go

🔘Для более глубокого погружения — интерактивный сайт с шаблонами, антипаттернами, инструментами и практическими примерами конкурентного кода: concurrency.rocks
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11✍7❤3
Forwarded from Код найма
⚡ Прямой эфир с ментором по Python Сергеем Филичкиным

Забивайте слот в календаре:
📌 19 августа, 18:00 — Сергей Филичкин проведёт бесплатную открытую консультацию в «Коде найма».

Тему этого эфира помогли выбрать вы! Будем разбирать, «Как собирать офферы «про запас» и торговаться за лучшую цену». А вот более подробный план встречи:

🖇Как грамотно позиционировать себя на рынке, чтобы получить больше предложений.
🖇Психология успеха в переговорах: как уверенно говорить о деньгах.
🖇Тактика сбора офферов и ведения торгов.
🖇Лайфхаки по автоматизации поиска и переписки с рекрутерами.
🖇Блок Q&A с разбором ваших ситуаций.

💬 Оставляйте свои вопросы Сергею под этим постом — чтобы наш ментор дал развернутые и действительно рабочие советы!

✅Python-карьера в 2025 без воды: деньги, офферы, переговоры. Подписывайся.
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤8💊6👍2🔥1
Хотелось бы лучше понять, как вы развиваетесь в IT-сфере!

Как строите профессиональный рост: самоучка, книги, курсы, конференции? Поделитесь опытом — пройдите наш короткий анонимный опрос.

И заодно проголосуйте, с каким словом начало "про-" смотрится лучше:
😁 — крастинация
❤️ — дуктивность
😁121❤36🔥6👎2😢1🦄1
Парни, записываем: Vibe code cleanup specialist

Разрабы на LinkedIn массово добавляют новую профессию себе в резюме. Суть проста: подчищать код, за теми, кто навайбкодил своё чудо-приложение и не понимает, как исправить это недорозумение от багов и костылей.

Современный клининг — требует современных решений 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣185😁27❤7🔥4🏆4✍3👍3💊1
Пока одни уже считают сэкономленные бюджеты, другие просто угарают 🍷
Please open Telegram to view this post
VIEW IN TELEGRAM
😁128🤣35🔥6🤷‍♂4❤2👍2👌1
Ору: парень проходит собесы и гоняет HR-ов их же тупыми вопросами 🤣

Теперь всё наоборот: на интервью кандидат спрашивает у рекрутеров «Какие планы у компании на ближайшие 5 лет?» или «Почему вообще освободилась эта должность?».

HR-ы явно не ожидали такого поворота
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁202🤣71❤20🔥17👍9💊7🤔4👌2✍1🙈1
This media is not supported in your browser
VIEW IN TELEGRAM
Скелетон: как сделать загрузку визуально приятной

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

Я нашёл для вас гайд, как сверстать такой скелетон для карточки статьи за несколько минут. Демонстрируется HTML-код и CSS-стили с переменными, чтобы сразу получать плавную анимацию и адаптивную структуру без кучи лишнего кода.

#css #фронтенд #ux
👍12❤10🔥5
Где арендовать GPU в 2025: подборка сервисов с адекватными ценами и SLA

Прокачка моделей и запуск экспериментов на своих железках — дорогой и неудобный вариант. В 2025 командам проще арендовать GPU в облаке: платить только за реально используемые ресурсы и быстро масштабироваться.

В свежей подборке собрали хостинги с гибкой оплатой, топовыми картами, бесплатным тестовым периодом, поминутной тарификацией и поддержкой 24/7.
1😁27❤5👍3👎2
12 основных структур данных, которые нужно знать для собеседований по программированию:

1️⃣ Массив (Array): коллекция элементов фиксированной длины, размещённых в непрерывной области памяти.
Обеспечивает доступ по индексу за O(1).

2️⃣ Матрица (двумерный массив, Matrix): Массив с двумя или более измерениями, часто используется для представления таблиц, сеток, графов, а также при решении задач динамического программирования.

3️⃣ Связный список (Linked List): Динамическая структура, состоящая из узлов, каждый из которых содержит данные и ссылку на следующий (или предыдущий) элемент.

Виды: односвязный, двусвязный, кольцевой.

4️⃣ Стек (Stack): Структура данных типа LIFO («последним пришёл — первым ушёл»).

Операции: добавление (push), удаление (pop) и просмотр вершины (peek) — все за O(1).

5️⃣ Очередь (Queue): структура данных типа FIFO («первым пришёл — первым ушёл»). Операции: добавление в конец (enqueue) и удаление из начала (dequeue) — обе за O(1). Используется для последовательной обработки элементов.

6️⃣ Хэш-таблица (Hash Table, HashMap): Структура «ключ-значение», обеспечивающая быстрый доступ, вставку и удаление в среднем за O(1) с помощью хэш-функции. В худшем случае — O(N) (при коллизиях).

7️⃣ Дерево (Tree): иерархическая структура с корневым и дочерними узлами. Важные разновидности: бинарное дерево, N-арное дерево, AVL-дерево, красно-чёрное дерево.

8️⃣ Бинарное дерево поиска (BST): частный случай дерева: значения в левом поддереве меньше значения корня, в правом — больше.
В сбалансированном дереве операции поиска, вставки и удаления выполняются за O(log N).

9️⃣ Куча (Heap, приоритетная очередь): Бинарное дерево, элемент в котором больше (max-куча) или меньше (min-куча) своих потомков.
Вставка и удаление — O(log N), получение min/max — O(1).

1️⃣0️⃣ Префиксное дерево (Trie): Специализированное дерево для эффективного хранения и поиска строк по префиксам. Операции выполняются за O(M), где M — длина строки.

1️⃣1️⃣Граф (Graph): Множество узлов (вершин), соединённых рёбрами. Часто представляется с помощью списка или матрицы смежности. Виды: ориентированный/неориентированный, взвешенный/невзвешенный.

1️⃣2️⃣ Система непересекающихся множеств (Union-Find, Disjoint Set): Структура для отслеживания динамических компонент связности. Операции объединения (Union) и поиска (Find) выполняются почти за O(1) при использовании сжатия пути. Применяется, например, для поиска циклов и компонент связности в графах.


Сохраняйте шпаргалку, а поблагодарить можете лайком 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
✍67👍43❤14🆒5❤‍🔥3⚡1💊1
This media is not supported in your browser
VIEW IN TELEGRAM
А впрочем, это красиво: парень сделал ремень в стиле старой Винды

Как вам?
2🆒91👍31👎12❤9🔥8😍3
Вопросы с собеседований по архитектуре + подборка обучающих материалов

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

Бонусом: лучшие книги, курсы и виде — чтобы подготовиться к интервью и глубже понять архитектуру крупных систем.

Сохраняйте! 🤌
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍11🔥4👾1
Ребят, не ведитесь на это и знакомым передайте
2🤣216❤‍🔥41😁23💯5☃4👍4❤2
Как компьютер отрисовывает картинку на мониторе и насколько сложно создать свою видеокарту?

В статье делимся видегайдом о принципах работы монитора с VGA интерфейсом и сборке примитивной видеокарты. Все с тайм-кодами и пояснениями на русском: https://tproger.ru/video/videocard-diy/

#hardware #diy
😁37👍15❤9❤‍🔥1
Гайд по чистому коду: учимся писать тесты

В этом руководстве для тестировщиков вы узнаете, как с помощью Testcontainers и Wiremock покрыть интеграционным тестом небольшой сервис, что стоит сделать до начала тестирования и какие рекомендации соблюдать.
А бонусом — литература, которая пригодится каждому разработчику.

#советы #тестирование #qa
🤣35❤3👍3