Рубрика «backend»

API. Это слово звучит в каждой статье, в каждой вакансии, в каждом разговоре разработчиков. Но когда гуглишь, что это, вываливается тонна заумных определений про «программные интерфейсы приложений», от которых мозг плавится.

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

Знакомая ситуация из реальной жизни

Читать полностью »

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

Читать полностью »

Небольшой ориентир для начинающих программистов.

Первое трудоустройство

Не бойся идти на стажировку с низкой оплатой труда. Как только ты погрузишься в рабочий процесс это даст колоссальный прирост к скорости обучения. Самый быстрый способ прокачать навыки это устроиться на работу. Читать полностью »

Введение

Первый Docker-образ для моего Go-приложения весил 1.92 GB. Для микросервиса на 100 строк — абсурдно. Решил разобраться, куда именно уходит место и как добиться максимально лёгкого образа.

За несколько итераций оптимизации удалось уменьшить образ в 91 раз — до 21 MB production вариант. С дополнительным UPX-сжатием в 213 раз — до 9 MB.

В статье

  • Максимальная оптимизация Docker-образа для Go

  • Выбор базового образа и техник для каждого сценария

Создал простенький мониторинг микросервис

Функционал:

Транзакции — не про «магическое ACID», а про конкретную механику согласованного доступа к данным под нагрузкой.

Эта статья объясняет как реально работают уровни изоляции и чем отличаются популярные СУБД на практике.

Мы разберём:

  • базовые и расширенные уровни (ANSI SQL-92 и вне стандарта),

  • MVCC, snapshot isolation и serializable snapshot isolation,

  • аномалии (dirty read, non-repeatable, phantom, lost update, out-of-order read, write skew),

  • переключения уровня в коде и «пересечение» разных уровней между конкурентными транзакциями.

Коротко: что такое изоляция и почему стандарт — не весь мир

IsolationЧитать полностью »

Предыстория

Nexign (ex. Петер-Сервис)

С 2019 года занимался проектированием и реализацией инфраструктурного компонента биллинг-контура, который являлся «enabler‑ом» bpm‑сценариев, написанных на apache camel. Из технологий: микросервисная архитектура на Java + Spring + Akka Actors, в качестве базы данных использовали Oracle + PL/SQL для чистки партиций, брокер rabbitmq. Проектировали в терминах DDD, Event Sourcing. Система обслуживала биллинг мобильного оператора «Мегафон».

Yandex FinTech

Читать полностью »

Интеграция простой формы с AmoCRM на «бумаге» выглядит просто. Кажется, что можно просто отправить контакт, создать лид, прикрепить товары к сделке — и готово. На практике всё наоборот.

Честно говоря, документация AmoCRM сначала меня запутала. Я полез гуглить по моей ситуации (связка формы с CRM), но не нашел почти ничего. Посмотрел ролик на YouTube про библиотеку. Понял основы, но всё равно оставалось куча вопросов.

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

Читать полностью »

Привет! Меня зовут Бромбин Андрей. За последние годы у меня накопилось достаточно материалов, практик и ошибок — иногда красивых, но всё же ошибок. Этого хватило, чтобы собрать маршрут до грейда Middle.

Это не «большая книга всего на свете для джуна» и не выдуманный субъективный маршрут. Мне удалось привлечь к созданию этой статьи ведущих разработчиков крупных российских компанийЧитать полностью »

«Rust — это когда ты контролируешь каждый байт.
Go — это когда ты делаешь сервис, а не борешься с компилятором.»

Введение

Rust и Go часто оказываются по разные стороны инженерных холиваров.
Кто‑то называет Go «языком для продакшна», кто‑то утверждает, что Rust — «единственный способ спать спокойно после деплоя».

Я работал с обоими языками: писал микросервисы на Go, системы обработки событий и сетевые агенты на Rust.
В этом посте — не теоретическое сравнение, а практическое: где Rust реально оправдан, а где Go дает фору по скорости разработки и стабильности.


Производительность

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js