Pull to refresh
17
0.3
Максим @SabMakc

User

Send message

Домашняя лаборатория

Reading time7 min
Views13K

Угадай данную статью написал ChatGPT или нет?

Хотите потестировать приложение, или опробовать в работе инструмент? В этой статье опишу то, как организовал тестовый стенд на Linux. Стенд поддерживает работу с доменами, умеет генерировать TLS сертификаты, легко масштабируется, окружение строится по принципе IaaC, не требует много ресурсов, легко разворачивается скриптами или SCM, есть UI, не зависит от внешних сервисов.

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

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

Читать далее

Не куб, а кубик: kubernetes для не-highload

Level of difficultyEasy
Reading time11 min
Views19K

Может ли kubernetes сделать жизнь админов небольших и средних компаний проще или же это шайтан-машина для кровавого enterprise и оголтелых стартапов?

Хочется кубер, но колется...

Distroless контейнеры

Reading time3 min
Views20K

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

Читать далее

Лонгрид по полезному чтению в 2023 году: 39 книг, которые помогут писать красивый <код>

Reading time17 min
Views34K
image

≀И эта статья ответит на вопрос, зачем вообще читать книги в 2023 году при великом разнообразии онлайн-курсов.

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

Каждое издание из подборки расширяет знания по целому ряду тем, связанных с разработкой.

Для вашего удобства добавил рейтинг, ссылки на переводы и картинки для тех, кто просто добавляет статью в закладки, не читая. Enjoy на новогодних праздниках или прямо сейчас.
Читать дальше →

Обзор платформ service mesh

Reading time11 min
Views4.2K

Все мы любим микросервисы, но надо признать, что их довольно сложно планировать, проектировать, разрабатывать, развёртывать и администрировать.

Кроме того, нам нужно защищать трафик между сервисами и реализовывать распределённую трассировку, чтобы понимать, сколько времени занимает каждый вызов. Надёжным распределённым сервисам нужны повторы запросов, размыкатели цепи(circuit breaker) и подобные возможности. Микросервисы поддерживают почти любые языки, библиотеки и SDK. Нужно немало времени и денег, чтобы написать универсальное и многоразовое ПО, которое будет управлять общением сервисов с помощью разных протоколов, вроде HTTP, gRPC и GraphQL. В этой статье мы сравним самые популярные платформы service mesh для облачной экосистемы.

Читать далее

Философия диафильмов: путь к идеальной презентации

Reading time9 min
Views8K

Помните это маленькое чудо под названием диафильмы? В детских диафильмах каждый кадр был миниатюрным произведением искусства.

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

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

Читать далее

Основные архитектурные шаблоны построения ПО

Reading time7 min
Views39K

Краткий обзор восьми наиболее востребованных архитектурных шаблонов с иллюстрациями:

Читать дальше →

DDD, HEXAGON, HIBERNATE, не считая JOOQ. Часть 1

Reading time8 min
Views7.1K

Статья написана для java разработчиков, создающих системы со сложной предметной областью. Система, как правило, представлена сетью микросервисов или модульным монолитом. В рамках такой системы обычно содержится большое количество сущностей (JPA/JOOQ), которые одновременно используют как технические, так и бизнес-сущности. Смена технологической базы по прошествии нескольких лет разработки для такой системы является очень дорогостоящим решением. Доработки бизнес-функционала занимают большое количество времени.

В первой части статьи проведем теоретический обзор основных терминов и паттернов гексагональной архитектуры и Domain Driven Design или сокращенно DDD.

Какие проблемы вы сможете решить, прочитав статью

Вероятно,

Читать далее

Как выучить что угодно в 7 раз быстрее и эффективнее

Reading time4 min
Views121K

Представьте себе, что в мире есть волшебное средство, которое в 7 раз повышает эффективность обучения — быстрее выучить английский, быстрее освоить программирование, быстрее понять что угодно в мире.

Удивительно, но такое средство было найдено в 1990 году американским социологом Майклом Хоу. Он провел серию тестов среди студентов и определил, что пользователи «волшебного средства» в 7 раз лучше запоминали материал, легко вспоминали факты и легко применяли знания на практике.

Тот, кто использовал «волшебное средство» был наголову выше обычных студентов. «Обычные» хуже помнили материал и хуже его понимали, более того, даже одаренные отличники были слабее тех, кто использовал это «волшебное средство».

Это удивительное средство...

Читать далее

Топ полезных SQL-запросов для PostgreSQL

Reading time7 min
Views113K

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

Читать далее

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

Reading time9 min
Views18K

Привет! Я Иван Антипин, заместитель директора департамента разработки в AGIMA. За свою карьеру я поработал с десятками команд. Где-то был разработчиком, где-то тимлидом, где-то помогал извне. У меня был миллион возможностей разобраться, как люди ведут себя в коллективе. Но всё же не на все вопросы существуют четкие ответы: что такое команда, как она работает, как ей управлять. В этой статье я попробую описать те методы и подходы, которые лично мне кажутся полезными и правильными.

Читать далее

Фишки IDEA. Часть 3 — теперь с Git

Reading time4 min
Views24K

IntelliJ IDEA - фактически основной инструмент наших разработчиков. Года полтора назад мы публиковали собрание полезных фишек IDEA. С тех пор прошло много времени, а мы насобирали новую подборку - теперь уже для тех, кто только начинает работать в IDEA с Git. Кому интересно - добро пожаловать под кат.

Снова рассказываем по мотивам внутреннего митапа.

Читать далее

Миграция приложения из Docker Compose в Kubernetes. Как, зачем и с какими проблемами я столкнулся

Reading time25 min
Views26K

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

Стоявшая передо мной задача: улучшить инфраструктуру и качество работы приложения, успевшего вырасти из MVP и стенда для одного клиента в популярный SaaS. Отсутствие отказоустойчивости и масштабируемости компонентов сервиса начало ощутимо мешать пользователям. Настала пора адаптировать приложение под кластерный режим.

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

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

Читать далее

8 практических советов как сделать тренировки частью привычной жизни и перестать ненавидеть физкультуру. Часть вторая

Reading time8 min
Views34K

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

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

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

Разберем еще несколько, достаточно важных, рекомендаций, которые вы сможете применить немедленно. И в конце, по традиции вас ждет чек-лист для самоконтроля. И велкам комментировать!

Читать далее

Создаём своё объектное хранилище за чаc

Reading time17 min
Views8.4K


Привет! Меня зовут Артем Гаврилов и я работаю в Tarantool. Сегодня я расскажу, как быстро создать объектное хранилище на основе платформы in-memory вычислений Tarantool и распределённой файловой системы IPFS (InterPlanetary File System).


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


Тем, кто знаком с IPFS, вероятно, будет интересно читать начиная с раздела «С чем мы столкнёмся».

Читать дальше →

Что делать неизвестным в вашем git репозитории

Reading time5 min
Views12K

Всем привет! Предлагаю взглянуть на проблему, связанную с возникновением коммитов от «неизвестных» пользователей в вашем git репозитории. Такое может возникнуть, если один разработчик будет использовать несколько разных git конфигов. Расскажу, какие есть варианты избежать похожую ситуацию.

Читать далее

Архитектура Архитектуры. Шаг 10. Это конец

Level of difficultyEasy
Reading time15 min
Views7.1K

Знаете, как называется система, которая приносит постоянную прибыль, работает без особых проблем и обслуживается маленькой командой? Продукт с заканчивающимся сроком обслуживания!

Время ли хоронить архитектора?

Мои вопросы работодателю, когда подаюсь на разработчика

Reading time9 min
Views89K

За последние 10 лет я поменял 3 работы, прособеседовался с 10+ компаний на позицию разработчика (software engineer) и вел переписку с HR/рекрутерами из нескольких десятков фирм. По ходу дела заметил, что вопросы, которые я задаю на собеседовании с менеджером/командой или с HR, повторяются, и решил их структурировать. Некоторые из них являются общими, и их может задать кандидат на почти любую вакансию; другие касаются только вакансий для программистов. В этой статье поделюсь с вами наиболее типичными и важными вопросами, которые, на мой взгляд, может задать соискатель потенциальному работодателю.

Читать далее

Алгоритм ECDSA

Reading time5 min
Views19K

Алгоритм ECDSA (Elliptic Curve Digital Signature Algorithm) — это реализация схемы цифровой подписи, основанная на использовании эллиптических кривых и модульной арифметики.

Мы оставим подробный разбор всех тонкостей этого алгоритма и соответствующей математической теории для будущих статей. Здесь же просто покажем основные идеи, за счет которых в ECDSA реализуются алгоритмы KeyGen, Sig и Ver.

Модульную арифметику пока полностью оставим в стороне. Эта тема несложная, но требует подробного рассмотрения. Поговорим сейчас только об эллиптических кривых — для начала нам этого будет достаточно.

Эллиптическая кривая в ECDSA — это линия на плоскости, задаваемая уравнением y²=x³+a∙x+b, где a и b — такие числа, что 4∙a³+27∙b²≠0. Например, Bitcoin и Ethereum используют кривую y²=x³+7 (рис. 1).

Читать далее

40 релизов в неделю при разработке государственного Amazon или почему Agile is dead

Reading time22 min
Views29K

Что бы вы сказали, если бы вам потребовалось срезать косты вашей команды разработки в два раза? А если бы пришел босс и потребовал делать в два раза больше той же командой? Обычно интуиция нас подводит и мы в ответ на эти вопросы делаем не то, что нужно - в итоге только ухудшаем ситуацию. Самое интересное, что значительно улучшить результаты можно потратив относительно небольшие усилия - что же это за бесплатный сыр такой? Как это связано с релизами? От какого важного элемента Agile мы заодно отказываемся? Ответы на эти вопросы я попробую дать в своей статье.

Читать далее

Information

Rating
3,922-nd
Location
Россия
Registered
Activity