Обновить
1356.42

Программирование *

Искусство создания компьютерных программ

Сначала показывать
Порог рейтинга
Уровень сложности

Теги структур — худшее что есть в go

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели17K

Всем доброе время суток. Я пишу всякое на Go в Ви.Tech (IT-дочка ВсеИнструменты.ру) и, честно говоря, обожаю этот язык. Когда говорят о проблемах Go, обычно вспоминают отсутствие наследования или своеобразную обработку ошибок. Гораздо реже речь заходит о том, что, на мой взгляд, действительно можно отнести к проблемам.

Читать далее

Мультиплексирование: от основ до сложных сценариев

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.3K

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

Читать далее

Dynamic в C#: когда использовать

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.1K

В 2010 году в C# 4.0 появилось ключевое слово dynamic. Тогда казалось, что это очень круто — наконец‑то можно обойти строгую типизацию там, где она откровенно мешает. Прошло пятнадцать лет, и эйфория давно улеглась. Теперь dynamic воспринимается скорее как специализированный инструмент с узкой областью применения.

Читать далее

Ловушка профилирования кода

Уровень сложностиСложный
Время на прочтение5 мин
Охват и читатели11K

Оптимизация и профилирование C++: branchless-код проиграл обычному if-else. Что пошло не так? Разбираемся вместе.

Читать далее

ty: революция в тайп-чекинге

Время на прочтение7 мин
Охват и читатели9.7K

Всем привет!

За последние пару лет компания Astral буквально разрывает Python-мир своими инструментами. Даже если вы не слышали это имя напрямую, с большой вероятностью вы уже пользовались их продуктами — ruff или uv.

И это не преувеличение. И ruff, и uv сегодня фактически стали стандартом индустрии. Например, в свежем релизе PyCharm 2025.3 при создании нового проекта по умолчанию инициализируется именно окружение uv, а не привычный venv. Для open source-проекта — это очень серьёзный показатель доверия со стороны экосистемы.

Открытый исходный код и массовое принятие инструментов Python-разработчиками дали Astral тот самый «кредит доверия», который компания, судя по всему, пока что уверенно оправдывает.

И вот буквально на днях Astral объявили, что их новый «революционный» тайп-чекер ty переходит в стадию бета-тестирования. А если учитывать, что и uv, и ruff формально тоже всё ещё находятся в бете, то можно считать, что ty уже фактически вышел в релиз. Собственно, о нём и поговорим дальше.

Если вам интересны подобные материалы — подписывайтесь на Telegram-канал «Код на салфетке». Там я делюсь гайдами для новичков и полезными инструментами. А прямо сейчас у нас ещё и проходит новогодний розыгрыш.

Читать далее

Теория групп для всех: пульт для управления реальностью прямо из палаты

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели11K

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

В этот момент у вас сразу же появляются вопросы:

Откуда взялось это множество и зачем оно нужно?

Какая операция и что это вообще всё значит?

Почему я должен верить в эти аксиомы?

Большинство курсов по теории групп построены по принципу «сначала формализм, потом (может быть) понимание». Студентов заставляют зубрить символьные доказательства «от противного», которые безупречны логически, но ничего не дают интуиции

В этой статье мы перевернем всё с ног на голову.

Читать далее

Классы в Python: от основ ООП до продвинутых концепций

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели12K

Python часто начинают осваивать с простых скриптов и функций. Пока задачи простые, этого достаточно. Но когда в коде появляются сущности, например, пользователи, книги или машины, взаимодействие с ними строится по другим принципам. 

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

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

Читать про классы и объекты в Python →

Лучшие нейросети для работы и творчества в 2026 году

Время на прочтение8 мин
Охват и читатели7.1K

Сегодня нейросети используются в рабочих и творческих задачах наравне с привычными инструментами. Они помогают анализировать документы, готовить презентации, создавать визуальный контент, планировать проекты и разрабатывать программные решения. Для многих специалистов ИИ уже стал стандартом. Больше никто не задается вопросом «нужен ли ИИ». Скорее пытается понять какие модели лучше подходят под конкретные задачи: офисную работу, маркетинг, творчество или разработку.

В этой статье рассмотрим наиболее полезные инструменты на базее ИИ и то, как они меняют подход к работе и созданию контента.

Читать далее

Новая реальность бэкенда или что для меня изменилось с конца 2023 года

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.2K

Осенью я начала готовиться к будущему выходу из декретного отпуска, купив курс Яндекс.Практикума «Продвинутый Go-разработчик». Сейчас я еще в процессе прохождения курса и недавно сдала первый дипломный проект, но уже сейчас могу сказать, что разработка ПО вышла на другой уровень за время моего отпуска длиной почти в 2 года. В разработке сервисов появилось много приятных фишек, которые мне нужно освоить. В данной статье я хочу описать то, какие изменения я уже заметила в разработке ПО и что я уже смогла почерпнуть из курса практикума.

Начать хочется с максимально актуальной темы — это использование нейронных сетей. Без них в современном мире разработки(и не только) теперь никуда. Когда я уходила в декретный отпуск, то только малая часть разработчиков активно использовала их, сейчас это повсеместно. Вот пару примеров того, как они уже облегчают нам жизнь.

Читать далее

Создание легкого shell на си

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.9K

Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании .

В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода

Начнем пожалуй с самыx базовых вопросах .

Читать далее

[Обзор книги] System Design. Подготовка к сложному интервью [Часть 1 & Часть 2]

Время на прочтение4 мин
Охват и читатели9.8K

Всем привет, этот пост посвящен двум популярным книгам по подготовке к собеседованию по системному проектированию. Я купил и прочитал обе, поэтому могу дать обзор и подготовить резюме для тех, кто заинтересован. Хотя я рекомендую прочитать обе книги. (Запомнить все из них — задача сверхчеловеческая, но достаточно будет, если вы уловите такие концепции, как «Приблизительные оценки» или «Конкурентность»).

Читать далее

Фантастические трюки на языке C

Время на прочтение10 мин
Охват и читатели14K

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень), алгоритмах на языке C!

Идея написать эту статью зародилась из моего поста, после него я начал серию статей, которая раскрывала много интересных моментов — от математических алгоритмов и оптимизации до ГПСЧ.

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

В этой статье будет еще порция свежих хаков, фанов, трюков, еще больше магии и скорости!

Всех, кто заинтересовался — прошу под кат.

Читать далее

Формат данных на C++, который не боится рефакторинга

Время на прочтение8 мин
Охват и читатели9.2K

Не про редактор и не про алгоритмы. Про то, как формат сохранения переживает переписывание логики, рост требований и годы разработки.

Есть миф, что рефакторинг ломает обратную совместимость. Я 5 раз переписывал редактор графов и не сломал ни одного файла. Рассказываю, как это возможно.

Почему данные переживают иерархии кода

Ближайшие события

Путевые заметки о знакомстве со Spring Data R2DBC

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели5.4K

Привет, Хабр! Меня зовут Каненков Александр, я backend-разработчик в Домклик. Не так давно я резко и с головой погрузился в мир реактивного программирования и очень заинтересовался этой темой. Хочу поделиться кратким введением в Spring Data R2DBC, зачем это нужно, как начать использовать и какие преимущества даёт. Мы разработаем небольшое приложение, добавим flyway и напишем пару тестов.

Читать далее

Пожалуйста, реализуйте этот простой SLO

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.8K

Приветствую, Новенький! Рад, что вы завершили онбординг в нашей корпорации ACME. У меня для вас есть первый тикет. Это простая задача, всего два сторипоинта, но она позволит вам немного научиться тому, как взаимодействуют наши сервисы. Просто реализуйте SLO доступности нашего сервиса Foo. Вы ведь знаете, как реализуются SLO?

Думаю, нам стоит стремиться к четырём девяткам. Я уверен, что вы в курсе всех best practices нашей отрасли, поэтому не буду надоедать вам советами. Если нужно, внизу есть бумажная Google SRE Book. Мне кажется, это быстрая задача; сможете представить свой SLO к пятничному демо?

Читать далее

Вы больше не новичок в Git. Повышаем квалификацию с помощью 7 команд

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели22K

Каждому разработчику когда-нибудь приходилось срочно переключаться между ветками, восстанавливать потерянный коммит или аккуратно вырезать одно исправление. Это можно делать примитивно с помощью базовых команд Git, но настоящий профессионал отличается от любителя тем, что применяет самые оптимальные решения, тем самым экономит время и нервы. О таких решениях поговорим далее в статье.

Читать далее

Поддержка LSP в Claude Code: возможности, настройка и текущие проблемы

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.3K

Команда AI for Devs подготовила перевод статьи о поддержке LSP в Claude Code. Начиная с версии 2.0.74 агент получил доступ к семантике кода: переходы к определениям, поиск ссылок и иерархия вызовов. Это заметно ускоряет работу с большими кодовыми базами, но на практике функциональность пока сыровата и требует обходных решений. Разбираемся, как включить LSP, какие языки поддерживаются и с какими ограничениями придётся столкнуться.

Читать далее

Reinforcement Learning: Policy gradient methods

Время на прочтение9 мин
Охват и читатели7.9K

В предыдущих статьях Intro Reinforcement Learning и Reinforcement Learning: Model-free & Deep RL были рассмотрены подходы, в которых оптимальные действия находились косвенно через оценку полезности состояний или пар «состояние–действие». Такие методы принято называть value-based. Однако возникает вопрос: зачем строить сложные цепочки через value-функции, если можно напрямую обучать агента выбирать правильные действия? Такой policy-based подход интуитивно кажется проще и естественнее.

Здесь о том, как это делается (ノ◕ヮ◕)ノ

Читать далее

Матрицы и векторы: решение систем линейных алгебраических уравнений

Время на прочтение9 мин
Охват и читатели9.8K

В статье представлена реализация методов решения системы линейных алгебраических уравнений (СЛАУ) четырьмя методами: методом Гаусса, LU декомпозиции, компактной схемой исключения, QR декомпозиции. Для реализации был использован шаблон классов матрицы и вектора. Приводятся результаты решения СЛАУ, погрешность решения и время решения СЛАУ. Для сравнения результаты представлены в таблице.

Читать далее

Хуки свойств в PHP: геттеры и сеттеры не нужны

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели10K

В версии 8.4 наконец‑то появилась одна из тех фич, о которых давно мечтали многие, — хуки свойств. Что это такое? По сути, это встроенные механизмы get/set для свойств объектов, которые позволяют добавить свою логику при чтении или записи значения прямо внутри определения свойства. Никаких больше громоздких геттеров и сеттеров, никаких загадочных get и set, теперь всё можно сделать красиво и понятно на уровне самих свойств.

Читать далее

Вклад авторов