Pull to refresh
0
0

Пользователь

Send message

JNI Часть 2: Примеры

Reading time5 min
Views7.7K

Всем привет! Меня зовут Роман Аймалетдинов, я разрабатываю клиентское приложение Ситимобил. Продолжаю свою серию статей по JNI, так как технология используется редко, но иногда она бывает очень полезной (или просто интересной). В этот раз я покажу примеры решений на JNI, которые совсем немного сложнее, чем hello world. И если вы не знакомы с JNI, то советую начать с первой части.

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

JNI Часть 1: Введение

Reading time5 min
Views27K

Всем привет! Меня зовут Роман Аймалетдинов и я разрабатываю клиентское приложение Ситимобил. Решил написать небольшую серию из трех статей по JNI, так как технология используется редко, но иногда она бывает очень полезной. Несмотря на то, что я разрабатываю классические приложения под Android, иногда хочется посмотреть технологии рядом со своей специализацией.

Читать далее
Total votes 23: ↑22 and ↓1+21
Comments11

Зарубежный опыт: как избавиться от 80% кода, увеличить скорость разработки и уменьшить количество ошибок

Reading time12 min
Views28K

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

Под катом тех– и тимлид Йонас Тулструп, один из разработчиков датского сервиса MobilePay, демонстрирует, что отказ от излишних абстракций позволяет писать более чистый код. А именно: существенно уменьшать его сложность, повышать читабельность и удобство поддержки. Обсуждаемые подходы основаны на широко известных принципах KISS («Делай проще») и YAGNI («Вам это не понадобится»), и применимы к большинству видов разработки ПО.

Обращаем ваше внимание, что позиция автора не всегда может совпадать с мнением МойОфис.

Читать далее
Total votes 27: ↑23 and ↓4+19
Comments6

Мониторинг приложения Spring Boot с помощью Micrometer, Prometheus и Grafana, используя пользовательские метрики

Reading time6 min
Views37K

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

В этой статье я покажу, как можно мониторить веб-приложение Spring Boot с помощью Micrometer, который отображает метрики нашего приложения, Prometheus, который хранит их, и Grafana для визуализации этих данных в виде графиков.

Читать далее
Total votes 15: ↑12 and ↓3+9
Comments5

Уж+ёж: реактивные компоненты в сервлетном окружении (3/3)

Reading time8 min
Views3.8K

В предыдущей заметке было подробно рассмотрено одно из решений для обеспечения повсеместной доступности текущего обрабатываемого HTTP-запроса. В отличие от неё, нынешняя заметка посвящена не одному большому пункту, а двум компактным: поддержке AOP-аспектов и работе OpenFeign-клиентов в «гибридных» приложениях.

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

Java 18. Что нового добавили, и почему вам это пригодится

Reading time7 min
Views31K

Выход Java 18 назначен на 22 марта 2022 года, ждать осталось недолго. Релиз уже несколько дней находится во второй фазе стабилизации, а значит, список фич уже финализирован, а значит настало время обратить на них наше внимание.

Сейчас у нас есть возможность попробовать новый функционал и понять, насколько он полезен. А пробовать есть что, несмотря на то, что это не LTS релиз!

В этой статье мы рассмотрим новые JEP и объясним, что они делают, и для чего они нужны. 

Хочу попробовать!
Total votes 48: ↑48 and ↓0+48
Comments33

Как я запускал Spring Cloud

Reading time5 min
Views12K

Меня зовут Аксёнов Вячеслав, я старший бэкенд Java/Kotlin разработчик в крупном энтерпрайзе. Однажды я попал на проект, полный микросервисов, в котором за конфигурацию отвечала такая штука как Spring Cloud. Чтобы разобраться как именно это работает я исследовал и прикрутил этот диковенный элемент к одному своему пет проекту. И в этой статье я пошагово покажу как я это сделал

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

Микросервисы для чайников: как на них перейти с монолита с нуля

Reading time12 min
Views66K

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

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

Читать далее
Total votes 29: ↑27 and ↓2+25
Comments31

Лучшие практики тестирования микросервисов

Reading time9 min
Views14K

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

В этой статье рассматриваются принципы разработки и лучшие практики тестирования ПО для архитектуры микросервисов.

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments1

Потратить миллион, чтобы нанять двух джунов: профит и около него

Reading time7 min
Views13K

Привет, меня зовут Валерий Антонов, я руковожу направлением Java в Уральском банке реконструкции и развития (УБРиР). 

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

Читать далее
Total votes 21: ↑15 and ↓6+9
Comments30

Как в Java устроено выделение регистров в памяти

Reading time6 min
Views14K

Привет, Хаброжители! Обратите внимание на большую распродажу в честь Старого Нового года.

Когда виртуальная машина Java компилирует ваш исходный код Java в машинный, одна из задач, которые она должна при этом выполнить – решить, где хранить локальные переменные Java и другие подобные временные значения. В вашей машине отсутствует концепция локальных переменных, поэтому на этапе компиляции необходимо определиться, какое место в памяти стека (какой машинный регистр) будет использоваться для хранения каждой переменной. Эта операция называется «выделение регистров». Может показаться, что выделение регистров – сложная абстрактная теоретическая тема, но в этом коротком посте я покажу, как сначала соотнести исходный код Java с теорией, потом понять, как его видит компилятор, а потом – показать результирующий машинный код. В данном случае моя цель – продемонстрировать, что все эти концепции очень легко опробовать на практике с реальным компилятором. 

