Метод утёнка – Telegram
Метод утёнка
7.18K subscribers
525 photos
91 videos
2 files
417 links
Об IT так, что поймёт даже резиновый утёнок.

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels
Download Telegram
Forwarded from Нейроканал
Как LeetCode, только по AI/ML — открылась новая площадка с задачами по машинному обучению.

Можно через практику изучать алгоритмы и ключевые концепции, причём уже есть блоки по линейной алгебре, а поддержка PyTorch и JAX заявлена «скоро» — автор выкатывает обновления и пополняет банк вопросов. Есть автопроверка через тесты.

На видео — интерфейс после авторизации. Лидерборд и список задач. В задаче условия и редактор кода. И кнопки Run/Submit, всё как обычно на подобных сайтах.

И есть особые задачи на исследование: например, изучить как работает Attention и написать краткое саммари, как вы это поняли. И тоже можно отправить на проверку.

@neuro_channel
This media is not supported in your browser
VIEW IN TELEGRAM
🔥3
Forwarded from Типичный программист
С кем знакомятся типичные программисты: 2D-тян или живая девушка?

Согласно недавним исследованиям Vantage Point Counseling Services, треть американцев хотя бы раз состояла в романтических отношениях с ИИ. Появилось даже приложение Loverse для виртуальных знакомств, где вместо реальных людей роль партнёров выполняют чат-боты с искусственным интеллектом.

Мы решили провести своё исследование и выяснить где и с кем сегодня знакомятся пользователи стран СНГ. Пожалуйста, пройдите наш небольшой опрос. Это поможет нашему исследованию.

Пройти опрос.
Forwarded from Типичный программист
«Ядро планеты Python»: большой интерактивный учебник по Python, который дополняет сообщество

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

При желании, вы тоже можете предлагать улучшения, дополнять и переделывать его — исходники лежат на гитхабе: https://github.com/amaargiru/pycore

#python #начинающим
🔥2😎2
Советы от программиста с 20+ лет опыта в IT для начинающих

За эти годы я писал код на C, Rust, Python, TypeScript, работал в стартапах, энтерпрайзе, госах и AI‑лабораториях. И одна вещь снова и снова подтверждается: программирование — это не про код. Это про ясность мышления.

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

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

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

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

Всё остальное — фреймворки, языки, AI‑тулы — придёт само, если у вас есть привычка думать ясно.

Источник: пост FluxParadigm01 на Reddit.

@your_tech
🔥84❤‍🔥1
Один из лучших ресурсов для начинающих: 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
❤‍🔥2🔥2
Если вы сейчас не в айти, но думаете о переходе в Python-разработку — вот история, которая покажет, что не всё потеряно, даже если отказы сыпятся десятками.

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


Полная история с деталями про резюме, собеседования и алгоритм действий — в статье на Tproger.
В коде 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
🔥19
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
Media is too big
VIEW IN TELEGRAM
❤‍🔥3
Девушек, конечно, привлекают инфраструктурные проблемы, но лучше для начала надеть штаны
😁11🤔2
Кажется, у нас уже есть идеальная ACID‑совместимая база данных — это обычный /dev/null. Если переформулировать свойства ACID человеческим языком, оказывается, что этот «чёрный ящик» из Unix идеально им соответствует и отлично помогает на пальцах понять, что за каждым пунктом стоит.​

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

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

@devs_books
Please open Telegram to view this post
VIEW IN TELEGRAM
😁51🤔1💯1
Статья для тех, кто хочет понять, как современный ML двигает онлайн‑рекламу в больших продуктах вроде VK, без формул и академичности: https://tprg.ru/Nf8A

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

@devs_books
👍52
Дверь, которая сломала Half‑Life 2

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

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

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

@make_game
🔥5
А вот бесплатно задачки порешать. Нашёл сайт с заманчивым названием exercism ✝️

https://exercism.org/

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

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

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

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

@devs_books
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42
Канал с задачками по Python от того же автора, что ведёт «Утёнка»: @quiz_python

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

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

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

@devs_books
1
Главный признак синьора — не годы стажа и не список технологий в резюме, а умение брать размытые задачи и делать их конкретными. Мидл спокойно решает чёткий тикет, а синьор, услышав «надо улучшить производительность», «пользователи жалуются на онбординг» или «надо подумать про масштабирование», сначала раскручивает, в чём реальная проблема, для каких конкретно пользователей, какие у нас скрытые допущения и что будет, если мы ошибёмся, но всё равно это выкатим.​

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

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

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

@devs_books
💯73
Учитесь новому так, как удобно вам, вместе с Академией Топ

Академия Топ — это крупнейшая образовательная сеть с филиалами в 230 городах, в которой вы можете изучать множество разнообразных IT-профессий.

По итогам обучения выпускники Академии получают государственный диплом, признанный в 7 странах мира.

Выбирайте курс по душе:

«Разработка на Python»
«Разработчик программного обеспечения»
«Кибербезопасность и сетевые технологии»
• и многое другое

Академия регулярно проводит бесплатные дни открытых дверей «Старт в IT» для тех, кто мечтает о карьере в IT, но не знает, с чего начать.

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

А для тех, кто уже выбрал своим направлением Python-разработку, в Академии Топ проводят пробные занятия «Python с нуля: создаём чат-бота», где вы на практике изучите основы универсального языка программирования и создадите свой первый проект.

Выбирайте свой курс с подходящим вам форматом обучения!

Реклама. Филиал «АКАДЕМИЯ ТОП КУТУЗОВСКИЙ», ИНН 7730257499, erid: 2W5zFK5c4jS
👍54🔥1🤩1
Детективная игра для изучения SQL

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

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

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

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

@devs_books
13🔥1
Самый частый вопрос от тех, кто только заходит в разработку: «Что мне выучить, чтобы через год устроиться разработчиком? Какой стек, какой язык, какие фреймворки?»

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

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

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

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

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

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

@devs_books
Please open Telegram to view this post
VIEW IN TELEGRAM
13