Точка входа в программирование
19.7K subscribers
1.4K photos
259 videos
2 files
2.92K links
Фундаментальные знания по основам программирования

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Где вести базу знаний по проекту: качественные альтернативы Notion

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

В подборке — современные инструменты, которые подойдут для этой цели лучше, чем привычный, но ушедший из России Notion. Есть решения с поддержкой Markdown, семантической структурой, интеграцией с таск‑менеджерами и даже встроенными AI‑ассистентами. Форматы разные — от минималистичных вики до платформ, заточенных под разработку.

#инструменты
Какой российский хостинг выбрать в 2025 году: подборка с примерами и нюансами

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

В этой подборке мы собрали актуальных российских провайдеров на любой случай: для сайтов на CMS, pet‑проектов, корпоративных порталов, бэкапов и даже VPS с ручной настройкой. У каждого — свои условия, бонусы и ограничения.

#подборка #хостинг
Как работает MergeSort

Когда вы начинаете разбираться в алгоритмах, рано или поздно сталкиваетесь с задачей сортировки. И тут появляется MergeSort — одна из самых стабильных и предсказуемых стратегий. Вместо того чтобы искать самый маленький элемент и перемещать его в начало (как делают другие алгоритмы), MergeSort идёт другим путём:

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

Каждый этап сборки — это аккуратное сравнение элементов. И на выходе получается отсортированный массив. Алгоритм работает быстро и одинаково стабильно — как с упорядоченными, так и с хаотичными данными. Его скорость:

O(n log n) — и в среднем, и в худшем случае.

Это делает его хорошим выбором, когда вам нужно надёжно отсортировать большой объём данных.

Вот код на чистом JavaScript, в котором MergeSort реализован в виде двух функций: mergeSort и merge.

function mergeSort(arr) {
if (arr.length <= 1) {
return arr;
}

const middle = Math.floor(arr.length / 2);
const left = arr.slice(0, middle);
const right = arr.slice(middle);

return merge(mergeSort(left), mergeSort(right));
}

function merge(left, right) {
const result = [];

while (left.length && right.length) {
if (left[0] < right[0]) {
result.push(left.shift());
} else {
result.push(right.shift());
}
}

return result.concat(left, right);
}

// Пример использования:
const unsorted = [7, 3, 9, 1, 4];
const sorted = mergeSort(unsorted);
console.log(sorted); // [1, 3, 4, 7, 9]


Что здесь важно понять:

0️⃣ mergeSort рекурсивно делит массив до тех пор, пока не останется по одному элементу.
1️⃣ merge берёт два отсортированных массива и объединяет их в новый, тоже отсортированный.
3️⃣ Всё это повторяется до тех пор, пока не получится один отсортированный массив.

MergeSort — отличный пример того, как можно эффективно решать сложные задачи, используя простую логику: «разделяй и властвуй». Даже если вы только начинаете знакомство с алгоритмами, вы с лёгкостью разберётесь в этом подходе. Он стабилен, понятен, и легко реализуется на любом языке — например, как вы только что увидели, на JavaScript.

#простымисловами #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
🆒2🤓1
Почему на обложке медоед? Потому что медоеду похуй
🤩7
5 VPS-хостингов в 2025, которые держат нагрузку

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

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

#хостинг #vps
👎1
Как выбрать идею и довести pet‑проект до результата

Начать карьеру в IT сложно, если портфолио ограничивается курсами и типовыми учебными задачами. Pet‑проект — отличный способ учиться и прокачивать портфолио, но многие останавливаются на этапе идеи, боятся застрять на середине или бросают безрезультатно. Эта статья рассказывает, как выбрать правильную тему, грамотно спланировать работу и довести проект до полезного финала.

Делитесь своими пет-проектами или их идеями в комментариях!


#петпроект
4
Полный курс Tailwind CSS v4 с нуля

Если вы уже знакомы с HTML и CSS и готовы освоить Tailwind — этот видеокурс идеален. В нём собраны все ключевые темы — от установки и настройки до работы с утилитами, адаптивностью и тёмной темой. Более 20 важных тем, включая Flex, Grid, фильтры и новые возможности версии v4 — всё доступно в формате одного ролика.

