Фундаментальные знания по основам программирования Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/zrgj
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
Как сделать код-ревью так, чтобы коллеги не ненавидели вас
Код-ревью — это не просто проверка чужого кода, а искусная коммуникация. Особенно новичкам важно освоить не только, как что-то исправить, но и вежливо и конструктивно донести обратную связь.
В статье вы узнаете:
— как структурировать правки и давать комментарии;
— шаблоны фраз, которые помогают смягчить тон и сохранить мотивацию команды;
— подходы к критике, которые подталкивают к улучшению;
— что делать, если сами не уверены в правке — и как превратить ревью в диалог, а не суд.
#кодревью #softskillz
CORS от А до Я: как не ломать фронт ради бэкенда
Ошибка CORS — один из самых частых стоперов на стыке фронта и API. В статье по шагам разбирается, зачем вообще нужен механизм Cross-Origin, какие бывают типы запросов, как устроен preflight и в чём чаще всего ошибаются разработчики. Плюс — готовые конфиги для разных серверов, чтобы настроить CORS правильно с первого раза.
#cors
☕️ Java-интервью без паники: один репозиторий — весь фундамент
Когда вы готовитесь к собеседованию, важна не только практика, но и быстрое освежение теории. Этот репозиторий — как шпаргалка по всему, что может спросить интервьюер на Java-собеседовании:
— чётко структурированная информация по коллекциям, потокам, JVM, сборке мусора, сериализации, аннотациям и другим ключевым темам;
— всё кратко, по делу, с примерами;
— подходит не только для подготовки, но и для регулярного повторения.
#java #шпаргалка
А как вы решили стать айтишником? Пишите в комментарии
Читать полностью…20 игр, которые научат программированию
Подходов к обучению много, но через игры учиться не так скучно. Ловите целую подборку таких игр. Вот лишь некоторые из них:
— CodeCombat — RPG, где нужно использовать различные ЯП, чтобы проходить уровни, головоломки и сражаться с врагами.
— Ruby Warrior — игрок управляет воином, который проходит различные уровни. Управлять персонажем можно только на Ruby.
— Untrusted — управляете персонажем и решаете головоломки через Java.
— Check IO — здесь предлагается решать различные задачки с помощью Python или TypeScript. Тут также есть возможность соревноваться с другими игроками.
— Dungeons & Developers — здесь нужно путешествовать по пещерам и выполнять задания, связанные с HTML, CSS и JavaScript.
Ещё больше игр в подборке.
@prog_point
Regexp Garden: учим RegEx играя в сад
Регулярные выражения часто кажутся страшными, но это зря. Этот интерактивный мини-гейм помогает учиться RegEx, словно поливать нужные растения в саду:
— вы получаете сад и задачу — например, «полить розы между строк А и Б»;
— вместо того чтобы бежать по всей грядке, вы пишете регулярку, чтобы точно попасть нужные «растения»;
— при каждом шаге даётся подсказка и объяснение, так что вы постепенно учитесь понимать синтаксис.
Сделано на React / Next.js, опенсорсно и доступно всем. Идеально тем, кто уже знаком с основами, но хочет использовать RegEx без головной боли.
Открыть игру: https://regexp-garden.madewith.fun/
Код (если захотите внести свой вклад): https://github.com/avfirsov/regexp-garden
#regex #обучение #игрыдляразработчика
Гайд: Как использовать ChatGPT, чтобы стать программистом
Если вы только начинаете путь в разработке, ощущение «не понимаю ничего» может преследовать каждый день. Иногда нужен кто-то, кто объяснит проще, подскажет, где ошибка, и не осудит за глупый вопрос.
В этой статье — о том, как использовать ChatGPT в обучении программированию с умом.
Что спрашивать? Как ставить задачи? Чем он может заменить ментора, а в чём точно не стоит полагаться на ИИ?
Практичные советы, примеры и важные нюансы, которые помогут использовать нейросеть не просто как генератор кода, а как учебный инструмент.
Как выучить CSS и HTML и стать фронтендером бесплатно, не покупая курсы от онлайн-школ
Можно ли выучить CSS и HTML и стать фронтендером бесплатно, не покупая курсы от онлайн-школ? Узнали у экспертов, какими источниками пользоваться, чтобы начать карьеру во фронтенде: https://tproger.ru/articles/kak-besplatno-vyuchit-html-i-css
#фронтенд
Как превратить аудиозапись встречи в структурированный отчёт с помощью Python и ИИ
Порой после онлайн-встречи сложно вспомнить, кто что сказал и какие задачи были поставлены. В статье представлен пошаговый гайд по созданию Python-приложения, которое:
— распознаёт речь с аудиозаписей с помощью модели Whisper-1;
— извлекает ключевые моменты и задачи, обсуждённые на встрече, используя Claude 3.5 Sonnet;
— формирует структурированный отчёт в формате PDF.
Да, сейчас существуют готовые решения. Но помогут ли они вам прокачать навыки программирования? Вряд ли. А тут используются API BotHub и библиотеки openai, fpdf, dotenv, подробно описан процесс настройки окружения, взаимодействия с API и обработки ошибок. В общем, мастхэв.
#python #ии #продуктивность
простымисловами: Как «откатить» последний коммит в Git
❗️ Важно. Прежде чем что-то отменять, убедитесь, что понимаете, нужно ли изменять историю и синхронизирован ли ваш коммит с удалённым репозиторием (GitHub, GitLab и т. д.). Для приватных веток это обычно безопасно, но в общей ветке лучше быть осторожным.
git reset --soft HEAD~1
. Он убирает «снимок» последнего коммита, но все ваши изменения остаются в индексе (staging). Дальше можно поправить файлы, написать новое сообщение и закоммитить снова.git reset --mixed HEAD~1
или просто git reset HEAD~1
. Он удаляет последний коммит, а файлы раскладывает в рабочую директорию. Индекс очищен — придётся снова добавлять нужные файлы через git add
.git reset --hard HEAD~1
. Он возвращает ветку и рабочую директорию к состоянию до коммита. Восстановить потом будет непросто, поэтому используйте осторожно.git revert HEAD
. Git создаст новый коммит, который инвертирует изменения последнего. История остаётся линейной, а коллегам не нужно ничего форс-пушить.git reset --hard HEAD~1
git push --force # или --force-with-lease, чтобы не затереть чужие коммиты
reset --soft
— оставить всё в индексе;reset --mixed
— убрать из индекса, но сохранить файлы;reset --hard
— удалить всё;revert
— отменить «по-честному», если история уже общая.«С чего бы я начал, если бы сегодня снова выбрал 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
Как родился первый язык программирования
Вы когда-нибудь задумывались, как программисты писали код в 1950-х годах? Это была кропотливая работа с машинными кодами на перфокартах.
Автор рассказывает увлекательную историю о том, как британский ученый Алик Гленни решил облегчить жизнь инженеров и придумал первый высокоуровневый язык программирования — автокод.
#статья #история
Хватит искать работу в одиночку!
Ты крутой айтишник, но поиск работы превращается в квест: бесконечные резюме, где важны не навыки, а кейворды, десятки собеседований и постоянный стресс. Знакомо? Всё это выматывает и демотивирует. Мы тебя понимаем — и готовы поддержать!
Команда Tproger открывает первое реалити-шоу в Телеграм о поиске работы — «Код найма».
Вместе с опытными менторами ты пройдешь все этапы найма:
➡️ Прокачаешь резюме так, чтобы его заметили
➡️ Научишься проходить собеседования без волнения
➡️ Получишь честную обратную связь от рекрутеров
➡️ И, главное, дойдёшь до оффера в компании мечты!
Весь путь будет проходить на глазах у подписчиков канала — они тоже смогут давать советы и поддерживать тебя.
Хочешь стать героем нашего реалити и получить шанс найти работу мечты?
✍️ Заполняй анкету
Мы выберем трёх участников, которым поможем пройти весь путь до оффера.
Присоединяйся к «Коду найма» — и пусть твой следующий оффер станет началом новой жизни!
От идеи до платформы: полгода разработки собственного AI радио
В одном из прошлых постов мы рассказывали о проекте AI-радио с нейросетевым диджеем, музыкой и автоматизацией всего на свете. Так вот, у этой истории появилось продолжение — и оно куда масштабнее.
Автор прошёл путь от любительского AI-радио до полноценной медиа-платформы, которая генерирует, собирает и транслирует контент почти без участия человека. Всё работает на микросервисах, Docker, Kubernetes, нейросетях и здоровой одержимости. В статье — честный разбор, как за 6 месяцев вырастить пет-проект до настоящей системы.
#ии #петпроекты
Как компьютер хранит звук
Если хранить текст, изображения и даже мысли (в виде того же текста) человек научился давно, то со звуком долгое время были проблемы. В 19 веке Томас Эдисон изобрел фонограф — первое устройство для записи и воспроизведения звука. Записывало оно с помощью фиксации вибраций от звуковой волны сначала на фольге, а затем на воске.
Но с появлением компьютеров у нас появилась возможность хранить звуки цифровым методом. Он сильно отличается от аналогового и различается в зависимости от формата записи. В этом видео вы подробно узнаете о том, как звук записывается, хранится и воспроизводится на компьютере.
#видео
Бэкенд без боли: что нужно знать фронтендеру
Вы начали разбираться во фронтенде, уже пишете интерфейсы и подключаете данные. Но тут появляется слово вроде «rate limiting» — и всё, паника.
На этом этапе многим не хватает простой вещи — базового словаря. Понять, что происходит «на той стороне», помогает даже знание пары ключевых терминов.
Этот материал — как мини-гид по миру бэкенда для тех, кто с ним только начинает сталкиваться. Без лишней теории, коротко, по делу, простыми словами. Чтобы не просто копировать чужие fetch-запросы, а понимать, как всё устроено.
#фронтенд #бэкенд
Hacksplaining: учимся кибербезопасности через реальные атаки
Hacksplaining — это интерактивный тренажёр для изучения уязвимостей веб-приложений. Каждый урок — это не лекция, а реальная атака, которую вы проводите сами в браузере — и сразу же учитесь, как её предотвратить.
Идеально, если вы имеете хоть какой-то опыт программирования и хотите понять, какие дыры реально ломают сайты и как их закрыть.
#безопасность #тренажер
Конец эры ручного кода: как вайб-кодинг изменит ИТ–индустрию
Сегодня программирование меняется — и на глазах. Всё больше задач берут на себя ИИ-ассистенты: они предлагают куски кода, исправляют баги, тестируют.
Вайб-кодинг — это не модный термин. Это новый способ писать код, когда разработчик задаёт направление, а ИИ дописывает детали. Это может кардинально изменить и то, как мы учимся, и то, как строим карьеру в IT.
В материале — размышления о том:
— как изменится роль начинающих разработчиков;
— почему важно не терять контроль над кодом, даже если его пишет нейросеть;
— какие новые навыки становятся важнее, чем знание синтаксиса наизусть.
Для тех, кто только входит в профессию, это не повод паниковать, а шанс адаптироваться раньше других.
#вайбкодинг #будущееразработки #ai
Вселенная пушит тебе знаки…
Стоит ли сегодня деплоить на прод, начинать новый проект или лучше затаиться и почистить кэш? Вытащи карту из нашей цифровой колоды и получи мудрый совет судьбы перед новым релизом, багфиксом или планёркой.
Реклама
7 самых нелепых хакерских атак в истории
В мире кибербезопасности не все атаки — дело рук гениев. Иногда злоумышленникам даже не нужно сильно напрягаться. А бывает, что цель взлома настолько тупа, что в это трудно поверить. В этом материале собраны семь самых нелепых хакерских атак:
— взлом казино через термометр в аквариуме;
— загрузка собственных отпечатков пальцев в систему безопасности;
— воспроизведение AC/DC на ядерном объекте Ирана;
— соискатель, взломавший Marriott, чтобы получить работу;
— взлом дорожных знаков с сообщением о нападении Годзиллы;
— «этичный хакер», сливавший данные клиентов;
— кража топлива с АЗС с помощью пульта и пароля «0000».
Какая из этих историй вас удивила больше всего?
#кибербезопасность #хакеры
Когда строки тормозят: как колоночные базы данных ускоряют аналитику
В традиционных базах данных информация хранится построчно, что затрудняет выполнение сложных запросов на больших объёмах данных. Колоночные базы данных решают эту проблему, храня данные по колонкам, что позволяет:
— ускорить выборки, обрабатывая только нужные колонки;
— эффективно сжимать данные, так как каждая колонка содержит однотипные значения;
— быстро добавлять или удалять колонки без переработки всей таблицы.
Однако стоит учитывать, что обновление и удаление данных в колоночных базах может быть более ресурсоёмким по сравнению со строчными базами.
Подробнее об этом можно почитать в статье, которую недавно выложили в нашей флудилке.
#базыданных #аналитика #производительность
Копаемся в Overgrowth
Overgrowth — это экшен с антропоморфными животными и рукопашным боем, который разрабатывался более 9 лет. В 2022 году его исходный код стал доступен на GitHub под лицензией Apache 2.0. Запустить игру из него не получится, так как здесь не хватает некоторых важных данных. Зато с помощью него можно:
— изучить архитектуру движка и боевой системы;
— создать модификации и «тотальные конверсии» с собственными ассетами;
— поэкспериментировать с физикой, анимацией и AI;
— воспользоваться фрагментами кода в других проектах.
Репа будет полезна геймдев-разработчикам, а также разработчикам на С++ и AngelScript.
#cpp #angelscript #gamedev