Метод утёнка

Адрес канала: @devs_books
Категории: Технологии
Язык: Русский
Количество подписчиков: 7.09K
Описание канала:

Об IT так, что поймёт даже резиновый утёнок.
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels

Рейтинги и Отзывы

4.00

2 отзыва

Оценить канал devs_books и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

0

3 звезд

1

2 звезд

0

1 звезд

0


Последние сообщения

16 янв
Большой гайд по фуллстеку на 2026 от разработчика с 10-летним опытом. Не список фреймворков, а практические советы — что реально нужно, что переоценено, и какие ошибки он видит на собеседованиях.

Главная мысль

Фуллстек — это не эксперт во всём. Это T-shaped разработчик: широкие базовые знания по всему стеку + глубокая экспертиза в чём-то одном. Тот, кто может довести фичу от идеи до продакшена, не застревая на каждом шаге.

Что автор советует учить

Фундамент (HTTP, как работает браузер, JavaScript глубоко) — важнее любого фреймворка
TypeScript — уже не опционально
PostgreSQL по дефолту, NoSQL только когда есть конкретная причина
Docker на базовом уровне, Kubernetes — не нужен пока сам не поймёшь зачем
Деплой: начинать с Vercel/Railway, не с AWS

Что можно пропустить

Каждый новый JS-фреймворк, WebAssembly, WebGL, сложные паттерны архитектуры. Фокус на том, что решает реальные задачи.

https://dev.to/thebitforge/the-complete-full-stack-developer-roadmap-for-2026-2i0j

@devs_books
639 viewsedited  13:49
Подробнее
Поделиться:
Открыть/Комментировать
12 янв
Часы, которые показывают текущее время как hex-цвет
https://sdushantha.github.io/hexclock/

@devs_books
1.02K viewsedited  17:36
Подробнее
Поделиться:
Открыть/Комментировать
9 янв
Вайб-кодинг выходит на новый уровень! На днях появился плагин, который позволяет Claude Code звонить вам на телефон. Вот прям как на картинке — через общение голосом.

Запустил задачу, ушёл. Claude закончил, застрял или нужно принять решение — набирает вам и спрашивает что делать.

Под капотом Twilio для звонков, который формально пока что должен в России работать, будет звонок с иностранного номера. Вроде логично, Клод живёт за рубежом, оттуда и будет звонить. Для синтеза и распознавания голоса нужен ключ OpenAI API и аккаунт ngrok для проброса веб-хуков.

У проекта уже почти 1000 звёзд и 98 форков всего за несколько суток после релиза.

@devs_books
1.43K viewsedited  12:52
Подробнее
Поделиться:
Открыть/Комментировать
3 янв
Если взять конкретный язык, то всё может быть ещё хуже.

В Python, например, тип bool наследуется от int, поэтому True и False — это полноценные объекты — целые числа. Каждый объект в CPython несёт накладные расходы:
PyObject header — счётчик ссылок + указатель на тип (~16 байт на 64-бит)
PyLongObject — структура для хранения целых чисел произвольной длины (~12 байт дополнительно)

Можно проверить самостоятельно:
import sys
print(sys.getsizeof(True)) # 28
print(sys.getsizeof(False)) # 28

Почему так расточительно?
Python оптимизирован для удобства и гибкости, а не для экономии памяти. Зато True и False — синглтоны (существует только по одному экземпляру каждого), так что в реальных программах это не создаёт проблем.

Для компактного хранения множества булевых значений используют numpy.array с dtype=bool (1 байт на значение) или битовые массивы.

@devs_books
4.47K viewsedited  17:36
Подробнее
Поделиться:
Открыть/Комментировать
2 янв
ThePrimeagen (настоящее имя Michael Paulson) — бывший senior-инженер Netflix, сейчас ведёт YouTube и Twitch. Известен тем, что говорит прямо, без корпоративной вежливости.

​Что полезного:
Разбирает, как на самом деле устроена работа в больших компаниях
Стримит изучение новых языков с нуля — видно реальный процесс, а не вылизанный туториал
Часто реагирует на статьи и посты с Reddit — получается разбор с комментариями опытного разработчика

