Обновить
27
0
Джони Дэп@Godless

Супермэн

Отправить сообщение

Простой CI/CD на Семафор Про

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

CI/CD стал неотъемлемой частью процесса разработки ПО, как в крупных, так и в небольших компаниях и проектах, в том числе open source.

Самыми популярными CI/CD-системами является GitLab и Jenkins. Обе эти системы являются мощными, расширяемыми и включают множество дополнительных возможностей. С помощью этих систем можно построить CI/CD любой сложности.

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

В этом случае Ansible Semaphore это то что нужно.

Читать далее

PACS-сервер своими руками

Время на прочтение8 мин
Охват и читатели62K
Не так давно наша компания закончила работу над внедрением PACS-сервера (Picture Archiving and Communication System) в один из медицинских диагностических центров нашего города. До этого там стоял PACS-сервер с открытым исходным кодом — dcm4chee, который не блистал высокой скоростью работы, поскольку написан на Java. К тому же одним из требований заказчика было иметь доступ к внутренней структуре сервера. Поэтому было решено написать свой. К тому же в компании имелся опыт подобных разработок как клиентских, так и серверных частей PACS-систем, поэтому компромиссным решением было создать собственный PACS-архив, удовлетворяющий требования заказчика. Большей частью реализации ядра сервера пришлось заниматься мне и за это время был приобретён специфический опыт в этой области, чем и хочу поделиться с хабра-сообществом. Но обо всём по порядку.
Читать дальше →

DICOM: цифровые снимки в медицине — ликбез для системного администратора

Время на прочтение12 мин
Охват и читатели80K
Одним из самых компьютеризированных разделов медицины является радиодиагностика. Медицинские исследования генерируют большое количество данных, которые затем обрабатываются передовыми методами визуализации, 3D-реконструкции по срезам и даже машинного обучения. Этот топик призван помочь системным администраторам погрузиться в тематику передачи и хранения медицинских изображений.

МРТ автора
Фото автора
Читать дальше →

Kubernetes на пальцах: самое простое объяснение, что это такое

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

Вы наверняка знаете, Kubernetes просто повсюду. От разработчиков, тестировщиков, DevOps-инженеров и системных аналитиков ожидают умения работать с этим инструментом. Даже продакт-менеджеры иногда интересуются, что это такое.

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

Читать далее

Радиолокационный радар — менее чем за 400 рублей: на базе esp32 и wi-fi

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


Приходило ли вам в голову, что ваша любимая esp32 может использоваться в роли самого натурального радиолокационного радара?

Если не приходило, то добро пожаловать под кат, так как кое-кому это пришло:-))
Читать дальше →

Я собрал 21 канбан-доску на все случаи жизни (от запуска IT-продукта до похода на свидание)

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

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

Читать далее

Как победить CMake: отладка CMake-скриптов

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

Отладка больших CMake-проектов часто превращается в боль. Уходит не один час на то, чтобы с помощью message() и бубна найти проблему. Но существуют более удобные и эффективные способы. Например, отладчик, который позволяет пошагово пройтись по CMake-скриптам и посмотреть значение переменных. Или профилировщик, показывающий последовательность вызовов и время их выполнения. Как их использовать? Читайте в статье.

Читать далее

Отказоустойчивый кластер с балансировкой нагрузки с помощью keepalived

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

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

Читать дальше →

Звонки через Jabber в докер-контейнере за 5 минут

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

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

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

Звонки идут в зашифрованном режиме, работают p2p. А если у собеседника хитрый NAT, то на помощь автоматически приходит встроенный STUN-сервер.

Клиенты есть под все платформы: Android, iOS, Windows, macOS и Linux.

Читать далее

Как работает DNS в Linux. Часть 1: от getaddrinfo до resolv.conf

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

Привет, Хабр! Меня зовут Анатолий Кохан, я — DevOps-инженер в К2Тех.

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

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

Читать далее

Как работает DNS в Linux. Часть 2: все уровни DNS-кэширования

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

