Как стать автором
Обновить
Контур
Делаем сервисы для бизнеса
Сначала показывать

Ловушка бесконечно ленивого бассейна

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

Нечасто встречаются истории, когда причины и следствия сплетаются в один клубок, связывающий проблемы и с памятью, и с CPU, и с тредпулом. А инструментально затрагивающие и пулы объектов, и Lazy, и работу с асинхронностью, и длительные вычисления. А ещё реже встречаются те, где всё это распутывается и исправляется буквально несколькими строчками кода.

Читать далее

6 разочарований при создании командного инструмента

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

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

Пока скрипты распространялись по команде, приходилось значительно дополнять их и рефакторить: код разросся до 3000 строк. И все это делалось по личной инициативе и в свободное время.

Приложение развивалось совсем не так, как я ожидал. И именно об этом хочется рассказать – поделиться тем, что я сделал ужасно глупо и в чем испытал разочарование.

Читать далее

Про рабочую тревожность и про то, как с ней справляться

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

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

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

Читать далее

Путь кода VS путь языковых моделей

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

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

Читать далее

Вы д̶у̶м̶а̶е̶т̶е̶,̶ ̶ч̶т̶о̶ решили покинуть проект/продукт/компанию… как это сделать безболезненно

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

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

Читать далее

Проблемы при использовании разделенных запросов в Entity Framework Core 8

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

Недавно во время обновления Entity Framework Core (далее — EFC) с версии 2 до версии 8 мы столкнулись с проблемами при использовании разделенных запросов. Эти проблемы могли оставить часть сотрудников без обедов. Спешу ими поделиться.

Читать далее

Релизные головоломки: как собрать несколько улучшений ML-модели в релиз

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

Привет! Меня зовут Юра, я из Лаборатории Speech&NLP Центра ИИ Контура. Одна из наших крупных задач – это модель для распознавания речи в текст, которая используется для транскрибации звонков и записей рабочих встреч.

Мы постоянно работаем над улучшением качества моделей – предлагаем гипотезы и проводим эксперименты. Но для того, чтобы пользователи увидели результаты наших исследований, их надо доставить в продакшен. А это не так-то просто!

Читать далее

Глубинные интервью VS тактика проведения допроса

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

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

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

Читать далее

Тюним запросы в EF Core с помощью интерсепторов

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

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

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

Читать далее

Контур + GFS = Kanso. История развития файловой системы

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

Привет! Я Антон, работаю в команде базовой инфраструктуры Контура и занимаюсь развитием распределенной системы хранения данных Kanso. Это наш форк GFS (Google File System). Мы развиваем Kanso уже более 15 лет, в статье я расскажу про это подробнее.

Читать далее

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

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

Всем привет! Меня зовут Женя Мельцайкин, я старший инженер-программист в компании Контур. Большую часть времени в Контуре я работал и работаю Android-программистом, но статья будет не про Android и даже не про мобильную разработку. А про команду мобильной разработки и про наш процесс разработки! Давайте же начнем разбираться, причем тут мобильные разработчики, автоматизация и бэкенд.

Читать далее

Как масштабировать права в проекте и продуктах без боли

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

Всем привет! Меня зовут Константин, я инженер-программист в Контуре. Пару лет назад мне довелось поработать над задачей разделения прав доступа в проекте Реестро (7 продуктов, более 100 микросервисов).

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

Читать далее

Принципы дизайна интерфейсов для ИИ

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

Привет! Я Таня, продуктовый дизайнер в Центре ИИ Контура. Как и многие, я начала свое знакомство с ИИ-интерфейсами через научную фантастику. Помните, как Тони Старк общался с Джарвисом? Голографические дисплеи, разговоры как с обычным человеком... Современные ИИ-системы умеют многое, но их возможности и ограничения совсем не такие, как в кино.

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

Читать далее

Бескультурная сказка про Dottrace

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

Короткая зарисовка о том, почему важно осознанно писать каждую строчку кода, каждый символ. А заодно и небольшой мастер-класс по использованию dottrace и класса string одновременно.

Читать далее

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

Глассморфизм и SVG

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

Всем привет. Я Андрей Осипов, фронтендер из Контура. Почти три года назад, когда у компании был еще старый фирменный стиль, мы столкнулись с проблемой экспорта из фигмы изображений в формате SVG. Сложность была с изображениями, где был эффект глассморфизма, он же эффект матового стекла (frosted glass).

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

Читать далее

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

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

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

Когда речь идёт о небольшом локальном сервисе с нагрузкой 10 запросов в день, можно позволить себе писать в логи всё: от полного текста запроса до полного текста ответа с кучей промежуточной информации (что пришло из базы, какой запрос послали во внешний сервис и что получили в ответ и т.д.). Когда же речь об относительно высоконагруженном сервисе, обрабатывающем порядка 1000 rps даже малая часть этой информации за пару дней запросто может вызвать переполнение современного жёсткого диска.

Возникает логичный вопрос: как логировать только нужную информацию?

Читать далее

The AdEMAMix Optimizer: Better, Faster, Older

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

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

В мире, к сожалению, все еще главенствуют Adam и AdamW. Но у них есть ряд проблем, которые исследователи усердно пытаются решить, и одна из них – это память. AdEMAMix предлагает максимально топорное решение данной проблемы путем внедрения двух импульсов с различными β. Но от этого оно менее эффективным не становится!

Читать далее

Как много общаться с людьми и не возненавидеть их

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

Привет! Мы — Лера и Наташа — исследователи в UX-лаборатории Контура. Мы много общаемся с командой-заказчиком, с пользователями продукта и с другими коллегами.

Но есть одно существенное отличие: у исследователя лаборатории каждые 3-4 недели новый заказчик и новый продукт. Хотя мы далеко не суперэкстраверты и не особо заряжаемся от бесконечного общения.

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

Читать далее

Настройка Anycast-адреса в рамках бюджетного тестового стенда

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

В рамках IPv4 и IPv6 есть понятие Anycast-адресов. Если упрощать, то это IP-адреса выглядящие как обычные «серые» или «белые» адреса, но которые одновременно могут работать как на одном сервере, так и на множестве. Есть мнение, что это сложно настраивается, требует много дополнительных слоев маршрутизирующего оборудования и т.д. Но в данной статье я попробую описать настройку Anycast-адреса где угодно и с минимальными затратами.

Читать далее

Быстрый доступ к VPN в iOS с помощью App Intents

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

Привет! Меня зовут Антон Долганов, я iOS-разработчик в компании Контур. Я работаю над инфраструктурными модулями и параллельно поддерживаю наше приложение Контур.Коннект, которое используется для подключения к внутреннему VPN и даёт доступ к корпоративным сервисам.

Недавно мы выпустили обновление Коннекта, добавив поддержку Быстрых команд (Shortcuts). Теперь можно включать и отключать VPN, даже не заходя в приложение. В этой статье я расскажу, как я это реализовал и почему это полезно.

Читать далее

Информация

Сайт
tech.kontur.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия
Представитель
Варя Домрачева