Search
Write a publication
Pull to refresh
1
0
Дмитрий @SHadDim

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

Send message

Оптимизация запросов. Основы EXPLAIN в PostgreSQL

Reading time3 min
Views236K

Почему запрос выполняется так долго? Почему не используются индексы?
Наверное, все слышали об EXPLAIN в PostgreSQL. Но не так много тех, кто понимает, как его использовать. Сам длительное время не мог найти доступного для понимания учебника (плохо искал?).
Надеюсь, эта статья поможет желающим разобраться с этим замечательным инструментом.
Читать дальше →

Оптимизация запросов. Основы EXPLAIN в PostgreSQL (часть 2)

Reading time4 min
Views156K

Подолжаю публиковать авторскую переработку Understanding EXPLAIN от Guillaume Lelarge.
Ещё раз обращу внимание, что часть информации для краткости опущено, так что настоятельно рекомендую ознакомиться с оригиналом.
Предыдущие части:

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

Оптимизация запросов. Основы EXPLAIN в PostgreSQL (часть 3)

Reading time6 min
Views96K

Подолжаю публиковать авторскую переработку Understanding EXPLAIN от Guillaume Lelarge.
Ещё раз обращу внимание, что часть информации для краткости опущено, так что настоятельно рекомендую ознакомиться с оригиналом.
Предыдущие части:

Часть 1
Часть 2
Читать дальше →

3-осевой подвес для зеркалки за 400$

Reading time7 min
Views17K
Думаю многим знакома такая ситуация, вы снимаете что-то захватывающее, динамичное, потрясное, и думаете: вот приду сейчас домой и смонтажу экшн видео! Однако при просмотре отснятого материала начинаете плеваться оттого, что половину можно смело выкидывать из-за ужасной тряски, которую в 30-50% случаев невозможно отстабилизировать программно. Что же делать в таких случаях? Если вы хотите снимать динамику, скоростные пролеты камеры, а не стоять со штативом и унылым лицом, то эта штука для вас!


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

Почти весь умный дом: большая подборка отдельных смарт-элементов: лампы, розетки, климат, экология и безопасность

Reading time17 min
Views59K
Категория управляемых смарт-устройств в «рубрике» умный дом уже близка к тому, чтобы перестать поддаваться исчислению и систематизации, и отдельные прогнозы пока еще указывают на рост интереса пользователей к этой нише.



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

Turris Omnia — мощный, открытый и безопасный домашний роутер

Reading time2 min
Views34K
Turris Omnia

Тяжело и грустно смотреть на современные роутеры, особенно дорогие свежие модели. Покупая устройство за 20000 рублей, владельцы первым делом советуют сменить прошивку на альтернативную из-за нестабильности заводской, а некоторым приходится мириться с той, какая есть. Подавляющее большинство производителей домашних сетевых устройств не ставят безопасность на первое место, подолгу исправляя уязвимости, либо же вообще довольно быстро снимают модель с поддержки.

Чешские ребята из CZ.NIC, что подарили миру замечательный демон маршрутизации BIRD, который используется, в том числе, в Московской точке обмена трафиком MSK-IX, DNS-сервер Knot DNS, продвигали DNSSEC с момента его появления и одними из первых запустили интернационализованные доменные имена, решили, что пора всему этому положить конец — нужно сделать достаточно мощный домашний роутер, который бы не захлебывался от гигабитного трафика, с большим количеством ROM и RAM, чтобы на нем можно было запускать все необходимое ПО, в том числе и LXC и Docker-контейнеры с полноценными ОС, который придерживался бы принципов Open Source и Open Hardware и обновлялся автоматически, без участия человека, как только разработчики закрывают уязвимости. Более того, авторы поддерживают honeypot, который симулирует роутеры с уязвимостями, на своих серверах, чтобы отслеживать последние угрозы.


замечательное видео, доходчиво объясняющее все преимущества устройства
Читать дальше →

“Солнышко для Планктонушка” – основы светототехнического моделирования в DIALux

Reading time3 min
Views19K
Здравствуй Хабр, сегодня уже пятница а значит я могу сдуть пыль со своей старой традиции публиковать по пятницам, что-нибудь «о вкусной и здоровой пище» полезное и интересное из мира науки и техники.
Близится новый год и мне хотелось бы всем подарить этот мини туториал по Dialux (бесплатной программе для светотехнического 2D и 3D моделирования).
Посмотрев эту короткую статью и покрутив в руках проект прилагаемый к ней вы получите самые начальные представления о светотехническом моделировании. Дерзайте светотехнические расчеты это совсем не страшно.

Сегодня мы будем обеспечивать комфортные нормативные условия труженикам дисплея и бумаги.
За подробностями под кат.
(Внимание! Под катом трафик)

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



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

Разбираемся с UEFI и GPT: установка Windows и Kubuntu на один диск

Reading time4 min
Views618K
Помните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? На смену уже давно пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).

Предыстория: Понадобилось мне недавно на свой домашний десктоп поставить 2 системы, чтобы разграничить окружение. Kubuntu для разработки на Ruby on Rails (ибо работаю удаленно), и Windows для всяких игрушек в свободное время. Хочу заметить, что несколько лет назад это было достаточно просто: один раздел для винды и один раздел для линукса, загрузчик записывался в MBR. Однако, технологии не стоят на месте, и оказалось, что настройка dual boot'а теперь несколько изменилась.
Читать дальше →

Выбираем правильную флэшку USB 3.0

Reading time4 min
Views122K
Рано или поздно любая техническая вещь переходит в разряд холодильника, т.е. покупая ее большинство думает скорее о внешнем виде и вместимости, чем о характеристиках. Собственно, так давным-давно произошло с USB-флэшками – многие мои знакомые, готовые с пеной у рта обсуждать скоростные характеристики какого-нибудь SSD, когда дело касается флэшек, машут рукой и покупают красивенькую известной фирмы (чаще всего Kingston или Silicon Power). Потому как «…а чё там выбирать то? Флэшка и есть флэшка».

А между тем, выбирать есть из чего. Скоростные характеристики отдельных USB-драйвов могут превосходить среднерыночные этак раза в 4-ре. При этом цена на них не будет заоблачной.



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

[Тестирование] Твердотельный накопитель Kingston UV300 с памятью TLC емкостью 120 гигабайт

Reading time4 min
Views9.2K
Привет, Гиктаймс! Недавно был анонс первого накопителя в модельном ряду Kingston с применением типа памяти TLC и я пообещал сразу же познакомить читателей GT с диском, как только он окажется у меня в руках. С удовольствием выполняю обещание: под катом тестирование Kingston UV300 емкостью 120 гигабайт.


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

«Собрать большой коптер ничего о них не зная?» — да ерунда

Reading time7 min
Views40K
Думаю все заметили, что в интернете достаточно много статей про квадрики мелкого размера: тесты, обзоры и т. д. А вот тестов больших коптеров маловато. Думаю в основном потому, что большой коптер – это чаще всего индивидуальная постройка (не всегда, но часто). Поэтому я решил написать про свой личный «самосбор» – гексакоптер на раме tarotfy680. В качестве предыстории хочу рассказать о том как я собирал этот коптер с нулевыми знаниями. За три года он претерпел много модификаций: от мелких до полной смены «тяговой начинки».


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

Руководство по выбору сканера для дома и офиса

Reading time11 min
Views69K
Мы решили учесть все комментарии, полученные после публикации предыдущего поста, и опубликовать версию 2.0, улучшенную и дополненную. Благодарим всех, кто помог сделать пост лучше! (Предыдущий пост удалять не будем для тех, кто уже добавил его себе в избранное, но добавим ссылку на новую версию)


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

Принтер со сканером или отдельный сканер?



Перевести документ в электронную форму можно, воспользовавшись сканером, установленным в МФУ (многофункциональном принтере со встроенным сканером и копиром) или отдельным устройством – планшетным или потоковым.

При ограниченном бюджете удобнее рассмотреть вариант покупки МФУ. Сканеры в таких устройствах немного проигрывают по скорости сканирования и качеству получаемого изображения отдельным сканерам.

Если же вы планируете переводить в архив большие объемы документов (например, в офисе или отделе бухгалтерии) или вам крайне важно высокое качество отсканированных материалов (для перевода аналоговых фото и пленки в электронный формат), рекомендуем обратить внимание на отдельное сканирующее устройство. Рассмотрим, почему это так.
Читать дальше →

Как работает ZFS — часть 2: metaslab

Reading time6 min
Views11K
В первой части я описал как организованы данные на vdev в ZFS. Вторая часть описывает как работает алгоритм выбора собственно места, куда запись будет идти в данный момент.

Здесь я немного усложню задачу — в первой части был описан только один vdev; здесь их у нас будет несколько, поскольку алгоритм должен выбрать и vdev, куда мы будем писать блок данных, и metaslab внутри vdev'a. В продакшн системе может быть несколько десятков vdev, и правильно распределить данные по ним критично — перебалансировать их мы уже не сможем без копирования всех данных. Цель правильного алгоритма — распараллелить данные так, чтобы на каждом девайсе их было примерно одинаковое количество, выровнять неравномерное заполнение, но и не перегрузить один из девайсов (это будет тормозить запись на весь пул).

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          c1t6d0    ONLINE       0     0     0
          c1t5d0    ONLINE       0     0     0


Для начала, важное замечание: ZFS рассчитан на то, что все девайсы в пуле имеют одинаковый размер. Иначе, например если добавить 2Тб диск в пул из 1Тб дисков, на 2Тб диске в результате окажется в два раза больше данных, и он начнёт влиять на суммарный IOPs системы — алгоритм аллокатора учитывает процент заполнения, а не количество данных в байтах.

На данный момент в ZFS есть четыре алгоритма аллокатора. Переменная zfs_metaslab_ops содержит поинтер на структуру space_map_ops_t, в которой есть поинтеры на семь функций, которые использует каждый конкретный алгоритм. Например, в Illumos используется алгоритм metaslab_df, и соответствующий стракт с поинтерами на функции выглядит вот так:
Читать дальше →

Как работает ZFS — часть 1: vdev

Reading time3 min
Views33K
Vdev, или Virtual Device — это базовая единица, на которой строится массив данных ZFS (zpool). Для работы ZFS необходим как минимум один vdev — виртуальное устройство, которое позволяет случайный доступ к информации на уровне блоков.

Обычно, в качестве таких блоков используются целые диски или iScsi/FC LUNы (raw-disk vdev), но можно также использовать разделы дисков или файлы. Целые диски предпочтительнее, так как для них ZFS использует onboard write cache, в результате чего производительность записи может значительно улучшиться. Я пока не буду объяснять разницу между logical vdev и leaf vdev — это топик для отдельной статьи про то как работает RaidzN и zfs mirror.
src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/fs/zfs/vdev_disk.c#314
if (vd->vdev_wholedisk == 1) 
{
	int wce = 1;
	/*
	 * If we own the whole disk, try to enable disk write caching.
	 * We ignore errors because it's OK if we can't do it.
	 */
	(void) ldi_ioctl(dvd->vd_lh, DKIOCSETWCE, (intptr_t)&wce, FKIOCTL, kcred, NULL);
}

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

Каждый vdev разделен на логические разделы (metaslab),
Читать дальше →

SCT Error Recovery Control

Reading time4 min
Views107K
… или что такое на самом деле 'raid edition' для жёстких дисков



Немного теории


Существуют две стратегии поведения НЖМД при обнаружении ошибки:
  • standalone/desktop — пытаться прочитать до последнего. Это ощущается как «тормозящий винт», который всё-таки работает, если это единичный сбой, то «затупило, но прошло», плюс характерный перестук перекалибрующихся головок.
  • raid — отваливаться тут же. Это ощущается как «внезапно была ошибка диска но потом mhdd и т.д. НИЧЕГО НЕ НАШЁЛ ЧТО МНЕ ДЕЛАТЬ».
Статегии очевидным образом различаются по предназначению — десктоп лучше протупит, но ошибку не выдаст, в рейде есть запасной винт, и терпеть минутные тормоза на чтении никто не имеет никакой возможности. Не получилось прочитать? Читаем с запасных винтов, помечаем весь винт как сбойный, начинаем ресинк, а диск потом отправят в утилизатор. Возможно, незаслуженно, но нечего икать на ответственной должности.

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

Расшифровка названия


Возможность управления поведением диска при ошибках называется очень и очень путанно: SCT ERC. Это расшифровывается как SCT Error Recovery Control. SCT в свою очередь название общего протокола SMART Command Transport. SMART в свою очередь расшифровывается как Self-Monitoring, Analysis and Reporting Technology, таким образом, полная расшифровка SCT ERC звучит так: Self-Monitoring, Analysis and Reporting Technology Command Transport Error Recovery Control (выдохнули).
Читать дальше →

Контроллер дистанционного управления для ПК-сервера с текстовой консолью, без паяльника и Arduino

Reading time27 min
Views85K

Аннотация


Хотя один из героев второго плана — ИК-порт на материнской плате, не стану я рассказывать про пульты от телевизоров и переключение ими треков в любимом медиаплеере. В продолжение истории про сервер FreeNAS, построенный из старого железа, я расскажу, как снабдить его столь же нехитрым бортовым контроллером с последовательным портом (консолью) поверх IP (Serial-over-LAN), дистанционным сбросом (RESET) и управляемым питанием. Спрашивается: зачем? Ведь *nix и так неприхотлив в дистанционном управлении: включил тот же SSH и управляй себе на здоровье. Но что будет при аварии? Стартовом сбое операционной системы? Что, если надо нажать RESET? Сделать апгрейд системы? Или запустить fsck в single user? Или восстановить спиленный сук неверно настроенный firewall? Не ехать же на площадку каждый раз, подключать монитор, клавиатуру и торчать ночью в офисе на регламентных работах… или мозолить глаза днём сердитому Бизнесу.

Ещё один NAS своими руками, часть 4: призрак Чернобыля


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

Напрашивается устройство, часто именуемое off-band (baseboard) management controller, или автономный бортовой контроллер дистанционного управления. Это такая серебряная посеребрённая пуля, уменьшающая чрезмерные нагрузки на священный сисадминский зад. По функциям наше изделие близко к IPMI за некоторым вычетом, и до настоящих серверных продуктов вроде iLO или DRAC тут, конечно, далеко. Да, лучше купить готовый контроллер за половину стоимости старого компьютера (или серверную платформу за пятикратную стоимость), если того требует важность данных и связанные риски. Я же собрал рабочее устройство немногим дороже $70, которое к моменту публикации поста успело выручить меня уже несколько раз, чего и всем желаю.

Используете старый ПК-сервер Linux дома или в офисе? Некому нажать RESET? Не хватает денег на серверную платформу? Возможно, вы узнаете новые способы упростить себе жизнь. Программировать почти не будем, паяльник и Хор Друидов не потребуются, зато вспомним весёлые 90-е. Микроэлектроника — это просто!

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

Флэш-память для загрузки FreeNAS и прочих embedded OS

Reading time16 min
Views119K

Аннотация


Анализ ошибок и технических сбоев — традиционно наименее раскрытая и наиболее интересная тема, которая как раз и показывает, насколько удачная была инженерная идея. Построив некоторое время назад сервер NAS из старого железа, мы начинаем анализ происходивших с ним отказов. В этой статье речь пойдет об отказах из-за загрузочной флэшки и их вероятных причинах. Даны рекомендации по выбору флэш-памяти. Отчасти применимо и к другим встраиваемым системам, например, бытовым видеорегистраторам.

Еще один NAS своими руками, часть 2: хорошие воспоминания*


*Рекламный слоган одного известного производителя памяти звучит «Good memories start here».

Практически все специалисты рекомендуют при выборе загрузочной флэшки не экономить и не использовать популярный бренд noname. Несмотря на корневую файловую систему FreeNAS версии 9 в режиме read-only, потребительские USB-флэшки компактного дизайна за полгода отказывали дважды, в обоих случаях примерно спустя пару месяцев эксплуатации. Причем оба использованных бренда, по мнению некоторых опрошенных представителей отрасли, вполне адекватные и уважаемые, в поставке откровенного брака незамеченные.


На фото: два вполне адекватных представителя крохотных флэшек на 8Гб и 16Гб

В чем же дело? Бесконечен ли ресурс чтения флэш-памяти? Попробуем разобраться.
Читать дальше

Собираем DJI f450 или почему я не купил Phantom 3

Reading time4 min
Views47K
Немного истории. Квадрокоптер типа f450 у меня уже около 3х лет. За все это время на нем поменялись 3 комплекта двигателей, 2 комплекта регуляторов и пропеллеров: от дешевых turnigyдо t-motor. Но в итоге, после выхода комплекта E300 от DJI, я остановился именно на них. Этот набор* вместе с рамой я заказал с ebay.


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

Tor выпустил бету защищённого мессенджера

Reading time2 min
Views18K
image

Разработчики Tor представили бета-версию своего мессенджера с шифрованием сообщений. Сообщение об этом появилось 29 октября в официальном блоге проекта. Новый мессенджер сочетает в себе использование сети Tor для обеспечения анонимности и протокола OTR (off the record) – для шифрования.

Tor Messenger поддерживает различные транспортные сети для сообщений, в том числе: Jabber (XMPP), IRC, Google Talk, Facebook Chat, Twitter, Yahoo, и другие. Основу программы составляет Instantbird – мессенджер от разработчиков из Mozilla. Разработкой мессенджера три человека из компании Tor занимаются уже более года.

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

Подборка нетривиальных велосипедных фонарей с Kickstarter и не только

Reading time3 min
Views12K
За последнее время совершенно не по сезону на Kickstarter появилось сразу несколько светящихся устройств для велосипеда. С другой стороны — готовь сани летом, а телегу — зимой. Поэтому мы решили подготовить небольшую подборку велофонариков.

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity