Pull to refresh
-18
0

Admin Oracle, Linux, AIX, Kafka, devops

Клиповое мышление: как замедлить цифровое слабоумие

Level of difficulty Easy
Reading time 4 min
Views 69K

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

Читать далее
Total votes 127: ↑95 and ↓32 +63
Comments 202

Две мощных возможности Python, упрощающие код и улучшающие его читабельность

Level of difficulty Easy
Reading time 10 min
Views 24K

Улучшите качество кода, украсив его оператором match и срезами объектов.

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

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

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

Читать далее
Total votes 32: ↑25 and ↓7 +18
Comments 29

Присматриваемся к Kafka tiered storage

Level of difficulty Medium
Reading time 31 min
Views 3.6K

Добрый день, уважаемые ИТ-ники. На связи Михаил Голованов.

В этом сезоне нашего Kafka шоу В статье я расскажу о реализации tiered storage в Apache Kafka.

Теория будет перемежаться практикой и найденными граблями.

Читать далее
Total votes 3: ↑3 and ↓0 +3
Comments 5

Почему вам стоит отказаться от использования timestamp в PostgreSQL

Reading time 10 min
Views 54K

Не секрет, что работа с часовыми поясами — боль, и многие разработчики объяснимо стараются ее избегать. Тем более что в каждом языке программирования / СУБД работа с часовыми поясами реализована по-разному.

Среди тех, кто работает с PostgreSQL, есть очень распространенное заблуждение про типы данных timestamp (который также именуется timestamp without time zone) и timestamptz (или timestamp with time zone). Вкратце его можно сформулировать так:

Мне не нужен тип timestamp with time zone, т.к. у меня все находится в одном часовом поясе — и сервер, и клиенты.

В статье я постараюсь объяснить, почему даже в таком довольно простом сценарии можно запросто напороться на проблемы. А в более сложных (которые на самом деле чаще встречаются на практике, чем может показаться) баги при использовании timestamp практически гарантированы.

Читать далее
Total votes 96: ↑93 and ↓3 +90
Comments 136

Молодые математики открывают новую главу в изучении простых чисел

Level of difficulty Easy
Reading time 11 min
Views 39K
Анимация отсева по Эратосфену, где показаны кратные величины каждого простого числа, простирающиеся вдоль числовой оси.

Более 2000 лет назад греческий математик Эратосфен разработал метод поиска простых чисел, получивший название решето Эратосфена, который остаётся актуальным по сей день. Его идея заключалась в том, чтобы определять простые числа вплоть до заданной точки путём постепенного «отсеивания» тех, которые таковыми не являются. Начинается отсев с вычёркивания всех чисел, кратных 2 (кроме самой 2), затем кратных 3 (кроме 3). Следующее число, 4, уже оказывается вычеркнуто, значит, очередным шагом идёт вычёркивание всех чисел, кратных 5 и так далее. Все оставшиеся в итоге числа считаются простыми, то есть такими, которые делятся только на 1 и на самих себя.

Эратосфен работал со всем множеством простых чисел, но вы можете использовать вариации его метода для поиска таких, которые будут обладать особыми свойствами. Хотите найти «близнецов», которые отличаются всего на 2 единицы, например, 11 и 13 или 599 и 601? Для этого есть свой отсев. Интересуют простые числа, которые на 1 больше полного квадрата, например, 17 или 257? И для этого тоже есть свой отсев.
Читать дальше →
Total votes 70: ↑66 and ↓4 +62
Comments 39

Сжатие сообщений в Apache Kafka

Reading time 6 min
Views 4.4K

Apache Kafka способен обеспечивать невероятно высокую пропускную способность. Он славится такими впечатляющими достижениями, как поддержка 20 миллионов заказов в час для рассылки тестов на COVID гражданам США во время пандемии. Достичь такого уровня масштабируемости позволяет подход Kafka к партиционированию топиков.

Читать далее
Total votes 12: ↑8 and ↓4 +4
Comments 0

Настройка производительности диска и памяти в Linux

Level of difficulty Medium
Reading time 15 min
Views 9.9K

В отличие от таких операционных систем как HPUX (dbc_min_pct, dbc_max_pct) или AIX (minperm%, maxperm%), в Linux нет возможности настраивать размер кэша страниц, читаемых с диска (страничный кэш, page cache). Под страничный кэш Linux использует всю доступную память. Размер страничного кэша можно увидеть в /proc/meminfo в параметре "Cached". В /proc/meminfo есть также значение "Buffers", которое часто путают с размером страничного кэша. "Buffers" — это память, содержащая сырые дисковые данные (raw disk data) и выступающая в роли промежуточного буфера между процессами, ядром и диском.

