Pull to refresh
31
0
Жук Макс @zm_llill

Senior Software Engineer

Send message

Kubernetes Scheduler в Деталях: Важные Аспекты. Часть 1

Level of difficultyHard
Reading time9 min
Views6.8K

Хотите узнать, как Kubernetes оптимально распределяет ваши контейнеры по нодам и каким образом можно этот процесс настроить или даже модифицировать?

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

Планирую идти от простого к сложному, так что прошу отнестись с пониманием. Если вы уже знакомы с базовыми концепциями k8s scheduler, не стесняйтесь пропустить первую часть и перейти сразу ко 2-й (ссылка будет опубликована позже).

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments1

Как получить онлайн магистратуру по CS от американского университета по цене кофе

Reading time9 min
Views35K


Поговорим о: 1) том как я попал в магистратуру по Computer Science от Georgia Tech пока жил и работал в Воронеже, 2) требованиях к поступлению, 3) стоимости, 4) моих впечатлениях от курсов, которые мне читают, 5) почему я все еще продолжаю учиться после того, как начал работать в FAANG и переехал в UK.

Читать дальше →
Total votes 52: ↑51 and ↓1+50
Comments21

Почему проекты в IT занимают в 2-3 раза дольше, чем планируется?

Reading time3 min
Views24K
Мы с другом решаем пойти в поход от Сан Франциско до Лос Аджелеса, чтобы заскочить в гости к нашим друзьям на Ньюпорт Бич. Посмотрим на карту и примерно прикинем путь по берегу:

image

Путь займёт около 400 миль, в день мы можем пройти 4 мили в час по десять часов, так что придём мы туда примерно через 10 дней. Мы звоним друзьям и бронируем столик на 6 вечера в воскресенье.

Читать дальше →
Total votes 278: ↑262 and ↓16+246
Comments181

Prettier, ESLint, Husky, Lint-Staged и EditorConfig: инструменты для написания аккуратного кода

Reading time16 min
Views123K
Вы стремитесь к тому, чтобы писать аккуратный код, но не знаете с чего начать… Вы вчитываетесь в руководства по стилю, вроде этого от Airbnb, стараетесь следовать практическим рекомендациям ведущих специалистов… Вам приходится удалять неиспользуемый код? Приходится искать ненужные переменные? Вы пытаетесь выявлять неудачные паттерны, применённые в ваших программах? Например — хотите понять, читая хитросплетения кода некоей функции, возвратит ли она что-нибудь или нет. Звучит знакомо? Проблема заключается в том, что программисту очень тяжело и многое успевать, и многому учиться.

Может быть вы — тимлид, под началом которого трудится команда разработчиков разного уровня? В вашей команде есть новые люди? Беспокоит ли вас то, что код, который они напишут, не будет соответствовать вашим стандартам? Проходят ли ваши дни в проверках чужого кода, когда эти проверки, в основном, касаются соблюдения стандартов, а не программной логики?



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

А именно, здесь пойдёт речь о таких средствах как Prettier, ESLint, Husky, Lint-Staged, EditorConfig, об автоматизации форматирования и линтинга кода. Этот материал ориентирован, в основном, на React-разработку, но рассмотренные здесь принципы можно применить в любом веб-проекте. Вот репозиторий, где, кроме прочего, собрано то, о чём тут пойдёт речь.
Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments15

11 хитростей Chrome DevTools, которые помогут Вам стать Senior FrontEnd-разработчиком

Reading time4 min
Views57K

Я полагаю, вы знакомы с инструментами разработчика браузера Chrome. Мы можем использовать его для просмотра сетевых запросов, анализа производительности веб-страницы и отладки последних функций JavaScript.

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

Давайте посмотрим
Total votes 62: ↑56 and ↓6+50
Comments23

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза

Reading time24 min
Views166K

На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют. 

Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать. 

Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.

Читать далее
Total votes 435: ↑423 and ↓12+411
Comments300

Как открыть международную VISA/MASTERCARD за один день

Reading time3 min
Views58K

Как мы уже все знаем платежные системы Visa и MasterCard с 10 марта приостановили работу в РФ, и если на внутренних операциях это практически никак не сказалось (нельзя больше использовать Apple/Google Pay), то вот вне РФ наши карты теперь не действуют. Кроме невозможности оплаты покупок и снятия наличных в других странах мы теперь не можем оплатить большинство зарубежных онлайн сервисов типа нетфликса, забронировать квартиру на airbnb или купить авиабилеты напрямую на сайте зарубежной авиакомпании. А также это сделало невозможным оплату различного специализированного ПО, которое использует подписную модель, для некоторых это напрямую повлияет на возможность выполнять свою работу.

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

Читать далее
Total votes 51: ↑47 and ↓4+43
Comments38

Гуманитарии в IT: теория и реальность

Reading time10 min
Views11K

Привет, Хабр. Я Ксения и всю жизнь я считала себя человеком, неспособным к вычислениям и технике. Ещё со школы, где я получала пятёрки по литературе, меня преследовали шуточки по поводу того, что именно не дано понять гуманитариям. Сейчас я перехожу на светлую сторону, учусь, много сомневаюсь. Поэтому собрала исследования о мозге, статистику работодателей и много личных историй про гуманитариев на технической дорожке.

Читать далее
Total votes 17: ↑12 and ↓5+7
Comments7

WebAssembly: что и как

Reading time9 min
Views118K


Эта статья основана на моём выступлении на конференции ITSubbotnik, прошедшем 2 ноября 2019 года в Москве.


Вообще я бэкенд программист, но меня заинтересовала эта технология, она позволяет использовать мои знания бэкенда на фронте.


Проблема


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

Читать дальше →
Total votes 62: ↑60 and ↓2+58
Comments136

9 интересных новшеств в Laravel 9

Reading time7 min
Views16K

Я сразу как только вышла новость о релизе решил, что нужно посмотреть, пощупать и разобраться чего же изменилось. Да-да, на днях, а именно 8 февраля 2022 вышел официальный релиз Laravel 9, который включает довольно много новых улучшений. Для тех же из нас, кто не боится таких слов как alfa и beta девятая версия фреймворка давно не новость и уже в работе.

Теперь эта версия будет поддерживаться дольше (LTS) и разработчики фреймворка пришли к решению не выпускать новые выпуски каждые 6 месяцев, но делать это раз в год в феврале. Судя из расписания эта версия останется актуальной год, а обновления безопасности будут выпускаться вплоть до 2025 года.

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

Читать далее
Total votes 21: ↑20 and ↓1+19
Comments32

Создаем библиотеку на php и публикуем на packagist

Reading time6 min
Views7.5K

Прежде чем приступать к написанию кода, нам нужно решить, что именно такого полезного мы можем создать, какие функции будет выполнять библиотека. Довольно популярным является написание библиотек, упрощающих работу с тем или иным API. Зачастую API представляют из себя большой список различных методов, работающих не только через GET method http-протокола.

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

У меня есть некоторый опыт в создании пакетов для composer (пример) и я хочу поделиться знаниями с теми кто этого еще не делал. Подробности под катом...

Читать далее
Total votes 25: ↑23 and ↓2+21
Comments4

Разработка приложения на Flutter с нуля до релиза: Part 2

Reading time30 min
Views16K

Привет! Это вторая статья из цикла о разработке приложения на Flutter. В этом "номере" я опишу создание сетевого слоя, работу с локализацией, удобный способ работы с ассетами, локальный поиск и создание UI для одного из двух экранов приложения. Также я выведу интересные метрики, например - сколько данных сможет распарсить ваше приложение за одну милисекунду и начиная с какого размера JSON’а, прилетевшего с бэка UI начнет тормозить. Как говорится - с места...

В карьер!
Total votes 9: ↑9 and ↓0+9
Comments7

Как запустить ClickHouse своими силами и выиграть джекпот

Reading time15 min
Views77K

Мы решили описать простой и проверенный путь для тех, кто хочет внедрить аналитическую СУБД ClickHouse своими силами или просто испробовать ClickHouse на собственных данных. Именно этот путь прошли мы сами в новостном агрегаторе СМИ2 и добились впечатляющих результатов.


Clickhouse-client


В предисловии статьи — небольшой рассказ о наших попытках внедрить Druid и InfluxDB. Почему после успешного запуска ClickHouse мы смогли отказаться от использования InfiniDB и Cassandra.


Total votes 59: ↑59 and ↓0+59
Comments50

Разработка приложения на Flutter с нуля до релиза: Идея + Базовая инфраструктура

Reading time11 min
Views31K

Привет! В данном цикле статей я хотел бы показать, как может происходить создание приложений с использованием Flutter. У меня есть несколько Open Source решений, которые будут использованы в данном приложении. Что из этого получится - увидим в скором будущем.

Если долго мучаться...
Total votes 25: ↑25 and ↓0+25
Comments5

Почему все «прутся» в IT

Reading time17 min
Views142K

Люди уходят в IT отовсюду: из инженеров КИПиА, электротехников, начальников службы охраны, химиков, бухгалтеров, экономистов, металлургов, юристов, медбратьев, руководителей отдела рекламы. Люди уходят в IT в любом возрасте: в 20, 30, 40 лет и даже после 50. 

Зачем? Почему? Что им на месте не сидится? Почему все «прутся» в это IT? Есть несколько факторов, которые этому поспособствовали. Некоторые из них мы рассмотрим. Они на самые глобальные, но важные.

Читать далее
Total votes 248: ↑231 and ↓17+214
Comments913

Самые заметные изменения языка php за последние годы

Reading time9 min
Views19K

Я начинал работать с php, когда еще не потерял популярность его 4 выпуск, с тех пор произошли огромные изменения. На мой взгляд, последние несколько лет преобразили разработку на нем.  Кстати php продолжает быть серьезно востребованным, например, сейчас “Рексофт” развивает на нем несколько проектов. В одном из них работаю и я.  Но перейдем к делу. Делюсь с вами самыми интересными изменениями в php, прошедшими с 5 до версии 8.1.

Одним из самых распространенных классов в веб-разработке я бы назвал сущность User, предназначенную для работы с пользователями. В парадигме MVC ее можно назвать моделью пользователя, которая хранит данные (свойства) и предоставляет доступ к ряду методов работы с ними, а также бизнес-логику, связанную с областью применения класса. На примере такого класса я и хочу посмотреть сам и показать тебе, читатель, как изменился язык php за последнии годы.

Для удобного изменения кода, и чтобы в дальнейшем проще было отслеживать, что в каком порядке менялось, я создал репозиторий на гитхаб. Ссылка на репозиторий: https://github.com/ZhukMax/php-evo. Отразил в коммитах каждый шаг, который ниже постараюсь подробно описать.

Читать далее
Total votes 57: ↑57 and ↓0+57
Comments19

Блюр объектов в реальном времени на видео с помощью canvas

Reading time7 min
Views5.3K

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

Сегодня я хочу поделиться реализацией такого блюра/пикселизации видео (изображения) в вебе.

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments19

Как двухлетний репозиторий на GitHub стал трендовым за 48 часов

Reading time8 min
Views41K


GitHub предоставил возможность миллионам разработчиков с легкостью публиковать свои проекты и тем самым привлекать пользователей и единомышленников. Часто перед разработчиками возникает проблема неэффективного использования ресурсов — они тратят сотни часов на создание проекта с целью продвинуть его на GitHub, а получают максимум две звезды.
Читать дальше →
Total votes 88: ↑74 and ↓14+60
Comments37

На php тоже может быть легко и быстро

Reading time5 min
Views11K

На мой взгляд, язык php всегда был довольно хорошим решением для создания сложного бекэнда веб-приложений, а в девяностые и нулевые приобрел такую огромную популярность (именно огромную, сопоставимую с IE для веб-серфига того времени) в первую очередь благодаря легкости, скорости разработки и поддержки кода. Но те времена прошли. Сегодня считается, что приложения на php стали монструозны, долго и сложно запускаемы, способны работать только с подтягиванием множества зависимостей в директорию /vendor...

Зачастую все именно так, но я хочу попробовать вам показать, что может быть иначе. Попробуем сделать простое API и приложить не больше усилий чем при использовании Node.js или Go.

Под катом мой пример того, как можно быстро и без лишней головной боли сделать API на php.

Читать далее
Total votes 19: ↑15 and ↓4+11
Comments15

Можно ли подружить Stream API и JPA?

Reading time5 min
Views7.2K

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

Если интересно посмотреть, что может библиотека, то прошу под кат.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments7

Information

Rating
Does not participate
Location
Россия
Works in
Date of birth
Registered
Activity