Обновить

Разработка

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

Как сделать ёлку, если ты Unicode

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

Поздравляю Хабр и Хаброжителей с Новым 2025 годом! Несколькими годами ранее я писал о том, как сделать ёлку из функций, в этот раз сказ пойдёт о ёлке из Unicode символов. Ограничение - должна быть музыка, а результат должен помещаться в QR код.

Читать далее

Будущее PostgreSQL: как 64-битный счетчик транзакций решает проблему масштабирования

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

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

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

Читать далее

Скрыть нельзя найти: как прятали информацию на ПК в 2000-х

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

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

Читать далее

Мои любимые CSS-трюки, которые вы могли упустить

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

Привет, Хабр!

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

Ничего против них не имею. Просто хочу рассказать о нескольких приёмах, которые вы могли упустить. Они помогут вам в разных ситуациях.

Давайте посмотрим, что я вам подготовил.

Читать далее

Не рейт-лимитером единым: как управлять нагрузкой в микросервисах

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

У каждого, кто работает с высоконагруженными системами, своя коллекция боевых шрамов. Знаете эти истории про инциденты, когда всё идёт совсем не по плану? У меня тоже есть такая — очень показательная. Правильные инструменты, лучшие практики, опытная команда — и всё равно куча проблем. Это хороший повод рассказать, почему даже самых продвинутых инструментов может быть недостаточно, когда не видишь всей картины.

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

Поехали!

Проблемы контурных карт: анализ графики Europa Universalis 5

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

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

Читать далее

DNSSEC и DNS: как доменные имена управляют интернетом + настройка BIND на Ubuntu

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

Все мы любим, когда интернет работает (и не виснет 🙂) — сайты открываются, видео грузятся, письма доходят. Но мало кто задумывается, как именно браузер узнаёт, куда вас отправить, когда вы вводите знакомое «habr.com». 

Эта статья для тех, кто хочет понять, как именно устроена и работает система доменных имён, её защита на уровне DNSSEC и почему эта технология важна для безопасности интернета. Если вы техно-гик и не боитесь деталей — добро пожаловать под кат!

Читать далее

Ваша учительница русского языка и литературы дала вам лучшие советы по программированию. Помните ли вы их?

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

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

Одно из правил - буквально слово в слово - я недавно встретил в одном популярном эссе о написании кода без ошибок (я расскажу об этом правиле позже). Мне стало любопытно, насколько применимы остальные правила со школьного плаката (короткий ответ – да), и есть ли у этого обоснование. Я немного зарылся в литературу, и вот что понял.

Читать далее

Программы для Windows, которые повысят вашу продуктивность и сделают работу комфортной

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

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

Читать далее

Большой FAQ про Wi-Fi

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

Привет Хабр! Меня зовут Алексей и я занимаюсь беспроводными технологиями. Собственно беспородными технологиями я занимаюсь уже около 20 лет. И сегодня хочу представить на ваш суд большой FAQ по вопросам так или иначе связаны с wi-fi. Этот список я начал формировать еще на заре свей карьеры, когда обучаясь в вузе подрабатывал в службе технической поддержки провайдера, и чуть позже когда работал монтажником и общался с клиентами. После этого было много чего, разные должности, проекты но так или иначе я возвращался к списку вопросов, актуализировал его для друзей, для новых коллег и т.д. Надеюсь он будет для вас полезен. Его можно использовать как угодно, в том числе и для тиражирования.

Читать далее

Устройства, которые мы потеряли: Как Siemens C65 стал культовым гиковским гаджетом

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

Телефоны Siemens в наших краях получили статус культовых. Если сейчас отмотать время на 2005 год и подойти к случайному школьнику или студенту, то с высоким шансом в его руках окажется какой-нибудь M65 или C65. И отнюдь неспроста: «Сименсы» славились инновациями, неплохими мультимедийными возможностями и невысокой ценой. Однако особо смышленым, но не шибко богатым ребятам всё равно хотелось большего — и толпой они накинулись изучать прошивку в дизассемблере...

В практической части мы с вами узнаем: что у C65 было внутри, изготовим кабель, пропатчим и добавим желанную поддержку MP3-мелодий.

Читать далее

Они говорят «неудобно», но продолжают пользоваться

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

Сидим с другом в машине. Скидываю ему в Телегу ссылку на сайт по продаже щёток стеклоочистителей.

— Попробуй найти здесь дворники для своего Пассата.

Друг переходит по ссылке, видит форму подбора щёток по автомобилю. Открывает выпадающий список с перечнем марок. Листает вниз.

— Блин, неудобно же! Volkswagen — в самом низу. А машина популярная. Могли бы, не знаю, поиск какой-нибудь сделать. Или вынести несколько популярных марок наверх.

Кстати, друг — профессиональный дизайнер интерфейсов. В общем, долистывает до конца списка, выбирает Volkswagen и попадает на шаг с выбором модели…

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

Читать далее

VPN включил — подозрение получил: анонимность становится красным флагом

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

Раньше VPN был как шапка-невидимка. А теперь — как табличка на лбу: «Я скрываюсь, спросите меня за что».