В первой части мы разобрали, как в Linux работает процесс разрешения имен — от вызова getaddrinfo() до получения IP-адреса. Однако если бы каждый вызов требовал нового DNS-запроса, это было бы неэффективно и сильно нагружало как систему, так и сеть. Поэтому используется кэширование.

Кэширование DNS может быть везде — в glibc, в systemd-resolved, в браузерах и даже в приложениях на Go. Кэш помогает увеличить скорость работы, но создает дополнительные сложности при отладке. Например: вы меняете DNS-запись, но сервер продолжает ходить по старому IP-адресу. Или, Dig показывает правильный адрес, а curl всё равно подключается к устаревшему.

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

Читать далее

Я сделал тачпанель управления умным домом чтобы вам тоже пришлось

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

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

Вот как это сделать

Пишем на C самоизменяющуюся программу x86_64

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


«Зачем вообще писать программу, меняющую код в процессе выполнения? Это же ужасная идея!»


Да, всё так и есть. Но это и хороший опыт. Такое делают только тогда, когда хотят что-то исследовать, или из любопытства.


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


Предупреждение: в этом посте активно используется язык ассемблера x86_64, в котором я ни в коем случае не являюсь специалистом. Для написания статьи мне пришлось изучать приличный объём материалов, и, возможно (почти наверняка), в ней есть ошибки.
Читать дальше →

Проверка високосности года в трёх командах CPU

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

Показанным ниже кодом вы можете проверить на високосность год в интервале 0 ≤ y ≤ 102499 всего примерно тремя командами CPU:

bool is_leap_year_fast(uint32_t y) {

return ((y * 1073750999) & 3221352463) <= 126976;

}

Как это работает? Ответ на удивление сложен. В статье я объясню процесс; в основном он связан с забавным битовым жонглированием. В конце мы обсудим применение этого кода на практике.

Читать далее

На входе аудио, на выходе — саммари. Собираем локальный транскрибатор из бесплатного софта

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

Однажды я устал расшифровывать аудио пачкой инструментов в духе «Балерино-Капучино и Бобрито-Бандито» и решил собрать свой пайплайн.

В статье расскажу, как я подключил ИИ к обработке голосовых записей буквально за вечер. Мне нужно было загружать запись голоса в нейросетку и на выходе получать выжимку с итогами встречи — саммари/фоллоу‑апами/«минутками». Я хотел от софта безопасности данных, локального запуска и минимума вложений (в идеале 0 затрат). Я системный аналитик, поэтому не был готов писать приложение целиком.

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

Читать далее

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

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

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

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

Читать далее

За полчаса установил DeepSeek 1.5B, пока вы искали GPT подешевле

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

DeepSeek 1.5B — маленький, но шустрый собрат больших языковых моделей. Работает локально, не требует железа на киловатт.

Внутри — инструкция по установке, настройке и запуску DeepSeek 1.5B на Ubuntu 24.04 с Ollama и Open WebUI.

Читать далее

Notion – это офисный плен! Объясняю, как выбраться с помощью Obsidian

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

Полгода назад Notion ушёл из России, оставив многих пользователей без удобного инструмента для работы и ведения заметок. Использовать VPN? Не вариант — продуктивность сразу падает. Я тоже столкнулся с этой проблемой, но вместо того, чтобы искать обходные пути, я решил найти достойную замену.

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

Читать далее

Разбор тестового задания по электронике в Яндекс

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

Сегодня в очередной раз наткнулся на вакансию старшего инженера - схемотехника в Яндекс. Решил, что это знак и настало время разобрать их тестовое задание. Звучит оно следующим образом:

Читать далее

Все знают, где ты находишься

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

Недавно я прочитал о масштабной утечке геолокационных данных из Gravy Analytics, благодаря которой стало известно, что более двух тысяч приложений из AppStore и Google Play тайно собирали геолокационные данные пользователей без их согласия. И часто об этом не знали даже разработчики.

Я изучил список (ссылка) и обнаружил как минимум три приложения, установленные на моём iPhone. Проверьте сами!

У меня возникла идея: попробовать отследить себя снаружи, то есть купить свои геолокационные данные, утёкшие через какое-нибудь приложение.
Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность