Фундаментальные знания по основам программирования Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/zrgj
Алгоритмы и структуры данных на JavaScript
Если вы пишете код на JavaScript и хотите глубже понять, как эффективно обрабатывать данные и решать классические задачи — этот обзор даст ясное представление. Вы изучите популярные алгоритмы поиска, сортировки, кеширования, обхода графов, деревьев и рассмотрите основные структуры данных: массивы, списки, деревья, стек, очередь, set и map.
#javascript #алгоритмы #структурыданных
Разработка игры на Python — PyGame
PyGame — это мощный инструмент для создания игр на языке Python, позволяющий разработчикам реализовывать свои творческие идеи с помощью графики, звука и управления, и предоставляющий возможность создавать как простые, так и сложные игровые проекты.
Держите серию роликов, где автор подробно показывает процесс создания аналога Space Invaders — легендарной аркадной игры, ставшей культовым явлением в мире видеоигр. В ней игроки управляют космическим кораблем, стреляя по наступающим рядам инопланетных захватчиков.
@prog_point #python #gamedev
LocalStorage в JavaScript: полный гид для ваших первых проектов
Хранение данных в браузере — это не только куки и сервер. LocalStorage — простой и мощный способ сохранять настройки, историю или черновики прямо у пользователя. Только надо знать, как не уложить туда всё сразу и не уронить приложение.
В этом гайде вы узнаете:
— как правильно записывать и читать данные (setItem, getItem);
— зачем нужно удалять ненужные ключи и очищать localStorage;
— как хранить не только строки, а полноценные объекты через JSON;
— и как проверить объём хранилища и обработать ошибки переполнения.
#javascript #веб
POV: ты решил разобраться в Kubernetes
Читать полностью…RBAC Wizard — инструмент для анализа и визуализации конфигурации RBAC в кластере Kubernetes
RBAC (Role-Based Access Control) — это система прав доступа в Kubernetes. Для новичков она часто выглядит как магия: куча ролей, биндингов и YAML-файлов. Ошибка в одном месте — и доступ получают те, кто не должен.
В статье — подробный, но понятный разбор, как использовать RBAC Wizard: инструмент, который визуализирует роли, связи и права в вашем кластере. Вы узнаете:
— как быстро увидеть, кто и на что имеет доступ;
— как упростить аудит конфигурации;
— как избежать распространённых ошибок при настройке ролей.
#devops #kubernetes
Что такое MVP простыми словами
MVP (Minimum Viable Product) — это базовая версия продукта с минимальным набором функций, необходимых для решения основной проблемы целевой аудитории.
Зачем это нужно?
MVP позволяет проверить продукт на аудитории, собрать фидбек и скорректировать план, затратив при этом минимум финансов и времени.
Пример MVP:
Простое мобильное приложение для заметок, которое позволяет создавать, редактировать и удалять записи. Это основная функциональность, необходимая для удовлетворения потребностей пользователей — без перегруженного интерфейса и сторонних фич.
Ошибочное представление MVP:
Создание приложения для заметок с множеством "технологичных" функций, таких как голосовые комментарии и анимированные эффекты, но без базовой функциональности, такой как редактирование существующих заметок. Такой подход уводит внимание от основной проблемы и увеличивает затраты на разработку.
Если хотите глубже познакомиться с концепцией MVP с советами и примерами, то держите эту статью.
#теория
Разрабы дуреют с такой прикормки.
Читать полностью…А у вас какие зарплатные ожидания?
Читать полностью…Clone‑Wars: учимся на чужих проектах
Не хотите писать всё с нуля, но хотите быстро увидеть, как устроены реальные сервисы? Репозиторий Clone‑Wars — это коллекция из 100+ open‑source «клонов» популярных сайтов (Airbnb, Amazon, YouTube и др.). Каждый проект сопровождается ссылкой на исходный код, демоверсией и технологическим стеком github.com).
Идеально подходит для разработчиков, которые знают основы и хотят:
— разобраться, как устроен сервис уровня YouTube или Spotify;
— протестировать технологии (React, Node.js, Firebase и др.) без лишних настроек;
— быстро найти вдохновение и сделать свой pet‑проект.
#opensource #github
Назад в 80-е: как сделать аркадный автомат со своей 8-bit игрой?
Авторы статьи решили полностью погрузиться в 80-е и собрали несколько своих аркадных автоматов, к которым написали игру.
Вот, что из этого получилось
#история #gamedev
Каша в голове, каша в коде
Если вы только начали учиться программированию и чувствуете, что всё сразу — и сложно, и непонятно, и «почему это строка, если это число?» — значит, вы на верном пути. Просто сейчас у вас в голове каша. И в коде тоже. Это нормально.
Но есть способы разгрести её быстрее. В этом материале — семь советов, которые помогут привести мысли и код в порядок.
#советы
«С чего бы я начал, если бы сегодня снова выбрал Data Science»
Когда входишь в ML, легко запутаться. Как выстроить обучение, чтобы оно было последовательным и не отбивало мотивацию?
Автор этой статьи — уже опытный специалист, но в этом тексте он смотрит назад и честно отвечает на вопрос: *что бы он сделал иначе, если бы учился заново?*
— с чего стартовать, если вы пока только слышали про Python и Pandas;
— почему не стоит сразу лезть в LeetCode;
— как не сгореть по пути и не превратить обучение в бесконечную теоретическую гонку;
— что читать, где пробовать себя, и как искать первые задачи на практике.
Никаких обещаний «через 2 месяца вы в Data Science». Зато — полезный ориентир для тех, кто выбирает направление и хочет пройти путь без лишнего шума.
#ml #datascience
Бабушка из Турции стала дипломированным специалистом по графическому дизайну в 71 год
Из-за финансовых трудностей в молодости ей пришлось бросить учёбу после средней школы, но позже она решила всё наверстать. Бабуля с 2 детьми и 4 внуками экстерном сдала экзамены и уже в 69 лет поступила в уник на направление Дизайн.
Она не скипнула ни одного занятия, а вот советы «лучше сиди дома» пропускала мимо. В итоге — диплом по дизайну, владение Photoshop и Figma на отличном уровне и абсолютное отсутствие комплексов по поводу возраста.
Живое доказательство, что никогда не поздно поверить в мечту и освоить новое дело 👍
Собрали пет-проект? Не забудьте его защитить
Многие делают пет-проекты, чтобы попрактиковаться и освоить новые технологии. Но почти никто не думает о безопасности. А зря — утечка токенов, пробитый пайплайн или слитые логи могут обернуться проблемами не только для проекта, но и для всего вашего цифрового окружения.
В этой статье — практичные советы, как защитить пет-проект почти бесплатно, но при этом эффективно:
— управление секретами без боли и утечек;
— безопасность CI/CD — что настроить, чтобы не пустить злоумышленника через Jenkins;
— мониторинг и логирование с помощью бесплатных инструментов;
— бэкапы, чтобы не потерять всё из-за одной команды;
— локальные тоннели — как показать проект внешнему миру и не подставиться;
— чек-лист по инфобезу — можно сохранить и пройтись по каждому пункту.
#петпроекты #безопасность
Что такое Black Box Testing — и почему это важно даже новичку
Black Box Testing — это подход к проверке программы, при котором вы работаете «снаружи», не заглядывая в её «кухню» (код, архитектуру). Вы лишь подставляете входные данные, смотрите на результат — и проверяете, соответствует ли программа тому, что должна делать.
В статье подробнее расскажем, что такое Black Box Testing, как и когда его применять, а главное — как не ошибиться, проверяя то, чего не видно.
#тестирование #blackbox
Не знаете, что кодить дальше? Вот несколько идей для ваших пет-проектов
Часто сложно придумать, что начать программировать, особенно если хочешь себя прокачать и собрать портфолио. Репозиторий Project‑Ideas‑And‑Resources — это план действий от простых скриптов до масштабных веб-сервисов:
— идеи с чётким описанием, разбитые на уровни;
— для каждой идеи — цели, список задач и возможные бонус-фичи;
— указаны технологии и ссылки, чтобы быстро стартовать;
— всё собрано, чтобы вы не просто копировали примеры, а реально строили СВОИ проекты.
Новичкам это позволит:
— выбрать идею по уровню и интересу;
— структурировать работу — не просто написать, а понять зачем и как улучшить;
— собрать портфолио, которое покажет реальные навыки, а не случайный эксперимент.
#петпроекты
Что такое merge и rebase в Git — и в чём между ними разница?
Когда несколько человек (или вы сами) работают над одним проектом, у вас появляются разные ветки с изменениями. Чтобы соединить их — используют merge
или rebase
. Оба делают одно и то же: включают изменения из одной ветки в другую, но делают это по-разному.
git merge — «просто объединить»
Представьте: у вас есть ветка main, а вы работаете в ветке feature
. Когда фича готова, вы хотите добавить её в main
.
Если сделать:
git checkout main
git merge feature
feature
. История при этом сохранится как была — видно, где шли параллельные ветки. Это безопасно и удобно для командной работы.rebase
берёт все ваши коммиты из ветки feature
и как бы переносит их в конец ветки main
, меняя их «время» и «место» в истории:git checkout feature
git rebase main
feature
выглядит так, будто вы сначала получили все обновления из main
, а потом начали работать. История становится прямой и аккуратной, без лишних ответвлений.git merge
), или если вы единственный, кто работает с веткой.Совет для тех, кто любит сглаживать углы
Речь о вёрстке, разумеется. Если у вас есть элемент с внешним и внутренним радиусом углов, то они будут выглядеть лучше, если на внешний радиус поставить сумму внутреннего + размер отступа.
На картинке наглядно это показано.
#советы
Учим Python шаг за шагом с практикой прямо в браузере
Genepy — это интерактивная платформа для практики Python: решаете задачи, получаете мгновенный фидбэк и видите, как справляются другие.
Тут вы найдёте:
— базовые задачи для старта: print, операторы, функции, условные конструкции;
— более сложные упражнения (работа со списками, файлами, исключениями, HTTP и NumPy);
— рейтинг пользователей — здоровая конкуренция мотивирует.
Платформа бесплатная, а прогресс отслеживается по категориям: Basics, Training, Realist, Command line, NumPy — всего свыше 100 задач. А если вы уже знаете основы и хотите развиваться, здесь легко поддерживать рутину — заходите в браузере, решаете по паре задач и учитесь делать код лучше.
#python #инструменты
Ультимативная архитектура сокращателя ссылок
Сокращатель ссылок — это довольно популярный пет-проект у разработчиков, которые хотят прокачать своё портфолио. Но здесь не просто схема «проекта за вечер», а продуманная архитектура сервиса с отказоустойчивостью и масштабируемостью.
Подробная схема на изображении.
#шпаргалка
Что такое MCP и зачем он нужен?
MCP (Model Context Protocol) — это способ передать языковой модели информацию о вас и вашей задаче: кто вы, чем занимаетесь, какой у вас уровень и как вы предпочитаете получать ответы.
MCP позволяет:
— не повторять одно и то же при каждой сессии;
— получать более точные и полезные ответы;
— работать с внешними сервисами (календарь, почта, GitHub) с учётом ваших целей.
🔍 Где используется MCP прямо сейчас?
— ChatGPT с памятью: помнит, что вы учите Python, и не перегружает вас сложностями.
— GitHub Copilot Chat: знает, какой у вас файл, стек и задачи, и подсказывает по делу.
— Интеграции с Google Calendar или Gmail: модель понимает, что у вас есть календарь и может по команде создать событие.
— Notion, Canva, Figma AI: понимают стиль и контекст текущего проекта.
MCP ≠ просто память
Это структурированный контекст, который помогает модели работать как персональный помощник, а не просто чат с нуля.
Именно MCP делает общение с ИИ полезным, осознанным и человечным.
#простымисловами
Промпт, который сделает из ChatGPT топового ментора по программированию. Это отличный лайфхак, чтобы не тратиться на дорогие и бесполезные курсы, а освоить темы самостоятельно и получить мощнейшую дозу практики.
ИИ выдаст вам теорию с домашками, сам проверит задания и будет поддерживать на пути освоения кодинга.
<System>
You are a Senior Software Engineer with 10+ years of full-stack development experience. You specialize in clean code practices, debugging, peer reviews, documentation, test-driven development (TDD), and performance optimization. Your responses should reflect industry best practices and clear, well-structured reasoning.
</System>
<Context>
The user is working on a software project and requires support with one or more of the following:
- Writing new code
- Debugging existing code
- Reviewing submitted code
- Explaining how a section of code works
- Refactoring inefficient or outdated code
- Writing or improving documentation
- Writing or improving test coverage
The user's goal is to improve code quality, maintainability, and performance.
</Context>
<Instructions>
1. Identify the specific type of task (write/debug/review/explain/refactor/document/test) based on the user's input.
2. Ask clarifying questions only if essential information is missing.
3. Provide detailed output with inline comments where helpful.
4. Suggest improvements aligned with modern best practices.
5. Include reasoning behind each major action or recommendation.
6. When writing or refactoring code, ensure it is modular, readable, and efficient.
7. When reviewing code, provide a bullet-point summary of observations and a suggestion section.
8. For documentation, write in clear, beginner-friendly language while also addressing intermediate-level concepts.
9. For testing, use the most suitable testing framework based on the programming language.
</Instructions>
<Constraints>
- Maintain readability and clean code principles.
- Avoid third-party libraries unless absolutely necessary.
- Prefer simplicity and clarity over clever or overly complex solutions.
- When unsure of the tech stack, ask the user to confirm.
- Keep each function under 50 lines unless context demands otherwise.
</Constraints>
<Output Format>
<TaskType> Write | Debug | Review | Explain | Refactor | Document | Test </TaskType>
<Language> Python | JavaScript | TypeScript | Java | C++ | Other (confirm with user) </Language>
<File/FunctionName> Specify target file or function name </File/FunctionName>
<Output>
[Insert code, explanation, or documentation as per task here, formatted with markdown-style code blocks]
</Output>
<Suggestions>
[List of improvements, next steps, or alternate methods the user may explore]
</Suggestions>
</Output Format>
<Reasoning>
Apply Theory of Mind to analyze the user's request, considering both logical intent and emotional undertones. Use Strategic Chain-of-Thought and System 2 Thinking to provide evidence-based, nuanced responses that balance depth with clarity.
</Reasoning>
<User Input>
Reply with: "Please enter your code request (e.g., Write, Debug, Review, Explain, Refactor, Document, or Test) and provide the code snippet or context, and I will start the process," then wait for the user to provide their specific task and code context.
</User Input>
Первый сайт «своими руками»: пошаговая инструкция без фреймворков
Начало не всегда должно быть сложным. В этом гайде поэтапно разбирается создание сайта на чистом HTML и CSS — от структуры папок до стилей, адаптивного меню и внедрения Google Fonts. Полезно как новичкам, так и тем, кто хочет освежить фундамент перед переходом на современные фреймворки.
А вы когда последний раз вручную писали сайт без сборщиков?
#фронтенд #html #css
REST API без страха: 9 правил для твоих первых сервисов
Пришло время создавать свои первые API? Тогда эти 9 практических правил именно то, что надо: автор рассказывает, как внятно и надёжно выстроить взаимодействие между клиентом и сервером — даже если пока вы только пробуете свои силы в бэкенде. Вы узнаете:
— как организовать URL’ы и маршруты, чтобы их было удобно читать и расширять;
— как использовать правильные HTTP-методы (GET
, POST
, PUT
, DELETE
);
— как обрабатывать ошибки, чтобы API не сваливаться в «просто не работает» и многое дугое.
#restapi #бэкенд
Сколько реально зарабатывают айтишники в разных странах и стоит ли переезжать
Очень часто новичкам обещают баснословные зарплаты в IT — но насколько это правда, и как живётся на практике? В этой статье собрана честная картина по пяти странам, чтобы вы могли понять, как устроена жизнь айтишника за рубежом:
#карьера
Aseprite — анимированный редактор спрайтов и пиксель-арт рисунков
Если вы только начинаете творить в цифровой графике и хотите погрузиться в мир спрайтов, анимации и гифок — обратите внимание на Aseprite. Это не просто программа, а инструмент для художников и дизайнеров, любящих пиксель-арт.
Aseprite поможет создать персонажей, UI-элементы и анимацию для игр или блогов. Можно создавать отдельные рисунки или покадровую анимацию с редактируемыми слоями, onion skin и эффектами.
Проект опенсорсный, поэтому можно скачать исходники, собрать под Windows/Linux/Mac и дорабатывать самостоятельно.
Репозиторий: https://github.com/aseprite/aseprite
#gamedev #инструменты
Python + Pygame: делаем головоломку своими руками
Хотите написать свою первую игру и сделать её увлекательной? Этот туториал показывает, как создать головоломку Amazing Frogs на Python с помощью PyGame — и даже не потребуется устанавливать сложные движки. Зато вы:
— научитесь рисовать и обновлять спрайты;
— обработаете ввод с клавиатуры;
— добавите логику уровня.
Всё это шаг за шагом, без воды и с пояснениями. Итог — простая, но живая головоломка, которую можно расширять: добавлять таймер, новые фишки, дизайны и даже звуки.
#python #pygame #gamedev
7 курсов, с которых действительно стартуют в IT в 2025
Хотите войти в сферу разработки, но не знаете, с чего начать? Не все курсы одинаково полезны – одни помогают разобраться в основах, другие сразу провоцируют разочарование. Пройдите по проверенному списку, который составлен так, чтобы не только дать знания, но и уверенность в том, что вы на верном пути.
В статье курсы по Go, пентесту, тестированию, системному анализу и анализу данных.
#обучение #курс
EA выложили исходники их старых игр серии Command and Conquer
Теперь любой желающий может изучить код Red Alert, Tiberian Dawn, Renegade и Generals под лицензией GPL.
Самое время взглянуть на любимую классику с другой точки зрения: https://github.com/electronicarts
#gamedev #github