habrahabr
Книжный шкаф — секретная дверь

Кто же не мечтал в детстве о книжном шкафе с потайной дверью? В нашей гостиной есть одно место, которое я планировал скрыть такой конструкцией целых 10 лет. Однако проект постоянно откладывался. Причина — подобные вещи нужно делать на совесть.Хотелось, чтобы столярная работа была высокого качества, а механизм — абсолютно надежным. Однажды появились время, ресурсы и фурнитура. Пришло время воплотить задумку на должном уровне.Руководство получилось довольно подробным. Оно охватывает не только сбо…

  • среда, 10 сентября 2025 г. в 00:00:15
habrahabr
Не смотрите на % использования процессора при гиперпоточности

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

  • среда, 10 сентября 2025 г. в 00:00:14
habrahabr
МТС: нам плевать на вашу тайну связи?

Если вы звоните в техническую поддержку МТС по номеру 0890 со своего мобильного телефона, МТС вас идентифицирует как абонента. Вы спокойно ведете диалог и решаете насущные вопросы.Но мало кто знает, что у МТС есть и другой номер: 88002500890. Позвонить на который можно с ЛЮБОГО номера. Еще и бесплатно. И вот какая интересная история случилась.Вообще впервые с этим багом я столкнулся в 2019 году. Схема такая. Если звонок поступает на 88 002 500 890 не с мобильного номера МТС, нужно было через IV…

  • среда, 10 сентября 2025 г. в 00:00:12
habrahabr
Почему в Linux «Всё есть файл»? Или почему гениальные абстракции UNIX настолько гениальны

❯ ГлоссарийПрограмма – текстовый файл, который содержит в себе код на каком-либо языке программирования;Процесс – абстракция операционной системы, позволяющая следить и управлять ходом выполнения программы;Ядро – программа, лежащая в основе операционной системы, написанная на системном языке (например на C);Операционная система – ядро и стандартные пользовательские приложения;Модуль ядра – программа, которая динамически подгружается в ядро для расширения его функционала. Модуль может быть драйв…

  • среда, 10 сентября 2025 г. в 00:00:12
golang
Топ 5 возможностей Gin, которые должен знать каждый Go-разработчик

Команда Go for Devs подготовила перевод статьи о скрытых возможностях Gin-фреймворка. Даже если вы давно пишете API на Go, в арсенале Gin есть несколько приёмов, которые сделают ваш код быстрее, надёжнее и проще в сопровождении. От кастомных валидаторов до graceful shutdown — фишки, о которых знают не все. При создании веб-API на Go, фреймворк Gin часто становится первым выбором благодаря своей скорости и простоте. Большинство разработчиков знакомы с его базовыми возможностями, но у Gin есть и …

  • среда, 10 сентября 2025 г. в 00:00:11
javascript
Как я начал писать unit-тесты для Vue. Part deux: год спустя…

Итак, прошел год с предыдущей серии, многое поменялось, из каждого утюга сообщают, что вот-вот нейронки заменят всех и вся, а я всё также тружусь во fuse8 и пишу тесты для vue-компонентов. В этой серии мы поговорим интеграции с mock service worker (msw). Так же опишу, что пытался внедрить в борьбе за живучесть, что из этого получилось, а что — не очень. Ну что, помогли тебе твои тесты? Я не могу сказать, что временные затраты с лихвой окупились, но то, что это была не пустая трата времени — …

  • среда, 10 сентября 2025 г. в 00:00:09
javascript
SRE на Frontend`е

На хабре уже есть статьи про качество кода (линты, хинты, хорошие практики), стратегии обработки ошибок (feature toggle, request retry) и UX/UI их отображения.Это еще одна статья про разбор ошибок и аварий, но с точки зрения небольших фич фронта, которые вы можете внедрить самостоятельно и упростить свою работу, а также помочь отделу в целом.До того, как ошибка попала в продТестировщики пишут тесты. В рамках этих тестов они работают с версткой. Их работа станет сильно проще если они смогут писа…

  • среда, 10 сентября 2025 г. в 00:00:08
javascript
Один из крупнейших взломов NPM: более 18 пакетов были скомпрометированы

8 сентября в 13:16 UTC система мониторинга Aikido зафиксировала подозрительные действия: в npm начали публиковаться новые версии популярных пакетов, содержащие вредоносный код.Всего было скомпрометировано 18 очень популярных библиотек, среди них:backslash (≈260 тыс. загрузок в неделю)chalk-template (≈3,9 млн)supports-hyperlinks (≈19,2 млн)has-ansi (≈12,1 млн)simple-swizzle (≈26,3 млн)color-string (≈27,5 млн)error-ex (≈47,2 млн)color-name (≈191,7 млн)is-arrayish (≈73,8 млн)slice-ansi (≈59,8 млн)…

  • среда, 10 сентября 2025 г. в 00:00:06
javascript
Кэширование DNS в NodeJS

Команда JavaScript for Devs подготовила перевод статьи о том, как кэширование DNS в NodeJS помогает ускорить работу приложений. На примере инфраструктуры крупного онлайн-сервиса автор показывает, как незаметные на первый взгляд DNS-запросы могут превратиться в узкое место и как простое решение на уровне кода способно повысить стабильность и отклик системы.Работая над инфраструктурой Arte.tv, мы обнаружили, что DNS-запросы могут быть скрытым узким местом, замедляющим критически важный слой. Хоро…

  • среда, 10 сентября 2025 г. в 00:00:05