Обновить

Разработка

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

Реактивное программирование в Java: от теории к практике

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

«Когда пару лет назад я впервые столкнулась с реактивным программированием, — рассказывает моя коллега Екатерина, — казалось, что это что‑то слишком сложное и академическое. Но чем больше работаешь с современными высоконагруженными системами, тем яснее становится, что без реактивного подхода сложно обеспечить высокую отзывчивость и масштабируемость».

Читать далее

Краткая история создания аудиокассеты. Часть вторая

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

В предыдущей части мы подробно рассказали о первых разработках конца XIX-начала XX века. Мы продолжаем наш разговор о создании привычной нам аудиокассеты.

Попытки создать коммерчески выгодный диктофон с магнитной проволокой продолжались, и, пожалуй, самым известным их результатом были «Blattnerphone» 1924 года немецкой компании Ferdinand Schuchardt AG и «Textophon BW 1» 1932 года также немецкой компании C. Lorenz AG.

Читать далее

Сетчатый или сплошной полигон на печатных платах?

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

Выбор типа полигона для проектировщиков всегда спорный вопрос, поскольку у каждого типа есть свои преимущества и недостатки. Какие факторы нужно учесть при выборе, и почему современные практики предпочитают сплошной (Solid) полигон?

Рассмотрим каждый тип полигона подробнее.

Читать далее

Клеточный автомат по закону Коллатца — когда числа живут

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

Клеточный автомат по закону Коллатца — когда числа живут

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

Читать далее

Простой и быстрый инструмент для сбора графиков из Grafana

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

Привет, друг. Я тут решил поделиться с тобой простым инструментом, который не требует особых навыков и больших затрат времени для развёртывания или даже использования. По большому счёту при его использовании и чаще всего всё делается один раз и забывается. Что за инструмент? На кой он нужен и чем лучше других?

Давай обо всём по порядку.

Дайджест препринтов научных статей в области Информатики

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

Свежая подборка ключевых препринтов научных статей в области Информатики, опубликованных на arXiv.org.

Данный дайджест охватывает передовые и высокоспециализированные исследования, которые формируют научный авангард IT-индустрии.

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

Читать далее

Модификаторы вариантности параметров типа в TypeScript

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

Здесь будут рассмотрены не очевидные, редкие и сложные инструменты и парадигмы для работы с типами в TypeScript.

Читать далее

Манифест цифровой приватности: От Zero Trust до анонимных сетей

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

Современный цифровой мир — это враждебная среда, где приватность стала товаром, а тотальная слежка — нормой. Это практическое руководство, основанное на принципе Zero Trust, научит вас выстраивать многоуровневую защиту: от выбора и настройки ОС до обхода DPI с помощью VLESS + Reality и соблюдения правил операционной безопасности (OPSEC). Разберем сильные и слабые стороны Tor и I2P и научимся противостоять деанонимизации. Цель — не стать невидимым, а сделать стоимость вашей деанонимизации нецелесообразной.

Полное руководство

Сужение дипазона типов в TypeScript

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

Тип Discriminated Unions (дискриминантное объединение), часто обозначаемое как Tagged Union (размеченное объединение), так же как и тип union (объединение), является множеством типов, перечисленных через прямую черту | . Значение, ограниченное дискриминантным объединением, может принадлежать только к одному типу из множества.

Несмотря на то, что Discriminated Union в большей степени идентичен типу Union , все же существует два отличия.

Первое отличие заключается в том, что типу Discriminated Union могут принадлежать только ссылочные типы данных.

Второе отличие в том, что каждому объектному типу, также называемые варианты, составляющему Discriminated Union , указывается идентификатор варианта который называется дискриминант.

Помните, что вывод типов, без помощи разработчика, способен работать лишь с общими для всех типов признаками?

Рассмотрим пример:

Читать далее

Какой Ai-шник нынче нужон?! / Исследование ИИ рынка труда РФ

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

Последние полгода ловлю море статей о том, как направление AI будто бы стремительно растёт, специалистов нужно огромное количество, и платят много и без лишних вопросов. Долго думал, как можно проверить все эти заявления не через абстрактные «экспертные мнения», а на реальных и доступных каждому данных.

В итоге словил простую эврику: «Почему бы просто не залезть на HH и не посмотреть, кого действительно ищут и в каком количестве?»

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

Читать далее

Руководство по архитектуре браузерных песочниц: как работает изоляция JavaScript-кода

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

Всем привет! Последние несколько месяцев я работаю над пет-проектом — интерактивной образовательной платформой для изучения Web Audio API и принципов обработки и синтеза цифрового звука. На платформе пользователи смогут решать задачи, программируя на JavaScript прямо в браузере. Эти программы выполняются в изолированной среде — песочнице, где пользовательский код не может повлиять на работу самой платформы.

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

Устроиться поудобнее и погрузиться в тему

Идеально размещённые тултипы: все четыре стороны

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

Пора к части второй! У нас уже есть очень хорошие функциональные тултипы с позиционированием, но они в основном «смотрели» вверх или вниз и смещались у краёв, чтобы избежать выхода за границы. Теперь мы пойдём дальше и рассмотрим четыре позиции без смещений.

Читать далее

Пример реализации агентного RAG'а

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

Многие знают, что такое RAG. Ну, или по крайней мере слышали о нем :) Но не все знают, что типичная архитектура RAG способна отвечать далеко не на все вопросы. У агентного RAG в этом плане гораздо больше возможностей. Агентный RAG может анализировать запрос, составлять план действий и вызвать внешние инструменты. И все это для выполнения поставленной задачи.

В этой статье на практическом примере разберем как с помощью marker'а, Qwen3-14B, MCP-сервера, энкодера FRIDA и библиотеки Agno создать несложный агентный RAG.

---------------

Мои курсы: Разработка LLM с нуля | Алгоритмы Машинного обучения с нуля

Читать далее

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

Как устроена цензура изнутри. На примере слитого китайского фаерволла (блокировки Tor, VPN, анализ трафика)

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

Продолжаем нашу серию статей с разбором работы Китайского Firewall'а (GFW). В этой статье углубимся в техническую часть этой системы

Читать далее

Логическая головоломка от основателя Wikileaks Джулиана Ассанжа

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

Детектив — одна из головоломок игры Puzzle Hunt Мельбурнского университета 2005 года, в создании которой принял участие основатель Wikileaks, и вероятный организатор сообщества Cicada 3301Джулиан Ассанж. По сюжету игры вы оказываетесь внутри таинственного мрачного замка, где становитесь свидетелем странного разговора. В обсуждении принимают участие 7 человек, причем все они разговаривают на разных языках. Один из них — хозяин замка; он говорит на английском. Другие 6 человек — его гости; они говорят на китайском, голландском, французском, немецком, итальянском и японском. По всей видимости, в замке произошло ужасное преступление, и хозяин подозревает кого-то из гостей. Все вместе они пытаются распутать это дело...

Читать далее

Многопоточность без боли: моя шпаргалка для собесов в Java

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

Всем привет!

Я работаю Senior Java Developer в одном из банков, и за последние годы мне пришлось пройти не одно собеседование, услышать десятки каверзных вопросов и потратить уйму времени на подготовку. И вот что я понял: многопоточность — это одна из самых сложных и любимых тем на Java-собеседованиях, независимо от уровня кандидата.

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

Читать далее

RAG+Ragas: учим AI-помощника учить без галлюцинаций

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

Представьте ситуацию: вы прошли онлайн-курс, начинаете применять знания на практике, но что-то не получается и надо вернуться в учебные материалы, найти, где про это что-то рассказывали. Что будете делать: пролистывать все уроки (а их может быть пара десятков), писать куратору (а он может ответить через сутки)?

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

Дальше расскажу, почему мы проверяем ответы помощника с Ragas и с какими нюансами столкнулись в процессе. Но начну с архитектуры, чтобы показать, как Ragasсвязан с RAG.

Читать далее

Архитектура фронтенда. Навеяно болью от использования FSD

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

Кто я такой и с какой горы прибыл?

Зовут меня Юра и у меня немногим больше семи лет опыта разработки фронта на vue+typescript. Начал я, что забавно, с Angular 5 в далёком 2018, когда пятёрка ещё была актуальной версией, и работал с ним немногим больше пары месяцев, после чего перекатился во vue2.

Работал я исключительно в B2B и внутренней разработке. Системы документооборота, сервисдески и вот это вот всё. Благодаря этому я повидал разного. От DDD, до "паста-болоньезе-код".

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

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

Читать далее

ПДн в нашем доме или 152-ФЗ в практике ЖКХ

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

В последнее время так совпало, что я много общался с ЖКХ не как юрист и ИБ-специалист, а как обычный собственник жилья. Споры с управляющей компании, перерасчёты, общие собрания, домовые чаты, запросы в ГИС ЖКХ — в общем полный набор «бытового» взаимодействия. И почти в каждом эпизоде, где всплывали персональные данные, картина была одинаковая

Читать далее

3D-таймлайн на чистом JavaScript: как я собирал этот слайдер по шагам

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

Устал от однообразных каруселей? В статье показываю, как шаг за шагом собрать 3D-таймлайн-слайдер с перспективной сеткой, плавной прокруткой и переключением категорий на чистом TypeScript и CSS.

Читать далее