В России готовится закон: поиск запрещенных материалов + VPN = отягчающее. Это значит, что мы подходим к черте когда сам факт анонимности будет поводом для расследования. В будущем мы будем платить за то, чтобы оставаться анонимными.

На примере «Моя борьба» разберем примеры запросов, за которые тебе ничего не будет, и случаи, когда за ту же тему могут наказать.

В статье:
– Какие формулировки в поиске считаются «плохими»
– Как написать «Mein Kampf» так, чтобы не словить протокол
Как извне определить, что ты используешь VPN?

ТОП-бонус внутри:
Технические данные для распознавания VPN, как построить твой уникальный UserID: пример кода и логика работы.

Читать далее

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

Очень вероятно, что эти HTML- и CSS-ошибки есть в вашем коде

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

Привет, Хабр!

Недавно у меня появилась мысль поделиться распространёнными HTML- и CSS-ошибками, которые я вижу у коллег. Только мне хотелось выглядеть убедительно, чтобы не было вкусовщины. И тут я сильно задумался.

На HTML и CSS очень сложно сделать критическую ошибку. Чтобы интерфейс не заработал. Но всё же я собрал список. Я постарался выделить только критические ошибки. Конечно, это субъективный список, поэтому не знаю, согласитесь ли вы с ним.

Давайте посмотрим, что я вам подготовил.

Читать далее

Python в Enterprise-разработке: почему популярность ЯП распространилась и на корпоративный сектор. Часть 1

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

Привет! Это Леша Жиряков, я руководить бэкенд-команды витрины KION и Python-гильдии в МТС. Как раз о Python сегодня и пойдет речь. Обсудим, почему самый популярный ЯП, по версии TIOBE, так востребован в корпоративном секторе: из простого инструмента автоматизации он превратился в полноценную экосистему для создания критически важных продуктов.

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

Недавно я уже писал о причинах успеха Python в целом, а сегодня хочу подробно рассмотреть его современные инструменты для предприятий: типизированные структуры данных с dataclasses, высокопроизводительные системы валидации msgspec, pydantic 2 и другие библиотеки. То есть все, что помогло ему стать идеальным выбором для серьезных бизнес-решений. Информации много, так что тему разобью на две части. Погнали!

Читать далее

Важнейшая модель теории вероятностей

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

Что объединяет частицу в воде, биржевой курс и кота Барсика, бродящего по району в поисках ларька с рыбой?


Всё это — примеры случайного блуждания. Эта простая модель из теории вероятностей помогает описывать самые разные явления: от диффузии молекул до принятия решений и работы алгоритмов. Она кажется интуитивной — но за ней скрывается множество нетривиальных и красивых свойств.

Мы начнём с истории открытия броуновского движения — от наблюдений Роберта Броуна до формулы Альберта Эйнштейна, которая связала наблюдаемое явление с атомной гипотезой. Покажем, как идея случайного движения превратилась из гипотезы в надёжный инструмент научного анализа.

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

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

В финале — красивая задача для самостоятельного решения: её можно решить математически или запрограммировать симуляцию. Выбирайте способ по вкусу.

Читать далее

Оцифровка показаний стрелочного манометра в Home Assistant

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

Делюсь опытом реализации распознавания показаний стрелочного манометра по фотографии и отправки их в Home Assistant.

Давно мучал вопрос передачи показаний давления системы отопления со штатного манометра газового котла. Для этого несколько лет назад была приобретена камера ESP32-CAM и интегрирована в Home Assistant посредством ESPHome.

Читать далее

Все знают, где ты находишься — можешь убедиться сам

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


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

За это время я пообщался со многими людьми из этой сферы: с членами некоммерческих организаций, сражающихся за права на конфиденциальность данных в разных странах до сотрудников компаний, занимающихся рекламными технологиями. Они подтвердили или опровергли мои слова (в основном подтвердили). Меня даже пригласили в подкаст «Lock and Code» для обсуждения геолокационных данных и конфиденциальности.

Я ещё раз прошёлся по процессу, описанному в первом посте, и решил сделать его более быстрым и масштабируемым: ручной анализ сотен запросов в Charles отлично подходит для исследований и обучения, но для нахождения «интересных» запросов конкретного приложения мне требовалось слишком много времени.

Я существенно улучшил свою методику (хотя она определённо может быть более эффективной), и в этом посте хочу поделиться ею.

* Деятельность Meta — соцсети Facebook и Instagram — запрещена в России как экстремистская.

▍ TL;DR


Я создал небольшое руководство и Python-ноутбук, которые позволят любому записывать трафик мобильных приложений и находить в нём неожиданные вещи.

Описание выложено в репозиторий GitHub.
Читать дальше →

ЛИСС. Оживляем самый суровый транспортный информатор

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

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



Итак, в сегодняшней статье поговорим о том, что это за устройство, а заодно и постараемся его оживить. Заодно разберёмся, как оно работает. Традиционно будет много интересного.
Читать дальше →

Выпустили «PostgreSQL. Профессиональный SQL» для тех, кто хочет лучше понять «слона»

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

Postgres Professional продолжает публиковать книги о возможностях СУБД PostgreSQL. В этот раз представляем учебное пособие для тех, кто хочет стать маэстро в управлении базами данных.

Читать обзор