Pull to refresh
0
0
Александр Холодович @kholodovitch

Lead Java backend developer

Send message

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

Reading time9 min
Views8.7K

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

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

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

Reading time18 min
Views338K
Для меня все началось с этого поста. Хабраюзер gsandul решил написать книгу-руководство по системе мониторинга The Dude, а я ему помог в меру своих возможностей. Если у вас появилось желание положительно оценить данный пост, то все бонусы автору книги — он это заслужил больше.
Все замечания, пожелания и т.п. пишите, пожалуйста, в комментариях — это позволит учесть ошибки и недочеты в следующих частях книги.
Под катом первая часть.
Итак, приступим.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments12

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

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


Читать дальше →
Total votes 23: ↑15 and ↓8+7
Comments75

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

Level of difficultyEasy
Reading time3 min
Views3.8K

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

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

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

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

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

Reading time8 min
Views14K

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

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

Читать далее
Total votes 23: ↑20 and ↓3+17
Comments30

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

Reading time20 min
Views14K


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 наконец помрёт.

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

Jmix — будущее CUBA Platform

Reading time12 min
Views10K


TL;DR


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


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

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


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


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

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments8

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

Level of difficultyEasy
Reading time8 min
Views14K

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

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

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

Читать далее
Total votes 18: ↑16 and ↓2+14
Comments54

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

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

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

Читать дальше →
Total votes 411: ↑373 and ↓38+335
Comments193

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

Reading time8 min
Views130K

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

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

Читать далее
Total votes 300: ↑291 and ↓9+282
Comments461

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

Reading time20 min
Views28K

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

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

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

Читать далее
Total votes 64: ↑58 and ↓6+52
Comments84

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

Level of difficultyEasy
Reading time23 min
Views242K

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

Поехали →
Total votes 208: ↑200 and ↓8+192
Comments338

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

Reading time6 min
Views15K

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

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

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

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

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

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

Читать далее
Total votes 46: ↑45 and ↓1+44
Comments8

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

Reading time9 min
Views30K
И снова здравствуйте. Специально для студентов курса «Разработчик на Spring Framework» подготовили перевод интересной статьи.




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

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

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

Reading time5 min
Views178K


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

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

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

Reading time4 min
Views412K


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

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

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

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

Ну, приступим.
Читать дальше →
Total votes 64: ↑59 and ↓5+54
Comments26

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

Reading time3 min
Views40K
В NGINX версии 1.9.1 появилась новая возможность, позволяющая использовать сокетную опцию SO_REUSEPORT, которая доступна в современных версиях операционных систем, таких как DragonFly BSD и Linux (ядра 3.9 и новее). Данная опция разрешает открывать сразу несколько слушающих сокетов на одном и том же адресе и порту. При этом, ядро будет распределять входящие соединения между ними.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments31

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

Reading time13 min
Views40K

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


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

Читать дальше →
Total votes 60: ↑56 and ↓4+52
Comments62

А не синьор ли ты часом? О чем спрашивают на собеседованиях для синьоров

Reading time8 min
Views16K

Десять лет назад Евгений Афонасьев, совсем еще зеленый джун, попал на первый в своей жизни PyCon, который проходил на турбазе под Екатеринбургом. С тех пор многое изменилось, PyCon вырос и перебрался в Москву, а Евгений превратился в опытного python-разработчика, который уже сам выступает на конференциях и проводит собеседования. Именно о том, как проводятся собеседования на позицию синьора, он рассказал на PyCon Russia 2022. Доклад признали лучшим докладом конференции, поэтому мы решили с вами поделиться его текстовой версией. Далее — от лица Евгения. 

Читать далее
Total votes 8: ↑5 and ↓3+2
Comments11

Что за черт, Javascript

Reading time17 min
Views158K


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


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

Читать дальше →
Total votes 104: ↑89 and ↓15+74
Comments155
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

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