и посмотреть медиа
Точка входа - основы программирования
и посмотреть медиа
Базовые знания по основам программирования для новичков.
Базовые знания по основам программирования для новичков.
Курс фундаментальных понятий: алгоритмы, структуры данных, языки программирования. Идеально для начинающих без опыта.
Кто-то превратил работу PostgreSQL в SimCity Автор PGSimCity собрал интерактивную 3D-модель движка PostgreSQL: вместо очередной схемы из документации работу базы показывают через город, по которому можно бродить. Получился рабочий прототип, где сложная система отображается через привычную метафору. Визуализация помогает увидеть, как части движка связаны между собой, а не просто запомнить термины. Автор предупреждает, что модель пока ранняя и может содержать неточности, так что пока смотреть как на эксперимент, а не как источник правды. Но как способ взглянуть на Postgres иначе — отличная находка. #postgresql #sql
Открыть канал и посмотреть медиаСоберите первую консольную утилиту (CLI) на Go, которая понимает команды Если вы уже пробовали Go и хотите, чтобы программа реагировала на ввод в терминале, попробуйте Cobra. Это библиотека, которая берёт на себя разбор команд, их аргументов и справки, поэтому ваш скрипт ведёт себя как настоящая утилита. Автор статьи шаг за шагом строит CLI k8s-info с командами version и cluster. Главное здесь не название, а принцип: отдельный файл под каждую команду, общий корневой файл и main.go, который запускает Execute(). Повторите за автором, чтобы увидеть, как куски кода складываются в работающую программу. После прохождения добавьте команду hello сами — это лучший способ понять, почему такая структура масштабируется.
Открыть канал и посмотреть медиаReact.memo не спасает, если в пропсы летят inline-объекты Поисковая строка тормозит список, Profiler рисует 200 лишних рендеров, а вы уже обернули всё в React.memo и добавили useCallback на обработчики. Виноват обычно один JSX-паттерн: style={{ padding: 16 }} или колбэк прямо в разметке. memo сравнивает пропсы через Object.is, а для объектов и функций это проверка по ссылке: каждый рендер родителя создаёт новую ссылку, и React снова рисует дочерний компонент. Меня убедили цифры из эксперимента: 200 memoизированных строк на один keystroke рендерились 243,9 мс, после стабилизации ссылок — 6 мс. Поэтому статические объекты выносите за пределы компонента, а useCallback добавляйте только там, где колбэк реально уходит в memoизированного потомка. Хуки «на всякий случай» не помогут: сначала меряйте в Profiler. Полный разбор с примерами
Открыть канал и посмотреть медиаOpenCode: ИИ-агент для Python в терминале, который не уводит код в облако Если вы предпочитаете командную строку графическим IDE, OpenCode может оказаться удобнее: он работает как TUI прямо в консоли, понимает контекст Python-проекта и рефакторит код с учётом всей кодовой базы, а не вставленного фрагмента. Для питониста тут два полезных момента. Первый — локальность: провайдер подключается из вашей среды, файлы остаются на вашей машине. Второй: встроенный Pyright и режимы Plan/Build, которые либо показывают план правок, либо применяют его сразу. Ещё AGENTS.md позволяет явно прописать правила проекта: от стиля до команд запуска. Для старта достаточно бесплатного ключа Gemini. Подробности в обзоре.
Открыть канал и посмотреть медиаДеструктуризация в JS: когда она мешает, а не помогает Мэтт Смит разобрал, почему перестал разбивать объекты на переменные по первой же возможности. Привычка вроде const { status } = project экономит пару символов, но в длинной функции status превращается в магическую переменную: приходится листать вверх, чтобы вспомнить, откуда она взялась. Его правило: оставляйте точку. project.status сразу говорит, из какого объекта значение, а голая status — нет. То же с post.title или user.name: повторять объект не страшно, если контекст остаётся на виду. Деструктурируйте только когда объект уже очевиден из окружения — например, внутри короткого колбэка. Такой подход упрощает поддержку кода: меньше магических переменных, меньше когнитивной нагрузки, проще читать спустя месяцы. Разобрался Смит здесь.
Открыть канал и посмотреть медиаitertools: не хранить то, что можно перебирать по одному Когда начинаешь писать циклы, легко собрать промежуточный список там, где он не нужен. Модуль itertools из стандартной библиотеки Python помогает обходиться без этих лишних коллекций: элементы создаются по запросу, не накапливаясь в памяти. Это особенно удобно для больших файлов и последовательностей, которые могут быть бесконечными. В нём три группы инструментов: бесконечные итераторы вроде count, конечные вроде chain и islice, и комбинаторные, которые перебирают варианты. Например, islice(count(1), 5) выдаст первые пять чисел, не собирая список. В статье разобрали, где itertools помогает, а где лучше обойтись без него.
Открыть канал и посмотреть медиа80% корпоративных программ геймификации ломаются на одном и том же месте По данным AmplifAI, игровые кампании дают в среднем вовлечённость на 100–150% выше, чем классические подходы, а геймифицированный контент шерится в 12 раз чаще. При этом примерно 80%…
Открыть канал и посмотреть медиа80% корпоративных программ геймификации ломаются на одном и том же месте По данным AmplifAI, игровые кампании дают в среднем вовлечённость на 100–150% выше, чем классические подходы, а геймифицированный контент шерится в 12 раз чаще. При этом примерно 80% корпоративных программ геймификации не достигают целей. Спрос огромный, качество — низкое, а причина проста: делать это берутся не те люди. В статье разбирают, как корпоративные клоны механик упускают баланс и контекст, и что делать, чтобы прогрессия не превращалась в цифровой пендель. Для геймдевелоперов это отличная ниша, где есть и деньги, и возможность применить свои скиллы на практике.
Открыть канал и посмотреть медиаПочему DuckDB обгоняет Spark на одной машине Разбор от endjin объясняет, как встраиваемая база DuckDB превращает ноутбук в инструмент для аналитики на миллиардах строк: скорость здесь — не в масштабе, а в бережном использовании железа. Колоночное хранилище читает только нужные столбцы, векторизованное выполнение обрабатывает данные пачками по 1024–2048 значений, умещаясь в кэш процессора, а min-max-индексы пропускают целые группы строк по фильтрам. Всё параллелится на все ядра. В тесте TPC-H DuckDB на одной машине справилась за 1 минуту 16 секунд, Spark на 32 узлах — около 8 минут. Распределённые накладные расходы дороже выигрыша от кластера. Это не замена PostgreSQL или Kafka: один писатель, одна нода, petabyte уйдут в распределённые системы. Статья полезна тем, кто строит ETL и хочет понять, где сидит производительность. Сохраните, если выбираете инструменты для аналитики.
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!
DeFi платформа на Stellar для покупки, хранения, торговли и переводов крипто. Удобный веб-приложение для инвесторов.
Пост-рок проект Sleep Dealer: дискография и атмосферная музыка из Москвы.