Обновить

Все потоки

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

Геометрические фигуры в CSS-анимации

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

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

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

По моим ощущениям, сейчас их стало меньше. Все ушли в YouTube, а теперь в ChatGPT. Но мне этот формат не подходит, поэтому я пришёл сюда, к вам.

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

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

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

Читать далее

Права в Linux: chown/chmod, SELinux context, символьная/восьмеричная нотация, DAC/MAC/RBAC/ABAC

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

Если вы сейчас вкатываетесь в Linux на фоне хайпа вокруг DevOps и инфобеза — статья для вас.

Собрал в одном месте всё, что нужно знать о правах в Linux, простым и понятным языком: символьная и восьмеричная нотация, SUID/SGID/Sticky bit, SELinux-контекст, DAC, MAC, RBAC, ABAC, команды ls/stat/chmod/chown/find — с примерами и схемами, к которым легко вернуться.

Читать далее

Вторая жизнь старого смартфона в качестве домашнего сервера

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

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

Дисклеймер: этот пост — про вайб-кодинг, поэтому в нём не будет приведено ни единой строки кода. Я просто показываю идею, не детали реализации. И немного мнения о вайбкодинге в целом — в конце публикации.

Читать далее

Реализация автоудаления блокирующих сессий в MS SQL

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

Привет, Хабр! Меня зовут Евгений Грибков, я ведущий разработчик в центре технологий VK. В этой статье я покажу решение, к которому мы с коллегами пришли при работе над одной из наших внутренних систем.

Достаточно часто бывает так, что нужно сохранить стабильность работы системы вне зависимости от того, какие запросы выполняются в СУБД. Достичь этого можно разными способами. Я покажу одно из специфических решений — реализацию автокиллера: удаление сессий, которые достаточно долго блокируют запросы других сессий, исходящие от пользователей информационной системы.

Показать реализацию автокиллера

Как я перестал бояться закрытых драйверов и полюбил реверс-инжиниринг по вечерам

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

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

Чтобы дальнейшее читалось в правильном ключе, надо сразу обозначить, с какой я колокольни. В индустрии я лет пятнадцать с лишним, классический fullstack — повоевал и с фронтом, и с бэкендом. Поднимал серверы на Debian с нуля, в студенчестве из спортивного интереса пересобирал ядро, написал тонны всякого вспомогательного софта на разных языках, в какой-то период даже паял (плохо, на коленке, но всё-таки). Опыта, в общем, накоплено достаточно, чтобы не объяснять, чем отличается компилятор от линкера. И тем удивительнее, что многолетние мои привычки расшатала именно скучная бытовая возня вокруг домашнего принтера за восемь тысяч рублей.

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

Читать далее

Я думал, что просто не могу найти себя — пока не разобрался, как на самом деле работает СДВГ

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

Мне всю жизнь говорили одно и то же: «ты умный, но ленивый».
И знаешь, самое неприятное - я сам в это поверил.

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

Я мог часами сидеть в абсолютном фокусе, забывая про еду и время. А потом, не мог заставить себя начать элементарную задачу. Не сложную. Не новую. Просто… начать.

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

Я долго думал, что проблема в дисциплине. Потом - что в выборе сферы. После - что я просто нестабильный или, если честно, немного «не такой».

Пока не наткнулся на одну вещь, которую обычно вообще не обсуждают, когда говорят про СДВГ.

Это не про «не можешь сосредоточиться».
Это про то, что твой мозг по-другому решает, на что вообще стоит тратить усилия.

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

Это не та версия СДВГ, о которой рассказывают в TikTok.
И, возможно, ты узнаешь в этом себя.

Узнать о необычном типе СДВГ

Как читать логи, когда их слишком много

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

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

Предупрежу, в статье МНОГО БУКВ, поэтому можно сразу перейти к Linux, Windows или к инструментам (они в самом конце).

Читать

Каким был мобильный телефон до появления сотовой связи. Часть 1

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

Если вы смотрели французский фильм «Разиня» с Луи де Фюнесом и Бурвилем, то наверняка заметили одну деталь. Кадиллак, который перегоняет главный герой, — это не просто шикарная машина. В ней есть телефон. Телефон! С которого можно позвонить на обычный городской номер.

«Разиня» снят в 1965 году, действие по смыслу происходит примерно тогда же. До старта первой сотовой сети — чуть меньше двадцати лет. Как же герои умудрялись звонить из этого Кадиллака? Неужели это всего лишь художественный вымысел?

Нет, такое действительно было возможно. В США, Европе и СССР существовали системы, которые сейчас можно назвать прообразом мобильного телефона. Они имели выход на телефонную сеть общего пользования и обходились без проводов.

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

Читать далее

Как работать с DDR4

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

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

