Как стать автором
Обновить
66
0
Work Solutions @worksolutions

Аутсорс-продакшн

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

Web APIs, которые функционально приближают веб-приложения к нативным

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

Исходные данные: мы с командой делаем банковское приложение. Веб-приложение. Не все поверят, но сегодня реально реализовать на вебе такой пользовательский опыт, от которого люди не будут скрипеть зубами и умолять вернуть им натив. Расскажу, какие Web API мы используем, раскрою тонкости и покажу примеры кода.

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

Интеграция Поиска в Strapi: Meilisearch vs. Elasticsearch

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

Всем привет! На связи Геворг, фронтенд техлид Work Solutions. Сегодня расскажу про интеграцию поисковых сервисов Meilisearch и Elasticsearch в Strapi.

Strapi — это популярный open-source фреймворк для разработки серверов, а также создания гибких API. Однако, встроенные средства поиска могут быть ограничены. Разработчики могут искать способы интеграции с внешними поисковыми системами. Две такие системы — Meilisearch и Elasticsearch. Они предоставляют возможность реализации полноценного поиска в проектах.

В статье рассмотрим, как интегрировать эти системы, сравним их особенности, определим, для каких задач подходят. Примеры рассматриваются для strapi v3. Однако информация также актуальна для v4 с некоторыми незначительными различиями в интерфейсах взаимодействия.  

На сайте компании можно посмотреть как работает поиск Meilisearch в Strapi в продакшне. Там же делимся особенностями реализации поиска в нашем блоге. Подробно сравниваем Meilisearch и Elasticsearch, способы их реализации, демонстрируем ограниченность встроенного поиска.

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

Умные программисты пишут STUPID-код

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров52K
Умные программисты пишут STUPID-код, ведь они понимают, что неожиданно возникшая сложность может привести к провалу проекта.


▍ Страдание


На момент написания этой статьи на моих часах 21:30.

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

Я вымотан не физически, а, скорее, разочарован тем, что, несмотря на все имеющиеся у нас замечательные технологии, позволяющие писать наилучшее ПО, мы, как люди, профессионально пишущие код, по множеству причин склонны ценить больше сложность, а не простоту.
Читать дальше →
Всего голосов 62: ↑58 и ↓4+73
Комментарии77

Рассуждения об опенсорсе — где он может быть полезен в контексте импортозамещения зарубежных CRM

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

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

Буду говорить применительно к CRM, поскольку в своей работе сконцентрирован на этом классе решений. Но все те же рассуждения можно отнести и к другим энтерпрайз-инструментам.

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

Миф о незаменимом разработчике

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

Давным-давно, в далекой-далекой галактике, жил да был старший разработчик, который считал себя незаменимым. А работал он в одной и той же компании со дня ее основания. Он разработал архитектуру главного веб-приложения и с нуля создал всю корпоративную инфраструктуру. При нём сменилось пять CTO, компания мигрировала с AWS на Azure и обратно. Он исправил бесчисленное количество багов и привел в компанию порядка 10 новых разработчиков. Работал он днями и ночами, чтобы система, не дай Бог, не вышла из строя. А еще он никогда не уходил в отпуск.

И вот однажды наш разработчик заболел. Да еще как! Ему пришлось взять отпуск на целый месяц, к тому же руководство запретило ему любое общение с компанией и коллегами. Сидя в заслуженном отпуске, разработчик продолжал тревожиться о судьбе компании, и когда пришло время вернуться в офис, он ожидал, что там воцарился хаос, всё сломалось, сгорело и вообще — без него не работает. И наш разработчик был крайне поражен, когда узнал, что всё в порядке и работает не хуже, чем раньше. А кое-где даже стало чуть-чуть получше. Он-то думал, что за долгие годы стал незаменим. Но оказалось, что мнимая незаменимость — всего лишь плод его воображения. Легенда, миф. Бабушкина сказка...

Читать далее
Всего голосов 55: ↑46 и ↓9+47
Комментарии143

Матрица компетенций: важный инструмент для мотивации команды

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

Всем привет!

Меня зовут Иван Антипин, я заместитель технического директора AGIMA. На рынке сложилась тяжелая ситуация: многие компании закрываются, а сработанные и крепкие команды распадаются под давлением обстоятельств. В этой статье расскажу об инструменте управления рисками — о матрице компетенций. Этот подход помогает распределять задачи с учетом балансировки нагрузки, избегать выгорания и неожиданной потери ключевых компетенций в команде. Текст написан на основе нашего с GeekBrains курса для тимлидов, по материалам лекции Ивана Михеева.

Читать далее
Всего голосов 36: ↑31 и ↓5+28
Комментарии12

Архитектура фронтенда и какой она должна быть

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

Все мы знаем про, или слышали про практики и паттерны проектирования SOLID, GRASP, MVC, MV** и даже применяем их с переменным успехом, стараясь нащупать эффективный подход к построению приложений. Но это лишь приводит к разнообразию реализаций наших приложений и частей функционала. Уже долгое время пытаюсь понять по каким правилам должно строиться фронтенд приложение чтобы оно удовлетворяло следующим критериям:

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

Какие у нас есть варианты?

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

Апскейл, который смог

Время на прочтение15 мин
Количество просмотров72K
Термин «апскейл» используется для обозначения процесса увеличения разрешения цифровых изображений с фокусом на создание иллюзии «настоящего» высокого разрешения. Правда, 90% таких продуктов — это барахло, больше намёк на перспективы, чем волшебство. Недавно мои ручки добрались до двух алгоритмов повышения чёткости, которые оказались настолько хороши, что появилась эта статья. Будут субъективные и объективные тесты алгоритма Real-ESRGAN для увеличения разрешения и алгоритма GFPGAN для детализации лиц.
Traffic_Warning: в статье демонстрируется множество примеров.
Читать дальше →
Всего голосов 122: ↑120 и ↓2+160
Комментарии79

Распознавание блюд в кафетерии банка

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

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

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

Как Яндекс применил генеративные нейросети для поиска ответов

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


Только что мы представили новую версию поиска Y1. Она включает в себя комплекс технологических изменений. В том числе улучшения в ранжировании за счёт более глубокого применения трансформеров. Подробнее об этом направлении мой коллега Саша Готманов уже рассказывал в нашем блоге. В новой версии модель стала мощнее: количество параметров возросло в 4 раза. Но сегодня мы поговорим о других изменениях.

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

Сегодня мы поделимся опытом создания и внедрения технологии YaLM (Yet another Language Model), которая теперь готовит ответы для Поиска и Алисы. В этом мне помогут её создатели — Алексей Петров petrovlesha и Николай Зинов nzinov. Эта история основана на их докладе с Data Fest 2021 и описывает опыт внедрения модели в реальные продукты, поэтому будет полезна и другим специалистам в области NLP. Передаю слово Алексею и Николаю.

Всего голосов 48: ↑46 и ↓2+66
Комментарии18

Качество вместо контроля качества

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

Говоря о качестве, обычно имеют ввиду некое соответствие требованиям. Часто под требованиями подразумевают те, что явно выдвинул заказчик, аналитик или кто-то другой, кто ставит задачи. Хуже, если они трактуются как неоспариваемые, и это неявно ведёт к самоцели — удовлетворить требования заказчика. Это часто происходит в аутсорсе, и такой фокус внимания негативно влияет на конечный результат — то, что видят и с чем работают пользователи.

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

Качество — это про «сделать классно» с точки зрения многих сторон: разработки, заказчика и конечного пользователя.

Как это сделать? Сложно. Начать стоит с формирования mindset на «встроенное» качество. Расскажу о принципах, которые могут помочь в этом.

Читать далее
Всего голосов 10: ↑9 и ↓1+13
Комментарии16

Создание и балансировка инвестиционного портфеля с помощью ML

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

В прошлой статье я писал про свои ML-модели для оценки отдельных компаний, но вопрос формирования итогового портфеля совсем не затрагивал. В этом посте хочу рассказать о том, как я собираю свой личный портфель, а так же поделиться сайтом, на котором реализую весь описанный в статье функционал http://stocks.ml. Дисклеймер: у автора нет экономического образования и все выводы и суждения в статье делаются на основе житейского опыта и здравого смысла.

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

Как построить свою систему поиска похожих изображений

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

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

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

Читать далее
Всего голосов 35: ↑34 и ↓1+49
Комментарии33

Рассказ владельца продукта о цифровом двойнике и цифровом потоке

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

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

Одно из самых эффективных решений появилось в 2002 году на конференции Общества инженеров-технологов в Трое. Доктор Майкл Гривз представил концепцию «Цифрового двойника» (Digital twin). Эта идея объединяет Науку о Данных (Data Science), Искусственный Интеллект (AI), Машинное Обучение (ML) и Интернет Вещей (Internet of Things, IoT) в одном решении.

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

Как машинное обучение спасает деревья в Екатеринбурге

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


Привет, Хабр! Мы сотрудники екатеринбургского офиса NAUMEN. Делимся интересным проектом – интерактивной картой деревьев на основе нейросетевых алгоритмов. В ее создании также участвуют студенты УрФУ и волонтеры нашего города.


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


Проводить опись зеленых насаждений вручную – долго и неэффективно. На помощь приходят современные технологии: аэрофотосъемка, изображения Street View, съемка LiDAR-систем и дронов. Среди многообразия источников данных для получения информации об объектах городской среды наиболее доступными и относительно дешевыми являются панорамные фотографии со Street View. С их помощью можно обучить нейросеть распознавать на снимках деревья, определять их геолокацию и наносить их на карту города. Как проходил этот процесс и каких результатов удалось добиться – читайте в статье.


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

Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 1 — 14

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

Некоторое время назад в моей ленте в фейсбуке всплыла ссылка на книгу Эндрю Ына (Andrew Ng) "Machine Learning Yearning", которую можно перевести, как "Страсть к машинному обучению" или "Жажда машинного обучения".


image<img src="<img src="https://habrastorage.org/webt/ds/rc/ct/dsrcctfottkedkf7o1hxbqsoamq.png" />" alt="image"/>


Людям, интересующимся машинным обучением или работающим в этой сфере представлять Эндрю не нужно. Для непосвященных достаточно сказать, что он является звездой мировой величины в области искусственного интеллекта. Ученый, инженер, предприниматель, один из основателей Coursera. Автор отличного курса по введению в машинное обучение и курсов, составляющих специализацию "Глубокое обучение" (Deep Learning).

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

Нейродайджест: главное из области машинного обучения за январь 2021

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


12 выпусков позади, значит пора немного поменять название и оформление, но внутри вас всё так же ждут исследования, демонстрации, открытые модели и датасеты. Встречайте новый выпуск подборки материалов о машинном обучении.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+15
Комментарии3

Подборка статей о машинном обучении: кейсы, гайды и исследования за декабрь 2020

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


Последний месяц года нельзя назвать удачным моментом для масштабных анонсов, так как большинство переходит в режим “давайте уже после праздников”, но судя по этой насыщенной подборке в области машинного обучения, и в декабре во всю кипела работа. Поэтому с небольшой задержкой встречайте двенадцатый выпуск дайджеста, в котором мы расскажем о самом важном, что произошло в ML в конце 2020 года.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

Рубрика «Читаем статьи за вас». Март 2020. Часть 2

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


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


Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Первая часть мартовской сборки обзоров опубликована ранее.


Статьи на сегодня:


  1. NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis (UC Berkeley, Google Research, UC San Diego, 2020)
  2. Scene Text Recognition via Transformer (China, 2020)
  3. PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization (Imperial College London, Google Research, 2019)
  4. Lagrangian Neural Networks (Princeton, Oregon, Google, Flatiron, 2020)
  5. Deformable Style Transfer (Chicago, USA, 2020)
  6. Rethinking Few-Shot Image Classification: a Good Embedding Is All You Need? (MIT, Google, 2020)
  7. Attentive CutMix: An Enhanced Data Augmentation Approach for Deep Learning Based Image Classification (Carnegie Mellon University, USA, 2020)
Читать дальше →
Всего голосов 30: ↑29 и ↓1+39
Комментарии2

ИИ итоги 2020-го года в мире машинного обучения

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

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

Поехали!
Всего голосов 18: ↑18 и ↓0+18
Комментарии6
1

Информация

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