Pull to refresh
4
0.1
Send message

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

Reading time6 min
Views5.1K

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

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

Читать далее

Как я создавал эргономичное рабочее место для себя и теперь предлагаю другим. Часть 1

Reading time12 min
Views104K

Привет, Хабр! Меня зовут Денис Захаров. Я занимаюсь разработкой веб приложений на протяжении уже 14 лет, но история будет не об этом. Расскажу о том, как и почему я создавал эргономичное рабочее место, которое в последствии превратилось в проект E-station (EasyWorkStation). Эта штука уже несколько лет полностью заменяет мне и еще нескольким десяткам пользователей привычное компьютерное кресло и рабочий стол.

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

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

А теперь ретроспектива

Репликации в PostgreSQL

Reading time6 min
Views74K

Сейчас трудно себе представить «боевую» инсталляцию любой серьезной СУБД в виде единственного инстанса. Конечно, некоторые приложения требуют для своей работы использование локальных баз данных, но если мы говорим о сетевом многопользовательском режиме работы, то здесь использование только одной инсталляции это очень плохая идея.

Основной проблемой единственной инсталляции естественно является надежность. В случае падения сервера нам потребуется некоторое, возможно значительное, время на восстановление. Так восстановление террабайтной базы может занять несколько часов.

Да и исправный бэкап есть не всегда, но об этом мы уже говорили в предыдущей статье.

Читать далее

Aspia — бесплатная программа для удаленного управления ПК

Reading time10 min
Views74K

Aspia - это OpenSource приложение под лицензией GPL-3.0 для удаленного управления компьютерами внутри локальной сети и за её пределами благодаря реализации ID сервера для обхода NAT.

Не нашел на хабре актуальной информации об этом бесплатном аналоге таких программ как TeamViewer, Radmin, AmmyAdmin, AnyDesk, а та информация какая есть - уже не является актуальной, поэтому попробую восполнить данную пустоту.

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

Читать далее

Сам себе сотовый оператор

Reading time14 min
Views101K
… Кроме типовых для журнала статей, там была статья за авторством некоего «DI HALT» про то, как из двух телефонов и микроконтроллера извлечь кучу лулзов. «Прикольный ник» — подумал мальчик Андрей и перелистнул страницу, ибо ниасилил. А за ней была статья того же автора про то, как скрестить флешку с мышкой. «А вот это нам под силу» — подумал мальчик и убил уже знакомую вам флешку банальной переполюсовкой. Но зато он понял, что электроника — это весело и почти безопасно. — с просторов



Приветствую всех!

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

Электронный конструктор, не бьющий током

Reading time13 min
Views48K

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

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

Что нужно знать про оперативную память: тактовая частота, пропускная способность, тайминги, классы (DDR) и многое другое

Reading time10 min
Views193K

Привет, Хабр! Сегодня мы поговорим про оперативную память, про то, какие ее типы можно свободно купить в магазине для сборки ПК или его модернизации. Под катом рассказ об отличиях разных типов ОЗУ друг от друга, о разгоне и охлаждении памяти, а также несколько мыслей о том, имеет ли значение, какую планку памяти стоит установить в конкретный компьютер, чтобы добиться оптимального сочетания быстродействия, энергоэффективности и стоимости. Этот пост будет интересен тем, кто не считает себя DDR-гуру и при выборе памяти не уверен на 100% какие именно нужны тайминги, типы и характеристики модулей.

Читать далее

Вы НЕ сошли с ума (о режиме сна в Windows)

Reading time8 min
Views156K

Вы сталкивались с тем, что ноутбук случайно включается, хотя вы уверены, что отправляли его в сон?

Бывало, что батарея оказывалась пустой, хотя вы точно-точно помните, как убирали в сумку заряженный на 100% ноутбук?

Тогда вам сюда:

Мне сюда

Рецепт красивого бабаха. Три составляющих хорошего силового преобразователя. Часть 2

Reading time11 min
Views19K

У вас есть симпатичная плата силового преобразователя? Тогда мы идём к вам! Давайте взорвём его! На картинке источник питания и «всё что осталось после нашей с ним работы». Приветствую. Это вторая часть статьи о трёх составляющих преобразователя. Сегодня доберёмся до некоторых хитростей, до пока ещё живых примеров и до салюта. Интересно? Тогда пристёгивайтесь и поехали!
Читать дальше →

Как запустить Doom на УАЗ Буханке 2022

Reading time11 min
Views74K

Прошедший 2022 год сильно повлиял на отечественных автопроизводителей. Появились антикризисные комплектации (а остальные исчезли). Произошли откаты на старые экологические нормы, вплоть до евро-2. Кто-то прогнозировал возврат к карбюраторным двигателям, чего, к счастью, не случилось. Люди в шапочках из фольги особенно рады, что из отечественных машин исчезла система ЭРА-Глонасс. Глупцы, она стала ненужной, потому что всех уже чипировали через вакцину.

Мы же продолжали пилить RusEFI - свой ЭБУ с преферансом, барышнями, открытым программным кодом и открытыми аппаратными реализациями.

Читать далее

Weak Pass Detector – запрет на использование утекших паролей в контроллере домена

Reading time16 min
Views7K

Всем привет! Меня зовут Иван Нагорнов, я руководитель направления в Лаборатории кибербезопасности Сбербанка. В данной статье будет сделан обзор и предложение к использованию одной из наших разработок, которая направлена на минимизацию использования утекших паролей из открытых источников в контроллере домена. Мы уверены, что данная идея и ее реализация будут полезны для ИБ сообщества.

Читать далее

Стенд для безопасного питания сетевых устройств

Reading time7 min
Views8K

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

Читать далее

Пишем скрипт для синхронизации папок с Google Drive, плюс учимся использовать Google Drive API

Reading time23 min
Views76K

В этой статье мы рассмотрим основные инструменты работы с Google Drive REST API, осуществим "прямую" и "обратную" синхронизацию папки на компьютере с папкой в облаке Гугл Диска, а заодно выясним какие сложности могут возникнуть при работе с Google Docs через API Диска и как правильно их импортировать и экспортировать чтобы (почти) никто не пострадал.

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

QR-code. Обнаружить и расшифровать. Шаг 1 — Обнаружить

Reading time6 min
Views16K

Эта статья - первая в цикле статей, в котором мы разберемся с тем, как qr-код устроен, и напишем простенький Qr-детектор и дешифровщик, а также свой собственный генератор qr-кодов

Использовать мы будем python вместе с opencv и numpy. Учитывая, что opencv - кросс-язычная библиотека, а также то, что работа с изображением/текстурой в разных решениях выглядят примерно одинаково, то я думаю, что вы без труда сможете перевести алгоритм, который будет здесь написан, на любой нужный вам язык

В первую очередь мы будем рассматривать полноразмерный qr-код, Micro-qr возможно будет рассмотрен после завершения работы над полноразмерным qr

Также, хочу отметить, что готовый класс QrCodeDetector уже имеется внутри opencv. Возможно, вам не нужно изобретать велосипед :-)

Читать далее

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

Reading time9 min
Views20K

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

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

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

Читать далее

РЖДфон десять лет спустя

Reading time13 min
Views14K
Приветствую всех.

Сегодня поговорим об одном уже достаточно древнем и во многих областях уникальном девайсе — нашумевшем в своё время защищённом терминале сбора данных для РЖД. В ходе статьи проведём неофициальный обзор данного аппарата, сравним его с устройством того же класса, попробуем разобраться, какова была история и дальнейшая судьба данного проекта, и собрать в одном месте всю известную мне информацию по теме. Постараемся воздержаться от реплик типа «Аццтой!!!1» или «Вы ничего не понимаете, это же топ за свои деньги!» и быть максимально объективными.


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

Что нужно чтобы не было бабаха? Три составляющих хорошего силового преобразователя. Часть 1

Reading time12 min
Views23K

Наверное, силовая электроника – рекордсмен по скорости и зрелищности начальных испытаний опытных образцов. Тут вам и свето-шумовые эффекты, и пластиковый короб для защиты глаз/лица, и даже острые ощущения. Вспомните первое включение. Это трепетное ожидание пиротехнического шоу, готовность выдернуть вилку, надеть шлём и убежать в бункер. А ведь так хочется, чтобы проект взлетел! Посмотрим, без чего проект точно успешно не взлетит, разберём примеры и полюбуемся на бабахи…
Читать дальше →

Lazarus-AVR, №1. Программирование микроконтроллеров AVR в IDE Lazarus

Level of difficultyEasy
Reading time3 min
Views9K

Вот появилось желание написать небольшой проектик для себя с применением микроконтроллера. В CodeVisionAVR команды не подсвечиваются по Ctrl+Пробел, да и Си что-то начал забывать, вспоминать - лень... Конечно, вспомнить Си - это 10-30 минут, но лень... Поэтому, было решено начать проект в родной IDE Lazarus, она же кросс-компилируемая! Правда, понять, как включить avr в Lazarus, чтоб компилировался hex-файл ушло 3 дня :), поэтому пишу здесь, чтоб другие не мучались, а сразу пользовались.

Читать далее

Удаление метаданных из PDF

Reading time2 min
Views75K
image
Вот, казалось бы, тривиальная задача — удалить metadata из документа. Уже тысячу раз специалисты по паранойе информационной безопасности давали подобного рода рекомендации: «обязательно удаляйте избыточную метаинформацию из документов перед публикацией». И объясняли зачем это может понадобиться (пример). В сети масса инструкций о том как это сделать для различных форматов изображений и документов, но в то же время про такой распространённый формат как PDF внятной информации довольно мало.

Я провел небольшой эксперимент и по результатам собрал небольшой toolchain и freeware утилит. Вот этим всем и хочу поделиться.
Читать дальше →

Information

Rating
4,097-th
Registered
Activity