
Классы в C++: поля, методы, конструкторы с нуля
Разбираемся, как объявить класс, завести поля и методы, написать конструктор и не словить утечку памяти. Пошагово, с рабочим кодом под C++17 и новее.

Разбираемся, как объявить класс, завести поля и методы, написать конструктор и не словить утечку памяти. Пошагово, с рабочим кодом под C++17 и новее.

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

Соберём небольшую программу, которая проверяет число на чётность и выводит таблицу умножения. По пути разберём if, else, for и while в C++17 и увидим, что появляется на экране после каждого шага.

Три способа работать со строками в C++ решают разные задачи и по-разному владеют памятью. Разбираем, где каждый экономит копии, а где приводит к висячей ссылке или лишнему аллокатору.

C-массив, std::array и std::vector решают одну задачу по-разному. Разбираем, когда какой брать, чем платишь за динамику и на каких ошибках спотыкаются новички.

Указатель можно перенаправить и обнулить, ссылку — нет. За полчаса разберётесь, когда что писать, и перестанете ловить segfault на пустом месте.

За полчаса разберётесь, что хранит указатель, чем он отличается от ссылки и почему разыменование пустого указателя роняет программу. С кодом, который можно скомпилировать и запустить.
Сервис на Go держал 40 000 rps, потом latency на p99 вырос вдвое, а профиль показал 70% времени в runtime.mallocgc. Разбираем, почему объекты уезжают в кучу и что ломается первым под нагрузкой.

Пароль от базы в коде — классика утечек. Разбираем три способа хранить секреты в Go-сервисе: переменные окружения, HashiCorp Vault и облачные Secrets Manager. Что выбрать под нагрузку и ротацию.

SIGTERM пришёл, а сервис оборвал соединения на середине запроса и потерял три платежа. Разбираем, как останавливать Go-сервис так, чтобы он дожил незавершённые запросы и закрыл ресурсы в правильном порядке.

Наивный цикл с time.Sleep умеет добить упавший сервис лавиной синхронных повторов. Разбираем, чем экспоненциальный бэкофф с джиттером лучше фиксированной паузы, что повторять безопасно, а что нельзя, и как не забыть про context.

Сервис на Go после деплоя обрывал висящие HTTP-запросы и терял записи в БД. Причина — неверная обработка SIGTERM. Разбираем, что происходит внутри и как закрыть соединения без потерь.