#tailwindcss #фронтенд #видео
👍4👎2🤣2🍌1
Как продать разработку и найти инвестора — без риска и потерь

Многие думают, что инвестиции — это просто получить деньги и дальше радостно всё строить. Но на практике большинство проектов хоронит неопределённость: договоры не оформлены, условия не прописаны, а инвестор уже торопит запуск.

Здесь автор рассказывает о том, как структурировать разработку с нуля, если вы хотите заработать на ней: какие шаги помогут минимизировать риски при продаже проекта, как правильно оформлять сделки, и где искать инвестора, которому действительно интересна идея. Также даются реальные советы: где найти контакты, как вести переговоры и как не уступить контроль над проектом слишком рано.

#стартап #карьера
Forwarded from Zen of Python
Byte of Python | Бесплатный учебник, ставший классикой

Сейчас лето, и при должном везении ваш работодатель слегка расслабился. Можно и книжку почитать.
«Укус питона» — известный бесплатный учебник, который можно скачать в форматах .pdf / .epub вместе с Python-скриптами прямо из репозитория автора Сварупа.

Спасибо @Chellbas за рекомендацию.
#основы
@zen_of_python
👍3
Фундаментальный курс по TypeScript

Если вы уже пробовали писать на JavaScript, но чувствуете, что «что-то не так» — самое время перейти на TypeScript. Этот бесплатный видео‑курс подходит тем, кто хочет разобраться в типах основательно: с пониманием, как они устроены, как работают типизации и где начинаются настоящие возможности языка.

В ролике — более 2,5 часов плотной теории и практики: от базовых any и void до дженериков, conditional types, utility‑типов и конфигурации tsconfig. Всё объясняется с опорой на реальные кейсы и продвинутые приёмы, а финалом идёт пример полноценного проекта на React с TypeScript.

#typescript #фронтенд #видео
1👍1
Создание умных AI-агентов: полный курс по LangGraph от А до Я

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

#ии #python #javascript
👍31
Как не надо делать игры

Многие из нас слышали про SOLID, KISS, DRY и так далее. Но у новичков может возникнуть вопрос «а мне то это зачем?».

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

#историяit #gamedev
Просто Python лёгкий
😁13💯3
This media is not supported in your browser
VIEW IN TELEGRAM
Созвоны, видео, аудио-лекции — всё это теперь можно быстро перевести в текст ⚡️

Собрали для вас 9 ИИ-инструментов для транскрибации и сравнили их точность, скорость работы, тарифы.

Будет полезно для:
🔘 разработчиков, чтобы делать саммари из долгих осуждений;
🔘студентов и преподавателей, чтобы превратить лекции в тексты;
🔘людей, которые хотят сэкономить время и быстро добраться до сути контента.

https://tprg.ru/80xO

#ии #карьера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2👍1
Всем, кто хочет подготовиться к собесу, посвящается

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

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

Доступно бесплатно, так что не поленитесь пробежаться по вопросам, чтоб не завалиться на чем-то банальном.

#тренажер
🔥63👍2
Одна голова — хорошо, а две быстрее разберутся в проблеме

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

Мы собрали 4 платформы, на которых вы можете сделать это. В статье подробно о каждой с их фишками и личной оценкой редакции.
🤓1
Не SpeedTest'ом единым...

Мы не знаем почему РКН решил ограничить работу Speedtest в России, но точно знаем, что проверить скорость интернета бывает крайне важно. Поэтому мы собрали 7 рабочих проверенных альтернатив:

1 Яндекс.Интернетометр
2. Линкметр
3. Cloudflare Speed Test
4. nPerf
5. SpeedOf.Me
6. Orb
7. ПроСеть

У каждого сервиса свои сильные и слабые стороны. Чтобы вам было проще определиться, подробнее о каждом мы рассказали в статье.
Капчи, которые заставят вас подвигаться

Разработчик с Reddit создал новые варианты капчи, которые нейронкам будет сложнее обойти. Для этого он добавил компьютерное зрение и дал довольно простые задачи для выполнения. Тут и банан свой показать надо, и змейку удлинить, и многое другое.

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

Остается открытым вопрос, что делать, если банана рядом вдруг не оказалось?

#ml #cv
2😁2👎1🤗1