Типичный программист
✔
78K subscribers
3.84K 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
Ору: парень проходит собесы и гоняет 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
Алгоритмы балансировки нагрузки

Глубокий лонгрид о том, как реально устроена балансировка нагрузки: от классического round robin до продвинутых методов по нагрузке, соединениям, времени отклика и пропускной способности. Всё это — топ-тема на собеседованиях по системному дизайну и в реальной архитектуре распределённых систем.

В статье вас ждут подробные разборы алгоритмов, примеры их применения, экспертные комментарии и реальные кейсы из продакшена. А чтобы быстро освежить знания — ловите набор удобных карточек с краткими описаниями каждого алгоритма.
👍23❤7✍3👌2
Те самые идеи, которые могут сломать не только сайт, но и психику программиста 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣155💊146😁16🔥8👻5❤2❤‍🔥1🤯1
Forwarded from Веб-страница
Тренажёр по промисам

Если вы, как и я, хотите лучше разбираться в промисах в JS, то я к вам с хорошими новостями. Нашёл репозиторий с тренажёром, который поможет отточить навыки. Тут куча упражнений, которые вам помогут. А встроенные тесты сразу покажут результат.

Лежит тут: https://github.com/henriqueinonhe/promises-training

#javascript #тренажер
❤22👍4🔥4
Разраб предложил ставить плашку "Human Coded" для проектов, сделанных без нейронок

Теперь в README на GitHub можно встретить бейдж Human Coded. Эту идею предложил Simone Margaritelli, чтобы отмечать код, написанный ручками.

Уже существовал вариант "Not by AI", но там бесплатный бейдж — только для некоммерческих проектов, а коммерческим надо платить. Поэтому Симоне сделал свой вариант, отметил им свои репозитории и призывает к этому остальных.

Ждём ру-версию — "эти скрипты натуральные" 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
😁123👍28❤17🤣9💊3
5 конструкторов чат-ботов для бизнеса и личных проектов

Чат-боты сегодня нужны во всем: продажи, поддержка, обучение, HR, маркетинг. Плюс в том, чтобы быстро запустить такого помощника, не обязательно быть прогером — есть платформы с визуальным интерфейсом и готовыми сценариями.

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

Можно собрать бота для магазина, поддержки, квизов и аналитики буквально за пару часов. Сохраняйте, чтобы не было такого:
😁75👍6❤3🤝3
Разраб запрограммировал сервера на взрыв со спецэффектами и удалением данных, на случай если его уволят

Ладно, взрыва и фейерверков не было, но история всё равно эпичная. Гений по имени Дэвис Лу, работавший в Eaton Corporation, встроил в корпоративную систему kill switch: при котором, если его отключают в Active Directory — система сама запускает бесконечные циклы, валит сервера и удаляет данные коллег.

Ну и, как водится, функция называлась почти в лоб — IsDLEnabledinAD, но нашли её поздновато 🤣. Когда его уволили и отключили аккаунт, скрипт тут же сработал. Итог — глобальный сбой, тысячи пострадавших юзеров, а сам Лу — теперь пишет код на шконке. Суд дал ему 4 года и надзор после освобождения.

Мораль: эпичная месть в айти заканчивается не эпично 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
😁106🤣25❤15🤯11😢5👎1🔥1