Рубрика «backend»

Всем привет! Когда речь заходит о разработке высоконагруженных систем, многие предлагают: «python, сделать проще и быстрее». Но есть проблема: Скорость разработки!= скорость и качество работы сервиса. Когда мы делаем любой продукт, важны: Масштабируемость, стабильность работы под большой нагрузкой, предсказуемость поведения системы — особенно когда речь идет о тысячах одновременных пользователей, лентах новостей в реальном времени, уведомлениях и сложных связях между разными сущностями.

Именно поэтому и выбрана Java и Spring Boot как основа. Банки и видеосервисы работают именно на Java и Spring.

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

Многие думают о продакшене как о бинарной системе: либо «работает», либо «упала». На практике почти все сложные сервисы живут в режиме постепенной деградации. Сервис вроде отвечает на запросы, пользователи вроде ничего не замечают, но внутри уже происходят скрытые сбои, которые со временем могут стать критичными.

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

Что такое скрытая деградация

Скрытая деградация — это состояние, когда система:

Для начала хотелось бы сказать, что же такое массивы и слайсы.

Массивы

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

Давайте рассмотрим на примере:

package main

func main() {
	/*
		Массив создаётся в таком формате:
		Имя := [количество элементов массива] тип данных {элементы массива, через запятую}
	*/

	arr := [3]int{0, 1, 2}
	fmt.Println(arr[1])
}

На примере выше был создан массив с 3-мя элементами и типом данных int.

После создания массива мы не можем изменять его вместительность, однако можем менять сами элементы.

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

[Laravel-Telegram] Пример сервиса на Laravel для авторизации пользователя через Telegram в mini-app - 1

Авторизация пользователя в Telegram mini-app сейчас как никогда важна. Но что если вам необходимо сделать это в вашей сервисной/микросервисной архитектуре?

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

В одном из прошлых проектов случился «кошмар техлида»: в суматохе хотфикса было забыто добавление фильтра WHERE tenant_id = ? в одну из ручек API. В итоге один клиент увидел отчеты другого. Все быстро откатили, но я навсегда запомнил то холодное чувство в животе.

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

Искал способ гарантировать изоляцию данных так, чтобы ее физически нельзя было забыть.

Почему стандартные решения не подошли?

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

Про AI сейчас пишут много, мягко говоря. Причём пишут буквально все, кому не лень. Но если вы PHP-разработчик, то, скорее всего, ощущение примерно такое: тема вроде бы важная, но почти всё – не для вас, а двигаться в эту сторону нужно, ибо... ну, вы и сами понимаете.

Большинство материалов сразу уезжают в Python, Jupyter, PyTorch, обучение моделей, математику и датасеты. Даже когда речь идёт не про data science, а про практику – примеры всё равно из другого мира.

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

Добро пожаловать на борт.

Я возглавляю стрим Компьют (Вычислительные Ресурсы, говоря проще) в быстрорастущем облачном провайдере с осени 2024 года. Мы (и стрим Сетей) отвечаем на облачные примитивы, на которых строятся буквально все другие облачные продукты. За это время стрим столкнулся с настоящими вызовами, некоторые процессы пришлось выстраивать.

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

Дисклеймер

ВАЖНО: Это учебная статья для начинающих

Данный материал — первая часть цикла, где мы поэтапно изучаем net/http.

Код в этой статье сознательно упрощён для ясности изложения и тНЕ является production-ready.

Что опущено в этой части (будет в следующих):

  • Меры безопасности (CSRF, security headers, валидация)

  • Graceful shutdown и таймауты

  • Structured logging (slog)

  • Полноценная архитектура

Цель данной статьи: показать базовые механизмы net/http на практическом примере.

Не используйте этот код в production без доработок.

Введение

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

"Orks generate a potent psychic gestalt field that allows them to accomplish many feats of technological engineering that might otherwise seem impossible" (c) Выдержка из wiki по wh40k

⚠️ Дисклеймер

Автор осознаёт, что скрытая видеосъёмка нарушает законодательство и право на частную жизнь. Ничем подобным мы здесь заниматься не будем. Этот проект создан исключительно в образовательных и экспериментальных целях — для изучения Raspberry Pi, ее переферии и в целом - just for lulz.

Устройство не предназначено для скрытого наблюдения. Аналогичные устройства находятся в свободном обороте.

Во время тестов устройство устанавливалось с Читать полностью »


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