Pull to refresh
14
Karma
0.1
Rating
Иван Кудрявцев @ivankudryavtsev

Техдиректор

Устройство и полезные фишки Hashicorp Vault

Go *

Мое видение продукта Vault от Hashicorp.

Думаю многие слышали о такой системе хранения секретов Vault от Hashicorp. Кроме Vault Hashicorp выпустила еще много востребованных решений - Boundary, Terraform, которые предоставляют возможности управления PAM (Privileged Access Management) и IAS(Infrastructure As a Code) соответственно и многие другие.

Читать далее o Hashicorp Vault
Total votes 5: ↑0 and ↓5 -5
Views 2.1K
Comments 1

Инструкция: сделать доверенность заграницей для РФ и РБ

IT-emigration

В дополнение к вчерашней статье "Документы перед выездом из РФ".

Вводные: вы уезжаете из России или Беларуси, но там остаются дела.

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

Читать далее
Total votes 27: ↑24 and ↓3 +21
Views 13K
Comments 11

GitOps — что это такое и с чем его едят?

Конференции Олега Бунина (Онтико) corporate blog Git *DevOps *Kubernetes *

На самом деле почти никто не знает, что такое GitOps. Я тоже заблуждался, пока не начал готовить доклад, а потом статью по этой теме. Самое распространенное определение GitOps — это «хранение состояния в Git», но оно не единственное и не самое главное. Это звучное словечко  придумали в Weaveworks, но его название несколько разнится с его реальным пониманием. Созвучие с DevOps — скорее, маркетинговый ход, чем реальное отражение сущности. Основная идея GitOps в том, что помимо хранения состояния в Git, у нас есть непрерывный процесс его синхронизации с реальным миром, то есть, что у вас Kubernetes-кластере или где либо ещё в вашем окружении.

Меня зовут Андрей Квапил. Я работал в чешском хостинге WEDOS. Он не сильно популярен в России, но это крупнейший хостинг на территории Чехии (просто Чехия маленькая).  Сейчас я работаю во Фланте, но именно на примере европейского хостинга WEDOS, хочу рассказать историю имплементации GitOps.

Читать далее
Total votes 25: ↑25 and ↓0 +25
Views 8.5K
Comments 4

Скрининг-колл с рекрутером: вопросы, которые скорее всего вам зададут

IT-emigration IT career

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

В этой статье я расскажу:

• Что такое скрининг-колл.

• Какие типовые вопросы встречаются на скрининг звонках в США, вне зависимости от того собеседуют ли в стартап или в FAANG компанию.

• А также на какие вопросы вы не должны отвечать на скрининг звонках в США.

Читать далее
Total votes 11: ↑8 and ↓3 +5
Views 4.1K
Comments 15

Самообучающийся трекер объектов: как отслеживать цель в изменчивых условиях сцены

Data Mining *Machine learning *
⚒️ Data Mining season
✏️ Technotext 2022

Специалисты по компьютерному зрению не один десяток лет бьются над трекингом объектов. Они перепробовали многое: от старой-доброй оценки движения оптическим потоком до сетей-трансформеров.

Есть один подход к трекингу, широко известный на западе, но о котором мало пишут по-русски: Incremental Visual Tracker (IVT). Это трекер объектов на основе модифицированного метода главных компонент: он самообучается на ходу и адаптируется к изменчивым условиям.

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

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

Как правильно подготовиться к сбою в RAID

Data recovery *Data storage *
Sandbox

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

Читать далее
Total votes 13: ↑7 and ↓6 +1
Views 5.9K
Comments 28

Во что вам обойдется конкурентная обработка. Иерархия проблем

High performance *C++ *System Programming *Algorithms *Concurrent computing *
Translation

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

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

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

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

Читать далее
Total votes 30: ↑28 and ↓2 +26
Views 4.9K
Comments 5

Что было до Большого Взрыва?

Popular science Physics Astronomy

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

А в чем, собственно, проблема состоит? Теория Большого Взрыва - это не теория о Большом Взрыве, а о том, что было после него. Сам Большой Взрыв математически выглядит как математическая сингулярность, а это плохо - физики очень не любят бесконечности. Поэтому забота всех теорий о Большом Взрыве - от этих бесконечностей избавиться.

Читать далее
Total votes 45: ↑40 and ↓5 +35
Views 40K
Comments 62

Экстремальная настройка производительности HTTP: 1,2M API RPS на инстансе EC2 с 4 виртуальными процессорами (vCPU)

Флант corporate blog High performance *Configuring Linux *System administration *Network technologies *
Translation

Прим. перев.: автор данного исследования — Marc Richards, Solutions Architect и DevOps-инженер — продемонстрировал потрясающую настойчивость и тщательность в тотальной оптимизации производительности веб-приложения. Получившийся материал — кладезь полезных знаний для расширения своего кругозора в области оптимизации, особенностей сетевого стека в Linux и не только, даже вне зависимости от практической заинтересованности в конечном результате автора. Приготовьтесь к по-настоящему длинному техническому путешествию с обилием терминологии, увлекательных графиков и полезных ссылок.

Читать далее
Total votes 75: ↑75 and ↓0 +75
Views 16K
Comments 7

Почему мьютексы в Rust реализованы именно так

Programming *Concurrent computing *Rust *
Translation

Я часто слышу от пробующих работать с Rust системных программистов жалобы на мьютексы и особенно на Rust Mutex API. Жалобы обычно выглядят так:

  • Они не хотят, чтобы мьютекс содержал данные, только блокировку.
  • Они не хотят управлять «защитным» значением, разблокирующим мьютекс при сбросе, в частности, они просто хотят вызывать операцию unlock, потому что им кажется, что это более явное действие.

Такие изменения превратили бы Rust mutex API в эквивалент C/Posix mutex API. Однажды я даже видел, как один разработчик пытался использовать Mutex<()> и разные хитрости, чтобы его имитировать.

Однако у такого стремления есть проблема: эти два аспекта Mutex неразрывно связаны друг с другом, а также с гарантиями безопасности Rust в целом — изменение одного из них или обоих откроет возможности для возникновения незаметных багов и повреждений из-за гонок данных.

Использование API мьютексов в стиле C, состоящего из набора косвенно защищаемых данных и из функций lock и unlock было бы опрометчивым в Rust, потому что это позволяет безопасному коду легко вносить ошибки, нарушающие безопасность памяти и вызывающие гонки данных.

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

В этом посте я разберу типичный C mutex API, сравню его с типичным Rust mutex API, и расскажу о том, что произойдёт, если мы изменим Rust API так, чтобы он напоминал C.
Читать дальше →
Total votes 60: ↑60 and ↓0 +60
Views 11K
Comments 26

Предотвращение троттлинга процессора в контейнеризованной среде

Wunder Fund corporate blog Programming *CPU
Translation

В Uber все рабочие нагрузки, хранящие состояние, запускают на единой контейнеризованной платформе. Аппаратной основой этой платформы является обширный парк серверов. Среди таких рабочих нагрузок можно отметить MySQL, Apache Cassandra, ElasticSearch, Apache Kafka, Apache HDFS, Redis, DocstoreSchemaless. Во многих случаях они совместно работают на одних и тех же физических хостах.

Речь идёт о 65000 таких хостов, о 2,4 миллионах процессорных ядер и о 200000 контейнеров. Мы постоянно боремся за повышение эффективности использования серверов, делая это ради снижения затрат на их поддержку. Это — важная задача, но до недавнего времени её достойному решению мешал троттлинг процессоров. Это явление указывало на то, что нашим программам выделялось недостаточно ресурсов.

