Search
Write a publication
Pull to refresh
3
0.4

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

Send message

Будущее микросервисов: уйдем ли мы к монолитам 2.0?

Level of difficultyEasy
Reading time8 min
Views45K

Микросервисы или монолит? Споры об архитектуре программного обеспечения не утихают, но с 2018-2020 годов наметился интересный тренд: компании начинают переоценивать сложность микросервисного подхода. Возвращение к монолитам, но уже с учетом современных инструментов, вызывает жаркие обсуждения в техническом сообществе.

В этой статье я не буду защищать какую-либо из сторон. И не буду обещать волшебных решений, которые решат все архитектурные проблемы. Вместо этого разберем, что стоит за модной концепцией «монолиты 2.0», как эволюция технологий меняет восприятие архитектуры и почему возвращение к упрощению может быть выгодным. Добро пожаловать в мир архитектурных компромиссов — подробности под катом.
Читать дальше →

Как разработчик вышел на $400 000/мес на AI-сервисе для написания эссе

Level of difficultyEasy
Reading time4 min
Views36K

Разбираю, как разработчик вывел свой простой сервис для написания эссе в топ Google, несмотря на кучу конкурентов. Монетизировал продукт по подписке $30/мес и вышел на доход более, чем $400 000 в месяц.

Читать далее

Книга: «Изучаем OpenTelemetry: современный мониторинг систем»

Reading time8 min
Views6K
imageПривет, Хаброжители!

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

Классическое определение наблюдаемости звучит так: наблюдаемость – это свойство системы, отражающее то, насколько об ее внутреннем состоянии можно судить по ее внешним проявлениям. Иными словами, наблюдаемость – это степень прозрачности системы. А данные, позволяющие анализировать и контролировать работу системы, называют данными телеметрии.
Читать дальше →

Моки, L1 и никакого деплоя. Собираем идеальный .NET-тест для веб-сервиса

Level of difficultyMedium
Reading time16 min
Views4.9K
Автотесты, как известно, работа пыльная и ресурсозатратная. А уж если речь идет об интеграционных, то тем более: сначала осуществляешь сборку теста, затем добавляешь его в нужную среду, а потом еще тот самый деплой, подготовка которого может занимать критически много времени… Но будучи SDET-ом, то есть совмещая в себе навыки разработчика, тестировщика и DevOps, я постигаю архитектуру тестов и иногда нахожу интересные решения по ее оптимизации :)



В этой статье расскажу, как тестировать ASP.NET-приложения максимально быстро, не закрывая IDE и вообще не запуская деплой! Покажу, как при таком подходе создавать не только, например, тесты REST API, но и веб-тесты с использованием Selenium или Playwright. Объясню, что такое TestServer и WebApplicationFactory на конкретных примерах, и продемонстрирую, как с ними можно работать!

Статья будет максимально полезна тем, кто так или иначе уже погружен в непростой мир .NET и C# (и не утонул в нем). Для вас это готовый туториал по интеграции всех этих инструментов! Впрочем, это у нас в компании широко используются .NET и «шарпы» — но даже если ваши тесты пишутся не на C#, все равно рекомендую пробежаться по моей статье! Уверен, вы сможете почерпнуть для себя пару хороших идей, ведь все описанное ниже можно реализовать и на других языках программирования.
Читать дальше →

7 полезных промптов для ChatGPT для программистов

Level of difficultyEasy
Reading time3 min
Views18K

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

Читать далее

Заточка кухонных ножей мусатом

Level of difficultyEasy
Reading time9 min
Views82K

Я инженер, «переболел» заточкой ножей. Поделюсь наименее очевидными элементами теории; и простейшей техникой поддержания кухонного ножа острым за одну минуту в неделю.

Читать далее

Не нужно становиться тимлидом

Level of difficultyEasy
Reading time4 min
Views68K

Последнее время вышло много статей на тему тимлидства. Где-то спорили о написании кода тимлидами, где-то говорили о найме, где-то обсуждали пипл-менеджмент. Но давайте подумаем, есть ли вообще смысл становиться тимлидом.

Читать далее

Docs as Code: как вести фронтовую документацию рядом с кодом, чтобы репозиторий не раздуло

Level of difficultyEasy
Reading time7 min
Views14K

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

Но, кажется, эту напасть удалось побороть. В статье я расскажу, как вести фронтовую документацию рядом с кодом и к каким последствиям это приводит.

Читать далее

Пленка на чае. Блеск и нищета

Level of difficultyMedium
Reading time14 min
Views58K
Страшно, очень страшно, мы не знаем что это такое, если бы мы знали, что это такое, но мы не знаем, что это такое

Недавно собеседник спросил, знаю ли я что-то про «масляную пленку» образующуюся на чае. Спросил и заставил меня задуматься, ведь действительно, со всеми этими каркаде, ройбос&ханибуш и прочими матэ я сто лет не видел этот родненький «чайный налет». Даже специально пошел и купил пачку «первосортного» чая по цене <1$ за 50 пакетиков. Вспомнил из студенческих лет, что "хрестоматийная" пленка на чае формировалась из самого бросового пакетированного чая, не всякой ложкой ее можно было разрушить с первого раза. Вот прям невыносимо захотелось пощупать/понюхать/посмотреть 😀 Под катом ответ на главный вопрос жизни, вселенной и всего такого «что это вообще такое?»


Избавим чай от чёрствости!

Моя петиция EB-1A на грин-карту талантов, одобренная с первой попытки

Level of difficultyMedium
Reading time43 min
Views24K

Моя полная петиция на грин-карту по программе талантов EB-1A. 557 страниц, 7 критериев, одобрена с первой попытки без RFE. Все мои рассуждения по выбору критериев, подготовке и описанию доказательств, переводам, оформлению и отправке.

Читать далее

Математика, физика и космология: как заблудиться в трех соснах

Level of difficultyMedium
Reading time8 min
Views8.4K

Недавно сдал текст своей книги в редакцию (речь идет об английском издании вот этой книги, которая вышла в июне этого года и пока есть в продаже, но вот-вот иссякнет), закончив длинный период размышлений над самыми сложными вопросами строения Вселенной. В ходе этих раздумий всплывали достаточно неожиданные и даже парадоксальные темы, которые связаны не столько с космологией, сколько с глубинными вопросами взаимодействия физики и математики, энтропии и гравитации и т.д. Хочу поделиться этими размышлениями с хаброжителями, которые представляют, пожалуй, самую интеллектуальную аудиторию современного интернета. Эти мысли не претендуют на истину в последней инстанции и могут показаться даже дилетантскими. Вполне возможно, что я где-то ошибаюсь, и кто-то умный уже думал на эту тему и заметно глубже – буду рад услышать ваше мнение или получить полезную ссылку.

Читать далее

Книга: «Простое объектно-ориентированное проектирование: чистый и гибкий код»

Reading time9 min
Views13K
image Привет, Хаброжители!

Объектно-ориентированное проектирование (ООП) — не просто чисто инженерная задача; оно перерастает в искусство. Никакая заданная последовательность шагов не приведет к оптимальному проекту. Объектно-ориентированное проектирование требует творческого подхода.

В книге «Простое объектно-ориентированное проектирование: чистый и гибкий код» Маурисио Аниче рассматривает ООП с двух точек зрения: как предотвратить резкое увеличение сложности системы и как получить «достаточно хорошую» архитектуру.
Читать дальше →

Как быстро уснуть? Здоровый сон — хороший код

Level of difficultyEasy
Reading time5 min
Views15K

Каким бы ни был здоровым человек (как психически, так и физически), проблемы со сном в той или иной мере были у каждого. Многие не раз задавали себе вопрос: как быстро уснуть, если на сон ограниченное время? Как уснуть ночью, когда по различным причинам этого не удаётся сделать? Все мы прекрасно знаем, что крепкий сон - это залог продуктивной деятельности и здоровья. Поэтому, давайте разберем разные моменты и подходы во Вселенной Морфея и Гипноса.

Читать далее

LaTeX для всех: от первых шагов до продвинутых трюков

Level of difficultyEasy
Reading time1 min
Views7.5K

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

Каждый, кто хоть раз сталкивался с оформлением документов или версткой научных работ, слышал про LaTeX. Это мощный инструмент, способный на многое, но с непривычки разобраться с его синтаксисом может быть, мягко говоря, сложно. Именно по этой причине я решил создать книгу LaTeX book by examples — для начинающих и продвинутых пользователей. В этой статье я коротко расскажу, что в ней особенного и почему вам стоит на неё взглянуть (и возможно даже поставить звёздочку на GitHub 😁).

Читать далее

Как развернуть сервис в Kubernetes: гайд для начинающих

Level of difficultyEasy
Reading time8 min
Views9.1K

Привет, Хабр! Сегодня мы попробуем развернуть простой сервис в Kubernetes на примере KaaS в облачной платформе Рег.ру. В качестве самого сервиса будем использовать imgproxy — минималистичный сервис подготовки изображений для web с предельно простым API. 

Этот гайд будет полезен новичкам, которые только начинают работу с Kubernetes. Рассмотрим, как настраивать среду и управлять ей, и освоим принципы работы с контейнерами. Кроме того, развертывание imgproxy в качестве примера поможет научиться обрабатывать изображения с помощью Kubernetes простым и удобным способом.

Читать далее

Keycloak Starter. Удобный способ аутентификации и авторизации

Level of difficultyMedium
Reading time21 min
Views8.7K

Это статья-туториал. Рассмотрим в ней, как сделать компонент, который поможет забыть о необходимости дублировать механизмы аутентификации и авторизации. Цель статьи - реализовать starter, который можно будет легко и удобно подключить к Spring Boot проекту. Предлагаемая цель актуальна?

Читать

Монитор для чувствительных глаз — алгоритм подбора и один параметр, о котором Вы уже скорее всего забыли

Reading time13 min
Views21K

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

Читать далее

Мифы про метаболизм и почему люди не худеют на 1000 калорий?

Level of difficultyEasy
Reading time10 min
Views15K

Как-то в личные мне пришел такой фидбэк на одну из моих статей:

Дано.

Три участника истории: женщина 42 года, парень 22 года — ее сын, друг — возраст не известен, но, вероятно, друзья сверстники.

Сын и автор сообщения ест обычно на 2000 кк, а отказавшись от 500 кк легко снижает и при этом он домосед. Друг его тренируется в зале, но все равно еле тратит 2000 кк (как и главный герой, который ничего не делает). Женщина — мама — питаясь на 1000 кк в день, много работает и при этом совсем не худеет.

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

Читать далее

8 инструментов для разработчиков, которые стоит попробовать

Level of difficultyEasy
Reading time5 min
Views11K

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

Читать далее

Как я адаптировал v2rayN для России или российские источники geo файлов для v2ray/sing-box/etc

Level of difficultyEasy
Reading time5 min
Views173K

Сегодня был выпущен мажорный релиз v2rayN v7.0, а вместе с ним и моя серия коммитов, которые добавляют поддержку пресета "Россия".

Для его работы так же был создан российский источник geo файлов для v2ray/sing-box/etc.

Читать далее

Information

Rating
3,316-th
Location
Россия
Registered
Activity

Specialization

Fullstack Developer, Web Developer
Middle