Уровень: senior мобильная разработка и WebRTC Стек: React Native, Expo SDK 54, @livekit/react-native-webrtc, expo-notifications, CallKit, FCM Что внутри: production WebRTC с trickle ICE, VoIP push notifications, CallKit интеграция, обработка фоновых состоянийВступлениеЭто третья статья из серии про инженерные решения в ONEMIX — моём мессенджере на React Native. В первой я разбирал трёхуровневый кэш сообщений, во второй — реализацию Double Ratchet E2E. Сегодня — про звонки.Звонки в мессенджере —…
Я соло-делаю Speakwithai — AI-репетитор английского для русскоязычной аудитории. Месяц назад выкатил публично, за этот месяц получил 50 регистраций, 3 платящих и набор технических граблей, которые честнее разобрать, пока они свежие, а не через год по сглаженной памяти.Это не история успеха — продукт ещё ничего не доказал. Это разбор конкретных инженерных решений, которые я бы хотел увидеть в чужом посте перед стартом.КонтекстЧто построил: web + Android-приложение, в котором пользователь голосом…
Когда строишь B2B-автоматизацию, главная метрика — это стабильность. Недавно я наступил на классические грабли: использовал для интеграции готовую community-ноду. В один «прекрасный» момент после обновления окружения нода просто отвалилась, и мой бот встал.Для продакшена это недопустимо. Чтобы не зависеть от сторонних разработчиков и их темпов обновления, я перевел всю логику на стандартный узел HTTP Request. В этой статье поделюсь опытом настройки, разберу баги API MAX и дам готовую структуру …
Привет, Хаброжители! Как практикующий разработчик ПО вы уже умеете качественно выполнять задачи — на фронтенде или бэкенде. Пора перейти на следующую ступеньку карьерной лестницы и развить навыки, которыми обладают эксперты и senior-разработчики. Милесия МакГрегор поможет разобраться, как работает вся система и как senior-разработчики принимают технические решения. Вы изучите все необходимое для создания фулстек веб-приложения, развернутого на облачной платформе, поймете, как выявлять источник…
Уровень: middle/senior, кросс-платформенная разработка Стек: Electron 28, electron-builder, electron-updater, vanilla HTML/JS Что внутри: архитектурные решения, IPC между окнами, deep links на трёх ОС, tray-first паттерн, auto-updater grace, custom протоколыКонтекстЭто четвёртая статья из серии про инженерные решения в ONEMIX — моём мессенджере на React Native. В предыдущих разбирал трёхуровневый кэш сообщений, Double Ratchet E2E и WebRTC звонки с trickle ICE. Последняя про звонки набрала больш…
Open-source, ad-free Android multimedia recorder with background video recording, screen recording, live streaming, and remote camera control TipThis project is part of the FadSec Lab suite. Discover our focus on ad-free, privacy-first applications and stay updated on future releases! NoteUnlock FadCam Pro with lifetime access: Visit the Shop >_ FadCam Privacy-focused Android multimedia suite: background video recording, dashcam, screen recorder, live streaming & remote contro…
Продолжение разбора реального кода с собеседования. В первой части разобрали 8 проблем concurrency и memory: race conditions, утечки горутин, проигнорированный mutex, TOCTOU. Это была первая половина из 21 бага в одном сервисе на 150 строк.Сегодня — вторая часть. Тут нет страшных race conditions, но есть то, что выдаёт уровень разработчика на собесе: отношение к ошибкам, валидация, API design, graceful shutdown, observability. Эти баги не упадут “вдруг” в продакшене — они будут тихо пилить вам …
От автора: Эта статья родилась из желания разобраться в том, что осталось за кадром отличного доклада.1. Введение1.1. История создания проектаВсё началось с доклада Антона Юрченко «Улучшаем качество отчётов нагрузочного тестирования с помощью Go, LangChain и GigaChat».Доклад мне понравился: чёткая постановка проблемы, грамотный подход к автоматизации, отличная идея с использованием LLM для генерации человекопонятных отчётов. Но после просмотра осталась одна проблема — код интеграции так и не по…
Go‑сервис на малых нагрузках работает идеально. Горутины дешёвые, GC быстрый, net/http из коробки тянет приличный трафик. Разработчик прогоняет функциональные тесты, видит зелёное, деплоит. Приходят 1000 RPS, и latency p99 взлетает с 50ms до 5 секунд, в логах начинают мелькать таймауты, а в Grafana рисуется красивая кривая деградации.Инструменты: vegeta и wrk2Для нагрузочного тестирования Go‑сервисов используем два инструмента.vegeta написан на Go, понимает гошные паттерны, выводит результаты в…