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

Пользователь технологий

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

С заботой о CPU: как найти узкое горлышко и сконфигурировать Postgres Pro

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

СУБД Postgres Pro – сложный механизм, который можно гибко настраивать под конкретный тип нагрузки. Для этого в нём имеется множество параметров и инструментов. Например, одним из главных потребителей ресурсов CPU является оптимизатор/планировщик запросов, который отвечает за построение оптимального плана выполнения. Существует большое количество параметров, которые прямо или косвенно влияют на работу планировщика, но к их изменению надо подходить очень осторожно, т. к. возможен обратный эффект. Например, параметры _collapse_limit могут и помочь оптимизатору рассмотреть большее количество вариантов планов, и негативно повлиять на время планирования.

Сегодня я расскажу, как мы решали реальную проблему производительности и высокой (> 90%) утилизации ресурсов CPU на промышленном «боевом» сервере с СУБД Postgres Pro Enterprise 15, обслуживающем запросы бизнес-приложения, какие для этого использовали инструменты и что мы изменили в настройках СУБД.

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

Народный измеритель ёмкости батареек BatteryTest

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров30K
Я разработал дешёвый, точный и максимально простой в использовании прибор, с помощью которого можно измерить ёмкость практически любой батарейки (от микроскопических батареек для слуховых аппаратов до крупных батарей). Повторить мой прибор может любой желающий.



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

Затыкаем рот Windows 10

Уровень сложностиСложный
Время на прочтение33 мин
Количество просмотров113K


Windows 10 очень любит Интернет. Обновления, синхронизации, телеметрия и ещё куча разной другой очень нужной ЕЙ информации постоянно гуляет через наши сетевые соединения. В «стандартном» сценарии использования, когда Windows 10 управляет домашним или рабочим компьютером, это, в общем-то, терпимо, хотя и не очень приятно.

Однако жизнь сложная штука и не ограничивается только стандартными вариантами. Существуют ситуации, когда подобная сетевая активность операционной системы (ОС) нежелательна и даже вредна. За примерами далеко ходить не надо. Попробуйте подключить к Интернету давно не используемый резервный компьютер, собранный на старом железе. Пока софт на нём не обновится, использовать его будет практически невозможно, всё будет дико тормозить и еле шевелиться. А если вам в этот момент нужно срочно что-то сделать?

Для того чтобы подобного не происходило, необходимо «заткнуть рот Windows», то есть сделать так, чтобы она самостоятельно перестала «стучаться» в Интернет, устанавливать обновления и заниматься прочими непотребствами. Вот именно этим мы с вами и займёмся.
Читать дальше →
Всего голосов 170: ↑160 и ↓10+196
Комментарии309

Что нам стоит вязальный аппарат построить? Некоторая информация и ряд мыслей на тему…

Время на прочтение10 мин
Количество просмотров17K
Картинка Macrovector, Catalyststuff, Freepik

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

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

Читать дальше →
Всего голосов 58: ↑57 и ↓1+79
Комментарии33

Как работает протокол X11 на самом нижнем уровне

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров41K

X11 это тот механизм на чем работает весь графический интерфейс Unix подобных ОС.


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


А протокол в своей сути прекрасен. Он лаконичен и почти совершенен.


В Интернете есть полная документация по протоколу. Но дело в том, что эта документация большая, написана не совсем ясным языком и, по сути, является просто спецификацией. Важные моменты никак не обозначены, а как использовать – тоже оставлено на фантазию читателя.


А все книги и статьи по использованию X11 описывают это через библиотеки прокладки типа XLib и XCB, и даже, что хуже, GTK или Qt.


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


Как бы то ни было, если кому-то интересно как все работает на самом деле, пожалуйста под кат.

Читать дальше →
Всего голосов 160: ↑158 и ↓2+197
Комментарии182

Разбираем TLS по байтам. Где собаки зарыты?

Уровень сложностиСредний
Время на прочтение34 мин
Количество просмотров17K


Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только не все дети знают, что это значит и как работает. Кажется я это уже писал? Ах да, это же вторая часть статьи с разбором TLS.

В первой мы увидели, что такое «защищённое соединение», сколько и каких ключей для него нужно, кто кого шифрует и подписывает, и что такое «сертификат». Сейчас разберёмся, как всё это дело реализуется в протоколе TLS: как выглядит рукопожатие, как сделать ключ шифрования своими руками, в каком виде данные передаются по сети.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии2

Как настроить Nginx в качестве балансировщика нагрузки

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

Что такое балансировка нагрузки?


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

Существует несколько типов балансировщиков нагрузки:

  • Балансировщик нагрузки приложений.
  • Сетевой балансировщик нагрузки.
  • Балансировщик нагрузки шлюза.
  • Классический балансировщик нагрузки.
