Обновить
0
Сергей Жуков@devalineread⁠-⁠only

Программист

Отправить сообщение

Служба поддержки Kaiten обрабатывает заявки в своем же сервисе: не теряем запросы, отвечаем за 20 минут

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели2.8K

Привет! Я Лиза, специалист службы поддержки Канбан-сервиса Kaiten. Ежедневно я и мой коллега получаем около 40 запросов от наших пользователей: помогаем разобраться в продукте, найти неизвестные для них функции, устранить проблемы. Рассказываю, как мы организовали свою работу внутри нашего же сервиса с помощью модуля Service desk.

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

Как визуализация приоритетности задач позволила нам ускорить процесс разработки и сделать его прозрачным для всех

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.1K

Какое-то время назад мы столкнулись с проблемой: сроки нашей разработки и темпы реализации начали сильно стопориться. При запуске фичей команда сталкивалась с отсутствием прозрачности при отображении объема задач в спринте. У одного разработчика в работе могло находиться сразу несколько задач, поэтому было непонятно над какой из них он трудится сейчас. Кроме того, задания при переводе обратно на разработчика никак не маркировались, что повышало риск того, что они не будут замечены вовремя.  В итоге, разработчики “буксовали” на одних и тех же задачах в ожидании ценных указаний, а важные доработки терялись. Исправить ситуацию нам помог новый подход к визуализации задач на командной доске.

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

Когда мы только берём задачу в работу, она попадает в Tech Design, затем задача перемещается в Development — основной этап разработки. После того, как разработка фичи окончена, задача отправляется на Review, где мы проверяем написанный разработчиком код. Затем два этапа тестирования, и, соответственно, две колонки — QA (Quality Assurance) и UAT (User Acceptance Testing). Финальная колонка — Ready to Release, то есть, фича, попавшая в неё, уже готова к выпуску в прод.

Читать далее

Инструкция по переезду и миграции данных с Google Firebase на Self-hosted Supabase

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели7.5K

Всем доброго дня! Комментарии к моей предыдущей статье о том, как я развиваю свой pet-проект, а также различные законы, подразумевающие локализацию персональных данных на серверах, размещенных на территории РФ (в частности Федеральный закон от 21.07.2014 № 242-ФЗ «О внесении изменений в отдельные законодательные акты Российской Федерации в части уточнения порядка обработки персональных данных в информационно-телекоммуникационных сетях»), озадачили меня идеей постепенного перевода всех данных приложения в РФ. В качестве сервера БД я отдал предпочтение сервису Supabase, который легко разворачивается в Docker на сервере.

В данном туториале я хочу обзорно пройтись по сравнению двух сервисов, представляющих собой не только СУБД, а BaaS (backend as a service), но внимание заострю именно на работе с данными, постараясь сравнить их функционал, производительность и простоту использования. Также приведу примеры обработки получения, обновления и удаления данных в Google Firebase Realtime Database и Supabase Realtime Database на JavaScript.

Стоит сразу сделать оговорку, что Realtime Database от Firebase - это облачная БД для хранения и синхронизации данных в реальном времени, в то время как БД от Supabase хоть и является её аналогом, но позволяет хостить базу данных самостоятельно ("под капотом" у Supabase располагается объектно-реляционная СУБД PostgreSQL).

Мы рассмотрим шаги, необходимые для переноса данных и обсудим примеры кода для реализации этого процесса.

Читать далее

Проблемы согласованности данных в микросервисах и их решение

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели24K

Привет, Хабр!

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

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

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

Читать далее

Лучшие инструменты с ChatGPT для ИБ-специалиста

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели16K

Любой инструмент можно использовать как во вред, так и во благо. Точно так же с нейросетью. Пока WormGPT помогает хакерам писать убедительные фишинговые письма на разных языках, ChatGPT уже давно и твёрдо стоит на страже кибербеза. 

Привет! Меня зовут Александр Быков, я создаю облачные ИБ-сервисы в компании NUBES. И да, это ещё одна подборка AI-инструментов на Хабре. Но не для всех, а только для специалистов по кибербезопасности. 

Читать далее

Что можно улучшить в своем приложении? Крадем как художники у Яндекс.Еды

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.9K

Статья для тех, кто делает приложения для себя или заказчика. Особенно если вы из horeca.

Сравнили несколько приложений — лидера рынка, на коде и на конструкторе. Поняли, что не у всех продумано юзабилити, из-за чего бизнес может терять прибыль. Поэтому делимся, что можно позаимствовать из приложения Яндекс.Еды.

Читать далее

Clickhouse, Grafana и 3000 графиков. Как построить систему быстрых дашбордов

Время на прочтение17 мин
Охват и читатели53K

Меня зовут Валя Борисов, и я — аналитик в команде Ozon. Задача нашей команды — создавать инструменты для мониторинга и анализа скорости. 

Наши усилия направлены на то, чтобы в реальном времени следить за тем, как быстро работают наши сервисы и платформа. Благодаря инструментам, которые мы создаём и поддерживаем, команды разработки получают представление о том, как пользователи видят работу нашего сайта или приложения. Мы помогаем выявлять причины деградации скорости и определять узкие места в инфраструктуре.

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

Читать далее

Как быстро интегрировать Систему быстрых платежей (СБП) в приложение на Flutter

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели15K

Всем привет! Меня зовут Мурат Насиров, я Flutter-разработчик в Friflex. Мы разрабатываем мобильные приложения и специализируемся на решениях для ритейла. На одном из наших проектов мне пришлось столкнуться с внедрением кнопки оплаты через Систему Быстрых Платежей (СБП). В этой статье я хочу поделиться своим опытом и наработками в быстрой интеграции нативных компонентов SDK СБП в кроссплатформенное приложение на Flutter.

Читать далее

Как перейти на микросервисы и выполнить миссию: решения на старте, работа с ТЗ и подводные камни

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели6K

Привет, Хабр! С вами Валентин, архитектор направления Backend компании SimbirSoft. В данной статье мы с коллегами поделимся опытом реализации большого и сложного проекта с микросервисной архитектурой, а также поговорим о роли архитектора в таких проектах. 

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

Читать далее ?

Как мы сделали WebRTC-видеозвонилку и что перепробовали: P2P, SDK от Voximplant и VK Звонков

Время на прочтение24 мин
Охват и читатели13K

Привет, меня зовут Кирилл и я инженер, который превозмогал ковидные времена вместе с компанией JUG Ru Group. Мы делаем технические конференции, и в пандемию сделали собственный сайт для проведения онлайн-конференций. Тогда нам понадобились качественные видеозвонки на WebRTC, чтобы подключать через браузер спикеров из любой точки планеты.

Варианты «просто застримить Zoom или захватить Jitsi» нам не подошли. Стало ясно, что нужно делать своё решение, пусть и на основе чужого SDK. В результате перебрали разные варианты, накопили опыт. А ещё из-за вопросов вроде этого создали целую конференцию VideoTech, чтобы послушать других знающих людей.

И теперь хочу поделиться нашим опытом с Хабром, поговорив про WebRTC в целом и про конкретные реализации: P2P, Voximplant SDK, SDK VK Звонков.

Читать далее

Как мы сделали аудиозвонки в приложении для сотрудников

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.9K

Меня зовут Ильдар, я техлид в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. Сегодня расскажу о том, как мы внедрили функцию аудиозвонков в наш корпоративный мессенджер для сотрудников.

Читать далее

Атипичный тимлид. Начало пути

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели6.4K

Всем привет!

Хотел бы поделиться некоторым количеством мыслей и выводов, которые я сделал, работая на такой непростой должности, как teamlead команды разработки.

Вообще, мой путь в ИТ начинался довольно спонтанно и я бы даже сказал, странно.

Читать далее

Как настроить CI в мобильных приложениях

Время на прочтение5 мин
Охват и читатели4.9K

Приветствую! Меня зовут Алексей Денискин, я тимлид мобильной команды СберМаркета. В этой статье я на примере покажу, как организовать CI для мобильных приложений на Android и iOS. Я буду использовать GitLab CI, но описанный подход применим к большинству стандартных стеков.

Читать далее

Skeleton Mammoth — или как я решал проблему переиспользуемых скелетон лоадеров

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели9.7K

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

Читать далее

Деплой приложения с nginx как по нодам

Время на прочтение10 мин
Охват и читатели41K

Привет, Хабр! В этом материале мы разберем деплой приложения на React, арендуем облачный сервер и настроим nginx. Здесь будет необходимый минимум для фронтенд-разработчика:

  • Заливка проекта на GitHub.
  • Аренда и настройка облачного сервера по SSH.
  • Настройка nginx для раздачи статических файлов.
  • Сжатие бандла.
  • Подключение домена.
  • Настройка HTTPS.
  • Настройка Docker.

Для этого материала также доступна видеоверсия.
Читать дальше →

Как ускорить работу микросервиса с помощью многопоточности, асинхронности и кэша: пошаговая инструкция (FastApi, Redis)

Время на прочтение12 мин
Охват и читатели42K


To Destination by BisBiswas


Микросервисная архитектура звучит неплохо само по себе, но еще лучше — быстрый микросервис, который эффективно использует ресурсы сервера.


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

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

Приглашаем на Ozon Tech Intro meetup: как работают системы поиска, рекомендаций и рекламы

Время на прочтение2 мин
Охват и читатели2.6K

UPD: Добавили записи докладов и слайды

Всем привет!
Меня зовут Алексей, я руководитель отдела по продукту и технологиям «Рекомендации и персонализация».

Мы уделяем много времени проектированию архитектуры, улучшению скорости и оптимизации алгоритмов:

Ищем пути продукта и UX.

Ускоряем рантайм поиска.

Используем ML для рекламной платформы.

Обучаем модели для наилучшего результата рекомендаций.

И со всем этим ещё и закапываемся в аналитику и проводим множество A/B-экспериментов.

Наша команда решает задачи, в которых используются интересные структуры данных и алгоритмы. 

Читать далее

Строим свой SSO. Часть 3: Redis, Swagger, Vue.js

Уровень сложностиСредний
Время на прочтение50 мин
Охват и читатели13K

Всем привет, мы продолжаем строить собственный SSO Server. Сегодня мы разберем подключение Redis и Swagger к нашему проекту. А также построим собственную, красивую форму аутнетификации, используя VueJS.

Читать далее

Любовь и наука: это match

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.5K

Мы постоянно слышим, что любовь – это химия. Выбросы гормонов, химические процессы в мозге, порции серотонина и окситоцина, полученные в нужный момент. А если наука и романтические отношения так связаны, почему бы это не использовать? Так мы в Fitil разработали алгоритм, который просчитывает вероятность совместимости участников нашего сообщества.

Читать далее

Как бесплатно запустить DAST на базе OWASP ZAP Automation Framework на своем проекте

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.1K

Привет, меня зовут Олег Рыбченко, я работаю QA инженером в hh.ru. Количество атак на IT-инфраструктуру сегодня растет в геометрической прогрессии — об этом свидетельствуют многочисленные упоминания во всевозможных СМИ, так что не будем в очередной раз приводить графики и статистику. Разумеется, в таких условиях все больше компаний хотят позаботиться о безопасности своих сайтов и начинают проявлять интерес к современным автоматизированным инструментам по обнаружению уязвимостей.

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

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
Средний
Python
Docker
Django
FastAPI
Blockchain
Solidity
JavaScript
Nuxt.js
Безопасность сетей