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

Оптимизация хранимых процедур на PostgreSQL, мигрированных с MsSQL. Подходы к реализации, личный опыт

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

Привет всем!

Я — Ипатов Александр, backend‑разработчик в ГК Юзтех. Сегодня хочу поделиться своим опытом в интересном проекте, связанном с миграцией БД MsSQL на PostgreSQL в разрезе оптимизации хранимых процедур и функций (далее — хранимых процедур, так как процесс оптимизации не сильно завязан на том, что именно имеем на выходе).

Актуальность проектов, связанных с миграциями серверов и баз данных с зарубежных платных продуктов (Microsoft, Oracle) на аналогичные отечественные или зарубежные open‑source решения (в разрезе статьи будем рассматривать Postgres) в 2024 году очень велика. Те решения, которые были реализованы и поддерживались на протяжении 5–10 лет, потребовалось практически в формате «пожара» переносить на аналогичные. А бизнес, который привык к уже полностью сформированным и отработанным рабочим процессам, не готов к потере эффективности и, как следствие, потере клиентов сервисов, заказов и бизнес‑метрик.

В одном из таких проектов мне удалось поучаствовать. Из начальных условий: проект по переносу БД из MsSQL начался примерно 3 года назад.

На самом деле, проект был более обширный — перенос монолитного сервиса на микросервисы, в том числе, как один из элементов — перенос БД.

Хочется отметить, что перенос схем, таблиц, индексов и других элементов базы данных прошел относительно спокойно. Чего не скажешь о переносе хранимых процедур. Язык T‑SQL, на котором пишутся хранимые процедуры в MsSQL, конечно же имеет отличия от PL/pgSQL, который используется в PostgreSQL. В связи с чем, непосредственно миграция хранимых процедур заняла много времени: точное число хранимых процедур я не назову, но порядок — около 800 штук (среди которых 500 стали работать хуже после миграции, их то и предстояло оптимизировать).

Читать далее
Всего голосов 6: ↑6 и ↓0+8
Комментарии7

Зачем и где нужен API Gateway

Время на прочтение6 мин
Количество просмотров11K

Елизавета Акманова, старший аналитик ГК Юзтех, снова на связи. Сегодня у меня в планах обсудить, зачем и где нужны API Gateway. Для этого верхнеуровнево пройдём по архитектуре этого паттерна, рассмотрим решаемые задачи. Ключевой вопрос на сегодня: Когда стоит использовать эту технологию? Это полезный инструмент но, увы, не всегда.

Читать далее
Всего голосов 11: ↑8 и ↓3+7
Комментарии8

Реализация push-уведомлений из web в мобильное приложение для новичков

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

Всем привет! Меня зовут Лида Анисимова, я backend разработчик продукта — платформы мотивации сотрудников Тил Эйчар. В этой статье хочу рассказать о нашем опыте реализации push-уведомлений. Если вы, как и я полгода назад, ничего не знаете о том, как работают push-уведомления — эта статья для вас. Расскажу о том, с какими трудностями мы столкнулись, покажу, как отправить первый push и какие данные вам могут понадобиться.

Читать далее
Всего голосов 5: ↑5 и ↓0+10
Комментарии2

Как не надо писать пользовательскую инструкцию

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

Всем привет! На связи снова Алина — аналитик продукта Тил Эйчар. 

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

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

Введение

На всех проектах, где я работала, на определенном этапе развития продукта возникала потребность в наличии актуальной инструкции. Это происходило по разными причинам:

Читать далее
Всего голосов 5: ↑2 и ↓3+1
Комментарии10

Как не сойти с ума, тестируя страховые продукты

Время на прочтение5 мин
Количество просмотров929


Привет, меня зовут Нина Полторакова, я ведущий тестировщик в ГК Юзтех. 

На данный момент мы с командой занимаемся разработкой и поддержкой ИТ-решений по направлению Life — страхование жизни.

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

Вместо вступления

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

Да у вас, голубчик, аддендум

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

Аддендумы, ИСЖ, периоды охлаждения, полупроводки, периоды ответственности, КВ структуры, андеррайтинги, бррр, тут бы с тестированием разобраться сначала! 

Но невозможно протестировать то, значение чего ты не понимаешь, поэтому, чтобы не сойти с ума — ищите словарь терминов и сокращений, он на проекте точно есть. 

Читать далее
Всего голосов 5: ↑3 и ↓2+4
Комментарии4

Истории

Как OpenAPI повлиял на наш системный дизайн

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

Всем привет! С вами снова я, Елизавета Акманова, старший аналитик в ГК Юзтех. Сегодня хочу поделиться, почему и как мы с командой discovery перешли на описание API с помощью OpenAPI, и при чём здесь системный дизайн. 

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии7

Discovery фаза в UX-дизайне: Важность, этапы и практическое применение

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

Привет, я Саша. В продуктовом дизайне уже более 6 лет. Успел поработать как в небольших стартапах, так и в крупных продуктах в B2B и B2C сегментах, а ещё я веду канал о дизайне

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

Читать далее
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

Подключаем GigaCode к мобильной разработке

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


Всем привет! С вами Анна Жаркова, руководитель группы разработки в компании Usetech. Сегодня я вам принесла необычный материал. 27 июня 2024 года для сторонних разработчиков открыли и презентовали российскую среду разработки Giga IDE со встроенным ИИ-ассистентом от «Сбера» и «СберТеха». Заявлено, что встроенный в среду ИИ-ассистент GigaCode анализирует контекст, предлагает полные конструкции функций, циклов и других элементов, что позволяет писать код в среднем на 25% быстрее. Ассистент поддерживает как автокомплит кода, так и интеллектуальные подсказки для ввода, генерацию кода для поддерживаемых язык. Также его можно использовать для выполнения разных команд.

Мы посмотрим, как подключить, настроить и применить GigaCode AI к мобильной разработке.
Для начала нам потребуется скачать специальную IDE GigaCode . Нам предложит перейти на ресурс GitVerse (аналоги GitHub, полностью совместим с Git), где потребуется создать аккаунт и авторизоваться через СберID:


Читать дальше →
Всего голосов 16: ↑12 и ↓4+10
Комментарии21

Получение данных и логика сложных экранных форм

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

Всем привет! Меня зовут Алина. Я работаю аналитиком более 3-х лет, сейчас –  в ГК Юзтех с продуктом Тил Эйчар. Это программа лояльности и мотивации персонала, которая позволяет снизить стоимость привлечения новых сотрудников и удержать текущих сотрудников.

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

Введение

Сегодня поговорим об экранных формах (далее – ЭФ), для отрисовки которых нужно получить данные из нескольких источников. В связи с этим возникает ряд вопросов, на которые нужно ответить прежде чем приступать к разработке. Например:

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии0

WWDC 2024. Обсуждаем, что по факту

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


Всем привет! С вами снова я, Анна Жаркова, руководитель группы разработки в ГК Usetech. 10 июня прошел долгожданный Keynote WWDC 2024. Прошел и оставил после себя легкий флер разочарования. Заявлено было много, показано много. Какие-то новинки (например, функция Mirroring для трансляции изображения и звука с iPhone на десктоп) вызвали одобрение аудитории, как полезные и нужные. Другие (например, настройка визуального оформления домашнего экрана, общая тема для иконок и то, как это реализовано) оставили многих в недоумении. Да, много полезного, но из-за того, что ожидания от анонса разошлись с действительностью, это меркнет на общем фоне.

Еще больше недоумения вызвал функционал Apple Intelligence. И даже не то, что какие-то вещи были показаны довольно скомкано. Разочарование вызвало 2 момента: дата выхода инструментария и отсутствие тематических сессий:



