Все потоки
Поиск
Написать публикацию
Обновить

Разработка

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

К вопросу о кошмарном качестве книг по программированию. Моя не наглядная книга о наглядном CSS

Время на прочтение6 мин
Количество просмотров21K

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

И дело даже не в кривом переводе. Мы уже давно научились догадываться, что именно «хотел сказать автор» на языке оригинала. Этот этап повсеместного падения качества книг уже пройден. Теперь издательства нацелились на новые антирекорды — соревнуются, кто кого переплюнет по количеству фактических ошибок в своих творениях. Например, по ужасающим косякам в исходных кодах примеров программ. Каждый раз хочется воскликнуть: «Ребята, вы сами-то хоть один раз перечитали своё творение?!»

Читать далее

Как запустить свою LLM для инференса. Руководство по запуску: Ollama, vLLM, Triton, LM Studio, llama.cpp, SGLang

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

В этой статье будет приведено практическое руководство по базовой настройке и запуску следующих инструментов для работы с LLM: Ollama, LM Studio, vLLM, Triton, llama.cpp, SGLang.

🔥 Начинаем? 🔥

Расстаемся с any в TypeScript

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

Тип any в TypeScript по своей сути является злом и небезопасной особенностью встроенной по умолчанию в систему типов языка. Данный тип дает возможность разработчику записать такое значение, которое может быть чем угодно, использоваться где угодно и как угодно вместо любого другого типа данных.

Использование any небезопасно, поскольку таким образом вы отключаете многие проверки во время компиляции вашего кода в JavaScript, что по итогу ограничивает способность TypeScript помогать вам, отказываясь тем самым от преимуществ строгой типизации.

Линтеры — это не только важнейший инструмент для поддержания качества кода на высоком уровне, но и важный помощник в борьбе с any. Пакет typescript-eslint содержит несколько таких правил, которые помогают предотвратить небезопасные практики еще до начала компиляции, связанные с типом any. Эти правила обнаруживают как прямые использования any, так и целые паттерны кода, которые незаметно его допускают. В этой публикации мы разберемся с тем, что конкретного делают эти правила, а также рассмотрим несколько полезных способов предотвратить проникновение any в наш код.

Читать далее

Как превратить математику в игру с шифрами: школьный взгляд на криптографию

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

Здравствуйте, уважаемые читатели Хабра!

Представьте себе мир, где каждое ваше слово, каждая мысль — открытая книга. Жутковато, правда? На протяжении веков человечество стремилось сохранить свои тайны, и криптография всегда была тем мощным инструментом, что помогал это делать.

Сегодня мы, команда проекта Большой математической мастерской (БММ) — уникального образовательного события, где школьники, студенты и педагоги работают над общими проектами — хотим поделиться нашим погружением в этот увлекательный мир. Мы не профессиональные криптографы, но наш проект «Как превратить математику в игру с шифрами» доказывает: математика — это не только «сухая наука», но и захватывающая игра, особенно когда дело касается шифров и секретных сообщений.

В рамках этого проекта мы создаем сборник криптографических задач для научно‑популярной книги, ориентированной на школьников 8–11 классов. Наш подход на БММ основан на непрерывном обучении, умении задавать правильные вопросы и создавать работающие, интересные решения, опираясь на авторитетные источники и консультации специалистов. Именно этим мы и занимались, исследуя мир шифров.

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

Читать далее

Смартфон с настоящей QWERTY-клавиатурой…

Время на прочтение8 мин
Количество просмотров7.4K

В наше время сложно себе представить человека, который носит смартфон с аппаратными кнопками. Всего каких-то 15 лет назад, Nokia E72 считался эталоном быстрой и удобной печати на смартфоне, однако даже он уступил место экранной клавиатуре и Swype. Я с таким положением дел не согласен и продолжаю повседневно пользоваться смартфоном с аппаратной QWERTY-клавиатурой...

Но тот гаджет, что я совершенно случайно купил в Китае за 1.500 рублей просто перевернул моё представление о QWERTY-клавиатурах в смартфонах и о таком забытом классе устройств, как коммуникаторы. И да, он действительно выполнен в форм-факторе ноутбука!

Читать далее

xAI представляет Grok 4 Fast: новая эра доступного ИИ с огромным контекстом

Время на прочтение4 мин
Количество просмотров6.1K

