Pull to refresh
95
2.2
Майоров Павел @mayorovp

Senior Backend тыжDeveloper

Send message

Поднимаем Kubernetes с нуля

Level of difficulty Medium
Reading time 10 min
Views 44K

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

Читать далее
Total votes 36: ↑33 and ↓3 +30
Comments 55

Единица информации vs Понятие

Reading time 4 min
Views 13K

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

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

В магазине в ряд лежат пакеты с печеньем.
— Дайте вот это печенье (показываю на конкретный пакет).
— Какое?
— Вот это (тяну указательный палец, он почти уже упирается в пакет).
— Это??
— Да.
— Это не печенье. Это галеты… [смотрит на меня, как на идиота]
Занавес.

Язык большинства инструкций можно понять только если ты УЖЕ умеешь пользоваться гаджетом. Их авторы разговаривают сами с собой. Да ещё терминами, каждый из которых требует отдельного обстоятельного ввода.

Читать далее
Total votes 60: ↑59 and ↓1 +58
Comments 113

Это Gaidai какой-то. Сервис HTTP сценариев

Reading time 9 min
Views 2K

Привет, Хабр, меня зовут Артем Кудряшов, некоторую кучу лет я работаю в ATI.SU — крупнейшей в России бирже грузоперевозок. В разное время я писал код, управлял командами и занимался другими весёлыми вещами. В статье, что вы видите, хочу рассказать об одном из наших сервисов с интересной функциональностью и крутым, по моему личному мнению, названием — Gaidai. Поехали.

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

Разных сообщений много: на момент написания статьи мы отправляем почти 350 типов сообщений. Вот так выглядит один из вариантов, который пользователь видит на сайте:

Читать далее
Total votes 12: ↑9 and ↓3 +6
Comments 1

CoroOS: концепт операционной системы для микроконтролеров на корутинах С++20

Reading time 18 min
Views 11K

Здравствуйте! Меня зовут Александр, и я работаю программистом микроконтроллеров.

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

И ваш автор не исключение.

Как по мне - дело не то чтобы запредельно сложное, сколько кропотливое. Если у вас, как и у меня, увлечение и(или) карьера крутится вокруг Arm Cortex-M серии, то вооружаемся стволами (раз, два и три) и выдвигаемся за Джеффом. Но, написав и запустив ядро своей "best of the best" оси около года назад, я вскоре забросил разработку, ибо как я ни креативил, вместо Сокола Тысячелетия у меня получался крепенький, но банальный и скучный велосипед.

А ведь хотелось оригинальности и бесстыдного выпендрёжа.

И тут в 20-й стандарт плюсов завезли корутины.

Читать далее
Total votes 34: ↑31 and ↓3 +28
Comments 28

Кватернионы. Решение одной навигационной задачи

Reading time 10 min
Views 10K

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

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

C#: Знакомство с генераторами исходного кода

Reading time 11 min
Views 20K

image


Мы рады представить вам превью генераторов исходного кода. Это новая возможность, которая позволяет разработчикам C# анализировать пользовательский код и создавать новые файлы C#, которые в свою очередь могут добавляться в процесс компиляции. Это происходит при помощи нового компонента — генератора исходного кода (Source Generator).


Чтобы начать работу с генераторами понадобятся последние .NET 5 preview и Visual Studio preview. Примечание: чтобы построить генератор исходного кода пока требуется Visual Studio. Это будет изменено в следующем превью .NET 5.

Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 10

[Конспект админа] Что делать, если программа хочет прав администратора, а вы нет

Reading time 7 min
Views 189K


(с) Вася Ложкин.


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


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


Попробуем разобрать решения, которые позволят и программу запустить, и безопасника с финансистом не обозлить.

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

Локализация приложений: как мы подружили перевод и разработку

Reading time 14 min
Views 28K


Привет, Хабр! Я ведущий разработчик системы локализации в Badoo. Мы работаем с несколькими большими проектами: Badoo, Bumble, Lumen и Chappy. Сейчас в системе локализации у нас находятся 150 000 фраз и текстов, переведённых на 52 языка. При этом каждое из наших приложений имеет свою аудиторию, свои рынки, свой стиль общения с пользователями, версии для веба и для мобильных платформ.


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


Статья написана по мотивам моего доклада на конференции Highload++ в ноябре.

Читать дальше →
Total votes 65: ↑63 and ↓2 +61
Comments 26

DevOps, балет и ниндзя: маленькие истории про начало IT-карьеры

Reading time 15 min
Views 8.9K
Давайте вспомним, как мы вообще пришли в IT? Кто-то завидовал черепашкам ниндзя, кто-то хотел переделать любимую игру, кто-то случайно пришел в кружок радиолюбителей, а кто-то вообще собирался заниматься балетом, — пути, приводящие человека в IT-индустрию, неисповедимы; может быть, это происходит потому, что сама эта индустрия требует от очень разных людей очень разных талантов, — и жизненный опыт иногда оказывается не меньшей ценностью, чем опыт профессиональный.