В этой статье рассмотрим, как Linux работает с памятью, и, в частности, со страничным кэшем, а также исследуем, как доступный объем памяти влияет на производительность буферизованного ввода-вывода (buffered IO).

Читать далее
Total votes 28: ↑27 and ↓1 +26
Comments 4

10 лет Docker: от революционной идеи до современной практики

Reading time 8 min
Views 16K

Привет, Хабр! На момент написания статьи, я занимаюсь надежностью (SRE) в компании Workday, еще помогаю студентам в Практикуме осваивать курс по DevOps-практикам.

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

Читать далее
Total votes 35: ↑31 and ↓4 +27
Comments 26

Лёгкие и производительные ноутбуки: инструменты, которые можно использовать дома и в дороге

Reading time 5 min
Views 8.3K

Привет, Хабр! Эта подборка посвящена производительным, но мощным ноутбукам с минимальным весом. Все они весьма хороши по производительности, возможностям и автономности.

Что обычно хочется получить от дорогого и лёгкого ноутбука? Отличную клавиатуру и тачпад нормального размера. Ещё приятный глазу дисплей с высокой яркостью и контрастностью, необходимыми для работы в солнечный день. Не забудем и о высокой производительности для выполнения рабочих задач либо для игры. Что же, поехали!

Читать далее
Total votes 17: ↑11 and ↓6 +5
Comments 38

Многопоточность в Python: очевидное и невероятное

Level of difficulty Medium
Reading time 4 min
Views 22K

В данной статье я покажу на практическом примере как устроена многопоточность в Python, расскажу про потоки, примитивы синхронизации и о том зачем они нужны.

Изначально я планировал что это будет простая и короткая заметка, но пока готовил и тестировал код нашел интересный неочевидный момент связанных с внутренностями CPython, так что не спешите закрывать вкладку, даже если вы уверены что вы знаете о потоках в Python всё :)

Читать далее
Total votes 44: ↑41 and ↓3 +38
Comments 16

Сколько воды в итоге нужно пить на тренировке, в жизни, за день?

Level of difficulty Easy
Reading time 4 min
Views 4.9K

Одержимость водой начала заходить за какие-то крайности. Рекомендации по ее употреблению можно услышать уже от любого эксперта. Хочешь больше зарабатывать - пей 8 стаканов воды. Хочешь наладить отношения - пей больше воды. Хорошо учиться? Построить бизнес? Лучше спать? Ну, вы поняли.

"Ну пили бы и пили! Калорий нет, в туалет сходит, все вышло. Это же лучше, чем не пить!" Только все далеко не так безобидно, что ученые уже давно обеспокоены нездоровым отношением к гидрации организма.

Читать далее
Total votes 21: ↑10 and ↓11 -1
Comments 8

PostgreSQL 16: Часть 4 или Коммитфест 2023-01

Reading time 17 min
Views 4.8K

Продолжаем следить за новинками 16-й версии. В начале февраля завершился четвертый коммитфест. Что нового нас ждет впереди?


Напомню, что самое интересное из первых трех коммитфестов можно прочитать в предыдущих статьях серии: 2022-07, 2022-09, 2022-11.

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

Зеркалирование топиков Kafka по-бруклински

Level of difficulty Hard
Reading time 22 min
Views 4K

Буквально на секунду представьте, что у вас есть парочка здоровенных кластеров Apache Kafka, каждый из которых держит по нескольку миллионов rps. И тут вас попросили зеркалировать топик из одного кластера в другой. Максимально близко к реалтайму, да ещё и с некоторыми специфическими условиями. Если стало страшно, интересно или страшно интересно, то это статья для вас.

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

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

Что использовать для распределённого хранения данных Zabbix, и почему мы остановились на нетипичном решении?

Level of difficulty Hard
Reading time 7 min
Views 2.5K

На одном крупном проекте мы, инженеры компании «Инфосистемы Джет», столкнулись с типичной проблемой стандартных инсталляций Zabbix на больших объемах - производительностью и низкой отказоустойчивостью базы данных. Конфигурация Zabbix была следующей:

один Zabbix-сервер;

множество прокси;

сервер БД PostgreSQL с расширением TimescaleDB;

сервер Grafana для визуализации данных.

