prog_point | Unsorted

Telegram-канал prog_point - Точка входа в программирование

19637

Фундаментальные знания по основам программирования Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/zrgj

Subscribe to a channel

Точка входа в программирование

Whitespace: программирование на том, что не видно

Может ли работать код, который не видно? Не только пользователю, но и разработчику, и IDE. В нормальной ситуации нет, но если вы обратитесь к эзотерике — легко!

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

Мы рассказали, как он устроен и как создавать алгоритмы «невидимым текстом» в этой статье. Спойлер: баги всё равно будет видно, даже если код — нет.

#изотерика

Читать полностью…

Точка входа в программирование

Так кто автор в итоге?

Читать полностью…

Точка входа в программирование

Как машины учатся понимать человеческую речь

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

#ии

Читать полностью…

Точка входа в программирование

Порой начинающим разработчикам не хватает человека, который понятно объяснит и направит траекторию обучения в нужное русло

Поэтому на старте так важно найти место, где упор сделан только на вас.

— Место, где вы получите ответы на свои регулярные вопросы
— Место, где вас поймут и помогут

Если вы только начинаете свой путь в Go и чувствуете, что вам не хватает опыта, понимания и практики, то вам однозначно в канал к Роме — Go-разработчику и по совместительству ментору.

В канале вы встретите объяснения популярных ошибок, много практики, и разборы разных тем. Например, разбор написания первого микросервиса на Go.

Подписывайтесь на канал по Go-разработке:
/channel/go_level_up

Это #партнёрский пост

Читать полностью…

Точка входа в программирование

8 полезных Telegram-каналов о нейросетях и промптинге

Если вы устали шарить по всему интернету в поисках свежих инсайтов про ИИ, то в этой подборке мы собрали самые годные русскоязычные каналы — от гайдовых постов до примеров промптов для ChatGPT. Всё, чтобы быстро прокачивать навыки и быть в курсе новинок.

#ии

Читать полностью…

Точка входа в программирование

Привет, на связи Tproger!

Мы хотим лучше понять нашу аудиторию и её интересы. Помогите нам — пройдите небольшой опрос по ссылке.

Спасибо и отличного дня!

Читать полностью…

Точка входа в программирование

Почему «белых хакеров» зовут искать баги и платят за это

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

А вы попробовали бы себя в такой роли?

#безопасность #хакинг

Читать полностью…

Точка входа в программирование

Система анализа событий в реальном времени

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

Фактически они преобразовали спортивную трансляцию в 20-секундные интервалы, где пользователь может делать ставки на: назначение штрафного, забитый гол, удар с углового, пенальти или владение мячом.

Фича работает так: например, пользователь смотрит футбольную трансляцию в приложении и ставит на то, что следующее событие — угловой. Система отправляет ставку на расчёт, а через пару секунд (учитывая задержку трансляции) расчёт проходит автоматически: если первым событием в реальном времени был, например, фол, то ставка проигрывает. И как только трансляция «догоняет» этот момент, пользователь своими глазами видит итог и может сразу сделать следующее «предсказание».

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

Читать полностью…

Точка входа в программирование

ML Visualized — машинное обучение на пальцах, в интерактиве

Если вам всегда казалось, что машинное обучение — это сплошная математика и загадочные формулы, этот учебник‑тренажёр докажет обратное. ML Visualized объясняет ключевые концепции ML так, что их можно буквально «пощупать» и сразу увидеть результат.

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

Отличный инструмент как для новичков, которые хотят разобраться без зубрёжки, так и для тех, кто уже знаком с ML.

#ml #обучение

Читать полностью…

Точка входа в программирование

new Date("wtf") — квиз по датам, который взорвёт вам мозг

Если вы хоть раз пытались работать с датами в JavaScript, то уже знаете — там творится какая‑то магия и абсурд вперемешку. Именно об этом и напоминает этот квиз.

Он предлагает вам проверить (и заодно посмеяться над) своим знанием (или незнанием) того, как JavaScript работает с датами и временем. Здесь странные кейсы и неожиданные результаты. Будет и полезно, и весело — особенно если вы уже пару раз рвали волосы из‑за Date.

Попробуйте пройти и проверьте: кто вы — мастер календарей или жертва часовых поясов.

#javascript #квиз

Читать полностью…

Точка входа в программирование

__init__.py в Python: зачем он нужен и как с ним работать

Файл __init__.py играет ключевую роль в функционировании модулей и пакетов. В этой посте разберём, зачем нужен этот файл, как его использовать, и какие трюки можно с ним провернуть.

__init__.py используется для обозначения директории как пакета Python. Пакет — это просто каталог, содержащий код, который можно импортировать. До Python 3.3 файл __init__.py был обязателен для того, чтобы Python распознавал директорию как пакет. Начиная с Python 3.3, это уже не строго обязательно благодаря PEP 420, который ввёл поддержку 'implicit namespace packages'.

Тем не менее, __init__.py всё ещё активно используется, потому что он позволяет:

— Настроить импорты, переменные окружения и т.д.;
— Реализовать алиасы и проксировать импорты;
— Управлять логикой и поведением при импорте.

Пример: простой пакет с __init__.py


my_package/
├── __init__.py
├── module1.py
└── module2.py


В __init__.py можно явно указать, какие модули экспортируются:


from .module1 import func1
from .module2 import func2

__all__ = ['func1', 'func2']


Теперь из внешнего кода можно написать:


from my_package import func1, func2


И это сработает — благодаря тому, что __init__.py делает интерфейс «плоским».

Что можно писать в __init__.py

Всё, что угодно — это обычный Python-скрипт. Вот что часто в нём делают:

1. Инициализация логики:


import logging

logging.getLogger(__name__).addHandler(logging.NullHandler())


2. Упрощение структуры:


# Вместо длинного:
from my_package.module1.submodule import ClassA

# можно:
from my_package import ClassA


И в __init__.py:


from .module1.submodule import ClassA


3. Версионирование:


__version__ = "1.0.0"


4. Работа с абсолютными и относительными импортами:

Python различает абсолютные и относительные импорты. Благодаря __init__.py, относительные импорты типа from . import module1 работают корректно.

Когда __init__.py не нужен

PEP 420 ввёл концепцию namespace packages — это директории без __init__.py, которые Python всё равно распознаёт как пакеты. Это удобно, когда вы хотите:

— Распределить один пакет между несколькими каталогами (например, для плагинной архитектуры);
— Избежать необходимости в поддержке пустых __init__.py.

Пример:


project/
├── pkg/
│ └── subpkg1/
│ └── a.py
└── other/
└── pkg/
└── subpkg2/
└── b.py


Если в pkg/ нет __init__.py, Python объединит содержимое в один namespace package.

Когда __init__.py обязателен

— При тестировании и использовании pytest (некоторые тест-раннеры не обнаруживают модули без `__init__.py`);
— При работе с устаревшими инструментами;
— При построении плоского интерфейса пакета;
— Для поддержки специфичных путей и логики импорта.

#основы

Читать полностью…

Точка входа в программирование

Где учиться на проджекта или продакта в 2025 — подборка курсов для начинающих

Если вы давно хотите войти в IT, но не кодить, а управлять продуктами и командами — самое время посмотреть на направления проджект‑ и продакт‑менеджмента.

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

#курсы #продакт #проджект

Читать полностью…

Точка входа в программирование

От Аристотеля до Тьюринга: простыми словами о функциональном программировании

Функциональное программирование (ФП) — это не магия, а способ организовать код через чистые функции, неизменяемость и композицию, без побочных эффектов. И, знаете, когда начинают речь о монадах и функторax, многие теряются.

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

Если вам давно хотелось разобраться, что за зверь этот ФП и зачем он вообще в современных проектах — вот отличный шанс.

Используете ФП в своей работе или предпочитаете ООП?


#функциональноепрограммирование

Читать полностью…

Точка входа в программирование

Spring Boot Для Начинающих

Spring — главный Java-фреймворк, который должен знать любой начинающий Java-программист. Это видео по Spring Boot для тех, кто начинает его изучение с нуля!

Здесь всего за 1 час вы разберетесь со всеми основными понятиями Spring: бины, ApplicationContext, Dependency Inject, Autowired, Scope, Transactional, Proxy и многим другим. Даже если вы только начинаете изучать Spring, то после этого видео уже сможете начать создавать собственные приложения на этом фреймворке.

#java #видео #springboot

Читать полностью…

Точка входа в программирование

Что такое прототипное наследование в JavaScript?

Предлагаем вам новый формат — мы #простымисловами рассказываем о программировании, но прежде чем прочитать, попробуйте самостоятельно вспомнить о чем речь, чтобы проверить свои знания. Пишите своё понимание в комментарии, а только потом читайте наше объяснение.

В других языках (например, Java или C#) есть классы — «шаблоны», по которым создаются объекты, и у которых можно наследовать методы и свойства.

В JavaScript всё устроено немного иначе — он изначально не был «классовым», и вместо этого использует **прототипы**.

В JavaScript **каждый объект внутри себя хранит ссылку на другой объект — прототип**.

Если вы обращаетесь к свойству или методу, которого нет в текущем объекте, JavaScript заглянет в его прототип. Не нашёл там? Пойдёт дальше — в прототип прототипа.

Эта цепочка называется **прототипной цепочкой**.

const animal = {
eats: true
};

const rabbit = {
jumps: true
};

rabbit.__proto__ = animal;

console.log(rabbit.jumps); // true (есть в самом объекте)
console.log(rabbit.eats); // true (нашёлся в прототипе)


Здесь rabbit не хранит eats напрямую, но когда вы к нему обращаетесь — движок пойдёт по цепочке в animal и найдёт.

**Почему это удобно?**

1. Можно «раздавать» общие методы всем объектам через прототип — не дублируя код.
2. Можно строить целые цепочки наследования без классов.
3. Всё это гибко и динамично.

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

Так что прототипное наследование — это способ объектов «подглядывать» в другие объекты за свойствами и методами. И именно так устроен весь JavaScript под капотом.

#javascript

Читать полностью…

Точка входа в программирование

Пишем игру на JS/TS и развиваем навык работы с кодом

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

Сохраните, чтобы не потерять: https://tproger.ru/articles/pet-proekt-pishem-igru-na-js-ts-i-razvivaem-navyk-raboty-s-kodom/

#typescript #javascript #петпроект

Читать полностью…

Точка входа в программирование

Как создать настольное приложение с помощью Electron. Руководство для начинающих

Эта статья в первую очередь будет полезна веб-разработчикам. Electron позволяет превращать проекты, написанные с помощью HTML, CSS и JavaScript в полноценные приложения для разных платформ. Многие такие приложения вы знаете: Skype, Discord, ваш любимый VS Code и так далее.

Как создать такое же приложение, вы можете узнать в этом руководстве.

#javascript #electron #руководство

Читать полностью…

Точка входа в программирование

Как устроено ядро операционной системы

Сегодня отмечается день системного администратора! Мы поздравляем всех причастных и в честь праздника предлагаем вам сегодня познакомиться не только с созданием ПО, но и с тем, за счёт чего это ПО можно запускать.

Ядро в операционной системе — это её сердце, невидимый, но жизненно важный слой, который обеспечивает работу всего: от приложений до оборудования. В этом видео вы узнаете:

— что такое ядро на самом деле;
— как оно управляет временем ЦП, памятью, файлами и «железом»;
— в чём разница между монолитным и микроядром;
— почему инженеры до сих пор помешаны на проектировании ядер;
— где ещё встречаются «ядра» — например, в GPU и квантовых вычислениях.

#видео

Читать полностью…

Точка входа в программирование

Приватность данных: как не нарваться на проблемы разработчику

Казалось бы, гонитесь за фичами, хотите сделать красивый быстрый сайт, но тут всплывают законы и правила обработки данных...

В статье — коротко о том, что следует знать разработчику в 2025 о приватности, какие грабли чаще всего встречаются и как защитить проект (и нервы) заранее.

#безопасность

Читать полностью…

Точка входа в программирование

«Scrum-то какой!» — почему программисты не всегда в восторге от спринтов

Agile и Scrum давно стали стандартом, но на практике спринты часто критикуют — не из-за методологии, а из-за того, как они внедряются .

Автор статьи рассказал, что постановка спринтов по книге — это ещё не гарантия успеха. Когда команды буквально следуют коробочному Scrum, процветают торопливость, перегрузка формальностями и потеря фокуса на продукте. А ещё показал примеры компаний, которым помог не отказ от Agile, а изменение подхода специально под их ситуации.

#agile #scrum #команда

Читать полностью…

Точка входа в программирование

Как работает токен, сессия, JWT, SSO, OAuth2 и QR-код?

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

Сессия — сервер сохраняет учетную запись и передает браузеру файл cookie с идентификатором сеанса, что позволяет отслеживать состояние входа в систему. Файлы cookie не работают на разных устройствах.

JWT — веб-токены JSON стандартизируют токены идентификации, используя цифровые подписи для проверки подлинности. Подпись содержится в токене, поэтому сеанс сервера не требуется.

Токен — учетная запись закодирована в токене, отправленном в браузер. Браузер отправляет этот токен при будущих запросах аутентификации. Требуется шифрование и дешифрование.

SSO — система единого входа, использует центральную службу аутентификации, что позволяет одному логину работать на нескольких сайтах.

OAuth2 — разрешает ограниченный доступ к вашим данным на одном сайте другому сайту без разглашения паролей.

#безопасность #простымисловами

Читать полностью…

Точка входа в программирование

Как прокачать свой профессиональный образ перед выходом на рынок IT в 2025

Рынок IT нынче диктует свои правила — конкуренция высокая, отклики редки, и использовать только код и опыт недостаточно. В этой статье вы узнаете, как перейти от «отправил резюме и молюсь» к продуманной, чёткой стратегии продвижения себя как профессионала.

Пошагово: обновление резюме под ATS, работа над профилью в LinkedIn и Telegram, настройка публичных репозиториев с понятными описаниями, наращивание полезных связей, и даже тренировка через AI-инструменты перед интервью. Всё без воды, только реальные действия.

#карьера

Читать полностью…

Точка входа в программирование

Hack Frontend: тренируйтесь под собеседование с огоньком!

Если вы мечтаете прокачать фронтенд‑скиллы и спокойно заходить на тех‑интервью — обратите внимание на Hack Frontend. Это платформа, где вы сможете отточить навыки и подготовиться к успешному собеседованию.

Что внутри:

— Современный фронтенд‑стек и лучшие практики.
— Задания, которые реальнее всего встретить на интервью.
— Построено для реализации — вы сразу тренируетесь на реальных примерах, не просто читаете теорию.

#фронтенд #тренажер #javascript

Читать полностью…

Точка входа в программирование

Что такое <!DOCTYPE> и зачем он нужен

Для начала, стоит разобрать, что такое quirks mode и standards mode.

Quirks Mode (режим совместимости) — это режим работы веб-браузеров, который сознательно симулируют множество багов старых браузеров. Этот режим необходим для поддержки сайтов, созданных до начала широкого применения веб стандартов.

Standards Mode (стандартный режим) — это режим, при котором поведение браузера соответствует описанному в спецификациях HTML и CSS. Этот режим используется во всех современных браузерах.

Вернемся к доктайпу.

<!DOCTYPE html> — это описание типа документа, которое позволяет браузеру понять, какую версию html следует использовать. Поставьте его первой строчкой HTML-документа, и браузер обработает страницу правильно, в стандартном режиме. Без него браузер переключается в режим совместимости со старым кодом.

Если сравнивать HTML с устройством человека, то <!DOCTYPE> — это его вид. Важно знать, что было раньше, но стоит быть австралопитеком. Единственный вариант, который можно использовать — это <!DOCTYPE html>, все остальные устарели.

#html #простымисловами

Читать полностью…

Точка входа в программирование

А как у вас?

❤️ — у меня также
👀 — у меня наоборот
🗿 — а мне вообще за код не платят

Читать полностью…

Точка входа в программирование

Весь ваш файл исходного кода


Может скажем ему?

Читать полностью…

Точка входа в программирование

Как из России опубликовать приложение в App Store и Google Play

Сейчас, когда российским разработчикам стало куда сложнее выходить на международные площадки, вопрос «как всё-таки выкатить своё приложение в App Store и Google Play» звучит как никогда актуально.

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

#mobidev #appstore #googleplay

Читать полностью…

Точка входа в программирование

Agile в сторону! Доверьте планирование своей жизни IT-колоде

Тем более что наши арканы уже приготовили для вас послание. Переходите по ссылке, вытаскивайте карту и узнавайте, что вас ждёт сегодня, завтра и в другие дни спринта: https://tprg.ru/wj4P

Реклама

Читать полностью…

Точка входа в программирование

10 телеграм‑каналов, которые помогут найти работу в IT

Сегодня вакансии в IT многие ищут уже не на скучных сайтах с формами и фильтрами, а там, где все привыкли общаться — в Telegram. Но как выбрать из тысяч каналов те, где действительно выкладывают свежие и актуальные предложения?

В этой статье собрали 10 проверенных каналов с вакансиями в IT — от джуниоров до синьоров, от фронтенда до DevOps. Удобно, что в подборке сразу отмечено, на кого ориентирован каждый канал и чем он отличается: кто‑то выкладывает в основном зарубежные удалёнки, кто‑то даёт только высокие позиции или только стажировки для новичков.

Если вы в поиске новой работы или присматриваете интересные варианты на будущее — сохраните себе этот список и подпишитесь на подходящие.

#работа #вакансии

Читать полностью…

Точка входа в программирование

Некогда объяснять, пора вершить судьбы 😱
Три разраба прямо сейчас ищут работу — выбери того, кто получит шанс на достойный оффер. Голосуй прямо сейчас!

Все подробности в «Коде найма».

Читать полностью…
Subscribe to a channel