Совместно с проектом PostPost.Media мы в Lamoda собрали истории как наших коллег, так и предложили всем желающим написать свои. Наслаждайтесь самыми неожиданными сюжетами или впишите свою историю в общую картину, чтобы мы добавили ее в следующую подборку :)


Читать дальше →
Total votes 27: ↑26 and ↓1 +25
Comments 7

DevOps-инженеров не существует. Кто тогда существует, и что с этим делать?

Reading time 7 min
Views 25K


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


В этом посте хочется немного поговорить, как мы дошли до жизни такой, что такое DevOps на самом деле и что теперь с этим делать.


Такие вакансии можно всячески порицать, но факт остается фактом: их много, и так устроен рынок на данный момент. Мы сделали девопс-конференцию и открыто заявляем: «DevOops — не для DevOps-инженеров». Тут многим покажется странным и диким: почему люди, делающие совершенно коммерческое мероприятие, идут против рынка. Сейчас всё объясним.

Читать дальше →
Total votes 38: ↑33 and ↓5 +28
Comments 35

Микросервисы: размер имеет значение, даже если у вас Kubernetes

Reading time 7 min
Views 30K
19 сентября в Москве состоялся первый тематический митап HUG (Highload++ User Group), который был посвящён микросервисам. На нём прозвучал доклад «Эксплуатация микросервисов: размер имеет значение, даже если у вас Kubernetes», в котором мы поделились обширным опытом компании «Флант» в области эксплуатации проектов с микросервисной архитектурой. В первую очередь он будет полезен всем разработчикам, задумывающимся о применении этого подхода в своём настоящем или будущем проекте.



Представляем видео с докладом (50 минут, гораздо информативнее статьи), а также основную выжимку из него в текстовом виде.

NB: Видео и презентация доступны также в конце этой публикации.
Total votes 40: ↑39 and ↓1 +38
Comments 23

Как работает альфа-композитинг

Reading time 23 min
Views 22K
image

Возможно, прозрачность не кажется какой-то интересной темой. Формат GIF, позволявший некоторым пикселям просвечивать сквозь фон, опубликован более 30 лет назад. Почти в каждом приложении для графического дизайна, выпущенном за последние два десятка лет, поддерживается создание полупрозрачного контента. Эти понятия давно перестали быть чем-то новым.

В своей статье я хочу показать, что на самом деле прозрачность в цифровых изображениях намного интереснее, чем кажется — в том, что мы воспринимаем как нечто само собой разумеющееся, есть невидимая глубина и красота.
Читать дальше →
Total votes 53: ↑53 and ↓0 +53
Comments 15

Криптографические атаки: объяснение для смятённых умов

Reading time 33 min
Views 52K
При слове «криптография» некоторые вспоминают свой пароль WiFi, зелёный замочек рядом с адресом любимого сайта и то, как трудно залезть в чужую почту. Другие вспоминают череду уязвимостей последних лет с говорящими аббревиатурами (DROWN, FREAK, POODLE...), стильными логотипами и предупреждением срочно обновить браузер.

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

За последние годы коллекция криптографических атак превратилась в зоопарк кричащих логотипов, набитых формулами научных статей и породила общее мрачное ощущение, что всё сломано. Но на самом деле многие из атак основаны на нескольких общих принципах, а бесконечные страницы формул часто сводятся к простым для понимания идеям.
Читать дальше →
Total votes 103: ↑103 and ↓0 +103
Comments 22

Data Version Control (DVC): версионирование данных и воспроизводимость экспериментов

Reading time 8 min
Views 29K
Эта статья — своеобразный мастер-класс «DVC для автоматизации ML экспериментов и версионирования данных», который прошел 18 июня на митапе ML REPA (Machine Learning REPA:
Reproducibility, Experiments and Pipelines Automation) на площадке нашего банка.

Тут я расскажу об особенностях внутренней работы DVC и способах применения его в проектах.

Примеры кода, используемые в статье доступны здесь. Код тестировался на MacOS и Linux (Ubuntu).

Читать дальше →
Total votes 37: ↑35 and ↓2 +33
Comments 1

У цветового треугольника не два, а один угол

Reading time 16 min
Views 41K
Как увидеть цвет, которого в природе не бывает?

image


Четыре года назад на Хабре был пост с интересным и полезным видео «Как устроен цвет». Лектор — Дмитрий Николаев, заведующий сектором зрительных систем ИППИ РАН.

Я сделал расшифровку (в меру своего понимания материала), потому что считаю и тему важной и подачу — отличнейшей. Пока набирал текст, чуть не поменял своё φ(λ). Слово спикеру:


Поговорим о математике и геометрии цвета, о том, какие абстрактные структуры заложены в этом слове.

Что такое «цвет» не знает никто.

Цвет — это что-то, о чем говорит человек, наблюдающий и познающий мир с помощью глаза.

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

В физике нет цвета, а есть спектральные свойства излучения.

«Цвет» связан с относительным распределением спектральной энергии, мощности или потока излучения. (При прохождении через призму человек видит характерную «радугу».)

