Search
Write a publication
Pull to refresh
25
0
Митя Камаев @mitya_k

SuperPuper Backend Developer

Send message

K8S для начинающих. Первая часть

Reading time10 min
Views275K

Технологический прогресс не стоит на месте, особенно если это касается области IT. Еще в 2014 году, когда Google открыл исходный код проекта Kubernetes, который вобрал в себя лучшее из Borg и Omega - внутренних систем Google, его мало кто знал и использовал. Но прошло 7 лет и K8S (он же Kubernetes) стал успешным open-source проектом, который используется по всему миру. В большинстве компаний инфраструктура построена на K8S - от маленьких проектов до огромных кластеров и облаков, которые обеспечивают бесперебойную доступность сервисов. Давайте коснемся Kubernetes и расскажем, как им пользоваться на практике. Но сначала надо спросить, а что такое этот ваш Kubernetes и для чего он собственно нужен. Подойдет ли он для ваших проектов.

Читать далее

K8S для начинающих. Часть вторая

Reading time7 min
Views43K

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

Читать далее

Основы внутреннего устройства JavaScript

Reading time6 min
Views45K
image

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

Введение


Почти все уже слышали о концепции движка V8 и большинство людей знает, что язык JavaScript однопотоковый или что он использует очередь обратных вызовов.

В этом посте мы подробно разберём эти концепции и объясним, как же работает JavaScript. Благодаря знанию этих подробностей вы сможете писать более оптимальные приложения, надлежащим образом использующие API. Если вы работаете с JavaScript относительно недавно, этот пост поможет вам понять, почему JavaScript настолько «странный» по сравнению с другими языками. А если вы опытный разработчик на JavaScript, то он позволит вам по-новому взглянуть на внутреннее устройство JavaScript Runtime, с которым вы работаете каждый день.
Читать дальше →

Как понять, что перед вами плохой разработчик

Reading time12 min
Views181K

Мало просто сменить свою сферу работы на IT, желательно еще и стать хорошим разработчиком. Бывший тимлид и консультант Александр Усков рассказывает, как понять, что перед вами плохой разработчик и что с ним вообще можно делать

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

Читать далее

Модульный монолит. Начало

Reading time7 min
Views32K

Модульный монолит — это подход к проектированию приложений, который позволяет, с одной стороны, отложить во времени операционную сложность использования микросервисов, а с другой — избежать превращения монолитной системы в большой комок грязи. Сама идея модульности не нова и основана на давно известных принципах Separation of Concerns и Information Hiding. Но не так-то просто перейти от абстрактных принципов к пониманию, как их реально использовать на практике.

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

Читать далее

Советская атомная энергетика: «THROUGH THE NEVER»

Reading time30 min
Views21K

30 октября 1996 года во ВНИИТФ имени Е. И. Забабахина прозвучал выстрел. Владимир Зиновьевич Нечай, директор всероссийского института, покончил с жизнью после того, как не смог выбить коллективу погашение долгов по оборонному заказу.

В предсмертной записке было написано [25]: «Прошу провести поминки за счет не выданной мне зарплаты…»

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

Читайте о истории атомной энергетики СССР

Неудобная правда: как Tesla стала триллионной компанией

Reading time10 min
Views90K

Упомянутые в статье факты я начал бережно собирать в черновике ещё весной. А тут появился повод собрать их все воедино. Я вам гарантирую, что вы будете изумлены изысканностью происходящего.

Читать далее

Дифференциальные и инкрементальные бэкапы MySQL

Reading time7 min
Views18K

Для MySQL существует широко известный инструмент по созданию резервных копий баз данных — mysqldump, который создаёт дамп посредством записи серии SQL-инструкций для восстановления таблиц и данных целевой базы данных.

Он неплохо подходит для резервного копирования небольших баз данных, но когда база данных набирает приличный «вес» и возникает необходимость резервного копирования чаще, чем раз в сутки, скорость создания и размеры дампов могут стать проблемой. В данном случае на помощь приходят утилиты, создающие копию бинарных файлов баз данных, например, такие как Percona XtraBackup.
Читать дальше →

Что должен, но не знает про конкуренцию в PostgreSQL каждый разработчик?

Reading time13 min
Views22K

Опыт показывает, что разработчики редко задумываются о проблемах, которые могут возникать при многопользовательском доступе к данным. При этом практически любое web-приложение является многопользовательским и так или иначе использует блокировки при доступе к данным в БД. При неправильном использовании эти блокировки могут больно бить по пользователям, а иногда и по системе в целом. Поэтому рано или поздно каждый разработчик многопользовательских систем должен задуматься о том, как ему начать работать с БД так, чтобы пользователи не мешали другу другу. Многие считают, что это сложно, давайте вместе убедимся, что это не так.

Читать далее

Будущее ствольной артиллерии

Reading time6 min
Views28K

Сейчас мы живём в интересное время. С одной стороны, войска всех стран завалены техникой поздней Первой Холодной войны (те же М109, Акации, Грады, да даже PzH 2000 – всё детища той эпохи), которая активно модернизируется, с другой – всё больше и больше становится роботов, космос стал полноценным доменом (по классификации США), где ведутся БД, потоки информации тоже становятся оружием. После боёв в Карабахе очередной раз похоронили артиллерию, всё будущее стали считать за ударными БПЛА и дронами-камикадзе. Но, между тем, в Бристоле летом проходит конференция Future Indirect Fires 2021 (Будущее навесного огня 2021), где обсуждаются проблемы развития западной артиллерии; в США, России, Израиле, Китае, Южной Корее и других странах идут активные работы по вооружению, которое может сейчас многим показаться фантастикой. Так давайте заглянем, что таится во мраке тёмного будущего.

Читать далее

Обработка ошибок в Rust

Reading time12 min
Views16K

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

Читать далее

Создание компонента Toggle

Reading time12 min
Views22K

В рамках серии материалов GUI Challange, в данной статье Адам Аргайл демонстрирует один из способов создания очень маленького, но трудоёмкого компонента переключателя toggle с учётом цветовой схемы и предпочтений пользователя.

Читать далее

Когда «Zoë» !== «Zoë», или почему нужно нормализовывать Unicode-строки

Reading time6 min
Views20K
Никогда не слышали о нормализации Unicode? Вы не одиноки. Но об этом надо знать всем. Нормализация способна избавить вас от множества проблем. Рано или поздно нечто подобное тому, что показано на следующем рисунке, случается с любым разработчиком.
«Zoë» — это не «Zoë»
Читать дальше →

Её сиятельство Гильза

Reading time6 min
Views38K

«Есть многое на свете, друг Горацио, что и не снилось нашим мудрецам». У Вильяма нашего Шекспира эта фраза подразумевала различную паранормальщину, вроде тени отца Гамлета, намекавшей на совершение ряда тяжких преступлений, но если внимательно присмотреться, то и появление многих привычных нам вещей тоже представляется многим людям магией. И совсем необязательно это Большой Адронный Коллайдер, желанная, но дефицитная игровая видеокарта или 8К-телевизор от Самсунга. Это может быть гораздо более простая вещь – например, патрон. Пистолетный, винтовочный, револьверный – неважно. Патрон является вроде бы и мелким, но очень важным персонажем в мировой военной истории. Мы читаем про дефицит патронов в Российской Императорской Армии и ужасаемся ему. А потом со сходными чувствами – про винтовку с пятью патронами на человека в РККА. Или истории про отказ в приёме на вооружение автоматических образцов, потому что расход патронов будет излишне велик. И постоянно этот персонаж возникает в сюжете в связи с какими-то перипетиями – недостатком, срывом поставок, освоением производства, проблемами с качеством. Зато, когда с ним нет проблем, он незаметен.

При этом само производство патронов обычно остаётся за кадром. Ну как-то их там делают, причём миллионами и миллиардами. Магия, да и только. А где магия, там и мифы, вроде самого живучего – про диаметр советских папирос и макарон, равный 7.62 мм, что якобы позволяет развернуть производство патронов на любой макаронной фабрике за два часа.Итак, говорить будем про унитарный патрон в металлической гильзе.
Читать дальше →

Её высочество Пуля

Reading time8 min
Views43K


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

Приёмы ускорения кода на JS и других языках: подборка от разработчика поиска Яндекса

Reading time17 min
Views70K
Привет! Меня зовут Виктор Хомяков, в Яндексе я работаю над скоростью страниц поиска. Однажды мне в голову пришла идея обобщить свой опыт и систематизировать приёмы ускорения работы кода на JavaScript. То, что получилось в итоге, собрано в этом материале.

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


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

Хватит организовывать код по типу файлов

Reading time4 min
Views41K

Какой самый популярный стиль организации кода вы встречали в корпоративных кодовых базах? Лично я чаще всего видел решение, подразумевающее группировку всех файлов по их типу. Таким образом, к примеру, в системе MVC все контроллеры, все сервисы, все репозитории, все POJO и так далее находятся вместе. Давайте назовем такое решение "стековым" стилем организации кода.

Читать далее

Настраиваем нагрузочное тестирование с Artillery.io

Reading time2 min
Views7.8K

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

Читать далее

Как чрезмерный комфорт делает людей несчастными

Reading time5 min
Views14K

Журналист Майкл Эстер месяц провел за Полярным кругом, выслеживая стадо оленей для статьи в национальном журнале.

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

«Я был в маленькой ванной на аэродроме в Коцебу (Аляска), — вспоминает журналист. — Ощутив, как по лицу бьет горячая вода, я застыл в восхищении. Минут двадцать я стоял и смотрел, как вода стекает по рукам».

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

Читать далее

Различия индексов MySql, кластеризация, хранение данных в MyIsam и InnoDb

Reading time5 min
Views32K

Как устроены индексы в MySql, чем отличается индексирование в двух наиболее популярных движках MyISAM и InnoDb, чем первичные ключи отличаются от простого индекса, что такое кластерные индексы и покрывающие индексы, как с помощью них можно ускорить запросы. Вот как мне кажется наиболее интересные темы которые раскрою в этой статье. Тут же постараюсь подробно раскрыть тему с позиции того как работает этот механизм внутри. Буквально на пальцах и с позиции абстракций а не конкретики. В общем чтоб было минимум текста и максимум понятно.

Читать далее

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Backend Developer
Lead
From 500,000 ₽
Node.js
TypeScript
MySQL
PostgreSQL
Docker
Nginx
RabbitMQ
Linux
High-loaded systems
Designing application architecture