Как стать автором
Обновить
17
0

Пользователь

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

PostgreSQL. Тестируй то, тестируй это, тестируй не боясь

Время на прочтение24 мин
Количество просмотров14K

Как:

1. тестировать на продуктивных данных и не бояться

2. получить 100 копий продуктивной БД и не создавать 100 серверов

3. узнать какой будет план запроса на продуктиве

4. дать каждому разработчику свою БД с данными и не разориться на оплате дисков

Если вам это нужно и у вас PostgreSQL, то эта статья для вас.

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии4

Сократить бэкапы на 99.5% с hashget

Время на прочтение8 мин
Количество просмотров11K

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


Это обзорная статья для описания возможностей. Само использование hashget (довольно простое) описано в README проекта и wiki-документации.


Сравнение


По закону жанра, начну сразу с интриги — сравнения результатов:


Data sample unpacked size .tar.gz hashget .tar.gz
Wordpress-5.1.1 43 Mb 11 Mb ( 26% ) 155 Kb ( 0.3% )
Linux kernel 5.0.4 934 Mb 161 Mb ( 20% ) 4.7 Mb ( 0.5% )
Debian 9 (LAMP) LXC VM 724 Mb 165 Mb ( 23% ) 4.1 Mb ( 0.5% )

Предыстория, каким должен быть идеальный и эффективный бэкап


Каждый раз, когда я делал бэкап свежесозданной виртуалки, мне не давало покоя чувство, что я что-то делаю не так. Почему у меня получается увесистый бэкап от системы, где моего бесценного нетленного творчества — однострочный index.html с текстом "Hello world"?

Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии40

Habr Weekly #19 / BT-дверь для кошки, зачем ИИ мухлюет, что спросить у будущего работодателя, сутки с iPhone 11 Pro

Время на прочтение2 мин
Количество просмотров3K
Всего голосов 13: ↑13 и ↓0+13
Комментарии0

XKB: перенастроим клавиши под себя любимого

Время на прочтение8 мин
Количество просмотров96K
В один прекрасный день надоедает нажимать Shift, чтобы вывелся символ ~ вместо `.
Надоедает тянуться до Esc, при этом клавишей CapsLock пользуетесь РЕДКО.
Надоедает смещать кисть вниз и нажимать Ctrl/Cmd/Win слабым мизинчиком, либо, не дай бог, тянуться до них большим пальцем.
Надоедает лезть за PgUp, PgDn, Home и End, двигая руку каждый раз, чтобы всего лишь промотать страницу вниз.
Надоедает каждый раз, когда вы делаете опечатку, со злобой смотреть на клавиатуру в поисках кнопки Backspace.



Сегодня мы узнаем, как навсегда избавиться от этих мучений.

Зачем это всё?


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

Многие раскладки для печати (Dvorak, Colemak и т.п.) сильно улучшают расположение клавиш, ставя их ближе к тем местам, куда нужно меньше тянуться. Но при этом совершенно забывают о модификаторах, спец. символах и командных клавишах (Enter, Backspace, Tab, Esc, Delete). А мы подумаем о том, как улучшить существующее положение вещей.

В статье пойдём от простейших изменений, до более интересной и глубокой настройки. И, как в конце хороших фильмов, я оставлю читателя подумать, что делать дальше, и не дам готового рецепта на всё. В конце концов, идеальных и универсальных решений нет, и на раскладку клавиатур товарищей нет.
Читать дальше →
Всего голосов 64: ↑53 и ↓11+42
Комментарии97

Обзор Veeam Agent for Microsoft Windows: версия 2.1

Время на прочтение4 мин
Количество просмотров18K
Одновременно с Veeam Backup & Replication 9.5 Update 3 вышли в свет и новые версии Veeam Agent для ОС Windows и Linux. Эти решения для бэкапа физических машин могут работать теперь как автономно, так и централизованно под управлением Veeam backup server. Сегодня я немного расскажу о новых фичах Veeam Agent for Microsoft Windows, которые не были освещены в прошлом посте. За сим добро пожаловать под кат.


Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии4

Интернет в поездках. Анализ зарубежных SIM-карт

Время на прочтение7 мин
Количество просмотров67K
imageРаньше в путешествиях я просто покупал локальную sim-карту и в конце поездки выбрасывал. Но потом путешествия становились сложнее, появились пересадки и несколько стран за один трип – и каждый раз покупать симки не хватило бы ни времени, ни денег. И тут я начал искать ту идеальную sim-карту, которая работает worldwide и за копейки). Естественно, что такой карты не бывает, но нашел несколько продуктов, которые отлично друг друга дополняют. Тема актуальна не только потому что лето. Недавно отменили роуминг в EU, причем северные страны получили особые права брать roaming fee, а южные поменяли тарифы. Инфу актуализировал для себя, но пригодится каждому путешествующему зарубеж.

Основных универсальных продуктов на рынке три: MTX Connect, DrimSim, AirBalticCard Card. Еще достойны внимания четыре prepaid-тарифа от зарубежных операторов, которые можно купить самостоятельно в ближайшей поездке, либо через посредников в России: Saunalahti от Elisa FI (Финляндия), Internetikaart от Elisa EE (Эстония), Mundo от Orange ES (Испания), Vodafone 25 от Vodafone IT (Италия).

Разброс цен приличный. Ниже Вы найдете большую сравнительную таблицу со странами и ценами, а также краткое резюме по каждому продукту.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии45

Пожароопасность паяльных станций Lukey

Время на прочтение1 мин
Количество просмотров39K
image
(извиняюсь за качество фото)

Сегодня меня разбудил отчетливый запах дыма и возгласы жены — «вставай скорее, у тебя там что-то горит в мастерской». Спустя пару секунд я увидел источник едва не начавшегося пожара — у воткнутой в розетку, выключенной паяльной станции lukey 852d+ фен раскалился до красного свечения, бодрым огнем горела пластиковая ручка.
Читать дальше →
Всего голосов 68: ↑63 и ↓5+58
Комментарии74

Очередные умные часы своими руками

Время на прочтение18 мин
Количество просмотров89K


Вдохновившись некоторое время назад статьей «Умные часы своими руками за 1500р.», я тоже решил попробовать сделать подобный девайс.


Эта статья не позиционируется как руководство к действию или инструкция, скорее как указание на ключевые моменты, с которыми мне пришлось столкнуться. Быть может, кому-то она послужит источником вдохновения и полезной информации.


Подбор компонентов, разводка платы, пайка в суровых условиях, 3D-печатный корпус и JavaScript на часах — под катом. Welcome!

Всего голосов 145: ↑144 и ↓1+143
Комментарии214

Электромеханический конструктор ROBOTS-XXI

Время на прочтение2 мин
Количество просмотров15K
Разбирая завалы хлама в гараже, обнаружил свой старый конструктор с которым с удовольствием играл в детстве. Данный конструктор начал выпускаться в 1986 году, мой экземпляр был выпущен в 1990. Производился он в Латвийской ССР фирмой производственным объединением Straume. Судя по всему закрылось оно в 1992 году.

Коробка
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии30

Хакаем CAN шину авто для голосового управления

Время на прочтение8 мин
Количество просмотров119K


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

Мой автомобиль Skoda Octavia 2011 г. в. не предлагает возможностей управления с телефона, поэтому я решил исправить этот недостаток, а заодно и добавить функцию голосового управления. В качестве шлюза между CAN шиной и телефоном я использую Raspberry Pi с шилдом CAN BUS и WiFi роутер TP-Link. Протокол общения агрегатов авто закрытый, и на все мои письма предоставить документацию протокола Volkswagen отвечал отказом. Поэтому единственный способ узнать, как общаются устройства в авто и научиться ими управлять является реверс-инжиниринг протокола CAN шины VW.

Я действовал поэтапно:

  1. Разработка CAN шилда для Raspberry Pi
  2. Установка ПО для работы с CAN шиной
  3. Подключение к CAN шине авто
  4. Разработка сниффера и изучение протокола CAN шины
  5. Разработка приложения для телефона
  6. Голосовое управление с помощью Homekit и Siri

В конце видео голосового управления стеклоподъемником.
Читать дальше →
Всего голосов 81: ↑81 и ↓0+81
Комментарии110

Ещё один формат хранения архивов: dar

Время на прочтение8 мин
Количество просмотров41K

Введение



Есть известная поговорка, что системные администраторы делятся на три типа: тех, кто не делает бэкапы; тех, кто уже делает бэкапы и тех, кто делает и проверяет, что бэкапы рабочие.

Однако этого недостаточно, и сейчас для пользователя системы бэкапов важен такой параметр как скорость, причём не только скорость самого бэкапа, то есть архивирования файлов, но и восстановления.
Читать дальше →
Всего голосов 75: ↑69 и ↓6+63
Комментарии52

Используем высокие разрешения на неподдерживающих их видеокартах

Время на прочтение6 мин
Количество просмотров133K
Засматриваетесь на 4K UHD-мониторы, но ваш лаптоп не поддерживает высокие разрешения? Купили монитор и миритесь с частотой обновления в 30Гц? Повремените с апгрейдом.

TL;DR: 3840×2160@43 Гц, 3200×1800@60 Гц, 2560×1440@86 Гц на Intel HD 3000 Sandy Bridge; 3840×2160@52 Гц на Intel Iris 5100 Haswell.

Предыстория


Давным-давно, когда все мониторы были большими и кинескопными, компьютеры использовали фиксированные разрешения и тайминги для вывода изображения на экран. Тайминги были описаны в стандарте Display Monitor Timings (DMT), и не существовало универсального метода расчета таймингов для использования нестандартного разрешения. Мониторы отправляли компьютеру информацию о себе через специальный протокол Extended display identification data (EDID), который содержал DMT-таблицу с поддерживаемыми режимами. Шло время, мониторам стало не хватать разрешений из DMT. В 1999 году VESA представляет Generalized Timing Formula (GTF) — универсальный способ расчета таймингов для любого разрешения (с определенной точностью). Всего через 3 года, в 2002 году, его заменил стандарт Coordinated Video Timings (CVT), в котором описывается способ чуть более точного рассчитывания таймингов.

Оба стандарта были созданы с учетом особенностей хода луча в электро-лучевой трубке, вводились специальные задержки для того, чтобы магнитное поле успело измениться. Жидкокристаллические мониторы, напротив, таких задержек не требуют, поэтому для них был разработан стандарт CVT Reduced Blanking (CVT-R или CVT-RB), который является копией CVT без задержек для CRT, что позволило значительно снизить требуемую пропускную способность интерфейса. В 2013 году вышло обновление CVT-R c индексом v2, но, к сожалению, открытого описания стандарта в интернете нет, а сама VESA продает его за $350.

История


Наконец-то настала эра высокой плотности пикселей и на ПК. На протяжении последних нескольких лет, нас встречал театр абсурда, когда на мобильные устройства ставят пятидюймовые матрицы с разрешением 1920×1080, полки магазинов уставлены большими 4K-телевизорами (хоть на них и смотрят с расстояния 2-4 метров), а мониторы как были, так и оставались с пикселями с кулак. Подавляющее большинство говорит, что Full HD выглядит «достаточно хорошо» и на 27" мониторе, забывая, что предыдущее «достаточно хорошо» чрезвычайно быстро ушло после выхода iPad с Retina. Вероятнее всего, такая стагнация произошла из-за плохой поддержки высокой плотности пикселей в Windows, которая более-менее устаканилась только к выходу Windows 8.1.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии30

Ежегодная конференция разработчиков и пользователей свободного программного обеспечения OSDN Conference

Время на прочтение1 мин
Количество просмотров2.1K
Команда FlyElephant приглашает всех 17 сентября в Киев принять участие в OSDN Conference 14.0 — ежегодной конференции разработчиков и пользователей свободного программного обеспечения.

Основной темой мероприятия традиционно является практическое применение решений с открытым исходным кодом, включая облачные вычисления, DevOps, интернет вещей (IoT) и многое другое. К участию приглашаются все, заинтересованные в создании и использовании свободного ПО.

Актуальный список докладов доступен на сайте конференции. Участие в конференции — бесплатное.

Место проведения конференции — «Нивки Холл» по адресу пр. Победы, 84.

Зарегистрироваться или предложить свой доклад можно на сайте osdn.org.ua.
Всего голосов 17: ↑15 и ↓2+13
Комментарии0

Расшифровка базы данных KeePass: пошаговое руководство

Время на прочтение9 мин
Количество просмотров89K

image


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


На данный момент существует 2 версии KeePass:


  • KeePass 1.x (генерирует файлы .kdb);
  • KeePass 2.x (генерирует файлы .kdbx).

Структура файла с базой данных KeePass (.kdb, .kdbx) состоит из 3 частей:


  • Подпись (не зашифрована);
  • Заголовок (не зашифрован);
  • Данные (зашифрованы).

Далее я подробно расскажу о том, как дешифровать базу данных KeePass 1.x и KeePass 2.x.

Читать дальше →
Всего голосов 67: ↑67 и ↓0+67
Комментарии39

Используем Secure Boot в Linux на всю катушку

Время на прочтение17 мин
Количество просмотров110K


Технология Secure Boot нацелена на предотвращение исполнения недоверенного кода при загрузке операционной системы, то есть защиту от буткитов и атак типа Evil Maid. Устройства с Secure Boot содержат в энергонезависимой памяти базу данных открытых ключей, которыми проверяются подписи загружаемых UEFI-приложений вроде загрузчиков ОС и драйверов. Приложения, подписанные доверенным ключом и с правильной контрольной суммой, допускаются к загрузке, остальные блокируются.


Более подробно о Secure Boot можно узнать из цикла статей от CodeRush.



Чтобы Secure Boot обеспечивал безопасность, подписываемые приложения должны соблюдать некоторый «кодекс чести»: не иметь в себе лазеек для неограниченного доступа к системе и параметрам Secure Boot, а также требовать того же от загружаемых ими приложений. Если подписанное приложение предоставляет возможность недобросовестного использования напрямую или путём загрузки других приложений, оно становится угрозой безопасности всех пользователей, доверяющих этому приложению. Такую угрозу представляют загрузчик shim, подписываемый Microsoft, и загружаемый им GRUB.


Чтобы от этого защититься, мы установим Ubuntu с шифрованием всего диска на базе LUKS и LVM, защитим initramfs от изменений, объединив его с ядром в одно UEFI-приложение, и подпишем его собственными ключами.

Читать дальше →
Всего голосов 71: ↑71 и ↓0+71
Комментарии28

OMGYes: веб-сайт, обучающий доведению женщин до оргазма (18+)

Время на прочтение2 мин
Количество просмотров32K
image

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

При помощи специалистов из Индианского университета (Индиана, США) и Института имени Кинси (изначально называвшегося Институтом исследования секса) было опрошено более 1000 женщин в возрасте от 18 до 95 лет. В результате было составлено несколько методик стимуляции женских половых органов, наиболее эффективных для достижения цели.
Читать дальше →
Всего голосов 30: ↑15 и ↓150
Комментарии31

Автоматический контроль времени жизни общих C++-QML объектов

Время на прочтение6 мин
Количество просмотров10K
Речь пойдет об объектах, используемых в C++ и QML одновременно, верхушкой иерархии наследования которых является QObject. Насколько мне известно, реализации механизма автоматического контроля времени жизни таких объектов на уровне библиотеки не существует. Подобный механизм избавил бы от сложностей, возникающих при ручном контроле времени жизни объектов, а так же от потенциальных багов, утечек памяти и крешей приложения. В этой статье я опишу этапы реализации данного механизма, а так же проблемы, рассмотренные в процессе исследования данной проблемы.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии14

Какой квадрокоптер выбрать для GoPro? Рассмотрим лучших среди бюджетных

Время на прочтение4 мин
Количество просмотров118K
Свой первый квадрокоптер я купил более двух лет назад и купил я его, чтобы открыть новые ракурсы для своей «гопрошки». Сегодня совсем другая ситуация и на рынке квадрокоптеров и с курсом доллара, однако желание купить квадрокоптер для съёмки с воздуха — всё так же актуально. Поэтому в этой статье я расскажу о том, на какие квадрокоптеры стоит обратить внимание и с какими сложностями вы можете столкнуться.


«Подвес DJI Phantom»
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии10

Атрибуты свойств в Objective-C. Инструкция для начинающих

Время на прочтение9 мин
Количество просмотров82K
image

Есть множество разных мест, где описано значение атрибутов, используемых при объявлении свойств, но, как правило, все такие источники либо описывают применение только одного из атрибутов, либо содержат еще кучу ссылок на другие документы, переходя по которым со временем начинаешь терять нить рассуждений. Безусловно, нужно стремиться познать все тонкости, для чего нужно прочитать горы литературы. Но для начала вполне достаточно разобраться в основах. Ниже я постарался максимально просто изложить основные используемые при объявлении свойств атрибуты, их значение и основные случаи, когда стоит использовать то или иное значение атрибута.
Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии20

Делаем свою работу в Xcode чуточку эффективнее

Время на прочтение2 мин
Количество просмотров21K
Разработка программных продуктов — очень интересный процесс, который нам всем очень-очень нравится, но есть некоторые вещи, которые слишком монотонны. Сегодня я бы хотел рассказать про то, как я упростил свой рабочий процесс в Xcode с помощью различных сторонних плагинов.

Интеграции :)

Заинтересованных прошу под кат
Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии32
1

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Зарегистрирован
Активность