Видео для старта:
«How to learn programming» (интервью с Lex Fridman) — про подход к изучению языков
«Tutorials Are KILLING Your Growth» — почему бесконечные туториалы не работают
«Advice for young programmers» — советы начинающим

Канал: https://www.youtube.com/@ThePrimeagen

Стиль резкий, но честный. Если устали от мотивационных речей — зайдёт.

@devs_books
357 views13:43
Подробнее
Поделиться:
Открыть/Комментировать
30 дек 2025
Обзор айтишных мемов года от Tproger подъехал

@devs_books
590 viewsedited  14:58
Подробнее
Поделиться:
Открыть/Комментировать
26 дек 2025
Видеотуториал: Docker для тех, кто откладывал

Если вы до сих пор запускаете проекты командой «у меня работает, а у тебя не знаю», пора разобраться с Docker. Вот конкретное видео, после которого базовые вещи станут понятны. Автор объясняет на примерах: что такое контейнер, чем отличается от виртуалки, как запустить готовый образ, как написать свой Dockerfile. Всё с демонстрацией в терминале.

Видео на YT или в этом посте снизу

Если хотите глубже — есть полный курс на 3+ часа, где добавляются Docker Compose, сети, multi-stage builds и деплой на Docker Hub.

Три часа с индийским акцентом на YT

Совет: не пытайтесь запомнить все команды. Посмотрите видео, параллельно повторяя в терминале, а потом заведите себе шпаргалку с 10–15 командами, которые реально используете. Остальное спросите у GPT, когда понадобится.

@devs_books
959 views13:44
Подробнее
Поделиться:
Открыть/Комментировать
25 дек 2025
Два бесплатных сайта, где можно писать SQL-запросы и учиться прямо в браузере и сразу видеть результат. Никакой регистрации, никаких IDE — открыл и пишешь.

SQLBolt — пошаговые уроки от SELECT до JOIN и подзапросов. Каждый урок — короткое объяснение + 3–5 задач, которые нужно решить в редакторе на странице. Подходит тем, кто знает SQL поверхностно и хочет закрыть пробелы.

Ссылка: https://sqlbolt.com

SQL Practice — 60+ задач на трёх базах данных: HR (сотрудники, отделы, зарплаты), e-commerce (заказы, товары, клиенты) и школа (студенты, курсы). Задачи разбиты по сложности: Easy, Medium, Hard. Есть подсказки и готовые решения.

Ссылка: https://www.sql-practice.com

Как использовать:
Если давно не писали SQL — начните с SQLBolt, там всё разжёвано
Если базу знаете, но хотите размяться — идите сразу на sql-practice и берите Medium/Hard
15–20 минут в день в течение недели — и джойны с группировками перестанут быть проблемой

@devs_books
873 views07:36
Подробнее
Поделиться:
Открыть/Комментировать
20 дек 2025
По данным World Economic Forum, 44% профессиональных навыков обновятся к 2027 году. В статье на Tproger разобрали, что учить, чтобы не остаться за бортом.

@devs_books
985 views11:20
Подробнее
Поделиться:
Открыть/Комментировать
18 дек 2025
Большой гайд для тех, кто хочет войти в аналитику с нуля или из смежной сферы.

Внутри:
Что реально делает аналитик (спойлер: не только SQL-запросы)
Какие навыки нужны и в каком порядке учить
Специализации: продуктовый, маркетинговый, BI, финансовый
Зарплаты по грейдам: junior 60–100k, middle 100–180k, senior от 180k
Пошаговый план обучения с ресурсами
15 типовых вопросов на собеседовании

@devs_books
1.03K views10:18
Подробнее
Поделиться:
Открыть/Комментировать
17 дек 2025
Microsoft выложил бесплатный 12-недельный курс Web Dev for Beginners на GitHub: 24 урока, каждый с квизами, проектом и заданием. HTML/CSS/JS через создание террариума, браузерного расширения и космической игры

Что ещё интереснее — есть официальный перевод на русский!

GitHub: https://github.com/microsoft/Web-Dev-For-Beginners

@devs_books
1.04K views15:10
Подробнее
Поделиться:
Открыть/Комментировать
16 дек 2025
Бесплатный курс Python от университета Хельсинки получил обновление