Оказалось, что проблема заключалась в том, как именно ядро Linux распределяет процессорное время между процессами. В этом материале мы расскажем о переходе с квот CPU (квот на ресурсы процессора, CPU quotas) на механизм распределения процессов по процессорам и памяти (cpusets; эта технология ещё известна как CPU pinning — закрепление процессора). Такой переход позволил нам значительно снизить задержки в 99 перцентиле (P99) в обмен на небольшой рост задержек в 50 перцентиле (P50). Это, в свою очередь, позволило нам снизить уровень выделения процессорных ядер во всём нашем серверном парке на 11% благодаря уменьшению различий в требованиях к ресурсам.

Читать далее
Total votes 24: ↑24 and ↓0 +24
Views 5.8K
Comments 9

Биометрия в ритейле: большие надежды и суровая реальность

М.Видео-Эльдорадо corporate blog Big Data *Business Models *Cyberpunk

Привет! Меня зовут Макс, я являюсь продукт оунером видеоаналитики в М.Видео-Эльдорадо. Сегодня поговорим о такой сложной теме как биометрия. Многие компании пытаются ее использовать, не у всех это получается, и еще меньшее количество умеет на ней зарабатывать.

Читать далее
Total votes 15: ↑13 and ↓2 +11
Views 3.7K
Comments 21

Саморазвивающийся искусственный интеллект

Machine learning *

Развитие науки идет с использованием стандартных методов. Сбор исходных данных, построение моделей, тестирование моделей опытами, открытая публикация для проверки сообществом. Все достаточно просто. Ядро науки составляют модели. Примеры моделей, которые известны всем со школьной парты: U=IR; F=ma. Даже на основе приведенных двух моделей вы можете нагенерировать миллионы школьных задачек. Если же модель устаревает и становится неактуальной, она уходит в архивы истории.

Попробуем промоделировать развитие искусственного интеллекта, основанного на нейросетях. Математическая модель одного нейрона постоянно совершенствуется и уточняется: y=f(sum(wi*xi)+b). Архитектуры нейросетей динамично развиваются. Технический доступ к любым элементам нейросети за время O(log(n)) уже готов. Узкое место сейчас - это такая деталь как процессоры. А вообще история показала, что весь этот процесс длительный и идет уже не одно десятилетие.

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

Биологические нейросети очевидно работают, но поставлены в жесткие эволюционные рамки. Достаточно простая идея - создать первичную искусственную разумную нейросеть, которая сама подскажет как ее совершенствовать. Это быстрее и лучше чем самим ломать головы из каких деталей лепить муравьёв-терминаторов в стиле Boston Dynamics. Риски конечно есть, но подход делай что должен и будь что будет адекватно описывает текущую ситуацию.

Так, вроде бы понятно все написано. Сингулярность ...
Технические детали активно обсуждаются в научном сообществе:
https://www.youtube.com/watch?v=Yow9YxRnR70
https://habr.com/ru/post/366237/
https://habr.com/ru/post/377229/

Читать далее
Total votes 25: ↑2 and ↓23 -21
Views 13K
Comments 23

Как сделать стрим в Postgres?

Конференции Олега Бунина (Онтико) corporate blog High performance *PostgreSQL *Database Administration *Data storages *

На одной конференции мне задали вопрос (спасибо Александру!): как сделать стрим в PostgreSQL? Представьте, что имеется bytea и вы к нему хотите что-то дописать. Люди столкнулись с тем, что на это в PostgreSQL  тратится гигантское время  и растет WAL-трафик. 

Расскажу, что с этим возможно сделать — это будет еще один пример оптимизации TOAST (о чем я недавно писал), на на этот раз — для быстрой записи потока бинарных данных. На самом деле мой коллега, Никита Глухов, за несколько часов сделал расширение, которое «вылечило» проблему, и мы даже успели рассказать про это на сессии блиц-докладов на PGConf.Online 2021.

Читать далее
Total votes 33: ↑33 and ↓0 +33
Views 8K
Comments 1
Со стороны кажется, что новый дата-центр, построенный с нуля за полгода — это тривиальный проект. Но, во-первых, в дело вкрались всем известные события 2020-го. А во-вторых, Утконос ОНЛАЙН не нужен был просто дата-центр; им нужно было решение, на котором можно основать будущее компании. Эта статья о том, как мы создавали такое решение и почему в процессе создания вдруг почувствовали себя настоящими зодчими.
Читать далее
Total votes 25: ↑25 and ↓0 +25
Views 18K
Comments 43

Отечественный процессор — так каким он должен быть?

CPU

Предыдущая статья про микропроцессор Эльбрус вызвала живой отклик читателей Хабра. Изначально я планировал написать только статью о технических проблемах VLIW-архитектур на конкретном примере Эльбруса и имел мало желания углубляться в вопрос дальше, ввиду его куда большой скользкости и дискуссионности. Но сказать «А» и не сказать «Б» было бы, наверное, не совсем правильно. Поэтому в данной статье я попытаюсь изложить исключительно СВОЙ взгляд на проблематику того, какие процессорные Архитектуры (в контексте general purpose CPU) надо развивать и поддерживать рублем в России.

Читать далее
Total votes 116: ↑101 and ↓15 +86
Views 44K
Comments 338

Список ноотропов, покупка которых не окажется пустой тратой денег

Brain

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

Читать далее
Total votes 121: ↑85 and ↓36 +49
Views 230K
Comments 235

Применение модулей LRDIMM в высокопроизводительных серверах

HOSTKEY corporate blog High performance *
LRDIMM (Load-Reduced Dual Inline Memory Module или «DIMM со сниженной нагрузкой») – тип модулей памяти, поддерживаемых серверными платформами с 2012 года. Модули LRDIMM схожи с регистровыми модулями DIMM и подходят к тем же разъемам памяти. Однако принцип работы LRDIMM отличается от RDIMM. Используя LRDIMM в обычном сервере можно сделать 512Гб, 1Тб или 1,5Тб памяти.


Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Views 60K
Comments 22

Friends: The Reunion: 17 лет спустя. Или как по английскому Мэтта Леблана мы узнали, что он никогда не играл Джоуи

EnglishDom corporate blog Learning languages

Привет, Хабр! Сериал «Друзья» — это целая эпоха, которая закончилась 17 лет назад, а на деле навсегда прописалась в нашем сердечке. 

И вот мы посмотрели «новый эпизод» «Друзей», как писали в русскоязычном пространстве, а на деле шоу о создании сериала, которое вызывает бурю эмоций. 

Автор статьи будучи еще зеленым пацаном смотрел «Друзей» по телевизору, стараясь не пропускать ни одну серию. Потому что смешно. И пусть даже далеко не все шутки можно было перевести на русский идеально — это автор понял после просмотра сериала уже на английском — но это все равно было офигенно. 

Так что немного поностальгируем о былом, вспомним «Друзей» и заодно разберем некоторые интересные фразы на английском, которые мы встретили в Friends: Reunion.

Читать далее
Total votes 21: ↑14 and ↓7 +7
Views 40K
Comments 24

Представляем OpenShift Pipelines

Red Hat corporate blog Open source *Virtualization *Kubernetes *Openshift *

3 мая 2021 года Red Hat выпустила первую общедоступную версию OpenShift Pipelines, облачно-ориентированной системы непрерывной интеграции на базе СПО-проекта Tekton. Решение реализует kubernetes фреймворк CI/CD для разработки и выполнения конвейеров, в которых каждый шаг запускается в своем собственном контейнере, что позволяет масштабировать шаги независимо друг от друга. Сегодня мы вкратце рассмотрим ключевые особенности и преимущества этого решения, а также приведем список дополнительных ресурсов для дальнейшего знакомства с ней и освоения.

Читать дальше: OpenShift Pipelines...
Total votes 2: ↑2 and ↓0 +2
Views 5.2K
Comments 0

Information

Rating
2,820-th
Location
Россия
Date of birth
Registered
Activity