Читать далее
Total votes 25: ↑20 and ↓5+15
Comments3

Микросервис головного мозга. Пилим всё, что движется

Reading time13 min
Views13K

Это история о том, как увеличить скорость выкатки фич, но сохранить качество продукта. О болевых точках, которые замедляют разработку, и новой «болезни» — микросервисе головного мозга, которую диагностировал Михаил Трифонов, техлид фронтов в SberСloud. Он утверждает, что она приводит к росту функциональности ML Space на 683% при увеличении команды разработки всего в 2 раза. Невероятно, но бизнес-аналитика это подтверждает. Так что давайте разбираться по порядку.

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

Краткое сравнение библиотек отказоустойчивости на JVM

Reading time4 min
Views6.3K

Независимо от того, внедряете ли вы микросервисы или нет, есть вероятность, что вы вызываете конечные точки HTTP. С HTTP-вызовами многое может пойти не так. Опытные разработчики планируют это и проектируют не только успешные пути. В общем отказоустойчивость (Fault Tolerance) включает в себя следующие функции: Retry (повтор попытки), Timeout (тайм-аут), Circuit Breaker (автоматический выключатель), Fallback (откат), Rate Limiter (ограничитель скорости), Bulkhead.

Несколько библиотек реализуют эти функции на JVM. В этом посте мы рассмотрим Microprofile Fault ToleranceFailsafe и Resilience4J.

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

Где и как применять low-code платформы

Reading time7 min
Views24K

Разговоры о программировании без программистов идут постоянно. За последние 14 лет моей работы в IT идёт уже вторая волна любви к low-code решениям. Если вы дольше наблюдаете IT-рынок, то наверняка вспомните ещё пару подъёмов этой темы. Я побуду в роли критика low-code платформ, но, заодно, опишу способ применения low-code платформы, при котором это применение будет эффективно и оправдано.

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

Полезные и неизвестные возможности Java

Reading time7 min
Views24K

В этой статье вы узнаете о некоторых полезных функциях Java, о которых вы, вероятно, не слышали. 

Это мой личный список функций, использованных мной недавно или с которыми я столкнулся при чтении статей о Java. 

Я сосредоточусь не на языковых аспектах, а на API. Я уже опубликовал все примеры, относящиеся к этой статье, в Твиттере в форме, показанной ниже. Вы также можете найти их в моей учетной записи Twitter или просто под #javaхэштегом.

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

Как мы выбирали архитектуру и переносили 20-летние монолиты промышленного гиганта на микросервисы

Reading time6 min
Views8.5K

Лично я сталкивался с тем, как крупные компании распиливают монолит на микросервисы, но потом не переиспользуют их. Они так и остаются жить в одной системе.

Здесь мы делаем микросервисы, не ради микросервисов, а пилим наши монолиты работоспособными частями. То есть, зарефакторили кусок, и производство с ним работает. На каждый - около 3 месяцев. Правда, с таким подходом есть риск улететь в ситуацию, когда микросервисы получаются AS IS, а не в общей идее архитектуры. В поддержке потом их совокупность не лучше монолита.

В общем, расскажу, как на практике распиливаются монолиты огромных размеров, которые управляют всем производственным циклом. А размеры ещё те: НЛМК — гигант. Мы делаем 20% стали России и входим в TOP-20 по производству в мире.

Сейчас миграция в процессе, делаем послойно уже чуть больше года. Быстрее, чем за 5 лет никто пока не делал, и это считается быстро. Посмотрим, как у нас получится.

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

Миграция Spring Boot приложения на Java 17 — сложный путь

Reading time11 min
Views23K

Недавно была выпущена Java 17, и я очень рад появлению множества улучшений и новых функций. Вместо того, чтобы начинать с нового или недавнего проекта (где в этом азарт?), Мы собираемся обновить существующее приложение Spring Boot, пока мы не сможем разработать новый код с использованием Java 17.

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

Расчетный листок, полученный римским солдатом X легиона. 2000 лет пролетело — ничего не изменилось…

Reading time3 min
Views65K

Листок папируса, найденный близ крепости Масады в Израиле, представляет собой расписку о получении жалования (и вычетах из него) одного из солдат римской армии.

Автор: Лысый Камрад (@LKamrad)

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

Перед нами  один из таких замечательных  документов  –  квиток о получении зарплаты  солдатом Гаем Мессием  с  подробно расписанными вычетами из нее. 

Давайте познакомимся с нашим "расчетным листком"  поближе.

Читать далее
Total votes 127: ↑113 and ↓14+99
Comments129

Паразит, дарующий своим  хозяевам «вечную молодость» и многократно удлиняющий срок их жизни

Reading time3 min
Views162K

... и это еще не все: бонусом идет сытое и беззаботное существование.

Автор: Лысый Камрад (@LKamrad)

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

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

Речь идет о ...

Читать далее
Total votes 261: ↑238 and ↓23+215
Comments115
1
23 ...

Information

Rating
Does not participate
Location
Украина
Registered
Activity