Python Programming MOOC 2025 — полностью бесплатный курс от University of Helsinki, один из лучших структурированных курсов для новичков.

Что внутри
От переменных до ООП за 14 недель
Автоматическая проверка заданий прямо в браузере
Никаких видео на 10 часов — короткие блоки теории + сразу практика
Сертификат по завершении

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

https://programming-25.mooc.fi

@devs_books
489 views14:58
Подробнее
Поделиться:
Открыть/Комментировать
15 дек 2025
15 команд терминала macOS, которые реально пригодятся — подборка от Tproger, без воды, с примерами.​

find ~/Documents -name "*.pdf" — найти все PDF в папке
du -sh ~/* | sort -hr | head -10 — топ-10 самых жирных папок
networkQuality — встроенный тест скорости (с Monterey)

Больше в статье:
588 views09:08
Подробнее
Поделиться:
Открыть/Комментировать
12 дек 2025
Две игры, после которых вы наконец поймёте Flexbox и Grid

Если каждый раз гуглите «как центрировать div» — попробуйте эти две штуки. Серьёзно, 30 минут на каждую — и CSS-раскладки перестанут быть магией.

Flexbox Froggy

24 уровня, на каждом нужно написать CSS, чтобы лягушки попали на свои кувшинки. Начинается с простого justify-content: flex-end, заканчивается комбинациями из flex-direction, align-items, flex-wrap и order. К концу игры свойства flexbox уложатся в голове на уровне мышечной памяти.​

Играть: https://flexboxfroggy.com

Grid Garden

То же самое, но для CSS Grid. 28 уровней, нужно поливать морковки, задавая правильные grid-column, grid-row, grid-template и прочие свойства. После прохождения сетки перестают казаться чем-то страшным.​​

Играть: https://cssgridgarden.com

Обе игры бесплатные, на английском, но интуитивно понятные — там буквально два слова текста на уровень.

@devs_books
706 views09:26
Подробнее
Поделиться:
Открыть/Комментировать
9 дек 2025
Летим зимовать

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

Поехать к морю или остаться среди снежных пейзажей — выбирайте сами!

Чтобы участвовать, нужно оставить любую реакцию под этим постом и подписаться на каналы ниже:

Типичный программист
Библиотека программиста
Ostrovok! Tech

Теперь осталось нажать на кнопку участия под этим постом и вы в игре!

Итоги подведём 12 декабря. Победителя выберем с помощью бота. Подробнее с правилами можно ознакомиться здесь.

Всем удачи!

Участников: 19
Призовых мест: 1
Дата розыгрыша: 19:00, 12.12.2025 MSK (4 дня)
522 views10:02
Подробнее
Поделиться:
Открыть/Комментировать
8 дек 2025
Продолжим тему выбора идеальных инструментов

Есть забавный феномен: чем меньше человек пишет кода, тем сильнее он уверен, что всё было бы хорошо, если бы он сразу выбрал правильный язык/фреймворк/курс. Кажется, что где‑то существует стек, на котором писать одно удовольствие, багов почти нет, документация идеальна, а вакансии падают пачками сами.

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

Очень помогает такой мысленный эксперимент.

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

Вопрос: через три месяца вы будете сильно лучше программировать, чем сейчас?

Если ответ «не факт», то проблема почти точно не в стеке.
Скорее всего, она в том, что:
вы мало пишете кода вне учебных примеров;
вы не возвращаетесь к старым задачам, чтобы переписать их лучше;
вы избегаете сложных участков, где страшно облажаться;
вы почти не читаете чужой код и не разбираете его.

Инструменты, конечно, важны. На них удобно или неудобно писать, от них зависит, как быстро вы можете собрать прототип. Но на временной шкале в несколько лет разница между «идеальным» и просто «нормальным» стеком сильно меньше, чем разница между человеком, который каждый день тренирует мышление, и человеком, который раз в неделю открывает курс и смотрит очередное видео.

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

@devs_books
726 views15:49
Подробнее
Поделиться:
Открыть/Комментировать
6 дек 2025
Самый частый вопрос от тех, кто только заходит в разработку: «Что мне выучить, чтобы через год устроиться разработчиком? Какой стек, какой язык, какие фреймворки?»

На Reddit регулярно всплывают треды, где разработчики с 10–20 годами опыта отвечают на этот вопрос. И среди всего зоопарка советов очень чётко проступают три вещи, которые реально отделяют тех, кто через год пишет нормальный код, от тех, кто через год выгорает и всё бросает.

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

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

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

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

Источник: обсуждения в r/learnprogramming и r/ExperiencedDevs о том, какие навыки важнее всего для новичков в 2025 году.

@devs_books
845 viewsedited  14:45
Подробнее
Поделиться:
Открыть/Комментировать
5 дек 2025
Детективная игра для изучения SQL

SQL Noir — браузерная игра, где нужно раскрывать преступления с помощью SQL-запросов. Каждый кейс — отдельная база данных с таблицами подозреваемых, показаниями свидетелей, записями камер и прочими уликами. Задача — написать правильные запросы, соединить данные через JOIN-ы и вычислить преступника.​

Сейчас доступно 6 кейсов разной сложности — от простых краж до убийств. Автор вдохновлялся SQL Murder Mystery, но хотел развить идею глубже. Проект полностью опенсорсный (MIT), стек: React, Vite, Tailwind, Supabase. Можно контрибьютить свои кейсы.​

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

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

@devs_books
929 views17:16
Подробнее
Поделиться:
Открыть/Комментировать
4 дек 2025
Разработке обещают смерть последние 30 лет, теперь из-за ИИ. Почему она все еще живее всех живых разобрали в статье на Tproger
982 views08:15
Подробнее
Поделиться:
Открыть/Комментировать
28 ноя 2025
Главный признак синьора — не годы стажа и не список технологий в резюме, а умение брать размытые задачи и делать их конкретными. Мидл спокойно решает чёткий тикет, а синьор, услышав «надо улучшить производительность», «пользователи жалуются на онбординг» или «надо подумать про масштабирование», сначала раскручивает, в чём реальная проблема, для каких конкретно пользователей, какие у нас скрытые допущения и что будет, если мы ошибёмся, но всё равно это выкатим.​

Хороший синьор по сути снимает неопределённость и этим снижает риски: из одного мутного «непонятно что» получается пара маленьких понятных задач и что‑то, от чего лучше сразу отказаться. Тогда проекты идут гладко, без постоянных пожаров — просто потому, что грязную работу по прояснению сделали заранее.​

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

На основе поста в блоге Matheus Lima.

@devs_books
1.43K views16:01
Подробнее
Поделиться:
Открыть/Комментировать
27 ноя 2025
Канал с задачками по Python от того же автора, что ведёт «Утёнка»: @quiz_python

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

Если ответить неправильно, то получите короткое объяснение, почему это неправильно. А через час я добавляю пост с подробным объяснением по шагам. Скрываю его в спойлер, чтобы случайно не подсмотреть ответ. Получается довольно неплохой способ по чуть-чуть узнавать что-то про Python.

Подключайтесь! Сегодня вот разбираем декоратор @property. А вчера была задача про async / await, которую на удивление мало кто решил.

@devs_books
1.28K views18:55
Подробнее
Поделиться:
Открыть/Комментировать
26 ноя 2025
А вот бесплатно задачки порешать. Нашёл сайт с заманчивым названием exercism

https://exercism.org/

78 треков по разным ЯП, среди которых кроме популярных есть Haskell, ARM64 Assembly, COBOL и несколько диалектов Lisp. Не часто встретишь такой набор.

Что интересного:
CLI-first платформа. Скачиваешь задачи и решаешь их локально, потом отправляешь обратно через терминал. Это само по себе полезно, чтобы привыкнуть к консоли, но если не хочется — для всех языков есть веб-интерфейс.
Анализ решений. После отправки приходит автоматический фидбек и подсказки по улучшению. Видимо, от ИИ. При этом дополнительно можно запросить помощь живого ментора. Не знаю, как долго будет работать такая схема, но пока что есть шанс получить разбор от опытного программиста.
Для некоторых языков задачки собраны в роадмап с последовательным прохождением тем.

Для общения есть дискорд-сервер и форум.

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

@devs_books
1.42K viewsedited  17:36
Подробнее
Поделиться:
Открыть/Комментировать
25 ноя 2025
Дверь, которая сломала Half‑Life 2

Бывший разработчик Valve Том Форсайт рассказал, как в 2013 году они делали VR‑порт Half‑Life 2 и внезапно наткнулись на баг прямо в самом начале игры. В сцене, где охранник должен провести Гордона через дверь, створка просто не открывалась, и игрок намертво застревал — ни вперёд, ни назад. Самое странное началось, когда они запустили обычную (не‑VR) версию на том же железе и увидели, что теперь та же сцена сломана и в «обычном» HL2, хотя в 2004 году все проходили её без проблем, а код вроде бы никто не трогал.​

Разобравшись, они выяснили, что баг родился на стыке двух классических источников боли в геймдеве: дверей и чисел с плавающей точкой. Оригинальный HL2 собирали под старый x87 FPU, где часть вычислений шла в 80‑битной точности, а более новые билды компилировались с использованием SSE, где всё жёстко обрезалось до 32 бит. В результате крошечное отличие в вычислениях физики привело к тому, что NPC сдвигался буквально на доли миллиметра, дверь чуть по‑другому поворачивалась — и персонаж больше не попадал в нужный триггер, который должен был открыть проход.​

Такой вот «баг из будущего». Двери и вычисления с плавающей точкой, коллеги. Гремучее сочетание, аккуратнее с этим.

@make_game
1.03K views16:46
Подробнее
Поделиться:
Открыть/Комментировать
24 ноя 2025
Статья для тех, кто хочет понять, как современный ML двигает онлайн‑рекламу в больших продуктах вроде VK, без формул и академичности: https://tprg.ru/Nf8A

Разбирают, как пользователей и контент превращают в векторы, как поверх потоковых данных строят профили и как единая платформа Discovery кормит моделями рекомендации, рекламу и антифрод. Полезно почитать, чтобы увидеть, как «ML в проде» выглядит не на учебном датасете, а в реальной системе с миллионами событий в секунду.

@devs_books
1.37K viewsedited  16:20
Подробнее
Поделиться:
Открыть/Комментировать
24 ноя 2025
Кажется, у нас уже есть идеальная ACID‑совместимая база данных — это обычный /dev/null. Если переформулировать свойства ACID человеческим языком, оказывается, что этот «чёрный ящик» из Unix идеально им соответствует и отлично помогает на пальцах понять, что за каждым пунктом стоит.​

Атомарность: всё, что ты пишешь в /dev/null, либо целиком «улетает в никуда», либо не пишется вовсе — никакой половинчатой записи.
Консистентность: инвариант «файл всегда пустой» выполняется при любых операциях, состояние до и после записи одно и то же.
Изоляция: сколько процессов параллельно ни лили бы данные в /dev/null, их вывод никогда не конфликтует, потому что ничего не сохраняется.
Долговечность: после ребута содержимое остаётся строго тем же, что и раньше — абсолютное ничего.​

Есть только один «недочёт» такой базы — у неё ровно 0 байт доступного места, так что масштабирование хранилища придётся решать очень… творчески. Зато как учебный пример /dev/null отлично показывает, что формальные определения ACID можно довести до забавных крайностей и заодно лучше понять, чего именно хочется от реальной базы в проде.

@devs_books
630 viewsedited  12:23
Подробнее
Поделиться:
Открыть/Комментировать
22 ноя 2025
Девушек, конечно, привлекают инфраструктурные проблемы, но лучше для начала надеть штаны
865 views13:09
Подробнее
Поделиться:
Открыть/Комментировать
21 ноя 2025
Edabit — это «Duolingo для программирования»: короткие интерактивные задачи прямо в браузере, за которые ты получаешь XP, уровни и ачивки. Есть отдельные подборки под Python, JavaScript, Java, C#, C++, PHP, Ruby и Swift, плюс интерфейс на нескольких языках.​ В том числе русский, но сам текст задач не переводится.

Формат простой: выбираешь язык, решаешь маленькие задачи от «совсем легко» до посложнее, запускаешь код в онлайн‑редакторе и сразу видишь, прошли ли тесты. Это удобно, если ты только начинаешь и хочешь набить руку на синтаксисе и базовой логике, не ставя IDE и не собирая окружение.​

Общий список задач:
https://edabit.com/challenges

Интерактивные учебники для начинающих по JS и Python:
https://edabit.com/tutorials

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

@devs_books
916 viewsedited  15:42
Подробнее
Поделиться:
Открыть/Комментировать
20 ноя 2025
В коде Quake III Arena (1999) есть легендарная функция с интересными комментариями — это алгоритм быстрого вычисления обратного квадратного корня, который работал примерно в 4 раза быстрее стандартного способа.​

float Q_rsqrt( float number )
{
long i;
float x2, y;
const float threehalfs = 1.5F;

x2 = number * 0.5F;
y = number;
i = * ( long * ) &y;
// evil floating point bit level hacking
i = 0x5f3759df - ( i >> 1 );
// what the fuck?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) );

return y;
}

Фишка в том, что функция трактует биты float-числа как integer, делает побитовый сдвиг вправо (по сути делит экспоненту пополам), вычитает результат из «магического числа» 0x5f3759df, конвертирует обратно во float и делает одну итерацию метода Ньютона для уточнения. Звучит безумно, но математически работает: магическое число подобрано так, чтобы дать очень хорошее начальное приближение для обратного квадратного корня, а метод Ньютона доводит точность до нужного уровня всего за одну итерацию.​

Обратный квадратный корень нужен был для нормализации векторов при расчёте освещения в 3D-графике — таких операций выполнялось миллионы в секунду, и каждое ускорение критично. Долгое время никто не знал, кто автор алгоритма, потом выяснилось, что это Greg Walsh из конца 1980-х. Сейчас у процессоров есть специальные инструкции для таких вычислений, но этот хак остаётся одним из самых элегантных примеров низкоуровневой оптимизации в истории.

Подробнее в википедии.

@devs_books
1K viewsedited  16:30
Подробнее
Поделиться:
Открыть/Комментировать
19 ноя 2025
Если вы сейчас не в айти, но думаете о переходе в Python-разработку — вот история, которая покажет, что не всё потеряно, даже если отказы сыпятся десятками.

Суть в двух словах
Парень 4 года проработал в нейрохирургическом стартапе, выгорел и решил перейти в IT. Без менторства: 110 резюме, 500+ откликов, 1 собеседование. С ментором — быстро получил оффер. Проблема была не в скиллах, а в понимании рынка и составлении резюме. Главный вывод: самому сложно объективно оценить своё резюме и подготовку, нужен опытный взгляд со стороны.

Полная история с деталями про резюме, собеседования и алгоритм действий — в статье на Tproger.
832 views12:08
Подробнее
Поделиться:
Открыть/Комментировать
18 ноя 2025
Один из лучших ресурсов для начинающих: Free Programming Books — огромный GitHub‑список, где собраны тысячи книг по всем аспектам разработки, и все они легальные и бесплатные.​

Это не просто случайная подборка, а систематизированный каталог: от азов информатики и алгоритмов до специфичных тем вроде компиляторов, ИИ, безопасности и даже квантовых вычислений. Для новичков самые полезные разделы — Computer Science, Programming, Algorithms & Data Structures, IDE and editors и Version Control Systems.​

Все книги на английском.
Если вы читаете по‑английски с трудом, это отличный повод начать учить язык — в программировании 90% документации, обсуждений на GitHub и ответов на Stack Overflow именно на нём. Не говоря уже том, что многие книги так и не переведены на русский, и в оригинале они гораздо свежее и точнее.​

Как пользоваться: заходите в репозиторий, ищете нужный раздел (например, Algorithms & Data Structures), открываете список и выбираете книгу по уровню. Для совсем новичков хорошо подойдут «Computer Science I & II» от Chris Bourke или «Dive Into Systems» для понимания, как работает железо. Для алгоритмов — «Algorithms» от Wikibooks или «Problem Solving with Algorithms and Data Structures using Python» (если хотите сразу с кодом).​

Книги в основном в форматах PDF, HTML или ePub, так что можно читать с телефона, планшета или компьютера. Всё легально раздаётся авторами или издательствами.

@devs_books
914 viewsedited  19:21
Подробнее
Поделиться:
Открыть/Комментировать