Как стать автором
Обновить
0
0
Александр Холодович @kholodovitch

Lead Java backend developer

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

Микросервисы в представлении среднего разработчика, и как всё на самом деле

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров61K

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

Когда спрашиваю у людей на собесах, или когда в команде решаем, как клепать очередной проект, такое порой слышу, что становится страшновато. Мне кажется, лет через 5 все компании будут обитать в мультивселенной безумия из “микросервисов”, которую они себе радостно построили, уходя от этих ваших страшных “монолитов”.

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

погрузиться в микросервисы
Всего голосов 236: ↑232 и ↓4+260
Комментарии207

WI-FI в метро: архитектура сети и подземные камни

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

Всего за пару лет поездка москвича в метро перестала быть ежедневной рутиной. Если раньше единственным развлечением в подземке были чтение книг, прессы и MP3-плеер, то теперь к ним добавились онлайн-шоппинг, просмотр сериалов, деловая переписка, даже знакомства в Tinder и квесты. А все благодаря появлению в метро бесплатной сети Wi-Fi. Порядка 80% москвичей регулярно подключаются к сети MT_FREE в метро, не задумываясь, как это работает и чьими силами это сделано. Бытует мнение, что Wi-Fi в метро “провел” сам метрополитен, но это не совсем верно. Беспроводная сеть — это проект “МаксимаТелеком”. Для компании это был первый опыт строительства высокоскоростной сети Wi-Fi с уникальными в мировой практике инженерными и техническими решениями. В этом посте мы расскажем, как организована сеть Wi-Fi в метро Москвы.
 
Читать дальше →
Всего голосов 102: ↑99 и ↓3+96
Комментарии295

Обзор Kalm — веб-интерфейса для деплоя приложений и управления ими в Kubernetes

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

Kalm — бесплатное приложение с открытым исходным кодом. Представляет собой стандартный контроллер Kubernetes, который можно установить в любой кластер (версии v1.15 и выше), включая Amazon EKS и Google GKE. Основная цель Kalm — предоставить разработчикам простой пользовательский интерфейс, чтобы упростить работу с K8s.

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

The Dude. Практический мониторинг (Часть 1)

Время на прочтение18 мин
Количество просмотров343K
Для меня все началось с этого поста. Хабраюзер gsandul решил написать книгу-руководство по системе мониторинга The Dude, а я ему помог в меру своих возможностей. Если у вас появилось желание положительно оценить данный пост, то все бонусы автору книги — он это заслужил больше.
Все замечания, пожелания и т.п. пишите, пожалуйста, в комментариях — это позволит учесть ошибки и недочеты в следующих частях книги.
Под катом первая часть.
Итак, приступим.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии12

Нужно ли создавать RAID-массив из SSD и какие контроллеры для этого нужны

Время на прочтение9 мин
Количество просмотров127K
Привет Хабр! В этом материале мы расскажем, стоит ли организовывать RAID-массивы на базе твердотельных решений SATA SSD и NVMe SSD, и будет ли от этого серьезный профит? Мы решили разобраться в этом вопросе, рассмотрев виды и типы контроллеров, которые позволяют это сделать, а также сферы применения таких конфигураций.


Читать дальше →
Всего голосов 19: ↑11 и ↓8+7
Комментарии76

Сервисы для планирования MVP: несколько наблюдений после использования

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.2K

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

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

В Лиге Цифровой Экономики для описания бизнес-процессов будущего продукта мы рассматривали и пробовали такие инструменты: 

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

Сравнение виртуальных и обычных потоков в Java

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

Мы все знаем и ждем Project Loom для виртуальных потоков и надеемся на бесплатное ускорение своих приложений без или почти без изменения их кода.

Примеры с запуском миллиона потоков все уже видели и они скучные. А какое ускорение будет на самом деле в реальных примерах использования многопоточности в нормально написанном проекте? Под катом код и бенчмарки.

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

«В идеале мы хотели бы вообще заменить Spring на Micronaut» — интервью с Грэмом Роше о перспективах развития Micronaut

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


Micronaut ворвался в нашу жизнь внезапно, без стука и без объявления войны. О нем пишут новости и читают доклады, и вряд ли найдется джавист, который ни разу не слышал это слово. Micronaut — это современный фреймворк для JVM для написания модульных микросервисов и serverless-приложений, использующий для этого фичи GraalVM.


В свою очередь, Grails — это фреймворк, который появился ещё в 2005 году и с тех пор непрерывно улучшается. В 2015 году Grails 3 переехал на SpringBoot, а версия 4.0.0 появилась в июле прошлого года. У Grails сохраняется своя аудитория, для которой он очень хорошо подходит и решает вполне конкретные проблемы.


Грэм Роше создал оба этих фреймворка. Мы пригласили Грэма в нашу виртуальную студию, чтобы обсудить, зачем было изобретать велосипеды и городить костыли, не закопать ли Grails и Spring Boot, как поддерживать Jakarta EE и не сломаться, что будет в Micronaut 2, стоит ли писать Micronaut поверх Micronaut и когда уже Java наконец помрёт.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+26
Комментарии25

Jmix — будущее CUBA Platform

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


TL;DR


Jmix — новое название и новый большой релиз CUBA Platform. На текущий момент Jmix находится в стадии предварительного релиза, мы планируем выпустить стабильную версию во втором квартале 2021 года. Основные изменения:


  • В ядре платформы теперь будет Spring Boot
  • Фреймворк будет разделен на модули (data, security, audit, и т.д.)
  • Новый подход к определению модели данных
  • Обновление базы данных теперь производится при помощи Liquibase
  • Процесс развертывания будет основан на стандартных средствах Spring Boot. Это обеспечит лучшую интеграцию с облачными средами выполнения

Мы будем активно развивать разработку пользовательского интерфейса на ReactJS, в то же время продолжим поддержку текущего фреймворка, основанного на Vaadin.


CUBA Platform будет поддерживаться долгое время, мы также предоставим возможность миграции на Jmix через совместимый API.


Официальный сайт Jmix: jmix.io.
Обсуждение на форуме: по-английски.

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

Переходим на Flutter: за и против

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров16K

Привет, Хабр!

Меня зовут Данил Абдрафиков и уже более пяти лет я занимаюсь мобильной разработкой, три из которых — на Flutter. Последние несколько лет я разрабатываю продукты для энтерпрайза в TAGES, и за это время у меня успел накопиться определенный опыт, которым я бы хотел поделиться с вами в сегодняшней статье. Я расскажу, что нужно знать опытному мобильному разработчику для перехода на Flutter, с какими особенностями можно столкнуться и стоит ли вообще переходить на него.

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

Читать далее
Всего голосов 15: ↑13 и ↓2+14
Комментарии54

Новый программерский жаргон

Время на прочтение7 мин
Количество просмотров51K
Посетителям сайта stackoverflow.com был задан вопрос: «Какие программерские термины вы придумали, так чтобы они стали популярны в ваших кругах (то есть вы слышали, что кто-то их повторяет)?

Ниже — вольный перевод самых популярных ответов.

Читать дальше →
Всего голосов 411: ↑373 и ↓38+335
Комментарии193

Как выглядят собеседования сейчас

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

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

Я являюсь .Net разработчиком с опытом лидинга и набора специалистов в команду. На текущем месте работаю 2 года, но за этот срок многое изменилось. Решил проверить, что же сейчас с рынком, и сколько же я стою сейчас как специалист. За 2 недели я прошёл 30 собеседований и хочу поделиться некоторыми из них, высказать свои замечания и выводы.

Читать далее
Всего голосов 252: ↑243 и ↓9+282
Комментарии461

Никола Тесла: гений, миллиардер, филантроп, но — не ученый?

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

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

И это не случайно. Наш мир сегодня выглядит именно так во многом благодаря вкладу Теслы, его видению и его интеллекту. Но так ли был гениален Тесла как учёный, как о нем говорят и пишут? Попробуем разобраться. 

В его честь была названа единица измерения магнитной индукции, а Илон Маск назвал его именем свою компанию по производству электромобилей. Если снимается научно-фантастический фильм или создается компьютерная игра в декорациях того времени, не сомневайтесь – Тесла там будет. 

Читать далее
Всего голосов 53: ↑47 и ↓6+52
Комментарии84

GPT-4: Чему научилась новая нейросеть, и почему это немного жутковато

Уровень сложностиПростой
Время на прочтение23 мин
Количество просмотров258K

В этой статье мы разберем новые удивительные способности последней языковой модели из семейства GPT (от понимания мемов до программирования), немного покопаемся у нее под капотом, а также попробуем понять – насколько близко искусственный интеллект подошел к черте его безопасного применения?

Поехали →
Всего голосов 164: ↑156 и ↓8+192
Комментарии338

10 лет на одном проекте: как это выглядит для меня

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

Несколько лет назад казалось, что этот хомячок очень милый

Обычно сидеть десять лет на одном проекте считается чем-то вроде застоя и формирования аттрактора. Ну, вроде как резюме получается небогатое, и дальше будут звать только на подобные проекты. Но у меня есть нездоровое подозрение, что по мере развития ИТ в современной России будет всё больше случаев, когда вы «привяжетесь» к проекту. 

Но всё равно десять лет — это, конечно, аномалия. Если об этом задуматься, становится страшно.

Давайте расскажу, как это выглядит изнутри. 

Итак, это не было осознанным решением. За несколько лет я сменил четыре компании, причем в одной из них сменил еще и три проекта. Дальше мы начали внедрять CRM в банке. Я тогда думал, будет несколько месяцев. Начинал на одном софте как интегратор, потом перешёл на другой как интегратор, побыл проектировщиком общим, потом функциональные решения проектирования. Потом, последние годы, архитектором. 

Несмотря на то, что я для банка внешний сотрудник из Джета, «на той стороне» меня считают своим работником. Ещё я очень хорошо понимаю требования заказчика (за десять-то лет!), и потому мне доверяют в плане принятия решений, как лучше сделать. Это важно, потому что обычно интеграторам не очень-то верят, они тяготеют к «своим» вендорам. А вот если это потом и поддерживать, и знать, что ты в ответе за архитектуру на годы вперед, — это все резко меняет. Я знаю, что я же буду развивать всё это спустя год или два, и не откатывать решение, не переделывать. 

Читать далее
Всего голосов 39: ↑38 и ↓1+44
Комментарии8

Добавление Quartz в Spring Boot

Время на прочтение9 мин
Количество просмотров32K
И снова здравствуйте. Специально для студентов курса «Разработчик на Spring Framework» подготовили перевод интересной статьи.




В моей статье «Specifications to the Rescue» я показал как можно использовать JPA Specification в Spring Boot для реализации фильтрации в RESTful API. Затем в статье «Testing those Specifications» было показано как протестировать эти самые спецификации.

Следующим шагом я решил продемонстрировать, как добавить планировщик заданий в это же приложение Spring Boot.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии11

Выходим из тюрьмы Apple. Установка произвольных приложений на iOS без джейлбрейка

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


App Store — не единственный способ установки приложений для iOS. Раньше люди специально делали джейлбрейк, чтобы установить каталог Cydia. Но в последнее время появилось несколько сторонних каталогов, которые работают вообще без джейлбрейка. Удивительно, но Apple пока не ставит им палки в колёса.

Эти каталоги приносят реальную пользу, ведь здесь независимые разработчики свободно распространяют свои программы без комиссий и цензуры. Apple не может произвольно отзывать со смартфонов такие приложения. А люди получают более широкий выбор программ, включая эмуляторы Linux, независимость от производителя и реальное право владения.
Всего голосов 45: ↑45 и ↓0+45
Комментарии62

Принципы SOLID в картинках

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


Если вы знакомы с объектно-ориентированным программированием, то наверняка слышали и о принципах SOLID. Эти пять правил разработки ПО задают траекторию, по которой нужно следовать, когда пишешь программы, чтобы их проще было масштабировать и поддерживать. Они получили известность благодаря программисту Роберту Мартину.

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

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

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

Ну, приступим.
Читать дальше →
Всего голосов 57: ↑52 и ↓5+54
Комментарии26

Увеличиваем производительность с помощью SO_REUSEPORT в NGINX 1.9.1

Время на прочтение3 мин
Количество просмотров41K
В NGINX версии 1.9.1 появилась новая возможность, позволяющая использовать сокетную опцию SO_REUSEPORT, которая доступна в современных версиях операционных систем, таких как DragonFly BSD и Linux (ядра 3.9 и новее). Данная опция разрешает открывать сразу несколько слушающих сокетов на одном и том же адресе и порту. При этом, ядро будет распределять входящие соединения между ними.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии31

Теория программирования: Вариантность

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

Здравствуйте, меня зовут Дмитрий Карловский и я… хочу поведать вам о фундаментальной особенности систем типов, которую зачастую или вообще не понимают или понимают не правильно через призму реализации конкретного языка, который ввиду эволюционного развития имеет много атавизмов. Поэтому, даже если вы думаете, что знаете, что такое "вариантность", постарайтесь взглянуть на проблематику свежим взглядом. Начнём мы с самых основ, так что даже новичок всё поймёт. А продолжим без воды, чтобы даже профи было полезно для структурирования своих знаний. Примеры кода будут на псевдоязыке похожем на TypeScript. Потом будут разобраны подходы уже нескольких реальных языков. А если же вы разрабатываете свой язык, то данная статья поможет вам не наступить на чужие грабли.


а вдруг там лис?

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

Информация

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

Специализация

Backend Developer, Chief Technology Officer (CTO)
Lead
От 300 000 ₽
Java
Spring Boot
Hibernate
Apache Kafka
RabbitMQ
C#
MySQL
Redis