Метод утёнка
7.12K subscribers
533 photos
94 videos
2 files
434 links
Об IT так, что поймёт даже резиновый утёнок.

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

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

Другие каналы: @tproger_channels
Download Telegram
Microsoft выложил бесплатный 12-недельный курс Web Dev for Beginners на GitHub: 24 урока, каждый с квизами, проектом и заданием. HTML/CSS/JS через создание террариума, браузерного расширения и космической игры

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

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

@devs_books
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Большой гайд для тех, кто хочет войти в аналитику с нуля или из смежной сферы.

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

@devs_books
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👾1
Learn Git Branching — наконец понять, что делают rebase, cherry-pick и merge. Если вы до сих пор работаете с гитом по принципу «commit, push, молиться», есть бесплатный тренажёр, после которого всё встаёт на свои места.

По сути браузерная игра, где вы вводите git-команды, а на экране в реальном времени рисуется дерево коммитов. Видно, как ветки расходятся, сливаются, перебазируются. Не нужно ничего устанавливать — всё работает прямо в браузере.

Что там есть:
🔘Уровни от базовых (commit, branch, checkout) до продвинутых (rebase -i, cherry-pick, reflog)
🔘Отдельный блок про работу с remote-репозиториями (fetch, pull, push)
🔘«Git-гольф»: задача — пройти уровень за минимум команд

Интерфейс на английском, но команды — это обычный git, так что разобраться несложно. Можно пройти за пару вечеров, и после этого конфликты при мерже перестанут вызывать панику.

Есть ещё Oh My Git — десктопная игра с похожей идеей, но там нужно скачивать приложение.

📎 Ссылка: https://learngitbranching.js.org

@devs_books
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Не знаете, в чём встречать Новый год? Не беда

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

Реклама
😁1🗿1
Два бесплатных сайта, где можно писать 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
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
Видеотуториал: Docker для тех, кто откладывал

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

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

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

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

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

@devs_books
Media is too big
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Расшифровка bash-команд по частям

Вы копируете команду из интернета: tar -xzvf archive.tar.gz или find . -name "*.py" | xargs grep "TODO" — и не понимаете, что там происходит.

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

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

Работает с основными утилитами Linux/Unix вроде find, awk, sed и других.

@devs_books
🔥31
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Если взять конкретный язык, то всё может быть ещё хуже.

В 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
Please open Telegram to view this post
VIEW IN TELEGRAM
4😁3