Pull to refresh
21
0
Мишаня Сторожилов @mrmixsun

Деврел

Send message

Отключаем ненужный функционал плагина для Jira с помощью кастомной аннотации Spring

Level of difficultyEasy
Reading time14 min
Views1.9K

Привет, Хабр! Меня зовут Игнат, в Samokat.tech я пишу плагины, автоматизации и интеграции для Jira. 

Как разработчик-самоучка, который до «вот этого всего» немного писал на Java, но не пользовался ни средствами сборки (привет, Maven!), ни фреймворками (привет, Spring!), и первые шаги делал по мануалам Atlassian, я сталкивался (и продолжаю) с проблемами, решений которых вендорская документация не подскажет, и эти решения приходится открывать самому. 

В этой статье мы вместе с вами напишем свою Spring-аннотацию, которая будет с помощью кастомного бин-постпроцессора (который мы тоже напишем) отключать в нашем плагине для Jira ненужный в проде отладочный функционал.

Эта статья ориентирована на начинающих разработчиков в стеке Atlassian и администраторов, пробующих себя в разработке плагинов для Jira. Те, кто до знакомства с Atlassian SDK уже разрабатывал «под ентерпрайз», не обязательно найдут здесь что-то новое, остальных – приглашаю под кат.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments6

iOS-разработка со SnapKit: спасаем консоль от простыни ошибок и ускоряем отрисовку UI

Level of difficultyMedium
Reading time15 min
Views10K

Привет, я Даша, занимаюсь iOS‑разработкой в Сравни. Мы в мобильной команде пользуемся SnapKit — помогает нам ревьюить изменения в общих компонентах быстрее и проще. Инструмент прекрасный, но я заметила тенденцию: стоит в работе появиться сложным вариантам вёрстки, как сразу в разы растёт вероятность, что UI может выглядеть ок, а в консоли будет отображаться множество ошибок LayoutConstraints, логи засоряются, найти действительно полезную информацию становится сложнее.

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

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments0

Как фронтендеру стать мобильным разработчиком, или Перевод API React в Jetpack Compose

Reading time11 min
Views3.8K

Привет, я Данильян, работаю в Самокате фронтенд-разработчиком, разрабатываю бэкофисное приложение с использованием React. Когда я только начинал изучать Jetpack Сompose, я наткнулся на статью, в которой простым языком для людей, пришедших из мира веб-технологий в мир мобильной разработки, расписано, как писать код для мобильных устройств, чтобы было как в React. Из материала в статье особенно подкупали примеры: вот, что вы делали в React, а вот, как в Jetpack Compose получить то же самое. 

Делюсь с вами переводом этой статьи.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments2

Одна платформа, чтобы править всеми

Reading time18 min
Views27K

Привет! Меня зовут Миша, я работаю в Ozon Tech — руковожу направлением базовых сервисов в платформе. Ozon сегодня — это порядка 4000 разработчиков и более 3500 сервисов. Разработка постоянно развивается, количество сервисов увеличивается, и одна из сложных задач — это найти удобный для всех способ управлять тем, что происходит под капотом. 

Для этого мы сделали платформу: это внутренние стандарты, сервисы, процессы, инфраструктура для разработки. Можно сказать, что это такой «сервис для продуктовых разработчиков», который предоставляет удобные инструменты во все команды, обеспечивает единообразие подходов в разных командах, помогает внедрять изменения и новые технологии. Для нас платформа теперь — основа для разработки, на ней строятся все информационные системы, и сложно представить Ozon без неё.

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

Читать далее
Total votes 72: ↑70 and ↓2+68
Comments41

Проблемные личности среди тимлидов

Reading time11 min
Views7.3K

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

Читать дальше →
Total votes 9: ↑4 and ↓5-1
Comments9

Как мы пытались подружить VictoriaMetrics и Thanos (и у нас почти получилось)

Reading time14 min
Views5.5K

Привет! Меня зовут Григорий, я техлид в Cloud Infrastructure Team в Сравни. Моя команда отвечает за observability системы и облачную инфраструктуру. Не так давно мы полностью обновили наш стек мониторинга. Хочу рассказать, как у нас организовано хранение long-term метрик без использования Object Storage.

Мы в Сравни долгое время использовали связку Prometheus + Thanos для мониторинга и хранения данных. Для Thanos мы использовали схему с sidecar’ом. Эта схема работала довольно неплохо, но с ростом проекта — росло и потребление ресурсов. Со временем задачи по scrape samples уже потребляли значительные ресурсы. Когда только на Prometheus стало уходить больше 30 ядер vCPU и 100 гигабайт RAM, мы начали искать способы оптимизации потребления ресурсов. 

Первым делом определили требования, которые необходимы для системы мониторинга:
- должно поддерживаться развертывание в Kubernetes;
- система должна быть способна переезжать из одного Kubernetes-кластера в другой без потери данных;
- нужна поддержка downsampling;
- возможность построить high availability систему;
- в идеале, чтобы система требовала очень мало внимания на обслуживание ;)

Мы поизучали варианты, и сперва показалось, что будет хорошей идеей взять стек VMAgent + Thanos receiver. Как несложно угадать из названия статьи, этого у нас не получилось. Недавно я увидел в одном профессиональном чате, что коллеги захотели использовать такой же стек и по тем же причинам, что и мы. Поэтому решил поделиться нашим опытом и рассказать, к чему мы в итоге пришли.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments3

Новая функциональность без багов, на примере биллинга для мобильного оператора

Reading time9 min
Views4K


Привет, меня зовут Максим Плавченок, я работаю в компании Bercut, занимаюсь интеграционным тестированием. В сентябре мы с командой прошли важную веху: получили ноль ошибок по результатам интеграционного тестирования для релиза новой версии биллинга для мобильного оператора. Мы шли к этому два года; хочу сегодня рассказать, за счёт чего нам удалось добиться цели.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments5

Как мы расписание общественного транспорта в 2ГИС добавляли

Reading time7 min
Views24K


2ГИС помогает ориентироваться в городе. Открываешь приложение, вводишь в поиск название улицы или организации, находишь, радуешься. После того, как нужная организация найдена, возникает резонный вопрос: как же туда добраться? И если автомобильным сценариям мы в последнее время уделяли значительное внимание, то поиск проезда на общественном транспорте оказался немного подзабыт. Я расскажу про то, как создавался поиск проезда, поделюсь тонкостями сбора и обработки информации.
Поехали!
Total votes 47: ↑47 and ↓0+47
Comments76

Шесть вопросов спикерам FrontFest

Reading time8 min
Views4.5K


Пару лет назад на CodeFest мы придумали экспертную зону. Ну, как придумали — наверняка подглядели на зарубежной конференции, но уже забыли на какой. Так вот, экспертная зона — то место, куда идёт спикер после своего доклада и ещё как минимум один слот (время доклада + вопросы) общается с участниками. Зачем мы так сделали? Чтобы увеличить время общения участников со спикером. Немудрено, что в кулуарах задавать вопросы проще, чем из зала.

На FrontFest мы пошли дальше и решили «разогреть» спикеров заранее — придумали шесть вопросов про технологии, будущее веба, работу и хобби. Знакомьтесь, задавайте свои вопросы в комментариях, приходите общаться лично на FrontFest!
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments0

Жизнь фронтендера в Spotify

Reading time6 min
Views11K


Изображения — это, как правило, самая «тяжелая» статика в вебе. Многие фронтендеры знают об адаптивных изображениях, которые позволяют использовать определённые изображения для разных разрешений. Но это не единственный их плюс, ведь то, как и когда мы их загружаем, тоже влияет на скорость вашего веб-приложения.

На FrontFest 2017 к нам приезжает Хосе М. Перес (Jose M. Perez) из Spotify, с докладом «Progressive Image Rendering». Он расскажет о техниках прогрессивного рендеринга, основанных на плейсхолдерах, доминирующих цветах, размытых изображениях и ленивой загрузке, которые помогут улучшить производительность.

Накануне конференции мы поговорили с Хосе про веб-стек, релизы и управление процессами в Spotify, отношение к Open Source и погоду в Испании, Швеции и России.
Поехали!
Total votes 23: ↑21 and ↓2+19
Comments7

FrontFest.JS: ClojureScript на продакшене, оптимизация рендеринга React и как (не) впасть в депрессию с Angular

Reading time4 min
Views5.4K


FrontFest — это улётная конференция для фронтенд-разработчиков, которая пройдет 18 ноября в Москве. В этой статье мы расскажем о том, что приготовили для вас в секции JS. Спикеры из Microsoft, Booking, 2ГИС, Wrike и Злых Марсиан поделятся опытом использования Preact, ClosureScript, React, JS для IoT и Angular.
Подробности
Total votes 22: ↑22 and ↓0+22
Comments0

Не откладывайте в почтовый ящик: b2c-мессенджер 2ГИС

Reading time5 min
Views9.9K


В сентябре на 2gis.ru появилась новая фича — b2c-мессенджер для общения с организациями. Чат очень удобен при поиске товара или услуги: можно написать сразу в несколько компаний, не нужно слушать голоса роботов-автоответчиков или ожидать на линии, пока оператор уточнит цену или остаток нужного товара. Выберите компанию, нажмите на иконку сообщения на карточке компании, и откроется чат.

Чтобы сделать мессенджер, нам пришлось немного поразбираться с тем, как вообще работают чаты и что под капотом у «больших братьев» типа WhatsApp или Telegram. Оказалось, всё не так страшно.
Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments19

Навигатор 2ГИС: Экстраполяция позиции автомобиля

Reading time17 min
Views39K


В приложении 2ГИС теперь есть навигатор. Мы научились «ехать» по треку, озвучивать манёвры, автоматически перестраивать маршрут, рассчитывать время в пути, доводить пользователя до входа в здание или организацию, учитывая заборы и шлагбаумы, — и всё это в честном офлайне. Пробки (вот разве что для них нужен интернет), разведённые мосты и перекрытые улицы учитываем давно. Пока в нашем навигаторе — необходимый минимум. Чуть позже научим его предупреждать о слишком высокой скорости, лежачих полицейских и камерах ГИБДД, настроим ночной режим, сделаем маршруты по платным и грунтовым дорогам опциональными. Чтобы воспользоваться им, нужно обновить 2ГИС в своем смартфоне или скачать в AppStore или Windows Store. Для Android обновление выходит постепенно, начиная с 22 августа (будет доступно на всю аудиторию к сентябрю).

А сегодня расскажем, как навигатор 2ГИС предугадывает положение автомобиля и плавно перемещает стрелочку по маршруту. Ведь именно качество ведения пользователя по маршруту определяет эргономику интерфейса любого современного навигатора, простоту ориентирования на местности и своевременность совершения манёвров.
Читать дальше →
Total votes 61: ↑60 and ↓1+59
Comments91

О трехмерном Z-order замолвите слово

Reading time9 min
Views8.2K

«Давным-давно, кажется, в прошлую пятницу» автору попалась на глаза статья, в которой сравниваются разные популярные методы индексации небесных объектов. По причине неровного дыхания к этой теме пришлось разбираться в тонкостях и делать выводы.

Вы спросите: «Кому вообще интересны эти небесные объекты?» и даже: «Ну и при чём здесь 2ГИС?» и будете отчасти правы. Ведь методы пространственного индексирования являются универсальной ценностью.

Обычно, имея дело с геоданными, мы работаем с локальной проекцией на плоскость и тем самым отмахиваемся от искажений. В масштабах планеты это сделать труднее — начинают выпирать астрономические проблемы.
Что касается объёмов данных, уже сейчас в OSM более 4 млрд точек и 300 млн дорог. Это соизмеримо с масштабами, характерными для звёздных объектов. Да и помимо всего прочего, звёздные атласы — отличный стенд для разработки и отладки пространственных алгоритмов.

Обещанные тонкости и выводы под катом.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments4

Этажи: 3D-навигация на WebGL в 2gis.ru

Reading time11 min
Views29K


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

Этажи для веба сделаны на технологии WebGL: они полностью трёхмерные, их можно крутить и приближать. Это первый проект компании, сделанный на этой технологии, и мы хотели бы поделиться опытом реализации.
Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments23

Первый хакатон 2ГИС

Reading time3 min
Views14K


На прошлых выходных мы организовали в новосибирском офисе 2ГИС первый открытый хакатон. Не будем рассказывать, как было круто, какие классные проекты выиграли и вот это всё. Мы поделимся некоторыми советами для организаторов подобных мероприятий и зададим пару вопросов.
Как всё было
Total votes 22: ↑21 and ↓1+20
Comments16

28 апреля пройдет пятая международная мобильная конференция MBLT16

Reading time1 min
Views2.1K


Компании-организаторы e-Legion и РАЭК вновь соберут в Москве топовых зарубежных и российских спикеров, которые расскажут о трендах и инновациях настоящего и будущего, с какими проблемами сталкивались и как их решали, а также обсудят, как преуспеть в быстро меняющемся мире новых технологий.

Уже подтвердили своё участие:




Читать далее
Total votes 15: ↑13 and ↓2+11
Comments1

Тестируем вёрстку правильно

Reading time8 min
Views103K
Makeup — инструмент для комфортного ручного регрессионного тестирования вёрстки

Что не так с тестированием вёрстки


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

Проблема тестирования вёрстки в том, что только живой человек может сказать, хорошо свёрстан блок на странице или нет. Поэтому чаще всего мы тестируем HTML и CSS вручную: проверяем, как будет вести себя блок, если в нем будет слишком много (или слишком мало) текста или дочерних элементов; смотрим, чтобы все возможные варианты отображения блока смотрелись корректно; помним о том, как блоки должны адаптироваться к разным устройствам и разрешениям экрана.
Можем ли мы перестать делать это руками?
Total votes 35: ↑33 and ↓2+31
Comments31

Новый 2ГИС для Android — начинаем публичное тестирование

Reading time2 min
Views36K
Новый 2ГИС для Android вышел в публичное тестирование. Чтобы его установить, перейдите на страницу в Google Play или найдите в поиске по запросу «2ГИС beta». Доступно для устройств, которые работают на Android 4.1 и выше.

go to gp
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments60

История одного прогресс-бара

Reading time13 min
Views35K


Наверное, любому программисту, который разрабатывает пользовательский интерфейс на C#/XAML, приходилось писать нестандартные элементы управления. В нашей веселой команде 2GIS для Windows Phone мы довольно часто делаем это, и такие задачи стали почти рутиной. Но об одном случае мне хочется рассказать подробнее. Все началось с того, что однажды нам понадобилось написать весьма своеобразный прогресс-бар.

Читать дальше
Total votes 61: ↑57 and ↓4+53
Comments40

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

DevRel
Lead