Обновить

Все потоки

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

В Cloudflare сэкономили 100 ТБ оперативной памяти, оптимизировав кэш DNS‑резолвера 1.1.1.1

В Cloudflare рассказали об опыте, когда небольшая экономия памяти на одной структуре данных, будучи умноженной на сотни миллиардов экземпляров, превращается в десятки терабайт. Сетевые инженеры последовательно внесли пять сравнительно небольших изменений в виде патчей в представление записей кэша DNS-резолвера 1.1.1.1 и в итоге высвободили около 100 ТБ оперативной памяти на серверах IT-инфраструктуры.

В Cloudflare сэкономили 100 ТБ оперативной памяти, оптимизировав кэш DNS‑резолвера 1.1.1.1

Компонентные токены за 15 минут вместо двух дней с помощью ИИ: пошаговый процесс и подводные камни

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

Первый компонент мы собирали два дня, пятнадцатый занял у нас пятнадцать минут. Всё, что появилось между ними, это файл DESIGN.md, набор правил и понимание, в каких местах нейросеть сочиняет алиасы, которых в системе никогда не было.

Привет, Хабр! Меня зовут Екатерина, я продуктовый дизайнер и развиваю дизайн-систему Сова в экосистеме «Лукоморье».

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

Ниже весь процесс целиком: как мы выгружали компоненты из Pixso, что писали в markdown-файлах с правилами и шаблонами, и как потом проверяли, что нейросеть не насочиняла лишнего.

Читать далее

Новости

От «когда-нибудь» к работающему прототипу: как LLM дала идее шанс

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

Привет! Меня зовут Владислав Козлов, я тимлид аналитиков Business Security в Авито. Хочу поделиться с вами интересным опытом взаимодействия с LLM, который позволил мне дёшево и быстро проверить свою идею. А заодно — рассказать об интересном алгоритме кластеризации, который мы с моделью придумали и реализовали в виде библиотеки.

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

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

Читать далее

Если ваш админ — самурай, или История восстановления очень нужных данных

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

Что делать, если WAL удалён, сервер убит kill -9, база после pg_resetwal не хочет открываться, а бизнес стоит уже сутки? Это не гипотетический вопрос, а реальный кейс с кластером PostgreSQL для 1С на 2,5 терабайта данных. Расскажем историю о том, как без бэкапов, без WAL-архивов и почти без надежды вытащили критичные данные 1С-инфобазы. А в конце — неожиданный поход в апстрим PostgreSQL с патчем для pg_dump.

Читать далее

Опенсорс — это ред флаг

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

«Форкнул, сделал патч, пользуешься — а чо такого?» — самый частый ответ на прошлую статью про Klipper. Отвечаю. Если коротко: носить в мейнлайн выгодно — и вам лично, а не только обществу. Публичный код и открытый код — разные вещи. Форк — не одноразовая экономия, а подписка на ребейзы до конца жизни проекта. А апстрим взамен даёт школу, бесплатный мейнтейн и репутацию, которая возвращается железом. Разбираю на своём порте KN-1012 в OpenWrt: семь самостоятельных патчей, три серии в netdev и кочерга вместо паяльника.

Читать далее

Что умеет ассистент по умолчанию на Android — на примере Алисы AI

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

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

Казалось бы, теперь выбранный ассистент может видеть всё, что происходит на телефоне, и делать с ним что угодно… Вовсе нет. При установке Android автоматически выдаёт приложению только базовые разрешения. Для доступа к расширенным возможностям нужно отдельное разрешение пользователя, а некоторые функции обычному стороннему приложению недоступны совсем.

Меня зовут Ваня, я руководитель команды Android-разработки SDK Алисы и техлид проекта дефолтного ассистента. Сегодня мы с вами разберёмся, где проходят эти границы, на примере Алисы AI.

Читать далее

Скажи «друг» и войди: ищем легко угадываемые пароли в Active Directory

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

«Ennyn Durin Aran Moria: pedo mellon a minno» — «Врата Дурина, Владыки Мории. Скажи „друг“ и войди».

Самый известный пароль в литературе — эльфийское mellon, «друг» — открывал Западные врата Мории любому, кто удосужился прочитать надпись прямо над ними. Удобно для своих. И, к сожалению, для чужих тоже.

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

Администратор правильно настроил политику паролей в домене: минимум 12 символов, три класса символов, история, блокировки. Но проверка показывает, что пароли учётных записей сотрудников есть в публичных дампах и словарях. «Сложные» пароли вроде Zima2025!P@ssw0rd и Qwerty123! формально соответствуют политике, но злоумышленнику понадобится не так много попыток, чтобы подобрать такие пароли.

Проблема в том, что доменная политика проверяет пароль на соответствие правилам, но ничего не знает про его значение. Она не в курсе, что P@ssw0rd — самый заезженный «сложный» пароль на планете, а пароль из названия компании и года подбирается с трёх попыток.

Почему пароли — всё ещё слабое звено №1

Мы в InfoWatch защищаем данные компаний от утечек, и во многих инцидентах видна закономерность: чаще всего всё начинается не с хитрой уязвимости нулевого дня, а с учётной записи, к которой подобрали пароль или чей пароль утёк из-за переиспользования на публичном сервисе.

