Как стать автором
Поиск
Написать публикацию
Обновить
82.84
Сначала показывать

Секреты работы онлайн-редакторов: что происходит при совместном редактировании? Yjs, CRDT и другие магические слова

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров587

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

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

Меня зовут Никита Лыкосов, я занимаюсь фронтенд-разработкой в Doubletapp и предлагаю шаг за шагом разобраться, как устроена эта инженерная магия. Спойлер: это гораздо проще, чем кажется.

Читайте в статье:

G-Counter — самый простой CRDT
Какие правила CRDT выполняются на примере G-Counter и зачем это нужно?
Массивы
Yjs: как устроено совместное редактирование на практике

Читать далее

Григорий Бакунов aka Bobuk: «Боишься делать свои проекты — иди работать в чебуречную»

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

Одним из гостей подкаста Doubletapp «Что-то на программистском» стал бывший топ-менеджер Яндекса и нынешний IT-предприниматель Григорий Бакунов (aka Bobuk). В разговоре с ведущим, CEO Doubletapp Сергеем Анчутиным( (ТГ-канал: t.me/serega_ceo), он рассказал, почему против работы фултайм и аутсорса, чем IT-компании вредят российскому образованию, куда по карьерной лестнице могут продвинуться разработчики и почему чаще всего им это не интересно.

Читать далее

Меньше нагрузки — больше запросов: искусство кеширования API

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров3.1K

Привет! Меня зовут Дима, я Backend-разработчик в Doubletapp. В этой статье расскажу про кеширование API (на примере Django Ninja): чем оно полезно бизнесу и когда его стоит внедрять.

Когда ваш продукт начинает расти, а пользователей становится всё больше, любой повторяющийся запрос к серверу — это лишняя нагрузка. Даже если человек просто обновил страницу или несколько пользователей задали один и тот же вопрос приложению, сервер отвечает заново — и тратит на это ресурсы.

А теперь представьте: вы можете обрабатывать одновременно в несколько раз больше запросов пользователей без расширения ресурсов и без переписывания ядра продукта. Как? С помощью кеширования — подхода, который «запоминает» одинаковые запросы и снижает нагрузку на сервер.

Содержание

Серверный кеш (хранилища «ключ-значение»)
Клиентский кеш (браузер, прокси)
Условные HTTP‑запросы
Промежуточное кеширование (CDN, reverse proxy)

Читать далее

От кнопки до продакшена: как мы делаем Telegram Mini Apps

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров8.6K

Привет! Мы Дима и Илья, работаем в команде ТМА-разработки Doubletapp и расскажем, как создать Telegram Mini App на стеке React + Python.

Telegram Mini Apps — это мощный инструмент, который позволяет создавать интерактивные веб-приложения, работающие прямо внутри мессенджера. Они идеально подходят для игр, маркетплейсов, сервисов бронирования и многого другого.

В этом туториале мы разберем процесс создания Mini App:

настроим проект
создадим фронтенд на React с поддержкой Telegram SDK
реализуем бэкенд на Python (Django)
свяжем все компоненты и развернем приложение.

Читать далее

Benchmark — разрушитель LLM'ок, или Как мы собрали свой мультиязычный SWE-Bench

Уровень сложностиСложный
Время на прочтение18 мин
Количество просмотров1.9K

В статье представлено многоязычное расширение SWE-Bench от команды Doubletapp — бенчмарка для оценки больших языковых моделей (LLM) на реальных задачах программной инженерии, на различных языках программирования и кодовых базах индустрии. О процессе сбора SWE-Bench мы уже рассказывали в отдельной статье, а здесь сосредоточимся на результатах тестирования. Мы оцениваем ряд ведущих открытых LLM, предоставляя подробный количественный и качественный анализ, а также рассматриваем, как качество бенчмарка влияет на достоверность и объективность оценки моделей.

Содержание
Общая информация о датасете
Стенд для тестирования
Результаты
Заключение

Читать далее

В тестировщики пойду, пусть меня научат: отвечаем на самые частые вопросы о профессии

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

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

В статье найдете ответы на вопросы

Правда ли, что попасть в IT проще всего через тестирование?
Чем занимаются тестировщики?
Можно ли совмещать работу с учебой или работать удаленно?
Как понять, что вам подходит тестирование?
Что изучить начинающему – курсы, книги, видео?
Как попасть на собеседование?
Что спрашивают на собеседовании?
Востребованы ли джуны на рынке?
Много ли вакансий и какова средняя зарплата по рынку?
Какой карьерный рост может быть у тестировщика?
Какие разочарования могут ждать тех, кто решил стать тестировщиком?

Читать далее

Как мы собираем SWE-bench на других языках

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

Современная разработка ПО — это плавильный котел языков: Java, C#, JS/TS, Go, Kotlin… список можно продолжать. Но когда дело доходит до оценки ИИ-агентов, способных помогать в написании и исправлении кода, мы часто упираемся в ограничения. Популярный бенчмарк SWE-bench, например, долгое время поддерживал только Python.

Чтобы преодолеть разрыв между реальностью разработки и возможностями оценки ИИ, наша команда в Doubletapp взялась за адаптацию SWE-bench для множества языков программирования. Меня зовут Кирилл Увенс, и в этой статье я расскажу, как мы подходим к этой задаче и почему считаем ее важной для всей индустрии.

В статье расскажем:

Что такое SWE-Bench
Какие сложности возникают при сборе данных и тестировании
Наш опыт: какие языки поддерживает SWE-bench
Ручная перепроверка, или SWE-bench Verified
Сравниваем SWE-bench с другими бенчмарками для разработки ПО
Ценообразование SWE-bench: как формируется стоимость одного датапойнта

Читать далее

Методы распознавания матерных (и не только) языков

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.6K

Всем привет! Меня зовут Миша, я работаю Backend-разработчиком в Doubletapp. В одном из проектов появилась фича по добавлению тегов по интересам. Любой пользователь может создать интерес, и он будет виден всем остальным. Неожиданно (!!!) появились интересы с не очень хорошими словами, которые обычно называют матерными. Встала задача по распознаванию языка с матерными словами, чтобы исключить возможность добавления гадости в наш огород!

Читать далее

Битвы языковых моделей: сравниваем LLM Т-Банка с конкурентами в рабочих условиях

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров7.6K

На российском рынке искусственного интеллекта произошло событие, мимо которого сложно пройти даже самому заядлому скептику — T-Банк представил свои языковые модели T-Lite и T-Pro, основанные на китайской LLM Qwen 2.5. И хотя анонсов «революционных» нейросетей в последнее время становится всё больше, этот случай действительно заслуживает пристального внимания — перед нами не очередной наспех слепленный форк с громкими заявлениями, а результат полугодовой работы над полноценным решением с открытой лицензией Apache 2.0.

Что в итоге получилось

Все по полочкам: как мы внедряли методологию управления проектами P3.express

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

В конце прошлого года мы в Doubletapp пересмотрели свою систему ведения проектов и внедрили методологию P3.express. В этой статье поделимся опытом и расскажем, почему решили это сделать, как проходил процесс внедрения и к каким результатам мы пришли. 

Читать далее

Аутстаф без иллюзий: честно о том, как мы готовим специалистов, выводим на проекты и взаимодействуем с заказчиками

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.8K

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

Читать далее

Как запоминать и не забывать: применяем и автоматизируем Spaced Repetition System

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

Привет! Меня зовут Дима, я Backend-разработчик в Doubletapp. Мне хотелось бы поделиться опытом реализации автоматизации изучения большого объёма информации.

В статье я расскажу:
C какой проблемой я столкнулся
Про возможное решение
Про готовые инструменты, использующие SRS
Notion + ActivePieces + ChatGPT
Опыт использования: плюсы и минусы
Про возможное применение

Читать далее

Архитектура фронтенд-приложений на React. (Нам не нужен FSD)

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров21K

Всем привет, меня зовут Павел Рожков, я lead фронтенда в компании Doubletapp. Мы занимаемся заказной разработкой, и в нашей работе над React-проектами важную роль играет наш архитектурный гайдлайн, который мы постоянно совершенствуем. Это свод договоренностей о том, каким образом будет организован код в нашем проекте.

Гайдлайн помогает нам:

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

Сократить время разработки. У нас часто не возникает вопроса, как здесь сделать лучше, куда что положить, как организовать. Мы подумали об этом заранее.

Поддерживать старые проекты, т.к. они написаны по тем же принципам. 

Поднять качество кода: работать на проекте становится удобнее и можно сосредоточиться на важных вещах.

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

Содержание:

Почему бы нам просто не взять FSD?
Шаблон проекта с архитектурой
Структура кода приложения
Заключение

Читать далее

Автоматизация верификации кодовых датасетов подрядчиков с помощью LLM: снизили брак на 40% и сократили стоимость на 60%

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

Привет, Хабр! Меня зовут Федор Горбунов, руковожу в Doubletapp направлением автоматизации бизнес-процессов с помощью LLM. В статье расскажу, как мы помогли клиенту автоматизировать одну из операций в производственной цепочке, как эта автоматизация ускорила поставку итогового продукта, уменьшила количество ошибок за счет сокращения ручного труда и в конечном итоге сэкономила заказчику деньги.

О чем текст:

Кодовые датасеты для обучения больших языковых моделей (LLM): как клиент работал до нас
Почему верификация данных критически важна?
Как автоматизация улучшила верификацию диалогов для больших языковых моделей
Автоматизируем процесс: что и как мы делали?
Результат в цифрах

Читать далее

Ближайшие события

Тестирование с нуля: советы, которые я дала бы себе на старте

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.7K

Всем привет! Меня зовут Маша, я работаю QA-инженером в Doubletapp, и моя история в IT началась всего 1,5 года назад. Хочу поделиться своим опытом перехода в тестирование, рассказать о том, как я училась, с чего начинала, и что помогло мне сделать первый шаг. Надеюсь, этот рассказ вдохновит тех, кто только думает о профессии тестировщика.

Содержание

Обзор полезных курсов
Как найти работу
Семь вещей, которые я хотела бы знать на старте

Читать далее

Аутсорс глазами корпораций: работа максимум на четверку, рецепт для секса на одну ночь и 81 шот

Уровень сложностиПростой
Время на прочтение30 мин
Количество просмотров1.6K

На конференции DUMP-2024 команда Doubletapp провела два круглых стола, посвященных аутсорсу. На первом из них руководители аутсорс‑компаний обсудили, почему к ним приходят крупные компании. На втором свой ответ на этот вопрос дали уже представители корпораций. А вместе с тем поговорили, как эффективно работать с аутсорсом и не возненавидеть его, какие критерии важны при выборе подрядчика, почему внешние сотрудники работают максимум на четверку и как валидировать экспертизу аутсорс‑команды.

Темы обсуждения

В каких случаях приглашают внешнюю команду
Как поддерживать проект, созданный внешней командой, и избежать ситуаций, когда его нужно переделывать
О конфликте интересов, когда подрядчик хочет сэкономить и сделать проект подешевле и побыстрее
Revenue sharing
Как разорвать отношения с недобросовестным подрядчиком
Как валидировать экспертизу внешней команды
Три ключевых критерия при выборе подрядчика
Как выделиться среди подрядчиков
Хантинг сотрудников подрядчика
Как лучше проверять гипотезу: инхаус vs внешняя команда

Читать далее

У любого менеджера есть сумка с инструментами, и я в нее отсыпаю еще инструмент: Алексей Пименов – о Канбан Методе в IT

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.4K

В апреле 2024 года в Екатеринбурге прошла масштабная IT‑конференция DUMP. Команда Doubletapp сняла серию подкастов с ее топовыми спикерами. Одним из них стал Алексей Пименов — преподаватель и консультант по современным методам менеджмента.

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

Из текста вы узнаете:

Как Канбан Метод появился в IT
В чем суть этого инструмента
В каких случаях нужно обратиться к Канбан Коучу
Почему иногда полезно устраивать внутри компании контролируемые конфликты
Какие книги почитать начинающим коучам
Почему важно участвовать в конференциях

Читать далее

Руководители аутсорс-компаний – о «грязной» работе, конкуренции с корпорациями за сотрудников и обучении джунов

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров3.4K

Один из круглых столов конференции DUMP-2024, которая прошла в этом году в Екатеринбурге, посвятили аутсорсингу в IT. Руководители аутсорс-агентств обсудили, почему к ним приходят крупные компании (спойлер – в том числе для того, чтобы делегировать «грязную» работу), что делать, если твоего сотрудника после проекта пытаются схантить и могут ли сервисные компании конкурировать за кадры с крупными корпорациями, или их предназначение – быть площадкой для карьерного прыжка джунов.

Темы беседы

Почему корпорации отдают работу внешней команде
Где найти специалистов
Аутсорс-компания – правая рука СТО или их проблема?
Про «грязную» работу для аутсорса
Что делать, если заказчик хантит сотрудников
Растить сотрудников для корпораций или конкурировать за лучшие кадры с ними?

Читать далее

Делай тот PR, который ты умеешь: Григорий Петров о продажах на конференциях

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров1.6K

Привет, Хабр! В апреле 2024 года в Екатеринбурге прошла масштабная IT-конференция DUMP. Мы, команда Doubletapp, решили не упускать возможности и сняли целых 8 подкастов с топовыми спикерами конференции. Один из них – Григорий Петров, DevRel в компании Evrone. Григорий много выступает, пишет статьи, а еще ведет подкаст про Python и пишет учебник для разработчиков. Поговорили с ним о том, как выступления и написание технических статей помогают продажам, как он применяет нейрофизиологию в работе и о том, сколько часов в день нужно писать код, чтобы не потерять навыка.

Из текста вы узнаете

Как выступления на конференциях влияют на маркетинг
Помогают ли статьи в продажах
Как сохранить экспертность в нескольких областях
Как Григорий применяет нейрофизиологию в работе
Должны ли менеджеры проектов быть программистами
Как выглядит идеальная команда продаж

Читать далее

Как общаться с базой знаний на естественном языке с помощью LLM и объективно оценить работу полученной системы

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров8.4K

Привет, Хабр! Меня зовут Даниил, работаю в ML-отделе Doubletapp. В статье расскажу про особенности применения больших языковых моделей для оптимизации бизнес-процессов.

Большая языковая модель (LLM) — это тип языковой модели, который способен распознавать и генерировать осмысленные тексты, а также другие сложные типы данных (например, код). Такого рода модели обучаются на огромных массивах данных, чаще всего собранных из открытых источников.

Тем не менее LLM все еще имеют ряд проблем, одной из которых является галлюцинирование (придумывание фактов). Сложно винить модель за то, что она не знает, как устроен тот или иной процесс/продукт в вашей компании, и пытается придумать вразумительный ответ. Поэтому нужно подсказать LLM фактическую информацию, а она уже даст нам понятную человеку персонализированную реплику.

Такая система ответов на вопросы с использованием фактической информации называется RAG (Retrieval Augmented Generation).

Данная статья состоит из двух частей:

мы рассмотрим построение RAG-системы на основе библиотеки langchain;

объективно оценим работоспособность созданной системы, используя синтетические данные на русском языке с помощью фреймворка RAGAs.

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

Информация

Сайт
doubletapp.ai
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия