Как стать автором
Обновить
31
0
Жук Макс @zm_llill

Senior Software Engineer

Отправить сообщение

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

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров6.8K

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

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

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

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии1

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

Время на прочтение9 мин
Количество просмотров35K


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

Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии21

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

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

image

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

Читать дальше →
Всего голосов 278: ↑262 и ↓16+246
Комментарии181

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

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

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



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

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

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

Время на прочтение4 мин
Количество просмотров57K

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

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

Давайте посмотрим
Всего голосов 62: ↑56 и ↓6+50
Комментарии23

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

Время на прочтение24 мин
Количество просмотров166K

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

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

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

Читать далее
Всего голосов 435: ↑423 и ↓12+411
Комментарии300

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

Время на прочтение3 мин
Количество просмотров58K

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

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

Читать далее
Всего голосов 51: ↑47 и ↓4+43
Комментарии38

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

Время на прочтение10 мин
Количество просмотров11K

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

Читать далее
Всего голосов 17: ↑12 и ↓5+7
Комментарии7

WebAssembly: что и как

Время на прочтение9 мин
Количество просмотров119K


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


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


Проблема


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

Читать дальше →
Всего голосов 62: ↑60 и ↓2+58
Комментарии136

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

Время на прочтение7 мин
Количество просмотров16K

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

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

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

Читать далее
Всего голосов 21: ↑20 и ↓1+19
Комментарии32

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

Время на прочтение6 мин
Количество просмотров7.5K

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

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

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

Читать далее
Всего голосов 25: ↑23 и ↓2+21
Комментарии4

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

Время на прочтение30 мин
Количество просмотров16K

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

В карьер!
Всего голосов 9: ↑9 и ↓0+9
Комментарии7

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

Время на прочтение15 мин
Количество просмотров77K

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


Clickhouse-client


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


Всего голосов 59: ↑59 и ↓0+59
Комментарии50

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

Время на прочтение11 мин
Количество просмотров31K

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

Если долго мучаться...
Всего голосов 25: ↑25 и ↓0+25
Комментарии5

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

Время на прочтение17 мин
Количество просмотров142K

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

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

Читать далее
Всего голосов 248: ↑231 и ↓17+214
Комментарии913

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

Время на прочтение9 мин
Количество просмотров19K

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

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

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

Читать далее
Всего голосов 57: ↑57 и ↓0+57
Комментарии19

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

Время на прочтение7 мин
Количество просмотров5.3K

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

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

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии19

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

Время на прочтение8 мин
Количество просмотров41K


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

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

Время на прочтение5 мин
Количество просмотров11K

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

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

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

Читать далее
Всего голосов 19: ↑15 и ↓4+11
Комментарии15

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

Время на прочтение5 мин
Количество просмотров7.2K

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

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

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии7

Информация

В рейтинге
Не участвует
Откуда
Россия
Работает в
Дата рождения
Зарегистрирован
Активность