Обновить

Разработка

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

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

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

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

Читать далее

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

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

Всем привет!

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

Что скрывается за «сертификатами безопасности» от Минцифры?

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

Здравствуйте, уважаемые хабровчане.

Я решил провести собственное небольшое расследование о так называемых «сертификатах безопасности» от Минцифры. Цель — собрать полное техническое досье и разобраться, почему их установка может нести потенциальные риски для безопасности данных.

(Оригинал без терпения, все скрипты и файлы, упомянутые в статье, доступны в этом GitHub‑репозитории).

Читать полностью

GPU Intel Arc на Raspberry Pi и non-x86 платформах — запуск, настройка и анализ производительности

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

Наконец‑то удалось достичь значительного прогресса в работоспособности графических процессоров Intel Arc на платформах Raspberry Pi. Система работает относительно стабильно. После преодоления множества технических препятствий появилась реальная перспектива интеграции этих GPU в официальную Raspberry Pi OS. В случае успеха, для активации карт Intel пользователям потребуется лишь установить соответствующий пакет прошивок.   

Важность этого достижения выходит далеко за рамки экосистемы Raspberry Pi.

Программный патч, необходимый для работы карт Arc, запускает их не только на архитектуре Arm, но и на всех системах, не относящихся к x86, включая RISC-V. Сейчас Arm-платформа Raspberry Pi выступает в роли доступной и популярной тестовой площадки для решения фундаментальной задачи совместимости.

Успешная интеграция драйвера Intel Xe в ядро Linux для non-x86 архитектур открывает всей линейке Intel Arc доступ к экосистеме RISC-V. Не забываем, что та испытывает острую нехватку мощных GPU с открытыми драйверами.

Читать далее

Как за 5 дней с помощью Claude я создал приложение для кошки с диабетом (и кажется запустил стартап)

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

У моей кошки Манишки диабет. Ей 13 лет, весит она всего 3 кг, и каждый день я меряю ей сахар глюкометром и колю инсулин. Первые месяцы записывал показания в блокнот на холодильнике — просто дата, время, цифра. Потом понял что так динамику не увидишь, перешёл на Excel с формулами и цветными ячейками. Потом написал Python‑скрипт который рисовал графики и сохранял их картинками.

А что из этого получилось — смотрите под катом!

Читать далее

Digital Ocean преследует меня из-за $0,01 или Полезный урок по автоматизации

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

Есть три вида писем, которые могут испортить блаженную субботу: уведомление безопасности, предупреждение об отключении электричества и, очевидно, повторное напоминание о том, что вы задолжали облачному провайдеру один цент — да, именно $0,01. Услугами DigitalOcean я пользуюсь с 2013 года, хотя для личных задач я этот сервис использую редко, просто авторизуюсь несколько раз в неделю для обеспечения поддержки моих клиентов на этой платформе.

Читать далее

Ностальгические игры: Fallout New Vegas

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

Начав знакомство с серией Fallout с ее первых частей, выход третьей вызвал во мне смешанные чувства. С одной стороны, это было захватывающее приключение от первого лица в мире любимой игры, с другой же проект ощущался для меня больше как шутер с элементами RPG, где от глубокой ролевой системы классики осталось не так много. И только с выходом New Vegas я наконец получил ту игру, которая по духу оказалась ближе всех к классическому Fallout — даже несмотря на то, что работала она всё на том же движке, что и «тройка».

Для подготовки этой статьи я перелопатил весь интернет в поисках редких фактов и комментариев людей, которые работали над New Vegas. Нашлись даже интервью на японском языке 🤯 — не говоря уже о множестве англоязычных материалов. Я постарался собрать из всего этого цельный, увлекательный текст, который не просто расскажет о создании игры, но и, надеюсь, пробудит у вас желание снова вернуться на Мохавскую пустошь. New Vegas — по-настоящему глубокая и многослойная игра, и мне искренне хочется, если не отправить вас туда лично, то хотя бы подарить повод поностальгировать и узнать что-то новое, читая мой свежий обзор. А в конце вас ждёт бонус: полностью готовая сборка игры с фанатской модификацией, чтобы вы могли сразу после прочтения отправиться навстречу приключениям!

Читать далее

Самые необычные серверы Minecraft: от умной лампочки до микроконтроллера. Как это работает?

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

Minecraft давно вышел за рамки развлечений. Сейчас это еще и площадка для экспериментов. Энтузиасты запускают сервера игры на устройствах, которые вообще не предназначены для такого. Как вам — умная лампочка с мигающим светодиодом, роутер, забытый в шкафу, микроконтроллер ESP32 размером с марку? Подобные проекты рождаются из простого «а что, если…» и показывают, насколько гибкой стала архитектура Minecraft и как далеко можно зайти в оптимизации. В этом материале разберем, как сервер работает на уровне кода и железа и какие приемы позволяют запускать его на слабом, почти игрушечном оборудовании. Ведь классический сервер — это Java-приложение, требующее виртуальной машины и памяти, но в нашем случае правила меняются. Поехали!

Читать далее

Современные OCR для сложных документов: сравниваем 6 open-source моделей на реальном кошмаре инженера

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

Привет, Хабр! Каждый, кто хоть раз пытался вытащить данные из скана акта или старого отчета, знает эту боль. Классические OCR-инструменты, вроде старого доброго Apache Tika, отлично справляются с простым печатным текстом, но пасуют перед реальными вызовами: таблицами со сложной вёрсткой, рукописными пометками, мелким курсивом и разными шрифтами в одном документе.

Чтобы не быть голословными, давайте посмотрим на типичный «сложный» документ и что с ним делает Tika.

Читать далее

GitHub SpecKit: вайб-кодинг на основе спецификаций

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

Привет! Недавно начал активно использовать инструмент GitHub SpecKit, который превращает хаотичные промпты при разработке в чёткие структурированные документы для AI-агентов. Я пробовал писать код с использованием LLM и был недоволен как нейросеть пишет код. Придерживался мнения проще самому написать код, чем играть в генерацию кода. Те, кто уже баловался вейкбордингом знают, как нейросеть начинает фантазировать/галлюцинировать и гонять по кругу ошибки в перемешку с фантазиями и не существующими методами. Но SpecKit приятно удивил 😊

Читать далее

Альтернативный raycast

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

Всем привет. Недавно я занялся нахождением возможности бросить луч не используя классический метод с перемножением обратных матриц. Меня эта идея зацепила и я стал исследовать, возможно ли как-то сделать то же самое, но без обратных матриц. И вот что получилось. Есть видео и также описание код приложу в туториал.

Читать далее

Собираем простейшую RAG-систему на PHP с фреймворком Neuron AI за вечер

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

RAG (Retrieval‑Augmented Generation или генерация, дополненная поиском) — это метод искусственного интеллекта, сочетающий генеративную большую языковую модель (LLM) с внешней базой знаний для создания более точных, контекстно‑зависимых и актуальных ответов. Принцип его работы заключается в том, что сначала извлекается релевантная информация из набора документов или источников данных, а затем эта информация передается в LLM для формирования окончательного ответа. Этот процесс позволяет модели выдавать более точные ответы, менее подверженные «галлюцинациям», и ее можно обновлять без дорогостоящего переобучения.

Сегодня мы разберёмся, как собрать базовую RAG‑систему на PHP (да, да, не надо удивляться) с помощью фреймворка Neuron AI. Это будет наш маленький proof‑of‑concept — минимально работающий, но вполне реальный пример.

Ну что, начнём генерацию?

Читать далее

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

Стандартная модель. От симметрий к кваркам

Уровень сложностиСложный
Время на прочтение36 мин
Количество просмотров3.7K

Стандартная модель часто выглядит как странный зоопарк частиц: шесть кварков, шесть лептонов, восемь глюонов, W и Z, фотон, Хиггс… Но если смотреть на неё не как на таблицу, а как на язык симметрий, оказывается, что это очень жёсткая и экономичная конструкция.

В этой статье я продолжаю цикл про «Теорию всего» и разбираю Стандартную модель как минимальную калибровочную квантовую теорию поля. Мы начинаем с симметрий Пуанкаре и внутренних групп SU(3)×SU(2)×U(1), показываем, как из них неизбежно рождаются глюоны, W/Z и фотон. Потом разбираем фермионный сектор: кварки и лептоны как представления этих групп, левый/правый, поколения. Отдельная часть посвящена Хиггсу — не как «шайбе массой 125 ГэВ», а как механизму, который даёт массы W/Z и фермионам, не разрушая калибровочную структуру.

В финале обсуждаем аномалии, BRST-симметрию и ренормгруппу: как требования отмены аномалий фиксируют дробные гиперзаряды и структуру поколений, почему QCD оказывается асимптотически свободной, а калибровочные константы почти унифицируются на высоких энергиях. Цель статьи — показать читателю с физмат-бэкграундом, что Стандартная модель — это не случайный набор формул, а почти единственный самосогласованный способ устроить наш мир из симметрий, который не ломается ни на уровне математики, ни на уровне эксперимента.

Читать далее

Мультитул для инженера: волшебная коробочка с I2C/SPI/UART/JTAG за 1.000 рублей

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

Будучи творческим человеком и техногиком, я обожаю при первой возможности апгрейдить своё оборудование. Время от времени я мониторю маркетплейсы в поисках чего-то новенького и в этот раз я наткнулся на настоящий мультитул для Embedded-разработчика — контроллер I2C/SPI/UART/JTAG в одной коробочке и всё это всего за 1.000 рублей... Конечно я не смог пройти мимо этой штучки и в рамках сегодняшней статьи хочу рассказать что оно из себя представляет и как с ним работать. Жду вас под катом!

Читать далее

Бенчмарки для теста телефона на производительность

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

Привет, Хабр! Производительность мобильного устройства важна не только для пользователей, но и для разработчиков приложений. После обновлений смартфон может работать медленнее, а новые версии игр и ПО предъявляют все более высокие требования к железу. Чтобы объективно оценить возможности устройства и сравнить их с эталонами, используют специальные приложения — бенчмарки. В статье разберем, какие из популярных инструментов применяются чаще всего и как правильно интерпретировать их результаты.

Читать далее

Исследователи обнаружили эффективный способ оптимизации

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

В 1939 году, опоздав на занятие по статистике в Калифорнийском университете в Беркли, Джордж Данциг, студент первого курса магистратуры, скопировал с доски две задачи, думая, что это домашнее задание. Позже он вспоминал, что задание показалось ему «сложнее, чем обычно», и извинился перед профессором за то, что на его выполнение у него ушло на несколько дней больше, чем обычно. Через несколько недель профессор сказал ему, что он решил две известные нерешённые задачи по статистике. Работа Данцига стала основой для его докторской диссертации, а спустя десятилетия — источником вдохновения для фильма «Умница Уилл Хантинг».

Данциг получил докторскую степень в 1946 году, сразу после Второй мировой войны, и вскоре стал математическим консультантом новообразованных ВВС США. Как и во всех современных войнах, исход Второй мировой войны зависел от разумного распределения ограниченных ресурсов. Но в отличие от предыдущих войн, этот конфликт был поистине глобальным по масштабам, и победа в нём была во многом достигнута благодаря огромной промышленной мощи. США могли просто производить больше танков, авианосцев и бомбардировщиков, чем их враги. Зная об этом, военные были очень заинтересованы в задачах оптимизации, то есть в том, как стратегически распределять ограниченные ресурсы в ситуациях, которые могли включать сотни или тысячи переменных.

Читать далее

Заводной абрикос

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

Помимо всем известной Apple, на свете существовала еще одна «фруктовая» компания, выпускавшая очень популярные компьютеры.

И сейчас мы цинично оживим и запустим эмулятор этих замечательных машин.

Читать далее

Создаем мощного ИИ-агента с долговременной памятью, используя LangGraph, RAG и веб-скрапер

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

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

Читать далее

Как устроены зеркала в Sims 4

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

В этой статье нет каких-то революционных открытий, есть только некоторые наблюдения о зеркалах, не совсем очевидные для людей, никогда не создававших эти объекты в играх.

Зеркала в Sims 4 по-настоящему работают! Для этого игре нужно ещё раз рендерить комнату для каждого зеркала в сцене. Разумеется, это затратный процесс.

Читать далее