Были анонсированы и «умные» тулзы для Xcode, и встроенный ChatGPT. Но как этим пользоваться, как встраивать, как с этим работать, такой информации напрямую нет. Она частично размазана по сессиям по вспомогательным технологиям. Из них и будем черпать знания.

Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии0

WWDC 2024. Прогнозируем, что ждет разработчиков

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


Всем привет! С вами снова я, Анна Жаркова, руководитель группы разработки из компании Usetech. Совсем скоро нас ждет неделя тематических сессий по технологиям WWDC от Apple, а это значит, что самое время составлять список того, что может быть продемонстрировано из новинок, и что хотелось бы увидеть больше всего. Затем сравним свой вишлист с анонсами.

Итак, начнем. С новинок прошлого года.

Развитие новинок прошлого года


В прошлом году Apple посвятили большую часть сессий своей новинке – умным очкам VR/AR, работающим на Vision OS, а также технологиям для разработки соответствующих приложений: ARKit/VRKit, Core/Metal и т.п. Разумеется, много было и различных кодлабов и воркшопов по работе с SDK и VisionOS. Затем был запущен маркет соответствующих приложений. В этом сезоне ожидаем больше оптимизированных фирменных приложений Apple, а также функцию отслеживания дыхания и поддержку стилуса Pencil Pro, представленного ранее. Ожидаем крупное обновление Vision Pro, которое включит в себя более мощную функцию Live Captions, с поддержкой генерации субтитров всех окружающих диалогов в поле зрения пользователя. И очень важно: новое обновление, вероятно, будет включать в себя поддержку и интеграцию с Искусственным интеллектом.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии1

Подход к разработке API API-first: как внедрить и почему это работает

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

Всех приветствую в своей новой статье! Меня зовут Елизавета Акманова. С некоторыми читателями уже знакомы с предыдущих тем, для новых представлюсь: я системный/бизнес аналитик с опытом работы 3 года. Было много проектов разного уровня и сложности: начиная с монолитов в команде из 4 человек, заканчивая 50+ микросервисами из 90 человек. Но все проекты объединяло одно: API. Абсолютно в каждом присутствовал этот термин, приходилось работать с проектированием API, и сегодня я хотела бы рассказать про подходы, как это можно делать и подчеркнуть особенно метод API-first. 

Читать далее
Всего голосов 4: ↑2 и ↓2+1
Комментарии0

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

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

Всем привет! Меня зовут Александр Остапец, дизайнер продуктов в ГК Юзтех.

В продуктовом дизайне — 4,5 года. За это время разработал дизайн продуктов в сфере B2B, B2C и Enterprise. В статье я поделюсь своим опытом взаимодействия продуктового дизайнера с аналитиком, разработчиком, тестировщиком и продактом, и дам рекомендации по улучшению процессов. Статья будет полезна дизайнерам продуктов, и тем, кто ставит задачи продуктовым дизайнерам.

Читать далее
Всего голосов 5: ↑3 и ↓2+5
Комментарии2

Room для Kotlin Multiplatform. Пробуем нативное решение

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

Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. В начале мая Google нас порадовали релизами нескольких библиотек для локальных хранилищ. Наконец, в приложения Kotlin Multiplatform можно полноценно использовать Room (версия 2.7.0-alpha01 и выше).
И сегодня мы опробуем работу с данной библиотекой на примере небольшого приложения Todo, написанного на KMP с использованием Compose Multiplatform.


Кроме Room, в проекте используется библиотека Lifecycle-viewmodel для KMP. И Koin для DI и гармонии.

Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии11

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

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Локальный веб-сервер для разработки с помощью Docker

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


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

Если это Senior Full Stack разработчик с опытом администрирования Linux, то установка и настройка конфигов Nginx, PHP-fpm, MariaDB для него не будут проблемой (а может и с Docker даже знаком?). 

Разработчик Middle уровня (особенно без опыта с backend) возможно пользуется одним из готовых решений под Windows/MacOS.

Junior верстальщик, в свою очередь, раньше не запускал приложение работающее на PHP на своем компьютере вообще, и вот-вот попробует в первый раз.

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

А потом, еще через некоторое время, из-за разных конфигов или окружения возникали и новые проблемы из разряда “на моем компьютере же все работает”, которые в том числе могут появиться из-за разных настроек готовых сборок.

Читать далее
Всего голосов 11: ↑9 и ↓2+8
Комментарии10

ViewModel + Kotlin Multiplatform. Пробуем нативное решение

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


Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. Компания Google объявили о своем интересе к Koltin Multiplatform на прошлом Google I/O 2023. Следом был обозначен вектор развития имеющихся решений архитектурных библиотек Jetpack для поддержки KMP. Буквально считанные часы назад компания Google опубликовали ожидаемую многими новинку, а именно ViewModels из библиотеки Lifecycle с поддержкой API Kotlin Multiplatform. И сейчас мы с вами проверим, насколько это удобно, что уже готово, а что нужно доработать.

Для начала освежим, с чем же мы работали до ViewModels из Lifecycle.

Сами по себе ViewModel как часть паттерна MVVM применительно к кросс-платформенным решениям идея не новая. Многие давно использовали собственную реализацию, совмещая также с платформенными архитектурами.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии5

Рекомендации по моделированию данных

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

Всем привет! Меня зовут Елизавета Акманова, и я рада приветствовать вас в моей новой статье. Если вы помните, моя первая публикация касалась пяти ключевых трендов в бизнес-анализе. Сегодня я приглашаю вас отправиться в увлекательное путешествие под названием «Рекомендации по моделированию данных».

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

Первое, с чего хочется начать: что такое модель данных и база данных? Зачем их разделяют и в чем их принципиальное отличие? 

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии4

По граблям, по граблям. Пишем отзывчивый интерактивный виджет IOS 17

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

Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. В 2023 году на WWDC Apple представили много нового и интересного API, среди которого были долгожданные интерактивные виджеты, реагирующие с помощью механизма AppIntent на нажатия и запускающие логику без переключения в основное приложение. Однако, как показывает практика, не все так просто и красиво, как Apple показывают на демонстрационных сессиях, а от беты до релиза что-то в API обязательно ломается или внезапно меняется.

Поэтому сегодня мы поговорим, как с помощью Widget Kit iOS 17 и AppIntent сделать виджет не только интерактивным, но и рабочим и отзывчивым в моменте, и обойти подводные камушки, оставленные разработчиками API. Рассматривать будем на примере самописного приложения для заметок TODO.



Для тех, кому не терпится, или кто хочет читать и смотреть код одновременно, сам код

Помимо обработки событий из самого виджета в таких приложениях также важно синхронизировать состояние между таргетами без потерь и задержек. Данные (наши тудушки и их состояние) мы сохраняем локально. Для этого используем инструмент для хранения данных SwiftData. Данный фреймворк также был представлен на WWDC 2023, и при его использовании в разных таргетах можно встретить тоже много подводных камней.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+10
Комментарии4

Внедрение фреймворка Karate для автоматизации ручного тестирования: наш опыт

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

Всем привет! Меня зовут Виктория Исаева, я старший специалист по тестированию ГК Юзтех. В этой статье я хочу поделиться нашим опытом внедрения фреймворка Karate для автоматизации ручного тестирования на проекте.

Читать далее
Всего голосов 5: ↑2 и ↓3+1
Комментарии3

5 трендов бизнес-анализа, которые определят его будущее

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

Здравствуйте! Меня зовут Елизавета Акманова, я старший аналитик в ГК Юзтех. Начав свой путь в IT в 2020 году, я претерпела значительное развитие — от участия в микропроектах в небольших группах из 4 человек до работы над сложными, высоконагруженными приложениями с ежедневным участием до 90 специалистов. 

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

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии0

Информация

Сайт
usetech.ru
Дата регистрации
Дата основания
Численность
501–1 000 человек
Местоположение
Россия
Представитель
Usetech