Pull to refresh
144
-2.5
Павел Довгалюк @Dovgaluk

Системный программист

Send message

Что дарили гикам прошлого: обзор рождественских каталогов электроники

Level of difficultyEasy
Reading time4 min
Views8.9K

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

Предлагаем немного окунуться в прошлое и посмотреть, какую электронику предлагали каталоги в 70-х, 80-х и 90-х годах прошлого века.

Осторожно: много картинок!

Читать далее
Total votes 27: ↑26 and ↓1+25
Comments17

Как собрать бюджетный умный дом. Общие принципы проектирования на оборудовании Wiren Board

Level of difficultyMedium
Reading time28 min
Views38K

Сборник коротких рецептов по автоматизации инженерных систем дома, офиса и любого другого объекта на оборудовании Wiren Board.

Статья будет полезна всем, кто задумывался о построении умного дома, офиса, теплицы и любого другого объекта с автоматизацией и диспетчеризацией.

Читать далее
Total votes 41: ↑41 and ↓0+41
Comments35

От желания управлять газовым котлом удалённо до полной автоматизации отопления дома

Level of difficultyMedium
Reading time6 min
Views34K

В статье расскажу про свой путь разработки DIY железок для работы с Home Assistant с целью автоматизации отопления в частном доме.

Глава 0: предыстория

Захотелось построить дом. Дом построили, встал вопрос с отоплением и управлением, а так как в доме иногда отсутствовали по несколько месяцев, то переплачивать за газ не очень-то и хотелось. Газа ведь магистрального нет, но «мы скоро проведем». До этого «скоро» закопали газгольдер, а газ там в +-10 раз дороже магистрального. Пытливый ум решил: будем поддерживать в доме температуру 15 градусов, когда там никого нет. Как это сделать? Повесить контроллер/термостат для котла.

Читать далее
Total votes 42: ↑41 and ↓1+40
Comments105

Инструменты для пентеста Wi-Fi

Level of difficultyMedium
Reading time6 min
Views18K

Это дополнение к основной статье "Как стать гуру или Wi-Fi Cheat Sheet". Я увидел много откликов по данной теме как положительных, так и отрицательных. Кому-то не нравится подача (да, есть свои минусы, но перенести материал из обычной заметки Markdown достаточно сложно), кому-то инструменты, но кто Я такой, чтобы останавливаться. Сегодня я приложу максимально полный список (для меня) инструментов с кратким описанием.

Пора изучать
Total votes 8: ↑8 and ↓0+8
Comments3

Неочевидные возможности короля картографического ПО на гаджетах

Reading time10 min
Views37K

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

🔥 Примечание — эта статья автора расположилась на первом месте по рейтингу/просмотрам в хабе OSM за последний 23г..

Читать далее
Total votes 52: ↑52 and ↓0+52
Comments156

Как стать гуру или WiFi Cheat Sheet

Level of difficultyMedium
Reading time21 min
Views27K

А что мы знаем про пентест Wi-Fi?

Кажется, что уже всё, но вот на offzone 2023 была представлена атака WPA‑E (Надеюсь, в скором времени выложат запись и pdf) и я задумался, а так ли всё хорошо с моими знаниями... Нет, я всё с концами оставил на старых ЖД и где‑то далеко в памяти, пришлось восстанавливать по крупицам всю информацию. Заметки, время и старания — главное составляющее статьи.

Этот документ больше похож на чек‑лист для самопроверки и может содержать полезные советы и хитрости, за основу я взял структуру «WiFi Penetration Testing Cheat Sheet». Я очень благодарен автору, но он забросил вести данную шпаргалку и многие вещи устарели.

Все было протестировано на Kali Linux v2023.1 (64-битной версии), а также проработано на реальном опыте проведения тестирования на проникновение Wi‑Fi и в лабораторных условиях.

Пора ознакомиться
Total votes 37: ↑36 and ↓1+35
Comments9

Network protocols posters как отдельный вид искусства

Level of difficultyEasy
Reading time5 min
Views7.3K

Всем привет. Сегодня у нас замечательный праздник — день системного администратора. А значит, самое время немного облагородить основную среду нашего обитания. Нет, ёлку выкидывать не будем, Новый год не за горами. Также оставим прежними обои, их всё равно за окошками терминалов не видно. Предлагаю украсить стены рабочих кабинетов настоящими сисадминскими плакатами.
Читать дальше →
Total votes 56: ↑56 and ↓0+56
Comments5

Boson — разработка СУБД «с нуля» (часть I)

Reading time9 min
Views18K

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

Каждый разработчик "кровавого" enterprise в своей работе использует СУБД (SQL/NoSQL) и меня всегда искренне интересовало как они устроены в самом сердце, на самом низком уровне. Почитав документацию и исходный код SQLite и MongoDB, про используемые в индексах и интерпретаторах запросов алгоритмы, осознал, что несмотря на широкую распространенность и некую привычность, системы управления базами данных (СУБД) - это сложные программные продукты, реализация которых не всем под силу. Отлично - как раз то, что мне надо. С мотивацией разобрались, перейдем к делу.

Итак, для начала хорошо бы сформулировать высокоуровневую спецификацию требований. Boson - это легкая, встраиваемая документоориентированная база данных на С/С++

Читать далее
Total votes 88: ↑85 and ↓3+82
Comments60

Boson — разработка СУБД «с нуля» (часть II)

Reading time6 min
Views4.5K

В первой части статьи мы обсуждали разработку самого нижнего слоя СУБД Boson - CachedFileIO. Как упоминалось, статистика такого явления как Locality of Reference говорит о том, что в реальных приложениях ~95% запросов к данным локализованы в 10-15% базы данных. При этом среднее соотношение чтения/записи - 70%/30%. Это делает эффективным использование кэша (cache) работающего на основе алгоритма Least Recently Used (LRU). Реализовав его, мы получили 260%-600% прироста скорости чтения при 87%-97% cache hits.

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

Читать далее
Total votes 29: ↑28 and ↓1+27
Comments30

Как создать свою СУБД с нуля и не сойти с ума. Практическое пособие начинающему некроманту. Часть первая

Reading time43 min
Views27K

Наступил Апокалипсис.

Нет, не стоит бежать запасаться банками с консервами и крышками отечественной бай-колы! Апокалипсис произошёл только в нашей фантазии и с определённой целью — чтобы проверить, а может ли человек, обладающий только книгами по теме и стандартной библиотекой языка, воссоздать инструмент, который будет служить ему верой и правдой?

Так родился учебный проект SicQL, реляционная СУБД, чей символ — сова — это олицетворение силы знаний и мудрости. Олицетворение тех знаний и той мудрости, которые мы получим, создав с нуля то, чем мы пользуемся каждый день, может, не осознавая всей сложности таких инструментов.

Приглашаю присоединиться к увлекательному путешествию!

Принять приглашение на борт
Total votes 66: ↑65 and ↓1+64
Comments62

Сколько стоит умный дом? Рассказываю, как строил свой и что получилось за 1000 руб./м²

Level of difficultyEasy
Reading time25 min
Views94K

Подробный рассказ о том, как я свой дом и сад сделал умными. С фото, техническими деталями, стоимостями и выводами на будущее.

Читать
Total votes 300: ↑298 and ↓2+296
Comments296

Мой издательский пост

Reading time11 min
Views7.1K

Давным‑давно, ещё, когда я жил в Минске, одним из моих старших друзей был удивительный инженер Павел Горбунов, интеллектуал, романтик и автор множества афористичных мыслей, из которых мне наиболее запомнилась «Кто пребывает в нирване, часто ходит в рванине». Он работал в машиностроительном КБ и также говорил, что «у меня большинство друзей — программисты, а я люблю, что плоды моей работы можно пощупать руками». Сейчас, приближаясь к тому возрасту Горбунова, я также хочу рассказать о той части моей работы, которую можно потрогать руками — то есть, о книгах.

В редакции Хабра я работаю с конца 2020 года, а с февраля 2021 вернулся к издательской деятельности и с большим удовольствием тружусь в издательстве «БХВ» из Санкт‑Петербурга. Такое название сохранилось с середины 90-х, когда компания была совместным российско‑немецким предприятием и называлась на латинице «BHV», что по‑немецки расшифровывается как «BuchHandel und Verlag» — «Книготорговля и издательство». Естественно, в начале 2021 года я воспринял новообретённую аудиторию Хабра как потенциальный пул авторов. Внимательно смотрел профили моих читателей, ко многим обращался в личку, если видел в их (хабро)блогах или на гитхабе потенциальную основу для технической книги. Теперь, поскольку этот поиск принёс ощутимые плоды, я хотел бы рассказать о наиболее интересных переводных и авторских книгах, которые мне удалось выпустить за прошлый год и начало текущего года — а также поблагодарить тех, кто решился со мной работать и, надеюсь, не разочаровался в этом.

UPDATE: нам важно ваше мнение, поэтому

Промокод ФИДБЭК на все книги издательства будет действовать с 00:00 10.03.2023 по 00:00 01.04.2023.

Читать далее
Total votes 47: ↑41 and ↓6+35
Comments9

Подключение советской клавиатуры Электроника МС 7004 к современному ПК

Reading time8 min
Views16K

Когда я листал доски объявлений, на глаза попалась отличная клавиатура «Электроника МС 7004». Даже по современным меркам клавиатура выглядит просто потрясающе. У неё есть откидной блок со светодиодами, клавиши механика. И она настолько крутая, что даже сейчас на ней хочется работать. Но, как обычно есть один маленький нюанс: у неё свой интерфейс и электропитание.

Такие клавиатуры встречаются часто, выглядят стильно и, в общем-то, можно получить уникальное устройство ввода, но как же её подключить? Этим вопросом я занялся уже после покупки, потому что клавиатура была крута, и вылилось всё в интересное копание в схемотехнике клавиатуры, протоколах и многом другом.
Читать дальше →
Total votes 88: ↑83 and ↓5+78
Comments50

Plantuml в работе системного аналитика. Пиши uml диаграммы текстом, чтобы сэкономить время

Reading time4 min
Views22K

Раньше я использовала для рисования диаграмм плагин в Confluence drawio или Microsoft Visio, который позволяет в графическом виде нарисовать диаграммы. Основная боль (для меня) у этих инструментов заключалась в том, чтобы поправить множество диаграмм надо открывать каждую, двигать элементы, стрелочки. А это время.

Изучив возможные решения я пришла к plantuml. Это инструмент, который позволяет с помощью текста рисовать диаграммы. Его можно использовать через макрос в Confluence или плагин в Idea, что позволяет за раз править много диаграмм, так как это текст. Не верите? Давайте попробуем на примере.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments19

Графовые базы данных на примере простых запросов

Reading time9 min
Views19K

Статья  будет полезна начинающему разработчику или тому, кто хочет расширить свой кругозор практическим знакомством с графовыми базами данных. Часто в аналогичных статьях не хватает либо пошаговой инструкции по установке, либо более детального разъяснения –  как общаться с данными в базе.

Информации по теории графов достаточно много, поэтому в материале будут сугубо прикладные знания, которые существенно облегчат закрепление материала практикой. В данном примере рассматривается работа с локальным экземпляром БД Neo4j. Считаю, что СУБД именно этого вендора позволяет осваивать тему графовых баз данных с достаточно низким порогом входа – нам понадобится только понимание SQL. Иными словами, статья представляет собой краткую сводку/инструкцию о том, какие шаги нужно пройти и что освоить, чтобы начать "играться" с Neo4j на вашем личном ПК или сервере в инфраструктуре вашей компании. Поскольку в этот тип БД заходят специалисты, ранее работавшие с реляционными БД, для облегчения понимания принципов в статье сделан упор на сопоставление языка общения с графовыми базами данных и классическим SQL. Чтобы сделать пример прикладным, в материале приводится  решение типовой бизнес-задачи для графовых БД на простом примере из финансовой предметной области.

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments3

Как незаметно стать антиваксером (возможно, это про вас) — ликбез для взрослых

Reading time18 min
Views36K


Как показала недавняя практика, в вакцинах в России разбираются в среднем никак.

Во-первых, их надо обновлять. Если вы не обновляли «детские» прививки, поздравляю, вы пассивный антиваксер и потенциально представляете опасность для общества.

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

В-третьих, я что-то не вижу всплеска вакцинации от пневмококков, хотя они прямо ассоциированы с COVID (то есть могут настигнуть больного после вируса). В первый год, до появления вакцины от COVID-19, логично было ждать резкого скачка вакцинации от них, но нет.

Давайте проговорим ещё раз, от каких болезней можно и нужно привиться взрослым, когда и как.
Читать дальше →
Total votes 142: ↑119 and ↓23+96
Comments162

70+ бесплатных инструментов для компьютерной криминалистики (форензики)

Reading time8 min
Views38K

Расследование инцидентов в области информационной безопасности не такая горячая тема, как пентесты, но эта научная и практическая дисциплина продолжает развиваться, во многом, благодаря Open Source-сообществу.

Давайте пройдемся по просторам GitHub и посмотрим, какие инструменты для сбора и анализа цифровых доказательств доступны всем желающим.

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

Читать далее
Total votes 37: ↑36 and ↓1+35
Comments2

DevSecOps: организация фаззинга исходного кода

Reading time23 min
Views20K


Узнав результаты голосования, проведённого в одной из наших прошлых статей, мы решили более подробно обсудить вопрос организации фаззинга. Кроме того, в рамках онлайн-встречи по информационной безопасности "Digital Security ON AIR" мы представили доклад, основанный на нашем опыте в DevSecOps, где также рассказали об этой интересной теме.


Записи всех докладов можно посмотреть на нашем Youtube-канале. Если же вы предпочитаете текстовый формат, добро пожаловать под кат!

Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments2

Нечёткий поиск в тексте и словаре

Reading time13 min
Views260K

Введение


Алгоритмы нечеткого поиска (также известного как поиск по сходству или fuzzy string search) являются основой систем проверки орфографии и полноценных поисковых систем вроде Google или Yandex. Например, такие алгоритмы используются для функций наподобие «Возможно вы имели в виду …» в тех же поисковых системах.

В этой обзорной статье я рассмотрю следующие понятия, методы и алгоритмы:
  • Расстояние Левенштейна
  • Расстояние Дамерау-Левенштейна
  • Алгоритм Bitap с модификациями от Wu и Manber
  • Алгоритм расширения выборки
  • Метод N-грамм
  • Хеширование по сигнатуре
  • BK-деревья
А также проведу сравнительное тестирование качества и производительности алгоритмов.
Читать дальше →
Total votes 171: ↑170 and ↓1+169
Comments33

Обзор платформ по проведению онлайн-чемпионатов

Reading time12 min
Views9.1K

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

В офлайн-хакатонах, к сожалению, сейчас не поучаствуешь. А вот онлайн на этом фоне стабильно расширяется. Соревнования для подбора талантов и поиска решений регулярно проводят такие гиганты как Google, Huawei, «Яндекс», Сбербанк и Mail.ru. На Хабре и других ресурсах нередко появляются истории о том, как кто-то подошел с креативом, постарался и заработал $20-$50 тысяч. Мы в Rubrain за такими тоже следим, некоторых пытаемся «выцепить» себе. А иногда для нестандартных задач создаем контесты на HackerRank.

Успех и широкая известность чемпионата (а также сумма финансовых наград) в основном зависят от платформы, на которой он проводится. Если вы хотите устроить хорошее онлайн-соревнование или поучаствовать в нём, чтобы побороться за приз, есть 11 вариантов:

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments0

Information

Rating
Does not participate
Location
Великий Новгород (Новгород), Новгородская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Software Architect
Lead
C++
System Programming
Compilers
C
Algorithms and data structures
QEMU