Совершенно точно, «цвет» — психологический феномен. Цвет — это ощущение, к объективной физике не имеющий отношения.

Мы можем говорить о цвете вещей — красная рубашка — «краснота» рубашки напрямую никак не связана с тем, какое излучение придет от этой рубашки в глаз.
Total votes 97: ↑93 and ↓4 +89
Comments 26

Условие как компромисс

Reading time 9 min
Views 34K
Они объясняли мне: «У тебя есть апельсин, так? Теперь ты разрезаешь этот апельсин на конечное количество кусочков, складываешь их обратно в апельсин, и он становится таким же большим как солнце. Истина или ложь?»
— Между кусочками нет пространства? — Нет.
— Невозможно! Такого просто не может быть.
— Ха! Попался! Идите все сюда! Это теорема Того-то о безмерной мере!
И когда им кажется, что они поймали меня, я напоминаю им: «Но вы сказали апельсин! А апельсиновую кожуру невозможно разрезать на кусочки тоньше атомов».
— Но у нас есть условие непрерывности. Мы можем резать бесконечно!
— Нет, вы сказали апельсин, поэтому я принял, что вы имеете в виду настоящий апельсин.
Так что я всегда выигрывал. Если я угадывал — здорово. Если не угадывал, то всегда мог найти в их упрощении что-то, что они упускали из виду.

Ричард Фейнман. «Вы, конечно, шутите, мистер Фейнман!»

Пролог


Так получилось, что с самого детства я увлекаюсь занимательными задачами. Решал я их, как правило, хорошо и быстро, хотя не обходилось и без курьезов. Например, на олимпиаде по математике за седьмой класс, куда я попал, будучи в шестом, была задача: найти такой-то угол в треугольнике, обладающем такими-то свойствами. Мои познания в области геометрии были на тот момент весьма отрывочны, однако кое на что их всё же хватило. Недолго думая, я построил этот треугольник в тетради с помощью циркуля и линейки, а затем измерил нужный угол транспортиром. Это было практически как в том анекдоте про «найдите икс», когда ученик ткнул в букву «x» пальцем с радостным криком «вот он!».
Как интересно! Что же было дальше?
Total votes 59: ↑56 and ↓3 +53
Comments 79

Fluent 1.0: гибкая система локализации

Reading time 7 min
Views 6.2K


Fluent — семейство спецификаций, реализаций и практик для локализации, разработанной Mozilla. Сейчас она применяется в браузере Firefox. Используя Fluent, переводчики могут писать более естественные переводы на родном языке. Сегодня мы представляем спецификацию формата файлов Fluent версии 1.0. Приглашаем разработчиков переводческих инструментов попробовать его и рассказать о ваших впечатлениях.

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

Алгоритм Дугласа-Пекера

Reading time 5 min
Views 15K

Предисловие


Не так давно пришлось поработать с упрощением полигональной цепи (процесс, позволяющий уменьшить число точек полилинии). В целом, данный тип задач очень распространен при обработке векторной графики и при построении карт. В качестве примера можно взять цепь, несколько точек которой попадают в один и тот же пиксель – очевидно, что все эти точки можно упростить в одну. Некоторое время назад я практически ничего не знал об этом от слова «совсем», в связи с чем, пришлось в быстром темпе восполнять необходимый багаж знаний по этой теме. Но каково было мое удивление, когда в интернете я не нашел достаточно полных руководств по этому вопросу… Мне приходилось отрывками искать информацию с совершенно разных источников и, после проведенного анализа, выстраивать все в общую картину. Занятие не из самых приятных, если честно. Поэтому мне хотелось бы написать цикл статей, посвященных алгоритмам упрощения полигональной цепи. Как раз-таки начать я решил с наиболее популярного алгоритма Дугласа-Пекера.


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

Как распознать кракозябры?

Reading time 1 min
Views 424K
В комментариях к предыдущему посту про иероглифы сказали, что хорошо бы иметь такую же блок-схему для кракозябр.

Итак, вуаля!


За источник информации была взята статья из вики. В блок-схеме «UTF-16 → CP 866» означает, что исходная кодировка была «UTF-16», а распозналась она как «CP 866».

Как всегда — кликабельно. Исходник в .docx: здесь.
Total votes 429: ↑418 and ↓11 +407
Comments 64

[Пятничное] Сказ про то, как IT-сейл дрова пыталась продать, или Бэкстейдж одного тендера

Reading time 6 min
Views 7.3K
Ой, вот только не говорите мне, что никогда не готовили тендер за заказчика. Было же? Было? Вооот. Будь вы инженер, пресейл или, не дай Бог, юрист. Я уж не говорю про продавцов и менеджеров отдела закупок… Мы все (если перефразировать классика) писали понемногу чего-нибудь и как-нибудь. В общем, я тут вспомнила свой скромный опыт, сложила его с наблюдениями за коллегами и облекла в поэтическую форму. На документальность повествования не претендую, но, кажется, основное отразить получилось.

image
Читать дальше →
Total votes 39: ↑37 and ↓2 +35
Comments 6

Information

Rating
997-th
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity