Pull to refresh

Technotext

Топология Dragonfly для дата-центровых сетей

Level of difficultyHard
Reading time40 min
Views13K

Итак, вы гиперскейлер, давайте отталкиваться от этого. Потому что если нет — собирайте хоть 3-tier на OSPF. А гиперскейлер вы в том случае, если у вас большая сеть на тысячи хостов, а лучше стоек. Вы уже попробовали топологию Клоза. Сначала вам очень нравилось. Она вся такая плотная, регулярная и масштабируемая — просто прелесть.

Как только кластер начал грозить вырасти за 2000 хостов, вы стали надстраивать ещё один уровень коммутации и докидывать в него всё новые и новые группы стоек. И продолжаете расти на десятки тысяч узлов. У вас отработанный дизайн, автоматизация ввода нового оборудования. Всё на потоке.

Но отчего‑то вы несчастливы. Вам плохо спится. Гложут сомнения и дурные мысли.
А всё дело в эпохе 400G! Вы долгие годы строили свою сеточку на 25+100, и всего всегда хватало. Раньше. А теперь надо на хосты соточку спустить. А значит и аплинки надо расширять, да вы и сами уже понимаете, что пора: ещё несколько лет — и эта сеть станет устаревшей. 200G, 400G, SerDes по 100 Гб/с на PSM4. Тут думать надо.

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

Читать далее

Мне точно нужно ходить на конференции – это вопрос или утверждение?

Level of difficultyEasy
Reading time8 min
Views2.1K

Привет, Хабр! На связи Анастасия, руководитель отдела сопровождения финансового учета в компании ecom.tech. Свою первую ИТ-конференцию я посетила в 2021 году и сразу в роли докладчика. С тех пор конференции для меня - это огромный и захватывающий мир. За пять лет я посетила Teamlead Conf, Инфостарт, Анализ & Управление в ИТ-проектах, выступила с шестью докладами. В этой статье я расскажу, как получить максимум пользы от любой конфы. 

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

Любое мероприятие – это проект

И если это проект, то у него есть последовательные этапы прохождения. Возьмем классические пять этапов: инициация, планирование, исполнение, мониторинг (контроль) и завершение.

Читать далее

ТОП 6 фишек Zabbix: применение и настройка

Level of difficultyEasy
Reading time7 min
Views19K

Всем привет! Меня зовут Женя. Я инженер поддержки бизнес-приложений в компании Банки.ру.
Не так давно мы в направлении Мобайл решили прокачать технический и продуктовый мониторинг и с этой целью начали использовать Zabbix. В результате всю логику алертинга перенесли из Grafana в новый инструмент. Благодаря этому и родилась идея поделиться опробованными фишками Zabbix с сообществом. 

В этой статье я:

• расскажу об интересных возможностях Zabbix;
• поделюсь кейсами их использования и примерами настроек;
• сравню Zabbix и Grafana и расскажу, как мы применяем их в тандеме.

Информация будет полезна продуктовым командам, которые используют только Grafana для визуализации сервисных метрик и алертинга, но хотят масштабировать и развивать свой мониторинг.

Читать далее!

OAuth 2.0, OpenID Connect и SSO для самых маленьких

Level of difficultyMedium
Reading time17 min
Views20K

Всем привет! Меня зовут Павел, я Head of Development в Банки.ру. Сегодня хочу погрузиться с вами в, кажется, уже давно заезженные темы: Single sign-on, OAuth, OpenID и нюансы их реализации. 

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

Я решил восполнить этот пробел и подготовил именно такой материал.
В этой статье погрузимся в теоретическую часть и рассмотрим: 

– основные Flow OAuth 2.0 и отдельно Authorization Code Flow with Proof Key for Code Exchange;
– OpenID Connect (OIDC);
– Single Sign-On или SSO: схему реализации и применение SSO в мобильных и веб-приложениях.

Читать далее

Вперед в будущее: Wayland против X11

Level of difficultyMedium
Reading time38 min
Views60K

Доброго времени суток, дорогие читатели! Сегодня я затрону одну интересную тему — графические дисплейные сервера и протоколы в Linux. В этой статье я расскажу вам о архитектуре X11 и Wayland, историю их создания и наконец-то сделаем вывод: Иксы на мороз, или вейланд на помойку?


Еще в далеком 2016 году вышла Fedora 25 с окружением GNOME 3.22 на базе дисплейного сервера Wayland. А в RHEL 10 выкинут X11 на мороз. Релиз RHEL 10 намечен на 2025 год, CentOS Stream 10 — на 2024 год. Для обеспечения работы приложений, требующих X11, будет использоваться XWayland. Таким образом, в 2029 году (к моменту окончания первого этапа поддержки RHEL 9) стоит ожидать появление первого аппаратного обеспечения, не поддерживающего X11.


И как я думаю — будущее за Wayland. Но пока X11 является стандартом. Давайте разберем это!


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

Xv6: увеличим размер страниц виртуальной памяти с 4Кб до 2Мб

Level of difficultyMedium
Reading time8 min
Views2.4K

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

Пример: Пусть программа занимает 4 Мб памяти. Размер страницы - 4 Кб. Программа займет (1024 * 1024 * 4) / (1024 * 4) = 1024 страницы памяти. ОС избавит процессор от лишней работы, если увеличит размер страницы до 2 Мб - тогда программа займет 2 страницы.

Читать далее

Типовой процесс разработки электроники

Reading time6 min
Views7.8K

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

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

Читать далее

Корпоративный OpenVPN, или как сделать тигра из кошки

Reading time16 min
Views9.6K

Говорят, из кошки не сделать тигра, но сегодня мы попробуем добавить «корпоративности» очень простому и популярному ВПН-решению. OpenVPN Community Edition является решением с открытым кодом, очень популярным в мире и довольно безопасным. В корпоративной среде его использование часто бывает проблематично – отсутствуют важные функции, позволяющие разворачивать решение большому количеству пользователей с минимальными затратами.

Читать далее

Импортозамещаем почту в 2024: обзор самых хайповых сервисов сезона

Level of difficultyEasy
Reading time13 min
Views19K

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

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

Читать далее

Можно ли подключиться к виртуальному миру, как в фильме «Матрица»?

Level of difficultyMedium
Reading time9 min
Views8.3K

8 февраля — День российской науки. Наука бывает разной. Это великие учёные, которые создали базу для многих современных открытий и изысканий: Менделеев, Циолковский, Королёв, Лобачевский, Эйлер, Выготский, Мечников, Вавилов… Это научные сотрудники, преподаватели и аспиранты, которые проводят исследования в лабораториях. Это студенты, которые впервые касаются науки в вузовских кружках и обществах. Кто-то остаётся в науке и посвящает ей всю жизнь, делая посильный вклад. Кто-то уходит в практику и пользуется достижениями науки. Российская наука сохранялась даже в самые тяжелые, мрачные времена, учёные продолжали работать и изобретать. 

Сегодня мир пресыщен информацией, часто некачественной, фейковой. Каждый человек и особенно учёный просто обязан уметь провести фактчекинг, отличить ложную информацию от заслуживающей доверия. Мы в ННГУ не только проводим фактчекинг, но и делимся им с другими, помогаем развивать критическое и, что особенно важно, научное мышление. 

Читайте наш материал о том, можно ли подключиться к виртуальному миру, как в фильме «Матрица»: существует ли технология, которая может напрямую связать наш мозг с виртуальным миром?

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

Читать далее

В Испании все программисты сеньоры

Level of difficultyEasy
Reading time14 min
Views54K

Моя текущая позиция и аутсорсы последних пяти лет на 90% были в западных gamedev студиях, соответственно и общение было преимущественно с не‑ру коллегами. А когда надолго отрываешься от славянских коллективов разработки, то отличия начинают проявляться очень четко, начиная от модели управления командой и заканчивая культурой разработки. Хотя вот культурой я бы это не назвал, скорее плясками варваров‑полуиндусов на останках штатовской империи софтостроения. Индийцы тут ни при чем, а вот практики и сам процесс написания кода очень попахивает этими жителями полумифической страны Индустана. Есть немало книг по истории развития игровой индустрии и истории успехов и провалов разных студий, в основном западных, оставлю в статье список самых интересных и захватывающих, если решите углубиться в историю (кому интересно, будет под спойлером).

Одна из последних — «Not All Fairy Tales Have Happy Endings» (Ken Williams), мемуары одного из основателей Sierra On‑Line, прочитана была около года назад и понравилась больше других, наверное потому, что читая книгу — я, наконец, понимал большинство решений и причин которые привели к тому или иному результату. Этого понимания точно не было десять лет назад, это сложно объяснить, если не работал непосредственно сам долгое время с людьми с иным образом мыслей, культурным кодом, как сейчас принято говорить. Нынешняя команда на 95% франко‑испано‑английская — австралийцы, немного европейцев и американцы. В студии по‑русски говорят трое, включая меня. До этого в карьере были по большей части все же ру‑студии с привычным менталитетом, пускай и под управлением все тех же американцев, но менеджмент скрадывал все огрехи и брал «разговоры как надо» на себя, а нам доставались только технические задачи, грамоты и иногда премии. Десять лет назад, придя в индустрию создания игр, я не задавался вопросом — чем отличаются мои таски, мой код, мои идеи от тасок, кода и идей Джона из Кемпбеловки под Сан‑Хосе, потому что вокруг были все «свои». Сейчас уже тоже все «свои», но те «свои», от этих «своих» отличаются примерно — всем.

Читать далее

Я рисовала еду руками 15 лет, но потом пришла нейросеть и изменила всё

Level of difficultyEasy
Reading time15 min
Views73K

В 2014-м я ушла «на фриланс». Нужно было выбрать специализацию — невозможно одинаково хорошо делать всё. Я проанализировала свой опыт и поняла, что лучше всего у меня получаются фуд‑зоны для упаковок. Коллеги это отмечали, арт‑директора хвалили композиции из фруктов. Сделала на это ставку.

Читать далее

Как сделать мультитул на VS Code

Level of difficultyMedium
Reading time19 min
Views14K

Если от IBM инструментов уже немного устал.

Всем привет! С вами на связи Артур Яхин, я из команды разработчиков backend-а Альфа-Банка. Сегодня я расскажу Вам о том, как мы сделали свой мультитул для разработки бизнесовых продуктов на базе VS Code. Устраивайтесь поудобнее и поехали!

Читать далее

Эмиттерный повторитель — ключ к пониманию работы транзисторных каскадов

Level of difficultyMedium
Reading time9 min
Views55K


Привет, эту публикацию я хочу посвятить людям, кто, как и я, любил в детстве читать журнал «Радио» и книги по электронике, но не смог сам разобраться в принципах работы усилителей на биполярных транзисторах. Тема полупроводников непроста и требует понимания многих чуждых для нашей повседневной интуиции физических процессов. Я помню момент озарения, когда я понял принцип схемотехнического решения эмиттерного повторителя, и именно с него пошло постепенное понимание, как функционируют и другие типы транзисторных каскадов. И я предполагаю, что эта тема может стать точкой входа в аналоговую электронику не только для меня.
Читать и смотреть схемы

МК-85С. Оживляем шифровальный калькулятор

Level of difficultyMedium
Reading time11 min
Views16K
Приветствую всех!
Уверен, каждый из тех, кто интересуется отечественной вычислительной техникой, слышал про этот прибор. Давным-давно на базе «гражданского» микрокомпьютера «Электроника МК-85» была выпущена специализированная версия — МК-85С. Предназначена она была для шифрования. Очень мало кто видел этот аппарат вживую, а тех, кто знает, как он работает, ещё меньше. Долгое время считалось, что таких девайсов остались считанные единицы, но вот не так давно мне повезло и я смог заполучить себе такой экземпляр. Так что сегодня у вас есть уникальный шанс узнать его тайну и даже попробовать что-то зашифровать или расшифровать.



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

Алгоритмы манипуляций с битами

Level of difficultyMedium
Reading time13 min
Views16K

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

Читать далее

Мой опыт использования Plumber: UI-инструмент для тестирования Kafka

Reading time6 min
Views5K

Привет, Хабр! Меня зовут Марина, я QA-инженер в Купере. Как специалисту по тестированию, мне часто приходится сталкиваться с задачами, связанными с тестированием микросервисов, использующих асинхронное общение через Apache Kafka. Уверена, многие QA-инженеры, да и разработчики знакомы с подобными вызовами.

На одном из проектов, где я работаю, у меня возникла проблема: используемые инструменты для тестирования Kafka были недостаточно удобными:

Консольная утилита Protokaf не имеет интерфейса и полученные данные для лучшей читаемости нужно отформатировать в json структуру (а это еще одно доп приложение).

UI-приложение Kowl удобно только для мониторинга состояния топиков, и только недавно в нём стала доступна возможность чтения сообщений без сложного флоу для расшифровки, но всё так же нет возможность отправки сообщений в топик. 

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

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

Читать далее

Гайд по мета-анализу результатов тестов

Level of difficultyMedium
Reading time21 min
Views2.9K

Привет! На связи команда аналитиков «Пятёрочки» X5 Tech.

Подсчитать и проанализировать можно не только A/B, но также подвергнуть анализу ряд тестов с общей нулевой гипотезой. Другими словами, протестировать результаты серии тестов с классическим статистическим выводом о значимости показателей этой серии, то есть провести мета-анализ. 

На написание этой статьи меня вдохновило общение внутри моей классной команды, общение с одним из аналитиком Gett, а также данный пост и комментарии к нему по поводу статьи Ebay.

Мета-анализ стоит на ступеньку выше по доказательности, чем обычный тест, так как аккумулирует информацию по ряду тестов. Можно сказать, что он проводит операцию слияния данных (data fusion), давая оценку оценкам, поэтому и мета. И раз он сильнее по доказательности, то и позволяет увереннее внедрять статистически значимые инициативы. Про это и поговорим в статье.

Читать далее

Varioqub: за Mann-Whitney замолвите слово

Level of difficultyMedium
Reading time28 min
Views5.6K

Привет, с вами команда аналитиков “Пятёрочки” X5 Tech. Как вы уже знаете, мы активно внедряем решение AppMetrica для мобильной аналитики. В AppMetrica есть модуль для проведения A/B тестов на приложении – называется Varioqub, который является, в том числе, платформой для A/B-тестов в Яндексе. Varioqub грозится стать одним из основных инструментов для проведения тестов в рамках бизнеса на территории России и СНГ, при этом не только на приложениях, но и на вебсайтах. Поэтому было бы полезно знать, как он работает, учитывая, что под капотом данная A/B-тестилка использует такой статистический критерий как Mann-Whitney. Если вы хотите понимать способ подсчёта результатов ваших тестов и иметь их интерпретацию лучше, чем “сумму рангов”, то эта статья для вас.

Мы начнём с Mann-Whitney, по ходу разберём ещё два критерия, таких как Probability Index и ранговый тест Wilcoxon, которые помогут нам всё расставить по полочкам. Дальше мы коснёмся важных замечаний относительно этого теста, рассмотрим, как это решает Varioqub, и перейдём к самому Varioqub.

Познать Mann-Whitney

Изобретаю свой сложный способ поиска координат точки пересечения двух линий

Level of difficultyHard
Reading time21 min
Views5.4K

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

И да, я его придумал потому что не смог нагуглить, может он где-то и без меня описан был, может за эти 7 лет кто-то написал что-то похожее, а может я придумал какую-то фигню, которую умные люди изобретать не станут...

Да что там сложного?!