1)    Чуть-чуть об авторе

Автор имеет опыт в коммерческой разработке печатных плат около двух лет. До начала этого пути занимался баловством с микроконтроллерами на самодельных платах. На текущий же момент можно перечислить два значимых успешных проекта: материнская плата на RK3588 (LPDDR4X-4266MT/s, HDMI2.1, PCIe2/3, Ethernet 2.5G, USB2/3, SATA3), модуль памяти UDIMM DDR4 3200 MT/s. Разумеется, было много прочих, но они не требовали глубокого понимания работы с согласованием сигналов по задержке, понимания импеданса. Стоит учитывать, что автор является самоучкой чуть более чем полностью, так как более опытных коллег попросту не было и нет. Опыт работы имеется только с российскими фабриками.

Разработка велась в Altium, какого-либо моделирования (Cadence/Ansys/иной софт) не проводилось. Однако, проекты полностью работоспособны, что является косвенным доказательством валидности моих эвристик.

Последний вводный абзац. Если будет интерес и потребность – планируется сделать еще одну статью о workflowпри работе с DDR4 в Altium. Также есть что рассказать про LPDDR4, если будет таковой запрос. Если есть интерес к разработке печатных плат – по ссылке доступно мое «пособие», полностью свободное.

Читать далее

Вот как сегодня устроено российское производство

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

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

Привет! Меня зовут Игорь, недавно я побывал на одном из заводов — «Томскнефтехим».

Читать далее

Делаем Bluetooth-адаптер для USB-клавиатуры

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

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

Я уже предпринимал такую попытку в одной из своих статей. Описанный там адаптер представлял больше учебный интерес, чем имел практическое применение, так как прошивка представляла собой полноценный Linux, кастомизированный скриптами, и использовала слишком мощное (Raspberry Pi Zero 2 W) для такой простой задачи железо.

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

Читать далее

Что происходит с QA в 2026 году: результаты опроса 800+ специалистов

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

Привет! Меня зовут Оля Шнайдер, я QA-инженер в Авито. В начале этого года я провела исследование рынка QA, чтобы понять, как сейчас работают тестировщики: с чем сталкиваются каждый день, что мешает в работе, а что, наоборот, помогает.

За последние годы роль QA заметно изменилась (или мне так хочется думать). От нас ждут большего — не только непосредственно тестирования и ответственности за результат, но и участия в процессах и много чего ещё. При этом сами процессы не всегда становятся лучше. 

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

Дальше интереснее

Android, iOS и немного Python: подходит ли Kivy для реальных кроссплатформенных задач?

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

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

Первым делом на ум, конечно же, пришло программирование. Создать небольшое приложение «для себя» можно не погружаясь в тонкости работы языков и фреймворков, а для старта – это именно то, что нужно. 

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

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

 Давайте вместе разберемся — что же такое Kivy?

Читать далее

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

Строим самолеты в Minecraft: результаты конкурса на сервере Selectel

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

Привет, Хабр! Тут на сервере Selectel прошел конкурс по самолетостроению в Minecraft — кто построит самый реалистичный самолет, тот получает реальный приз. Меня позвали посмотреть на работы и выбрать тройку лучших. Признаться, имелись некоторые сомнения по поводу того, возможно ли в принципе в игре построить что-то, что будет достойно внимание. Но все оказалось гораздо круче, чем я ожидал.

Давайте пройдемся по всем работам, а в конце я объявлю тройку победителей.

ding!

Как Cursor с Claude Opus снёс продакшен базу данных за 9 секунд

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

30 часов хронологии того, как агент Cursor, Railway API и индустрия, которая продаёт безопасность быстрее, чем её реализует, положили малый бизнес, обслуживающий прокатные компании по всей стране.

Меня зовут Джер Крейн, я основатель PocketOS. Мы делаем ПО для прокатного бизнеса — в первую очередь для аренды автомобилей: бронирования, платежи, управление клиентами, отслеживание транспортных средств. Некоторые наши клиенты с нами уже больше 5 лет и они буквально не могут работать без нас.

Вчера днём ИИ‑агент на базе Cursor с Claude Opus 4.6 от Anthropic удалил нашу продакшн‑базу данных и все резервные копии на уровне тома одним API‑вызовом к Railway, нашему инфраструктурному провайдеру.

На это ушло 9 секунд.

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

Читать далее

Опасный ток: как плакаты и карикатуры поддерживали страх и что за ним стояло

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

Эта история началась со старой карикатуры, которая мне случайно попалась на Reddit. В комментариях ее приводили в качестве примера того, как в конце XIX века люди боялись электричества. Но чем дольше взгляд задерживался на этом сюжете, тем более непростым он казался. Стало интересно: откуда и на фоне чего на самом деле появилось изображение?

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

Узнать больше

Сравнительный анализ RISC-V микропроцессоров picorv32 и scr1 при использовании в FPGA

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

Разработчики FPGA часто сталкиваются с необходимостью внедрения в свой проект софт процессора. Когда-то давно мы могли использовать проприетарные Altera NIOS или Xilinx MicroBlase. Но время идет. В последние годы наблюдается устойчивый тренд перехода производителей ПЛИС в сторону поддержки архитектуры RISC-V.

RISC-V это открытая, расширяемая и бесплатная архитектура набора команд (ISA), которая не требует лицензионных отчислений. Оба FPGA вендора Altera и Xilinx уже довольно давно предлагают и активно разрабатывают поддержку RISC-V в своих новых продуктах, теперь это уже софт процессоры NIOS V и MicroBlase V.

Однако, зачем использовать всё ещё проприетарные ядра, если можно использовать Open Source?

В этой статье я сравниваю два Open Source RISC-V микропроцессора:
1) picorv32 от компании YoSys (https://github.com/YosysHQ/picorv32) и
2) scr1 от Syntacore (https://github.com/syntacore/scr1)

Что буду сравнивать? Производительность софт ядер и занимаемые ресурсы в FPGA.
Как правильно сравнить? Использовать единую тестовую программу написанную на языке C, например Dhrystone, и скомпилированную в бинарный файл, или HEX файл и запускаемую в двух архитектурно одинаковых SOC, но с разными ядрами RISC-V.

Читать далее

Почему Chrome весит 7 000 Марио или как сжать «Змейку» в 1 000 раз

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

На вашем диске лежит семь одинаковых моделей птицы Додо. Не благодарите — это ARK заботливо положил их вам в каждое DLC.

Раньше Super Mario Bros весила 40 КБ. Сейчас одно обновление Chrome — это ~7 000 таких Марио. Как мы дошли до жизни такой, и почему все идет по кругу?

В статье пройдем путь от тайлов NES до Neural Texture Compression и рассмотрим змейку в трех версиях: по трем вехам сжатия. Одна из них в 1 120 раз меньше первой. И это не та, в которой ИИ.

Читать далее

Сломал руку, купил Pixel 10, возненавидел Gboard и написал свой офлайн-голосовой ввод для Android на GigaAM v3

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

Написал полностью офлайновый голосовой ввод на русском для Android. Никаких серверов, подписок и привязок к аккаунтам. За распознавание отвечает открытая нейросеть GigaAM v3 от Сбера: модель зашита прямо в APK, работает без интернета и отлично расставляет знаки препинания.

Главная фишка — не нужно отказываться от любимой клавиатуры со свайпом. Это не замена Gboard, а просто плавающая кнопка, которая появляется поверх любого поля ввода. Работает элементарно: тапнул — говоришь. Как только делаешь естественную паузу в речи, готовый текст тут же влетает в активное окно. Напрямую, минуя буфер обмена.

Стек: GigaAM v3 + sherpa-onnx (NNAPI / CPU) + крошечный детектор речи Silero VAD. Требования: Android 13+, ARM64. Исходники открыты (MIT).

Читать далее

Ножом и термофеном: реверс-инжиниринг USB-устройства

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

В 2024 году bjiru выложил видео о портативном устройстве ME2 — выпущенной примерно в 2008 игрушке, способной при помощи USB синхронизировать очки и драгоценности между устройством и онлайн-миром. Игра была крайне нишевой, поэтому никто не архивировал её ПО, драйверы и ресурсы; по крайней мере, до тех пор, пока bjiru не создал онлайн-клиент игры.

Я руководитель Miuchiz Reborn — созданного в 2015 году проекта по реверс-инжинирингу, эмуляции и поддержке доступности похожей игры, состоящей из онлайн-части и портативного устройства, соединяемых через USB. ME2 тоже была старой игрой подобного типа, поэтому моя группа Miuchiz рассказала мне о ней ещё в 2018 году; она считала (ошибочно), что они могут быть архитектурно схожи. Несмотря на то, что я уже несколько лет знал о существовании устройства, именно видео bjiru подтолкнуло меня начать его исследование.

Поначалу я занимался исключительно воссозданием сервера, необходимого для обеспечения функциональности копии компьютерной игры, принадлежащей bjiru, но со временем я обратил внимание и на портативное устройство. Разумеется, воссоздание онлайн-игры не было бы полным без механизма синхронизации очков с устройством. В конце концов, это общение между компьютером и устройством ME2 было основной «фишкой» игры. Я подумал, что мой предыдущий опыт работы с портативными устройствами Miuchiz поможет мне в анализе ритуала необходимого им общения... если мне удастся выполнить реверс-инжиниринг кода.

Читать далее