xAI меняет правила: Grok 4 Fast – сверхбыстрый ИИ с 2 млн токенов контекста бесплатно! Что если модель, равная Gemini 2.5 Pro, но в 25 раз дешевле, уже здесь? Узнайте, как она ускоряет поиск, кодирование и анализ, не жертвуя качеством — но с секретами, которые стоит раскрыть.

Читать далее

Путь от провальной продажи LED-масок до агентства по Tg Ads. История о 12 холодных звонках, силе ниши и одном MacBook

Время на прочтение5 мин
Количество просмотров743

В 2017 я пытался продавать светодиодные маски и не продал ни одной.

В 2019, будучи школьником, сидел по ночам в фотошопе, делая посты для групп VK.

А в 2021 совершил 12 холодных звонков, чтобы получить первого клиента на таргет. Эта статья — честный рассказ о моем пути.

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

Это история о превращении из фрилансера-многостаночника в руководителя сфокусированного агентства.

Познакомиться

DIY-операционки с нуля — эксперименты энтузиастов

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.6K

Поговорим о трёх пет-проектах, авторы которых не претендуют на разработку второго Linux, но интересуются устройством системного программного обеспечения. Расскажем про операционки Snowdrop, Banan, Serena и их уникальные черты.

Читать далее

Devsyringe: Хватит копипастить динамические значения

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

Сегодня расскажу о Devsyringe — инструменте для автоматизации работы с динамическими значениями в статических файлах.

Мы, разработчики, постоянно сталкиваемся с API-токенами, временными URL, строками подключения и флагами функций. В Node.js и других средах есть dotenv и менеджеры конфигураций, которые подставляют значения во время выполнения.

Но что делать со статическими файлами — HTML, JS-конфигурациями или старыми конфигами? Обычно приходится вручную копировать значения, открывать файлы, вставлять, сохранять — скучно, долго и легко ошибиться. Devsyringe решает эту проблему, автоматизируя процесс.

Читать далее

Нет, тренировка DeepSeek R1 не стоила $294 тыс. Реальная цифра в десятки раз выше

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.8K

В интернете широко обсуждают опубликованный в Nature отчет авторов DeepSeek, в котором якобы заявляется, что обучение модели R1 обошлось компании всего в 294 тысячи долларов. Цифра выглядит сенсационной, ведь конкуренты тратят на создание своих моделей в тысячи раз большие суммы: например, для Claude Sonnet 3.7 давали оценку в несколько десятков миллионов долларов. Если бы взятая из Nature цифра была правдой, то получилось бы так, что у конкурентов нет никаких шансов перед командой DeepSeek. Но это не так.

Читать далее

Строки в Swift

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров894

Привет, Хабр! Сегодня поговорим о теме, которая вроде бы знакома каждому разработчику, но при этом часто остаётся в тени. Речь пойдёт о строках в Swift.

Каждый, кто писал или пишет приложения на этом языке, так или иначе работает со строками. Но задумывались ли вы когда-нибудь, как они устроены внутри? В этой статье я постараюсь приоткрыть завесу и рассказать, какие тайны скрывают строки в Swift.

Читать далее

Nano Banana: редактирование изображений через нейросеть

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

Доброго времени суток, «Хабр»!

Не так давно компания Google представила обновлённую модель для работы с визуальным контентом. Nano Banana уже получила в сети громкий титул убийцы Photoshop, поскольку не только создает картинки с нуля, но и редактирует: меняет стиль одежды, перекрашивает стены, удаляет лишние объекты и не только.

В сегодняшней статье мы подробно рассмотрим Nano Banana, протестируем эту модель, а также я со своей, далеко не авторитетной точки зрения, отвечу на вопрос: фарс или годнота предстала перед нами?

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

Читать далее

Как в России получить деньги на разработку игры в 2025 году

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

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

Для инди‑команд и небольших студий главный вопрос звучит просто: где взять деньги на разработку? Ответ далеко не очевиден. В России сегодня существует несколько каналов финансирования — от государственных грантов и налоговых льгот до частных инвестиций, краудфандинга и подписочных моделей. Каждый из них имеет свои преимущества, но и свои подводные камни: бюрократия, требования к отчетности, риски потери контроля над проектом или зависимость от аудитории.

Эта статья поможет разобраться, какие источники финансирования доступны разработчикам игр в России в 2025 году, как они работают на практике и какие риски стоит учитывать еще на этапе планирования.

Читать далее

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

Строим полный граф импортов python на основе статического анализа

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров3.9K

Эта статья о разработке средства визуализации импортов внутри проекта на python, основное назначение которого построить полный граф связи скриптов между собой и с внешними библиотеками, основываясь только на статическом анализе AST дерева. Код не будет выполняться, а доступность библиотек — проверятся. Цель показать, что было задумано, а не как это будет работать в текущем окружении.

Читать далее

Rust 1.90.0: ldd для x86_64-unknown-linux-gnu, публикация рабочих пространств и понижение x86_64-apple-darwin до Tier 2

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.5K

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

Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.90.0 вам достаточно выполнить команду:

$ rustup update stable

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

Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать канал beta (rustup default beta) или nightly (rustup default nightly). Пожалуйста, сообщайте обо всех встреченных вами ошибках.

Что стабилизировано в 1.90.0

Создание умных AI-агентов: полный курс по LangGraph от А до Я. Часть 2. Диалоговые агенты: память, сообщения и контекст

Время на прочтение48 мин
Количество просмотров11K

Во второй части курса по созданию ИИ-агентов превращаем безжизненные схемы в настоящих цифровых собеседников: подключаем нейросети к LangGraph, учим их запоминать контекст на сотни сообщений и гарантированно получать валидный JSON вместо творческой "болтовни".

Создаем умные системы, которые сами определяют тип сообщения — отзыв это или вопрос — и автоматически направляют в нужную ветку обработки.

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

Читать далее

Особенности REMOVEFILTERS в DAX из Power BI

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

Привет, Хабр! Одной из важных функций-модификаторов в DAX является REMOVEFILTERS, он позволяет, например, убрать фильтр для расчета знаменателя в доле. Однако логика REMOVEFILTERS для столбцов может выглядеть неочевидной, например, REMOVEFILTERS только для одного поля, по которому есть условие в FILTER, не влияет на результат DAX запроса. Так, REMOVEFILTERS(customer[customer_id]) не влияет на FILTER в SUMMARIZECOLUMNS вида FILTER(customer, customer[customer_id] > 2) и для сброса фильтра нужен REMOVEFILTERS(customer) по всей таблице. В связи с этим удобно представить принципы работы REMOVEFILTERS более формально, например, в виде ER диаграммы с подписанными связями. Для построения ER диаграммы был выбран Mermaid и генерация кода диаграммы реализована на C#. Интересующимся особенностями REMOVEFILTERS — добро пожаловать под кат :)

Читать далее

Как продвигать телеграм-канал бесплатно: подробная статья по комментингу

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.9K

Делюсь самой подробной статьей по комментингу, просто берите и применяйте у себя. Здесь лайфхаки, примеры упаковки и идеи цепляющих комментов.

Читать далее

Сегнетоэлектрические свойства титаната стронция поддаются управлению

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров795

Ученые МФТИ с коллегами с помощью терагерцовой спектроскопии исследовали сегнетоэлектрические свойства пленок титаната стронция, обусловленные температурной динамикой низкочастотного полярного фонона (мягкой моды). Авторами показано, что тонкие пленки титаната стронция (SrTiO3), допированные атомами переходных металлов, демонстрируют характерное для квантовых параэлектриков температурное поведение мягкой сегнетоэлектрической моды без признаков фазового перехода вплоть до низких температур (5 К). Работа опубликована в Journal of Alloys and Compounds.

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

Читать далее

Как LLM CTF решал и коннектор писал (а я призы забирал)

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

Привет! Расскажу, как не-хакеру удалось решить CTF таски и залутать призы на сцене главной хакерской конференции OFFZONE.

Меня зовут Пётр Покаместов, я руковожу проектами по пентесту в Singleton Security — общаюсь с клиентами, распределяю загруз коллег, провожу презентации отчётов, а также занимаюсь развитием партнерского направления. Когда есть кислород от проектов - люблю покреативить: сделать компании стикеры и т.д. Постоянно экспериментирую с различными нейронками, так как интересно увидеть возможности, границы, области применения и наблюдать их развитие.
Параллельно преподаю в Бауманке форензику. До прихода в Singleton руководил лабораторией криминалистики и eDiscovery.

C учетом креативных хобби, обожаю ходить на конференции и не мог пропустить Offzone.

Вечером после первого дня офзона пришло уведомление от бота Wildberries, что если хотите — можете решить наши CTF задания и написать коннектор.

Читать далее