А что стоит между учётной записью и злоумышленником? В большинстве инфраструктур — всё ещё только пароль: не аппаратный ключ, не биометрия и не второй фактор на каждом сервисе, а строка, которую сотрудник придумал сам и, будем честны, придумал так себе. Можно сколько угодно внедрять MFA, PAM и Zero Trust — пароль в AD остаётся фундаментом, на который всё это опирается. Скомпрометированная доменная учётная запись открывает вход злоумышленнику. В итоге — компрометация всего домена и громкая история: простой производства, отмены рейсов, утечки персональных данных…

Читать далее

Простые цоколи ретрорадиоламп

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

Массовые электровакуумные приборы (ЭВП) — газонаполненные (ионные) и приёмно-усилительные лампы, сравнительно недолговечны и требуют регулярной замены, даже если говорить о вариантах современных, с паспортным ресурсом в сотни часов. Радиолампы же двадцатых или тридцатых годов, с их несовершенными технологиями и «яркими»* катодами имели срок жизни и вовсе смехотворный — десятки часов. Для их простой, оперативной замены ЭВП снабжают быстроразъёмным соединением — цоколем, с ответной приборной частью. Цоколей и гнёзд для них, в ламповые времена изобретено множество — от неказистых колпачков с несколькими штырьками-выводами до весьма сложных объёмных вандалостойких конструкций для армейской или специальной аппаратуры. Взглянем же на (ранние) простые варианты ламповых цоколей, имея в виду их повторение в домашней мастерской для самодельных ЭВП, между делом полюбуемся интересными музейными экземплярами ламп.

Читать далее

«Хакерский» мультитул для фотографа

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

Лет 5 назад, когда я увидел Flipper Zero, меня не покидала идея: хочу что то подобное — эдакий «тамагочи», но чтобы не для хакеров, а для фотографов. Два года назад до меня дошло, зачем это может быть полезным в реальной жизни, и только сейчас проект созрел для того чтобы выпустить бесплатную прошивку для «брелков» от M5 Stack. И это реально помогает в работе.

Читать далее

Плагины в Picodata

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

В каждой уважающей себя СУБД должна быть возможность программировать на тьюринг-полном языке программирования. Вот и у нас в Picodata есть возможность написать плагин на Rust, а как это делать — расскажу под катом.

Читать далее

Drama RAT — вредоносное приложение, после установки которого действительно становится печально

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

Недавно на исследование в департамент комплексного реагирования на киберугрозы Positive Technologies (PT ESC IR) поступил ряд образцов банковского трояна для Android с функциями удаленного управления — Drama RAT. Это вредоносное семейство распространяется с помощью фишинговых сообщений в мессенджерах и маскируется под VPN-сервисы, банковские приложения и другие взломанные утилиты со встроенной платной функциональностью. Ранее о нем писали в УБК МВД.

Читать далее

Гетерогенный lookup: как одна фича C++ сделала драйвер проще, чище и быстрее, чем на C

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

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

Меня зовут Женя Ерохин, у меня около 15 лет опыта разработки драйверов на C++ под macOS. Сейчас я старший разработчик в Kaspersky Lab, занимаюсь операционной системой KasperskyOS. Много всего создал в ее микроядре, а теперь знакомлю нашу ось со всяким железом на мобильных устройствах.

Под катом я покажу, как мы использовали C++ при разработке драйвера для микроядерной ОС. В том числе разберу гетерогенный lookup — возможность выполнять поиск по разным типам аргументов без лишних преобразований. На практике такая фича хорошо показывает, почему C++ может быть полезен даже там, где обычно ждут C. Я расскажу, почему драйверы на C++ для микроядерной ОС — вполне рабочее инженерное решение. Покажу, где именно плюсы помогают писать более аккуратный и надежный код, как они упрощают работу со структурами данных и почему в нашей задаче такой выбор оказался естественным.

Читать далее

Как наращивают память видеокарты и сколько это стоит

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

Несколько недель назад интернет гудел новостными заголовками, в которых говорили, что продавец из Гонконга выложил на eBay видеокарту GeForce RTX 2080 Ti с 22 ГБ видеопамяти вместо штатных одиннадцати. При этом он просил за нее всего 499 долларов. Тогда мало кто вспомнил, что про такие же карты с тем же ценником еще в феврале 2024 года рассказывали ребята из Tom's Hardware, но в то время переделкой занимались китайские мастерские. Сама по себе эта история очень интересная, особенно учитывая, что это не курьез из новостной ленты, а вполне сложившийся рынок со своими ценами и своей логикой. Сейчас расскажу все по порядку.

Читать далее

Кэши, режимы нагрузки и ловушка среднего, или Почему storage-бенчмарки врут

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

Представьте, разработчики добавили прозрачное шифрование в файловую систему, собрали ядро и прогнали Fio — пропускная способность не изменилась. Однако после раскатки на продакшен производительность резко упала. Дело не в том, что бенчмарк ошибся: он честно измерил предел быстродействия жесткого диска, а накладные расходы на шифрование остались скрыты за дисковыми задержками. Так и возникает одна из самых типичных ошибок storage-бенчмаркинга.

Хранение до сих пор кажется многим инженерам простой подсистемой: файловая система, блочное устройство, метрика throughput. На практике это одна из самых коварных частей стека — с иерархией памяти в 4–8 порядков разницы между самой быстрой и самой медленной операцией, слоями виртуализации (LVM, программные RAID, NFS) и переключениями контекста между ядром и user-space.

Чтобы разобраться, как корректно измерять производительность систем хранения, обратимся к докладу Эреза Цадока, профессора Университета Стони-Брук, возглавляющего Лабораторию файловых систем и хранения данных.

Все подробности — под катом.

Читать далее

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

ИК1303. Трансцендентное

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

Я не вижу себя в качестве писателя. Но так случилось, что я столкнулся с прекрасным.

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

Если коротко: есть калькулятор МК-61 (1983). Внутри пять микросхем, которые соединены в однобитовую последовательную кольцевую шину: две памяти и три вычислителя со своей специализацией. Фактически они работают параллельно и синхронизируются через этот канал связи. Можно сказать, что это прообраз парадигмы NOC (network on chip) в современном железе применительно к FPGA.

Собственно о красоте. Чип ИК1303 (1980) отвечает за математические расчёты. В нём восемнадцать вычислительных операций: четыре бинарных (+ — * /) и четырнадцать F‑функций (10^x e^x lg ln arcsin arccos arctg sin cos tg sqrt x^2 x^y 1/x). Сверх них — обмен x<→y и служебные, видные только изнутри: нормализация, генератор констант, приведение угла.

Никаких CORDIC, никакой двоичной плавающей запятой! Но как?! Просто и изящно. Одна функция для большей части операций! ОДНА!

Читать о функции

Записки оптимизатора 1С (ч.19). Как настройка Huge Pages в Linux влияет на устойчивость работы Postgres

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

Продолжаем исследовать настройки памяти в Postgres и сегодня поговорим о связке настроек в ОС и СУБД. Речь пойдет о связке hugepages (Linux) и shared_buffers (Postgres).

Триггером для исследования послужила реальная жизненная ситуация у нашего клиента на поддержке производительности его ИТ-системы. Однажды утром…поступило обращение, что Postgres перестал запускаться вроде бы без видимых на то предпосылок: «мамой клянусь, ничего не делали с базой».

Читать далее

IDM на максималках: как управлять доступами к 1500 систем Яндекса и не стать бутылочным горлышком

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

Когда мы запускали IDM, задача казалась понятной: избавиться от хаоса в компании. Не было единого места, где можно узнать, у кого какие права, кто их выдал и почему. 

IDM стал таким местом — и почти сразу мы уперлись в проблему. Очередь на подключение к IDM начала превышать количество уже подключённых систем, а фич-реквесты от команд копились быстрее, чем мы успевали их разобрать. Инструмент против хаоса сам стал источником хаоса.

Читать далее

Fourier Nova 5000 — удивительный планшет из 2006 года

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

По моим публикациям на «Хабре» нетрудно догадаться, что я очень люблю винтажную технику и при первой же возможности стараюсь приобрести в свою коллекцию тот или иной любопытный экземпляр. Однако мне ещё ни разу не удавалось раздобыть какой-нибудь древний аппарат новым, в заводской упаковке… буквально до недавнего времени. Наконец, это свершилось — по счастливому стечению обстоятельств я купил в интернете совершенно новый девайс с говорящим названием Nova 5000 — очень необычный планшет образца 2006 года на Windows CE 5.0, о котором хочу сегодня рассказать вам во всех подробностях. Приготовьтесь, будет много картинок!

А вообще, это планшет или нет?

На чем можно сэкономить при установке корпоративного ПО

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

«Почему для компании «Ромашка» ваша СЭД стоит 5 рублей, а для нашей ООО «Василек» –15 ₽?». В статье рассказали, как цена системы и скорость запуска зависит от того, кто ее будет внедрять.

Читать далее

Самый первый «Цифрал». Изучаем раритетный оптический считыватель ключей

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

Приветствую всех!

Уверен, многим из вас знакомы домофоны этой фирмы. У кого-то из вас, возможно, прямо сейчас стоит на подъезде именно такой.

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

Press F1 to continue

От ручного тестирования к автоматизированному: пишем compose UI-тест под Android

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

Автоматизация тестирования не только упрощает рутинные процессы и экономит время, но и позволяет проверять приложение на десятках и сотнях устройств за считанные минуты. Однако настроить ее бывает не так просто. Разные версии Android, кастомные оболочки вендоров, особенности экранов — все это часто становится неприятным сюрпризом после нажатия кнопки Deploy

Меня зовут Максим, я QA-специалист команды развития мобильной фермы Selectel. В этой статье я проведу вас от уже привычного многим ручного тестирования до полноценной автоматизации с доступом к коллекции из ~400 разных устройств и интеграцией в CI/CD. В качестве примера приведу простую инструкцию по созданию Compose UI-теста под Android-устройство для проверки логики и верстки в вашем приложении.   

Читать далее
1
23 ...