Читать дальше →
Всего голосов 19: ↑15 и ↓4+17
Комментарии22

Миссия выполнима: УКВ ЧМ супергетеродин на дискретных компонентах

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


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

И если средневолновый транзисторный супергетеродин — вещь обычная, которую многие из нас помнят с детства, а некоторые даже собирали своими руками, то ультракоротковолновые, они же FM-радиоприёмники, чаще строили и продолжают строить на микросхемах. (Если не считать ламповых и транзисторных радиол и многодиапазонных приёмников с УКВ модулем).

Такой УКВ супергетеродин я сегодня соберу. Без микросхем, на 12 транзисторах, 6 из которых задействованы в радиотракте, и ещё 6 в усилителе звуковой частоты. А ещё поговорим о структуре сигнала ЧМ радиостанции и способах его детектирования.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии18

В России не любят Линукс, а я не люблю виртуальные машины. Что делать?

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

В России не любят Линукс. Студенты и корпорации всячески отлынивают его использовать, даже если Линукс насаждают преподаватели или госзаказчики. Но есть область, в которой Линукс придется полюбить. Это разработка микросхем. Даже внутри Apple и Microsoft инженеры используют Synopsys Design Compiler / IC Compiler и Cadence Genus / Innovus, у которых вообще нет версий для Windows и MacOS, только для Linux. Да, я знаю, что Synopsys и Cadence ушли из России. Но даже открытые тулы для синтеза ASIC - Open Lane - есть только под Linux.

Я уже несколько лет использую для семинаров по FPGA загружаемые через USB SSD диски, на который ставится весь необходимый софтвер. Такое решение позволяет избежать агонии первого дня семинара, когда приходит куча народу со своими ноутбуками, три часа ставят Quartus, а потом мучаются с драйверами USB Blaster для китайского контрафактного клона, который без танцев с бубном не хотят поддерживать не Win10, ни Linux, ни особенно Win11, который хочет подписанные драйверы.

А как же виртуальные машины? - спросите вы. С моей точки зрения они вносят дополнительный уровень танцев с бубном. И это не мое дремучее мнение - так же считает мой приятель, который работал над виртуализацией в Микрософте. То оно USB порт не пробивает, то еще какие-нибудь глюки. Плюс учить дополнительные опции, качать и копировать файлы в десятки гигабайт. А тут вставил в USB порт, и если загрузится, то заработает.

Конечно, загружаемые SSD тоже не без проблем: тут и Legacy BIOS boot против UEFI boot, и Secure Boot с Bit Locker, и зловещий "хвост GPT", и отрубание всего из-за скачка напряжения в USB хабе - но с этими проблемами мы методично разобрались. Решение я и описываю в этой заметке, предназначенной в первую очередь для учеников и руководителей кластеров в Школе Синтеза Цифровых Схем, которая начинается с сентября в 14 российских городах (объявления и точных дат еще нет, но уже записалось 200 учеников).

Прежде всего: как выглядит загружаемый SSD? А вот так:

Читать далее
Всего голосов 49: ↑42 и ↓7+44
Комментарии161

Сигнатурный анализатор «ACORN VA»

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров7.3K

История началась в 2019 году, когда я работал сервисным инженером по ремонту промышленного оборудования. Как-то раз, во время очередного компонентного ремонта, мне начальник предложил собрать хороший инструмент "из прошлого" для быстрого поиска неисправностей и ремонта печатных плат. По его утверждению, с помощью этого таинственного устройства ремонт происходил в разы быстрее (во времена своей молодости начальник занимался ремонтом персональных компьютеров и периферии). И даже название того оригинального прибора мне было озвучено - Huntron Tracker®.
Изучив подробно новую для себя тему, я принялся к сборке простейшей аналогичной схемы из нескольких деталей (не без скепсиса конечно). Это была приставка к осциллографу.

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

День толстой полярной лисички: как построены наши кризисные группы

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

Это пиесец, да

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

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

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

Итак, в ту субботу примерно в 3 часа ночи наши безопасники (которые не ИБ, а более прикладные) вежливо порекомендовали обратить внимание на ситуацию. Около 5:40 утра глава Липецкой области порекомендовал не ездить в Воронеж, а губернатор Ростовской области — не ездить в Ростов. Информационный поток — это на мне, поэтому я решил, что это не локальная ситуация, нажал на большую красную кнопку и запустил полноценный процесс обработки кризиса.
Читать дальше →
Всего голосов 55: ↑54 и ↓1+66
Комментарии23

Индикатор добротности. Тестер катушек индуктивности

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

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

Читать далее
Всего голосов 37: ↑33 и ↓4+39
Комментарии19

Разбираем HTTP/2 по байтам

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров34K

image


Откройте любую статью с обзором HTTP/1.1. Скорее всего, там найдётся хотя бы один пример запроса и ответа, допустим, такие:


GET / HTTP/1.1
Host: localhost

HTTP/1.1 200 OK
Date: Sat, 09 Oct 2010 14:28:02 GMT
Server: Apache
Content-Length: 38
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<h1>Привет!</h1>

Теперь откройте статью с обзором HTTP/2 или HTTP/3. Вы узнаете о мультиплексировании запросов, о сжатии заголовков, о поддержке push-технологий, но вряд ли увидите хоть одно конкретное сообщение. Ясно, почему так: HTTP/1.1 — текстовый протокол, тогда как сиквелы к нему бинарные. Это очевидное изменение открывает дорогу ко множеству оптимизаций, но упраздняет возможность просто и доступно записать сообщения.


Поэтому в этой статье предлагаю покопаться в кишках у HTTP/2: разобрать алгоритмы установки соединения, формат кадров, примеры взаимодействия клиента с сервером.

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

Управление памятью в PHP. Сборка мусора, слабые ссылки и прочая челядь

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

1. Введенние.
2. Zval.
3. Циклические ссылки.
4. Сборщик мусора.
5. Алгоритм работы сборщика мусора.
6. Смотрим глазами.
7. Слабые ссылки.
8. Бонус-трэк: WeakMap.
9. Заключение.

Читать далее
Всего голосов 23: ↑22 и ↓1+26
Комментарии6

Миссия выполнима: собрать и настроить супергетеродин

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


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

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

Сегодня я расскажу, как собрать супергетеродин, как его настроить, и что такое преобразование частоты. Познакомимся с историей радио и изучим схемы.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+45
Комментарии50

Назад в прошлое: как быстро восстановить MySQL на точку во времени

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7K

Point in Time Recovery (PiTR) — это восстановление базы данных на какой‑то конкретный момент времени (с точностью до секунд или до конкретной транзакции).

PiTR невероятно полезен для восстановления базы данных после того, как «случилось непоправимое». Если достаточно точно выбрать точку на которую восстанавливать базу, то можно восстановить базу данных практически без потери данных.

В этой статье мы рассмотрим классический PiTR и еще два способа путешествовать во времени быстрее, и уменьшить количество операций, которые надо выполнять руками.

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

Реализация двустороннего A* на двух потоках

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров5.4K

На Хабре можно найти немало статей, посвящённых оптимизациям поиска кратчайшего пути на графе. Я расскажу ещё про еще один подход. Речь пойдёт о распараллеливании алгоритма A* и исполнении его на двух потоках, а также о сложностях, с которыми я столкнулся при реализации, и их преодолении.

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

70+ бесплатных приманок для ловли хакеров

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

Сегодня я хочу поделиться подборкой open source ханипотов, которые можно использовать для защиты своих серверов и локальных сетей от кибератак. Но для начала давайте разберемся, что такое ханипот и зачем он нужен.

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

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

Надежные пароли будут надежно забыты. Часть 2. Распределенные системы наносят ответный удар

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

Это был конец декабря 2021-го года, мы едем через Техас, только что благополучно переночевали в El Paso — низкий тебе поклон Голливуд за прекрасные фильмы, такие как Sicario, после которых у нас тряслись коленки когда мы въезжали в этот прекрасный город. Продолжаем движение по направлению к Boca Chica, посмотреть на StarBase (оно того стоит поверьте). На улице жара +30 и солнечно, приятная летняя погода. В фоне отгоняю от себя мысли о том, что тут творится летом с температурой и людьми.

О чем можно думать в этот момент кроме как о космосе, о будущем и о распределенных системах? Конечно много о чем, а не этой гиковской фигне:) ...

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

Моделируем в радиолокации то, что обычно не моделируют

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.4K

Привет, хабр! Уже более 5 лет занимаюсь разработкой и моделированием радиолокационных систем, в частности «больших» локаторов дециметровой длины. В своей практике сталкивался с тем, что при разработке такой сложной системы, как локационная, в основном делают упор на моделировании функциональной части, например, блоков фильтрации, типа зондирующего сигнала, алгоритмов компенсации задержек, а иногда и учет нелинейных эффектов, в частности в аналоговом усилительном тракте.

Как‑то раз, разрабатывая модель функциональных блоков и ячеек локатора в матлабе и симулинке (для моих нужд и целей этого аппарата хватало вполне), задумался о том, что живой локатор так не работает, он состоит из множества дополнительных систем, которые в совокупности и формируют его истинный облик. Проведя небольшие исследования, а также на личном опыте столкнулся с тем, что мало кто из разрабов моделит САУ, а уж совместно с функциональной частью и подавно. Еще меньше моделят учет и потери пакетов при сетевом трафике, а это частая проблема у «больших» локаторов со множеством приемо‑передающих ячеек и блоков.

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

Итак, поехали..

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии7
1
23 ...

Информация

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