Pull to refresh
1
0
Send message

REST API в микросервисной архитектуре

Reading time9 min
Views20K
image

В этом посте расскажу о том, какой вред может нанести межсервисная коммуникация по HTTP в микросервисной архитектуре и предложу альтернативный способ совместного использования данных в распределенной системе.
Читать дальше →
Total votes 5: ↑4 and ↓1+6
Comments11

Рейтинг IT-брендов работодателей 2022: новый ландшафт рынка

Reading time9 min
Views98K

Хабр, привет! С публикации последнего топа IT-работодателей России прошёл год, а значит, пришло время его обновить. Очередной цикл исследования мы запустили летом этого года. Сказать, что сегодняшний рынок постоянно и стремительно меняется — ничего не сказать, а потому исследовать его как никогда интересно.

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

Для начала общие вводные. Всероссийское исследование IT-брендов работодателей проводится ежегодно, с 2020 года мы (команда ЭКОПСИ и Хабра) спрашиваем мнения IT-специалистов о компаниях на рынке труда: насколько та или иная компания им известна как место работы + как они оценивают её привлекательность как работодателя. В 2022 году исследование проходило с 15 мая по 31 августа.

Огласить весь список
Total votes 46: ↑37 and ↓9+39
Comments73

О мифологии миграции монолита в облака

Reading time13 min
Views2.6K

Около десяти лет назад микросервисы получили первое признание. С тех пор масса фирм воспользовалась услугами облачных провайдеров и перенесла свои сервисы к ним. А некоторые из них даже успели разочароваться в облачных технологиях и вернулись к традиционной схеме монолита (или почти к ней). 

Эта статья - не попытка уговорить вас на перенос вашего монолита в облако или отговорить от этого. Это попытка описать мифы по поводу такого переноса. 

Читать далее
Total votes 7: ↑5 and ↓2+5
Comments0

Прогресс GC от JDK 8 до JDK 17

Reading time5 min
Views22K

JDK 17 с нами уже несколько месяцев и он не только про новые возможности языка Java. Прирост производительности в сравнении с более старыми версиями JDK очень заметен. Это становится особенно очевидно, когда мы сравниваем его с предыдущими LTS версиями: JDK 8 и JDK 11. Большая доля в улучшении производительности происходит из новых функций и оптимизаций в JVM, и в этой статье фокус будет на улучшениях, которые были сделаны в области сборки мусора в JVM

Читать статью
Total votes 19: ↑19 and ↓0+19
Comments13

Domain-Driven Design: стратегическое проектирование. Часть 1

Reading time14 min
Views107K


Здравствуйте, хабрапользователи! В этой статье речь пойдет о предметно-ориентированном проектировании программного обеспечения с использованием, в первую очередь, стратегических шаблонов. Вторую часть – про тактическое проектирование – читайте здесь.

Данный подход использовал Вон Вернон в своей книге «Реализация методов предметно-ориентированного проектирования». Цель написания этой книги: дать возможность разработчикам совершить полет на самолете DDD (в детстве автор зачастую путешествовал со своей семьей на небольших самолетах). Вид с высоты дает более широкое представление о проблемах моделирования, не давая застрять в различных технических деталях. Наблюдая ландшафт DDD таким способом, можно осознать преимущества как стратегического, так и технического проектирования. Подробнее – под катом!
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments64

Микросервисы, Apache Kafka и Domain-Driven Design

Reading time10 min
Views26K

Почему Apache Kafka стала стандартом и основой архитектуры микросервисов. Как Kafka не только заменяет другое промежуточное ПО, но и позволяет создавать сами микросервисы с помощью DDD и нативных API Kafka: Kafka Streams, ksqlDB и Kafka Connect.

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

Любопытная особенность языка Java и коварные ошибки, которые она может повлечь

Reading time3 min
Views8K
Привет, Хабр! Представляю вашему вниманию перевод статьи A Curious Java Language Feature and How it Produced a Subtle Bug автора Lukas Eder.

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

package p;
 
import static p.A.x;
 
class A {
    static String x = "A.x";
}
 
class B {
    String x = "B.x";
}
 
class C {
    String x = "C.x";
 
    class D extends B {
        void m() {
            System.out.println(x);
        }
    }
}
 
public class X {
    public static void main(String[] args) {
        new C().new D().m();
    }
}

Будет выведено:

B.x

Потому, что:

Члены суперкласса B скрывают все вложенные элементы класса C, которые, в свою    очередь, перекрывают статический импорт класса A.

Каким же образом все это может привести к ошибкам?


Читать дальше →
Total votes 16: ↑11 and ↓5+6
Comments7

Архитектурная пирамида приложения

Reading time8 min
Views20K
Программирование — достаточно молодая область знаний, однако, в ней уже существуют базовые принципы «хорошего кода», рассматриваемые большинством разработчиков как аксиомы. Все слышали о SOLID, KISS, YAGNI и других трех- или четырех- буквенных аббревиатурах, делающих ваш код чище. Эти принципы влияют на архитектуру вашего приложения, но помимо них существуют архитектурные стили, методологии, фреймворки и много чего еще.

Разбираясь со всем этим по отдельности, меня заинтересовал вопрос — как они взаимосвязаны? Пытаясь выстроить иерархию и вдохновившись небезызвестной пирамидой Маслоу, я построил свою пирамиду «архитектуры приложения».

О том, что из этого вышло — читайте под катом.
Войти в пирамиду
Total votes 17: ↑17 and ↓0+17
Comments15

Что такое кроп-фактор

Reading time3 min
Views70K
Сейчас существует множество зеркальных фотокамер. Наиболее популярны из них любительские и полупрофессиональные камеры с «кроп-матрицей». Но что же такое «кроп»? Что означает «кроп-фактор»?
В этой статье я попытаюсь приоткрыть завесу таинственности.

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

31 тезис

Reading time3 min
Views1.2K
Иногда, когда у меня случаются моменты не самого лучшего настроения или что-то не получается, вмешивается, происходит или еще каким-то образом отравляет жизнь, я перечитываю эти цитаты, собранные мной несколько лет назад воедино — и силы приходят!

Читать дальше →
Total votes 83: ↑62 and ↓21+41
Comments23

Азбука начинающего Symbian OS юзера

Reading time8 min
Views20K

Внимание!


Сия статья ориентирована на людей которые по тем или инным причинам являются владельцами смартфонов на базе Symbian OS, но не смотря на это используют свой девайс исключительно для вскрытия пивных пробок звонков. В статье присутствуют элементы пренебрежения авторскими правами некоторых забугорных софт контор, но учитывая мои исключительно благие намерения я позволю себе такую слабость. В конце концов, если захотите приобрести ту или инную софтину — вас никто не держит. У меня, например, около 30% софта чесно куплено (ибо я в нем действительно нуждаюсь), 60% — свободнораспространяемого, и всего лишь 10% — вареза, платить за который я отказываюсь принципиально, в силу несоответствия цены и качества у онного.

Я, при содействии и снабжении меня необходимым запасом провианта и очень стимулирующими (правда, очень) пинками со стороны моего незабвенного товарища которого зовут Олегом, пишу статью-мануал, такую себе азбуку начинающего смартовода, которая поможет ему (смартоводу) разобраться в азах смартовединея и достойно заюзать сии прекрасные девайсы как на то полагается по праву. С чего это вдруг? Хе-хе… В один прекрасный день я узрел своего старого знакомого. Он такой себе среднестатистический писи пользователь, кодит даже немного на питоне (джаст фор фан)… Так вот, попросил он меня помочь ему освоить новый гаджет (который он виду врожденной паталогической лени не захотел осваивать с Божей и (или) Гугла помощью). Ну помог я человеку ес-но, как уж тут отказать-то. И задумался. А ведь сколько народу имеют в своем распоряжении смартфон, но в виду лени/отсутсвия времени даже не желают им пользоваться. Может и среди хабранарода есть такие? Вот в сегодняшней статье я расскажу вам о том, как из безжизненного куска железа на безе Symbian OS сделать то, чем не стыдно и даже приятно пользоваться.

Осторожно! Под катом много букв и картинок!
Total votes 129: ↑109 and ↓20+89
Comments139

Рецепт нагрузочного тестирования на JMeter

Reading time4 min
Views36K

Стоит ли вообще браться за JMeter


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

Составление сценария


В моем случае было необходимо протестировать сервис, и понять как долго он еще протянет без оптимизации кода или добавления серверов.
В идеале нужно загрузить в JMeter сценарий по которому как бы работает пользователь, после чего прогнать сценарий в несколько потоков, наблюдая за скорость обработки запросов.
Главная сложность в том, как этот сценарий получить и собственно этим рецептом я и хочу поделиться.
Читать дальше →
Total votes 47: ↑45 and ↓2+43
Comments10

Munin — мониторинг сети это просто!

Reading time3 min
Views111K

В жизни каждого системного администратора рано или поздно наступает момент, когда глаз и рук уже не хватает уследить за всеми серверами, то там, то там возникают какие-то проблемы, а для решения их очень хочется узнать что же было «до этого». И именно здесь на выручку приходят они — вел
икие и ужасные системы мониторинга. Долгое время я пользовался Nagios, и до сих пор, при всём удобстве, иначе как монстрообразным назвать не могу. В итоге реально использовались лишь 10% возможностей этой прекрасной системы. Всё изменилось, когда я наткнулся на Munin — прекрасное решение для мониторинга небольших сетей.
Обзор системы
Total votes 37: ↑33 and ↓4+29
Comments42

SVN merge for dummies

Reading time7 min
Views29K
Простыми словами и с большим количеством картинок на примере Eclipse рассказывается, как сделать svn merge. Статья будет полезна тем, у кого выполнение слияния веток еще не стало повседневной частью работы.
читать дальше
Total votes 18: ↑17 and ↓1+16
Comments8

Установка и настройка rTorrent в Debian

Reading time6 min
Views65K
Torrent file iconDebian logorTorrent — еще один из самых популярных torrent клинтов в мире Unix-подобных операционных систем (о Transmission я уже написал несколько ранее). При создании этого клиента, по заявлению автора, во главе угла стояли «высокая производительность и хороший код», а использование mmap для отображения файлов в память позволяет добиться на широкополосных каналах трехкратного преимущества перед официальным клиентом. Еще одной характерной чертой rTorrent является наличие множества различных web-интерфейсов «на все вкусы» для удаленного управления. Именно об установке и настройке всего этого я и хочу рассказать на этот раз.
Читать дальше →
Total votes 71: ↑57 and ↓14+43
Comments35

Материалы продвинутого уровня по Питону

Reading time5 min
Views44K
PythonВ мире все примерно распределяется в соответствии с принципом Паретто. Меньшая часть — богатые, большая часть — бедные (читающий, ты входишь в золотой миллиард). Тоже касается и материалов о программировании. Порой очень сложно найти хоть что-нибудь не начального уровня.

После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.

Подробнее
Total votes 136: ↑133 and ↓3+130
Comments23

«Завтра я перестану откладывать дела на завтра»

Reading time4 min
Views8.5K
Промедление — это то, чем мы занимаемся каждый день:
  1. «Мне завтра нужно сдать курсовую, которую я еще не начинал, но, чтобы сконцентрироваться, мне сейчас надо отдохнуть и попить кофе»
  2. «Я хочу начать бегать по утрам, но сначала мне нужно сдать сессию и найти хорошую работу, которая обеспечит мне стабильность и уверенность»
  3. «Перед тем, как начать работать, мне нужно ответить на 11 писем и поговорить с друзьями по аське о летней поездке в Испанию, чтобы не отвлекаться в течение дня»

Читать полностью
Total votes 151: ↑143 and ↓8+135
Comments92

Использование runit для своих сервисов

Reading time3 min
Views51K
Супервизор сервисов runit позиционируется как замена стандартным скриптам инициализации Unix.

Но на практике оказалось, что runit идеален для управления сервисами безотносительно инициализации и т.п.

Введение


Супервизор берёт на себя такой функционал, как:
  • превращение любого процесса в демон;
  • логгирование вывода процесса и ротирование логов;
  • запуск, остановка, рестарт, запрос состояния, управляющие скрипты для init.d;
  • выключение и запуск сервисов автоматически при появлении новых сервисов в списке либо удалении старых из списка;
  • возможность ведения нескольких независимых списков сервисов одновременно (например, для каждого пользователя отдельно и для системы в целом);
  • удобный API для управления сервисами.

Для большинства операционных систем runit уже входит в репозитории пакетов (apt-get install runit). Кроме того, мы имеем уже готовый набор рецептов для популярных сервисов (nginx, apache etc.).

Читать дальше →
Total votes 43: ↑39 and ↓4+35
Comments54

TestRail: как сначала подумать, а потом протестировать

Reading time5 min
Views139K
картинка для привлечения внимания Надеюсь, многие из вас знают, что в тестировании тоже есть документация. И вести ее можно по-олдскульному, в xls-файлах да в папочках или же, как настоящие джедаи, использовать специализированный инструмент.
Вот об одном из таких инструментов под названием TestRail, который мы недавно внедрили у себя в TestLab², я и хочу сегодня рассказать. Инструмент оказался настолько удачным, что молчать сил не было и я решил наконец-то сделать что-то полезное для общества.

Люди, не желающие работать по-человечески под кат не приглашаются...
Total votes 35: ↑26 and ↓9+17
Comments22

8 правил инноваций от Тайлера

Reading time3 min
Views43K
Тайлер ДёрденВсем нам хотелось бы совершать значительные поступки и прожить выдающуюся жизнь.
Никто не хочет целыми днями производить приевшиеся товары в бесцельной гонке за несуществующего потребителя. Ну и уж само собой, что вы лично этого не хотите, не так ли?
Так почему же нам кажется, что сломать рутину и начать заниматься чем-то принципиально новым, так сложно? Потому что это действительно сложно: от нас требуется сменить приоритеты, поменять свои планы и разрушить комфортную жизнь. Это почти то же самое, что стать другим человеком.

«Бойцовский клуб» — фильм о том, как прожить ту жизнь, которую хочешь, и какой тернистый путь нужно пройти, чтобы это стало возможным. Тайлер помогает безымянному герою фильма встать на путь просветления. Возможно, слова Тайлера смогут помочь и кому-то из нас.
Читать дальше →
Total votes 201: ↑153 and ↓48+105
Comments120

Information

Rating
Does not participate
Location
Россия
Registered
Activity