Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 7 min 52 sec ago

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

Mon, 11/17/2025 - 01:33

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

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

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

Читать далее

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

Mon, 11/17/2025 - 00:55

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

Читать далее

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

Mon, 11/17/2025 - 00:54

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

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

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

Mon, 11/17/2025 - 00:53

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

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

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

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

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

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

Читать далее

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

Mon, 11/17/2025 - 00:16

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

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

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

Читать далее

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

Mon, 11/17/2025 - 00:14

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

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

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

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

Sun, 11/16/2025 - 23:46

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

Читать далее

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

Sun, 11/16/2025 - 23:31

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

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

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

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

Читать далее

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

Sun, 11/16/2025 - 22:28

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

Читать далее

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

Sun, 11/16/2025 - 22:00

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

Читать далее

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

Sun, 11/16/2025 - 21:09

Всем привет!

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

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

Читать далее

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

Sun, 11/16/2025 - 20:17

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

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

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

Читать далее

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

Sun, 11/16/2025 - 20:16

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

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

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

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

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

Читать далее

На смерть Джеймса Уотсона

Sun, 11/16/2025 - 19:38

6 ноября 2025 года умер Джеймс Уотсон, обладатель Нобелевской премии по физиологии или медицине за 1962 год, которую он получил совместно со своим старшим коллегой Фрэнсисом Криком и научным руководителем Морисом Уилкинсом. Из-за того, что по правилам Нобелевского комитета премия может вручаться одновременно не более чем троим соавторам исследования, в эту тройку не включили аспирантку Розалинд Франклин, которая была в этой компании настолько же важным «мокрым биологом», насколько важны были Крик и Уотсон в качестве исследователей и визионеров.

Уотсон прожил 97 с половиной лет, посмотрев в здравом уме добрую четверть XXI века. Уилкинс и Крик также дожили до XXI века, будучи ровесниками (1916 — 2004), Уилкинс пережил Крика на пару месяцев. 88 лет – глубокая старость, как и 97, но Уотсон в конце жизни успел растерять многие свои регалии и оказаться изгоем, не выдержавшим противостояния с глубоко противным ему (и мне) леволиберальным обществом. Ниже будет довольно личный и, возможно, даже эмоциональный лонгрид, в котором я постараюсь раскрыть четыре темы: о своевременности вручения нобелевских премий, о том, какую роль Уотсон и Крик сыграли в исследовании ДНК, о научной и гражданской судьбе Джеймса Уотсона и о том, как я переводил его книгу.

Читать далее

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

Sun, 11/16/2025 - 19:31

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

Читать далее

Концепт идеального коттеджа – комфортно, дешево, технологично

Sun, 11/16/2025 - 19:23

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

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

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

Давайте посмотрим, что из этого получилось

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

Sun, 11/16/2025 - 19:17

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

Читать далее

Реализация гео-блокировки на основе eBPF/XDP

Sun, 11/16/2025 - 19:16

В 2022 году финансовый сектор, в частности банки, столкнулся с волной продолжительных и достаточно мощных DDoS-атак разных векторов. Среди них были и банальные L7 HTTP-флуды, не представлявшие собой ничего сложного в техническом плане, но для организаций с несколькими сотнями пользовательских сервисов и защитой от L7-атак только критичных из них, это стало серьезным вызовом.

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

Этот опыт наглядно показал, что иногда простые решения оказываются наиболее эффективными в критических ситуациях. Гео-фильтрация, будучи грубым инструментом, в условиях DDoS-атаки может стать тем самым «спасательным кругом», который позволяет локализовать проблему и выиграть время для более тонкой настройки.

Технология XDP (eXpress Data Path) идеально подходит для таких сценариев — она позволяет обрабатывать пакеты на самом раннем этапе, еще до того, как они попадут в сетевой стек ядра, что обеспечивает беспрецедентную производительность.

Данной статьей хочется продемонстрировать, как с помощью XDP можно достаточно легко реализовать собственный гео-фильтр. Эту защиту можно реализовать, например, модулями nginx, но в таком случае все нежелательные запросы будут проходить полный сетевой стек операционной системы и потреблять ресурсы веб-сервера, прежде чем быть отклоненными. В нашем же случае защита отрабатывает до того, как пакеты поступят в сетевой стек ядра.

Читать далее

Grafana + Prometheus для Bitrix: один экран, чтобы видеть и «железо», и продукт

Sun, 11/16/2025 - 19:15

Сайт работает, 500-ых нет – но заказы с сайта не поступают. Бизнес теряет деньги, а разработчики даже не подозревают что что-то идет не так. Меня зовут Михаил, я из команды Backend разработки D'Terra. Мы прошли через это и поняли: только system-based метрик недостаточно. Нам нужны бизнес метрики в дашбордах, что бы реагировать на такие инциденты. Поэтому я настроили Prometheus под Bitrix так, чтобы на одном дашборде видеть и «железо», и бизнес-часть сайта.

Читать далее

Мобильная разработка за неделю #610 (10 — 16 ноября)

Sun, 11/16/2025 - 19:04

В этом выпуске Optional в Swift, которые всех сбивают с толку, актуальные практики работы в фоне и стартапы в Дубае, ИИ простыми словами, партнерская программа для мини-приложений в App Store, смягчение ограничений на загрузку сторонних приложений в Android и многое другое. Заходите!

Читать далее

Who's online

There are currently 0 users and 2 guests online.