Фундаментальные знания по основам программирования Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/zrgj
Как родился первый язык программирования
Вы когда-нибудь задумывались, как программисты писали код в 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
Кто-то: идеального летнего UI не существует
Идеальный летний UI:
Как работает тёмная тема и как правильно её создать
В мире приложений тёмные темы стали не просто трендом, а хорошим тоном. Так интерфейс не нагружает глаза пользователя в тёмное время суток и экономит энергию на устройствах с OLED-экраном.
Держите статью о создании таких тем с учётом особенностей человеческой физиологии глаза. Тут обсуждают изменение цветовой гаммы в зависимости от времени суток и особенностей сумеречного зрения. Расскажут про теорию цвета и контраста, а главное — как правильно тестировать интерфейс с тёмной темой инженерным путём. И всё это на примерах картинок с уточками.
#ux #ui
Сломал ногу — стал программистом за 100 дней: как ИИ помог сменить карьеру
Эрик Леннрот, бывший консультант из «Большой четвёрки», получил новую профессию всего за 100 дней, находясь на больничном после травмы. Вдохновившись историями о проектах, созданных с помощью ИИ, он решил освоить программирование самостоятельно.
Используя бесплатные онлайн-курсы и инструменты искусственного интеллекта, такие как ChatGPT, Эрик изучил Python и веб-разработку. Он разработал несколько проектов, включая игру PyWordle и веб-приложение Make My Meal Plan. Через три месяца обучения он получил предложение о работе в Лондоне, где теперь автоматизирует процессы и работает с геоданными.
Подробнее о пути и старте новой карьеры Эрика можно почитать у нас на сайте.
#новости
Copilot сильно заблуждается: как ИИ убивает код
GitHub Copilot считается помощником, который ускоряет разработку. Но что, если это просто старательный новичок, который не понимает контекста и вносит сомнительные правки?
Автор этой статьи считает, что Copilot не так уж хорош, как его позиционируют и скорее вредит, чем помогает. Здесь — разбор популярных заблуждений:
— Copilot не знает, как устроен ваш проект, и может нарушить архитектурные решения.
— Он не объясняет свои действия — ни вам, ни вашей команде.
— Его код выглядит правдоподобно, но это создаёт ложное чувство надёжности.
Такой ИИ может быть полезным инструментом, но он точно не заменит понимание кода, опыт команды и живую коммуникацию. Особенно на проектах, где важны долгосрочная поддержка и архитектурная целостность.
А какого мнения о Copilot вы? Согласны с автором? Поделитесь своими мыслями в комментариях.
#copilot #мнение
Как сделать код-ревью так, чтобы коллеги не ненавидели вас
Код-ревью — это не просто проверка чужого кода, а искусная коммуникация. Особенно новичкам важно освоить не только, как что-то исправить, но и вежливо и конструктивно донести обратную связь.
В статье вы узнаете:
— как структурировать правки и давать комментарии;
— шаблоны фраз, которые помогают смягчить тон и сохранить мотивацию команды;
— подходы к критике, которые подталкивают к улучшению;
— что делать, если сами не уверены в правке — и как превратить ревью в диалог, а не суд.
#кодревью #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
— отменить «по-честному», если история уже общая.Go быстрее, чище, эффективнее: 6 приёмов для оптимизации кода
Go известен своей скоростью, но даже на нём можно написать неэффективный код. В этом материале — шесть приёмов, которые помогут улучшить производительность без магии и хаков:
— strings.Builder
для конкатенации строк без лишних аллокаций.
— sync.Pool
для переиспользования объектов и снижения нагрузки на сборщик мусора.
— Правильное обрезание слайсов и пересоздание мап для предотвращения утечек памяти.
— Задание размера слайсов и мап для уменьшения количества аллокаций.
— Буферизированные каналы для передачи данных между горутинами.
— context для управления временем жизни операций и своевременной отмены задач.
Материал с примерами, бенчмарками и понятными объяснениями — подойдёт, если вы уже пишете на Go или только учитесь.
#golang #оптимизация
«Пишу код на слух»: история Java-разработчика, который потерял зрение, но не строчки кода
Вы нажимаете Build, смотрите на консоль — а Константин Евтеев слушает её. После полной потери зрения он собрал «аудио-IDE»:
— диктор NVDA читает символы и ошибки;
— обычный Блокнот служит редактором;
— собственные Bash-скрипты шлют файлы по SSH на Linux-машину, где Maven собирает проект.
У нас во флудилке поделились его рассказом. В статье он рассказал, как «выглядит» код, когда его слышишь: короткие методы вместо длинных полотен, оглавление программы в TXT и отладка по тональности голоса синтезатора.
Материал цепляет даже далёких от разработки: он показывает, насколько гибкими бывают цифровые инструменты и как «невидимая» инженерия делает технологии доступнее всем.
А вы бы справились бы без монитора?
#java #доступность #истории
Более 7 000 упражнений на 75 различных языках программирования
Exercism — это бесплатная платформа, где начинающие разработчики могут разобраться во всех тонкостях программирования. Каждый язык представлен, как дорога со множеством задач.
Но самое крутое, что вы можете получить обратную связь от менторов. Это может быть не быстро, но зато по существу и без обвинений в некомпетентности, как на Stack Overflow.
#инстурменты
У нас появилась предложка!
Спасибо Паше за очередное обновление телеги, которое дало нам такую возможность.
Теперь вы можете прислать нам ваш авторский контент или материалы, которые вам показались интересными. Мы просмотрим каждое ваше сообщение и если это подходит под тематику нашего канала и не нарушает правила, опубликуем в канале.
Анонимно или нет — на ваш выбор!
Философия программирования зашла в тупик: как писать код в мире, где всё меняется
Программирование давно вышло за рамки одиночного творчества: сегодня над проектами трудятся десятки людей, код постоянно меняется, а никто не видит всей картины целиком. В таких условиях привычные подходы — вроде объектно-ориентированного или функционального программирования — уже не дают ответов на главный вопрос: как писать код, который легко понимать, менять и поддерживать.
Автор статьи предлагает новый взгляд — подход S.L.O.N.:
— Sustainable (поддерживаемый).
— Logical (логичный).
— Obvious (интуитивный).
— Navigable (удобный для навигации).
Этот подход особенно важен для больших и постоянно развивающихся проектов, где важно не только написать код, но и обеспечить его долгосрочную поддержку и развитие. Подробнее о нём в статье.
Ставь ❤️, если нашел своего SLONяру среди подходов к программированию.