Pull to refresh
103
0
Иван Вахрушев @IvanVakhrushev

Java Developer, Open Source Enthusiast

Spring-потрошитель: жизненный цикл Spring Framework

Level of difficulty Medium
Reading time 8 min
Views 10K
Programming *Java *Debugging *Reverse engineering *
Sandbox

Ни для кого не секрет, что Spring Framework один из самых популярных фреймворков для приложений на языке Java. Он интегрировал в себя самые полезные и актуальные технологии, такие как i18n, JPA, MVC, JMS, Cloud и т.п.

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

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

Нужен ли ConfigureAwait?

Reading time 8 min
Views 10K
.NET *C# *

image


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


Одна из многословных конструкций .NET связана с деталями реализации асинхронности и обросла кучей мифов. Про неё спрашивают на собеседованиях, код-ревью, делают обязательной, добавляя в правила линтера. Это .ConfigureAwait(false), сопровождающий каждый await в коде.


В этой статье я расскажу, зачем нужен ConfigureAwait(false) и как обойтись без него.

Читать дальше →
Total votes 57: ↑56 and ↓1 +55
Comments 19

Как осознать себя в роли руководителя тимлидов

Reading time 6 min
Views 6.1K
AvitoTech corporate blog Development Management *Personnel Management *

Привет, я Сергей Баранов, и с недавнего времени я Technical Unit Leader в Авито, проще говоря — тимлид тимлидов. Когда‑то я начинал как обычный разработчик, а потом стал лидером маленькой команды из четырёх человек. Сейчас в моем юните четыре команды. В этой статье я расскажу, как изменился мой образ мышления в новой должности.

Читать далее
Total votes 31: ↑25 and ↓6 +19
Comments 0

Идеальный лидер. Как сочетать в себе диктатора, формалиста, либерала, демократа и создать эффективную команду разработки

Reading time 8 min
Views 5.8K
AGIMA corporate blog Development Management *Project management *IT career

Привет, Habr! На связи Андрей Непряхин, СТО компании AGIMA. В этой статье я расскажу о том, какие стили лидерства существуют, как их нужно применять на различных стадиях развития команды.

Читать далее
Total votes 32: ↑27 and ↓5 +22
Comments 5

Schema Registry с Protobuf в Kafka — зачем оно надо?

Level of difficulty Medium
Reading time 15 min
Views 1.9K
LENTA:U TECH corporate blog Programming *Go *
Tutorial

Всем привет. Меня зовут Нина Пакшина, я разработчик “Лента Онлайн” и часть операционной команды в сервисе доставки продуктов.

В данной статье на примере языка Go я расскажу о том, как мы внедряли Kafka в связке с Schema Registry и Protobuf в качестве формата сообщений.

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

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

Делай нейминг как сеньор

Reading time 13 min
Views 82K
Dodo Engineering corporate blog Programming *System Analysis and Design *Perfect code *Development Management *

Это объект Pizza, там хранится инфа о латте, а заказали его в Restaurant или в Pizzeria? Неудобно? Максимально. Мы читаем код существенно больше, чем пишем. И хочется сразу понимать, что происходит, не играя в квесты «что имел в виду автор», «да как это работает» и «я снова ничего не понял». Без навыка давать хороший нейминг невозможно писать качественный и поддерживаемый код. Про нейминг говорят заодно, в рамках архитектуры и общих инженерных практик. В статье поговорим про него отдельно.

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

Читать далее
Total votes 186: ↑184 and ↓2 +182
Comments 220

Что выбрать для очередного API: HTTP или gRPC

Reading time 6 min
Views 14K
VK corporate blog Programming *API *


Команда VK Cloud перевела статью с подробным техническим сравнением двух типов API: HTTP и gRPC. Автор рассказывает о своем опыте работы и описывает нюансы, преимущества и недостатки каждой технологии.
Читать дальше →
Total votes 41: ↑35 and ↓6 +29
Comments 9

Как выбрать школу для ребенка в Грузии и Армении

Reading time 5 min
Views 1.1K
Школа Le Sallay Диалог corporate blog Education abroad IT-emigration Remote work
Review

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

Сегодня поговорим об этнически интересных и близких нам странах, пользующихся огромной популярностью у IT-эмиграции: о Грузии и Армении.

Читать далее
Total votes 15: ↑7 and ↓8 -1
Comments 0

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

Reading time 5 min
Views 20K
Learning languages

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

Читать далее
Total votes 29: ↑26 and ↓3 +23
Comments 18

Наша новая удачная попытка бесшовной замены Redis на KeyDB

Reading time 5 min
Views 8.8K
Флант corporate blog Database Administration *DevOps *Kubernetes *
✏️ Technotext 2022

Мы уже как-то рассказывали о базе данных KeyDB — форке Redis, разработка которого началась в 2019 году. Проект распространяется под свободной лицензией BSD, и у него уже почти 6k звезд на GitHub. Авторы в свое время столкнулись с проблемами производительности оригинала и пошли хардкорным путём: взяли всё в свои руки и привнесли много нового как в части многопоточности, так и в других областях.

В статье делимся еще одним положительным опытом замены Redis на KeyDB.

Читать далее
Total votes 45: ↑45 and ↓0 +45
Comments 19

DI не из ада

Reading time 4 min
Views 11K
Programming *Java *Designing and refactoring *ООP *

Год назад я написал статью про DI в Spring/Java EE. Мой тезис звучал довольно категорично: "DI через конструкторы является единственно правильным. Все остальное – от лукавого". Прошло время, я пообщался с разными разработчиками на эту тему, сменил проект, компанию, провел множество собеседований, отсмотрел большое количество строк на code-review и сейчас могу сказать, что не все так однозначно. Давайте наконец разберемся, как же все-таки инжектить правильно.

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

Растения I класса опасности. Памятка по идентификации

Reading time 15 min
Views 131K
Popular science Health Chemistry Ecology Biology
Tutorial
✏️ Technotext 2021
Признаю честно, я не собирался сейчас писать заметку, ибо в лавине разномастного хабр-научпопа ботанике с примесью химии конкурировать достаточно сложно. Да и все, кому интересны мои публикации давным-давно координируются телеграм-каналом, а самые активные даже patreon-ируют и влияют на создание контента. Но внезапно, после того, как аннотация заметки в фэйсбуке набрала кучу репостов, я решил вынести ее на Хабр, ибо «Знание-сила». Под катом короткая статья, про растительные сверхтоксины, которые в прямом смысле вокруг нас. Как не крути, а это надо знать всем!

Вторая часть — Токсины растений. User Stories
Третья часть — Ядовитые декоративные растения в саду и огороде. Справочник
Четвертая часть — Опасные «вкусняшки». Ядовитые лесные ягоды. Памятка для детей и взрослых


Определить сверхтоксичное растение!
Total votes 170: ↑164 and ↓6 +158
Comments 164

Liveness probes в Kubernetes могут быть опасны

Reading time 6 min
Views 32K
Флант corporate blog System administration *DevOps *Kubernetes *
Translation
Прим. перев.: Ведущий инженер из компании Zalando — Henning Jacobs — не раз замечал у пользователей Kubernetes проблемы в понимании предназначения liveness (и readiness) probes и их корректного применения. Посему он собрал свои мысли в эту ёмкую заметку, которая со временем станет частью документации K8s.



Проверки состояния, известные в Kubernetes как liveness probes (т.е., дословно, «тесты на жизнеспособность» — прим. перев.), могут быть весьма опасными. Рекомендую по возможности избегать их: исключениями являются только случаи, когда они действительно необходимы и вы полностью осознаете специфику и последствия их использования. В этой публикации речь пойдет о liveness- и readiness-проверках, а также будет рассказано, в каких случаях стоит и не стоит их применять.
Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Comments 2

Гайд по переезду в Армению

Reading time 37 min
Views 24K
IT career Remote work

Сейчас многие из нас уезжаю в жить в Армению. Там оказался и я. У меня не было большого количества времени на подготовку к переезду. В первые дни мне пришлось искать ответы на множество бытовых вопросов.

В этой статье я публикую свои информацию по переезду в Армению, которая очень сильно помогла мне.

Читать далее
Total votes 58: ↑46 and ↓12 +34
Comments 47

NULL-значения в PostgreSQL: правила и исключения

Reading time 8 min
Views 15K
Postgres Professional corporate blog PostgreSQL *SQL *

Навскидку многим кажется, что они знакомы с поведением NULL-значений в PostgreSQL, однако иногда неопределённые значения преподносят сюрпризы. Предлагаем вашему вниманию расшифровку доклада Алексея Борщева с PGConf.Russia 2022 — он был полностью посвящён особенностям NULL-значений в Postgres.

NULL простыми словами

Что такое SQL база данных? Согласно одному из определений, это просто набор взаимосвязанных таблиц. А что такое NULL? Обратимся к простому бытовому примеру: все мы задаём друг другу дежурный вопрос: «Как дела?». Часто мы получаем в ответ: «Да ничего...» Вот это «ничего» нам и нужно положить в базу данных — NULL, неопределённое, некорректное или неизвестное значение.

Читать далее
Total votes 35: ↑34 and ↓1 +33
Comments 22

Spring Data JPA: метод save и границы его применимости

Reading time 13 min
Views 6.9K
Росбанк corporate blog Java *

Привет! Меня зовут Семён Киреков, я Java-разработчик и тимлид в Центре Big Data @МТС Digital и Java-декан в МТС Тета — образовательном стартапе в рамках МТС. На митапе Росбанка и Jug.ru я рассказывал о том, как устроен метод Save в Spring Data JPA, почему он может вызвать лишний select, как решить эту проблему и при чем здесь доменные события Spring. Здесь я поделюсь этой информацией с вами.

Читать далее
Total votes 12: ↑11 and ↓1 +10
Comments 4

WiFi-портал в Россию – Как работать из-за границы, если компания не разрешает?

Reading time 5 min
Views 38K
Network technologies *Network hardware
Tutorial

Понятно, что из такой компании надо уходить. Но в тяжелый и затратный период экстренной эмиграции остаться без дохода не хочется. Я расскажу, как настроить сеть, чтобы продолжать работать из-за границы.

Читать далее
Total votes 81: ↑55 and ↓26 +29
Comments 168

Настраиваем память JVM-приложения в Kubernetes

Reading time 6 min
Views 11K
Домклик corporate blog Programming *Java *Kotlin *Kubernetes *

Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на  использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.

 

Читать далее
Total votes 42: ↑40 and ↓2 +38
Comments 9

Бесплатный VPN с российским IP

Reading time 3 min
Views 84K
Self Promo

Пару недель назад я запустил "VPN Наоборот" – VPN с российским IP для доступа к сайтам, недоступным из-за рубежа. Ко мне обратились уже больше 1000 человек. Большинству из них я смог помочь. Огромное спасибо всем за донаты и тёплые слова!

Читать далее
Total votes 53: ↑48 and ↓5 +43
Comments 31

Документы перед выездом из РФ

Reading time 10 min
Views 48K
IT-emigration

Всем привет!

Хочу рассказать о том какие документы желательно заранее подготовить перед выездом из РФ. Статья возможно уже не будет такой актуальной с учетом того, что кто-то либо уже уехал, либо находится на низком старте, но если вы пока находитесь в РФ - подготовьте хотя бы часть документов из списка.

Топ документов возглавляет генеральная доверенность. Очень настоятельно прошу ее сделать на вашего родственника или на человека, которому вы безоговорочно доверяете, но который на какое-то время точно останется в России. Можно сделать доверенность на нескольких людей. Цена вопроса - в районе 2,500 рублей за 1 доверенность. При этом, человек, на которого вы оформляете доверенность может не присутствовать, вам понадобится только копия его паспорта (страница с фото + прописка).

Доверенность можно оформить на любой срок, хоть на 50 лет, нотариус запишет срок, который вы назовете. Также доверенность можно сделать с возможностью ее передоверия другому человеку: например, я оформила доверенность на Васю Пупкина с правом передоверия, а Вася Пупкин передоверил ее Ивану Иванову. Мероприятие рискованное, но если вы доверяете человеку и понимаете, что возможно он тоже через какое-то время покинет РФ - такой вариант для вас подойдет.

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

Что входит в такую доверенность (если кратко):

Читать далее
Total votes 68: ↑60 and ↓8 +52
Comments 144

Information

Rating
Does not participate
Location
Yerevan, Yerevan, Армения
Date of birth
Registered
Activity

Specialization

Specialist
Lead
Java
PostgreSQL