При обычной нагрузке (12000 NVPS) система работала стабильно, но стоило произойти массовой аварии на инфраструктуре или перезагрузке сервера/прокси, как производительности БД не хватало. В такие моменты очень быстро накапливались очереди обработки данных, заканчивались кэши – система фактически прекращала работу. Непростую ситуацию ухудшали еще ложные срабатывания (данные не всегда могли попасть в БД) и рассылка уведомлений ответственным администраторам, проверявшим состояние систем в WEB-интерфейсе. Для восстановления работы приходилось перезапускать компоненты друг за другом, контролируя нагрузку на БД.

Проблему оперативно решили при помощи снижения количества чанков для хранения трендов. Причина происходящего крылась в некорректном партиционировании трендовых данных. Детально о проблеме и методах решения можно почитать в баг-репорте производителя (ZBX-16347). Он помог нам в устранении аварии, но ограничиваться только им не стали – одного репорта, на наш взгляд, было недостаточно. Мы стали смотреть шире и задумались над альтернативными решениями.

А какие варианты есть?

Начнём с того, что наибольшая нагрузка на БД в Zabbix создается на операциях с историческими данными и происходящими в мониторинге событиями. Это таблицы: history, history_uint, history_text, history_str, history_log, events, problems. Производитель предлагает использовать следующие БД: MySQL, PostgreSQL и Oracle DB. Кроме того, исторические данные можно отправлять и в Elasticsearch.

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 3

Домашние печки и чайники постоянно пингуют заграничные хосты

Reading time 3 min
Views 31K


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

  • google.com
  • baidu.cn
  • yandex.ru
Читать дальше →
Total votes 62: ↑57 and ↓5 +52
Comments 304

Как обслуживать etcd: несколько замечаний и советов

Reading time 7 min
Views 13K
Inside of the Nautical Cave by AshnoAlice

Если вы администрируете кластеры Kubernetes в своей инфраструктуре, а не используете версии, управляемые облачными провайдерами, то, скорее всего, уже управляете кластером etcd. Для тех, кому это внове, команда Kubernetes aaS от Mail.ru перевела статью о том, как обслуживать etcd.
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 2

Зачем устанавливать в компьютер 2 SSD-накопителя и что от этого меняется

Level of difficulty Easy
Reading time 7 min
Views 52K

Привет, Хабр! Мы продолжаем цикл статей, посвященных сборке игрового ПК. Даже если вы планируете поручить это профессиональным сборщикам как в XCOM-SHOP.RU, есть ряд факторов, о которых лучше всего узнать самостоятельно, чтобы будущая сборка радовала вас как можно дольше.

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

Читать далее
Total votes 40: ↑22 and ↓18 +4
Comments 79

Автоматизируйте всё с помощью Ansible

Reading time 7 min
Views 12K

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

В этом посте мы рассмотрим, как Ansible может помочь вам автоматизировать всё в вашей инфраструктуре.

Читать далее
Total votes 16: ↑12 and ↓4 +8
Comments 9

Как отделаться «малой кровью» при компрометации секретных ключей

Level of difficulty Hard
Reading time 26 min
Views 2.3K

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

Различные методы эволюции ключей (терминология не устоялась, предпочитаю использовать такой перевод словосочетания «key-evolving techniques») асимметричных криптоалгоритмов позволяют защититься от компрометации секретных ключей путем периодической модификации ключевых пар. Подобная защита направлена не на предотвращение компрометации секретного ключа, а на минимизацию последствий такой компрометации: поскольку ключи периодически модифицируются, эволюционируют, данные методы позволяют ограничиться отрицательным воздействием компрометации ключа на свойство целостности или конфиденциальности сообщений, зашифрованных или подписанных только в течение определенного, относительно короткого периода, оставляя защиту сообщений других периодов ненарушенной. Большинство протоколов с эволюцией ключей подразумевает достаточно активный обмен сообщениями между сторонами защищенного обмена данными. При этом бывают сценарии, когда возможности для интерактивного взаимодействия у сторон отсутствуют.

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

Читать далее
Total votes 7: ↑7 and ↓0 +7
Comments 3

Осторожно! Старый н̶о̶в̶ы̶й̶ развод на Алиэкспрессе

Level of difficulty Easy
Reading time 4 min
Views 90K


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


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


Как говорится, предупрежден, значит вооружен. И данная статья — предупреждение другим возможным потенциальным жертвам, а так же простые рекомендации как не попадать на ту же самую уловку, на которую попался я при оплате очередного "выгодного" предложения из Китая.

Читать дальше →
Total votes 121: ↑109 and ↓12 +97
Comments 376

Information

Rating
Does not participate
Registered
Activity