Как стать автором
Обновить
6
0
Голов Павел @Powerstrike

Software Engineer

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

Руководство по возможностям языка Java версий 8-19

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

Вы можете использовать это руководство для получения практической информации о том, как найти и установить последнюю версию Java, понять различия между дистрибутивами Java (Adoptium, AdoptOpenJdk, OpenJDK, OracleJDK и т. д.), а также получить обзор функций языка Java, включая версии 8–19.

Читать далее
Всего голосов 35: ↑33 и ↓2+35
Комментарии10

Как я очень захотел перейти из фронтенда в бэкенд — и перешёл

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

Павел Комаров, фронтендер с пятилетним стажем, рассказал, как прошлой осенью перешёл в бэкенд: почему захотел это сделать, какие ставил цели и как к ним шёл. Ну и о том, что получилось в результате :)

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

RabbitMQ против Kafka: два разных подхода к обмену сообщениями

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

В прошлых двух статьях мы рассказывали об IIoT — индустриальном интернете вещей — строили архитектуру, чтобы принимать данные от сенсоров, паяли сами сенсоры. Краеугольным камнем архитектур IIoT да и вообще любых архитектур работающих с BigData является потоковая обработка данных. В ее основе лежит концепция передачи сообщений и очередей. Стандартом работы с рассылкой сообщений сейчас стала Apache Kafka. Однако, для того, чтобы разобраться в ее преимуществах (и понять ее недостатки) было бы хорошо разобраться в основах работы систем очередей в целом, механизмах их работы, шаблонах использования и основной функциональности.



Мы нашли отличную серию статей, которая сравнивает функциональность Apache Kafka и другого (незаслуженно игнорируемого) гиганта среди систем очередей — RabbitMQ. Эту серию статей мы перевели, снабдили своими комментариями и дополнили. Хотя серия и написана в декабре 2017 года, мир систем обмена сообщениями (и особенно Apache Kafka) меняется так быстро, что уже к лету 2018-го года некоторые вещи изменились.

Читать дальше →
Всего голосов 87: ↑82 и ↓5+77
Комментарии42

Как проводить 1:1: гайд для разработчиков, а не менеджеров

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

Если вы пересекаетесь с вашим линейным менеджером только тогда, когда нужно подписать отпуск или приходите к нему с оффером от другой компании, то что-то идёт не так. Чтобы получать качественный фидбек и расти в желаемую сторону нужно понять, что проведение 1:1 это не обязанность вашего менеджера, а ваша общая. Стоит помнить, что с менеджерами работает такое же правило, как и с разработчиками: хороших меньшинство. Так что если вы оставите проведение 1:1 полностью на них, то рано или поздно вы разочаруетесь. Тут я собрал основные советы о том, как подходить к 1:1 разработчику (на самом деле эти же правила применимы и для любой другой специальности).

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

Механизмы контейнеризации: cgroups

Время на прочтение11 мин
Количество просмотров112K
механизмы контейнеризации

Продолжаем цикл статей о механизмах контейнеризации. В прошлый раз мы говорили об изоляции процессов с помощью механизма «пространств имён» (namespaces). Но для контейнеризации одной лишь изоляции ресурсов недостаточно. Если мы запускаем какое-либо приложение в изолированном окружении, мы должны быть уверены в том, что этому приложению выделено достаточно ресурсов и что оно не будет потреблять лишние ресурсы, нарушая тем самым работу остальной системы. Для решения этой задачи в ядре Linux имеется специальный механизм — cgroups (сокращение от control groups, контрольные группы). О нём мы расскажем в сегодняшней статье.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии4

Механизмы контейнеризации: namespaces

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

Последние несколько лет отмечены ростом популярности «контейнерных» решений для ОС Linux. О том, как и для каких целей можно использовать контейнеры, сегодня много говорят и пишут. А вот механизмам, лежащим в основе контейнеризации, уделяется гораздо меньше внимания.

Все инструменты контейнеризации — будь то Docker, LXC или systemd-nspawn,— основываются на двух подсистемах ядра Linux: namespaces и cgroups. Механизм namespaces (пространств имён) мы хотели бы подробно рассмотреть в этой статье.

Начнём несколько издалека. Идеи, лежащие в основе механизма пространств имён, не новы. Ещё в 1979 году в UNIX был добавлен системный вызов chroot() — как раз с целью обеспечить изоляцию и предоставить разработчикам отдельную от основной системы площадку для тестирования. Нелишним будет вспомнить, как он работает. Затем мы рассмотрим особенности функционирования механизма пространств имён в современных Linux-системах.
Читать дальше →
Всего голосов 42: ↑39 и ↓3+36
Комментарии0

Информация

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

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

Backend Developer
Senior
Git
Java
PostgreSQL
SQL
Java Spring Framework
High-loaded systems
Redis
Golang
Database
Software development