Как стать автором
Обновить
7.4

Processing *

Субъязык программирования, основанный на Java

Сначала показывать
Порог рейтинга
Уровень сложности

Проектирование эффективной системы кэширования для высоконагруженной системы

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

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

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

Новости

Как мы провели митап IT Squad МКБ

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

Совсем недавно у нас прошел IT Squad Meetup. На неформальной конференции выступили специалисты различных банков и технологических компаний. В онлайн-формате было до 400 слушателей, офлайн – 50, суммарное время докладов – почти 5 часов, съедено X круассанов.

Коллеги обсудили современные технологии разработки веб-приложений. В частности, в программе выступлений были технологии нагрузочного тестирования приложений, аутентификации в том числе и с помощью биометрии по новому протоколу WebAuthn, прогрессивные веб-приложения (Progressive Web Applications – PWA), управление Kubernetes, другие аспекты DevOps и не только.

Под катом вас ждут удобные видеонарезки каждого из докладов.

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

Какой язык программирования выбрать? Часть 4: Spark

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

Особенность Spark в том, что другого такого фреймворка нет в принципе. Flink, Apache NiFi и другие инструменты закрывают не все задачи. Лично моё мнение – Spark на голову выше их всех. Он уникален, широко распространён и де-факто является стандартом индустрии обработки больших данных.

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

Управление запросами функций/ Feature requests management

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

Feature request (запросы функций) – важный инструмент взаимодействия между командой разработки и конечным пользователем. Запросы позволяют более здраво рассмотреть продукт с точки зрения пользователя и определить пути улучшения его опыта при работе с продуктом.

Здравствуйте! Меня зовут Ирина, я менеджер продукта в компании Bimeister, и хочу вам рассказать о нашем опыте управления Feature requests в продукте для B2B сегмента.

Проблема

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

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

В сухом остатке статья про то, как мы выбросили из своей жизни автоотбивку «Спасибо, нам важно ваше мнение». Поехали :-)

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

Истории

Нейросетевое генеративное искусство: как программисту стать художником

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

Наверняка на Хабре есть люди, уже глубоко изучившие генерацию картинок с помощью нейросетей. Но много и тех, кто ещё не разбирался, почему у Stable Diffusion в названии есть слово «диффузия» и чем разновидности нейросетей различаются.

Для тех, кто не готов забираться в глубокие дебри, но хочет в один присест наверстать всё главное, может быть полезен доклад Дмитрия Сошникова @shwars с нашего мероприятия TechTrain. Поэтому мы сделали для Хабра текстовую расшифровку (видеозапись также прилагаем).

Докладу всего полгода, но за это время нейросети успели развиться ещё сильнее. Так что, если тема вам интересна, заодно порекомендуем и наш следующий TechTrain, который пройдёт уже завтра (1 апреля): там будет целый ряд докладов про AI (в том числе новый от Дмитрия), участие бесплатно.

Далее повествование идёт от лица Дмитрия.

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

Умные пайетки на микроконтроллерах Padauk и Миландр

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

Сегодня расскажу о том как мы переводили "умные пайетки" на китайские микроконтроллеры Padauk и применяли Миландр в устройстве управления матрицей электромеханических цветовоспроизводящих устройств.

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

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

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

Весной портал технической поддержки «ДоксВижн» экстренно переехал с Zendesk на платформу ITSM 365 — всего за 3 недели. Говорят, переезд хуже пожара. Однако весной полыхало у многих — многие ИТ-службы столкнулись с вызовом, когда требовалось быстро перевести привычные сервисы на новые платформы с сохранением бизнес-процессов и функций. В этой статье я хочу рассказать, как мы выбирали новый инструмент для реализации портала технической поддержки и быстро мигрировали.

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

Конвертируем markdown в html и подключаем компоненты React с Unified это просто

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

Библиотека Unified и экосистема плагинов для работы с Markdown и HTML позволит очень просто создать конвертер и подключить компоненты React. Unified преобразует контент в синтаксическое дерево, и имеет набор утилит для работы с деревом, но даже без набора утилит это простая задача, достаточно уметь перебирать свойства объекта javascript. Все это будет продемонстрировано и объяснено.В статье есть пример создания плагина и демо проект.

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

Платье на 3D принтере (из НЕумных пайеток)

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

Всем привет! Мы разрабатываем «умные пайетки» - электромеханические цветовоспроизводящие устройства для дизайнерской одежды.

Сегодня расскажу о том, как мы напечатали наше первое платье на 3D принтере!

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

Считаем уникальные IPv4 адреса

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

Как создавать быстрые и эффективные алгоритмы? В статье, на примере задачи по подсчёту уникальных IPv4 адресов, рассматриваются приёмы и методы обработки больших объёмов данных. Вы узнаете, как написать код, работающий в десятки раз быстрее и использующий в несколько десятков раз меньше памяти, чем "наивные" алгоритмы.

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

Базовые подходы к парсингу

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

Вступление

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

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

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

Можем ли мы спарсить?

Да, к сожалению (или счастью) веб - он не однообразен, и каждый ресурс может быть уникален по своему, но в нашем деле, ключевым моментом будет то, есть ли на этом ресурсе Server-Side Rendering (SSR), или там Client-Side Rendering и важная для нас информация подтягивается позже с помощью JS.

К примеру, нативные апки на React или тот же Angular by default есть CSR. И что бы прикрутить там SSR нужно порой очень сильно попотеть.Тем не менее, большинство сайтов с топ серч результатов любой поисковой системы будут поддерживать именно SSR, потому что таков мир SEO-оптимизаций.

Читать далее
Всего голосов 26: ↑17 и ↓9+8
Комментарии32

Польская нотация или как легко распарсить алгебраическое выражение

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

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

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

Платформа Deepstream от Nvidia для систем на базе компьютерного зрения

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

Компьютерное зрение – это увлекательная область искусственного интеллекта, имеющая огромное значение в реальном мире. Forbes ожидает, что к 2022 году рынок компьютерного зрения достигнет оборота 50 миллиардов долларов, а всех нас ждет новая волна стартапов в этой области [1]. В своей статье я хотел бы поделиться своим опытом и опытом Data Science-команды компании Accenture по созданию цифрового решения потоковой аналитики на базе компьютерного зрения.

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

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

Умные пайетки (часть 3)

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

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

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

Эволюция данных: от больших к бесконечным

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

“Блиц, блиц, скорость без границ!” - помните этого очень смешного и очень н-е-е-е-с-п-е-ш-н-о-г-о ленивца по имени Блиц из мультфильма Зверополис? Он всплывает в памяти всякий раз, когда мы сталкиваемся с чьей-то медленной работой или реакцией. На самом деле Блицу требовалось всего 10 секунд на каждую фразу или операцию. Согласитесь, 10 секунд - не так уж и много. В реальной жизни нам часто приходится ждать куда дольше и ожидание выглядит совсем не так смешно. Ждать - неприятно и очень дорого. 

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

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

Process Mining: почему пилотный проект хорошо проводить на базе ИТ-подразделения

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


Уследить за бизнес-процессами бывает непросто, особенно если они состоят из множества этапов и вовлекают большое количество людей и систем. Для этого существуют технологии процессной аналитики (Process Mining), которые в теории должны помочь с оптимизацией. Сегодня Дмитрий Емельянов, руководитель управления сервисами ИТ М.Видео-Эльдорадо, расскажет, как его команда внедрила решение этого класса в своем департаменте и смогла заинтересовать другие подразделения успешными результатами.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии2

Адаптация подхода с применением сжатия zlib для отсеивания некачественных текстов разной длины

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

Недавно Сбер в статье Всё, что нам нужно — это генерация предложил интересный подход для отсеивания некачественных текстов (технического мусора и шаблонного спама). Но разве коэффициент сжатия zlib на качественных текстах не имеет нелинейной зависимости от длины сжимаемого текста? Давайте проверим.

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

Need for speed. Пакетная обработка данных с TiSpark

Время на прочтение7 мин
Количество просмотров1.3K
TiSpark – это подключаемый модуль Apache Spark, который работает с платформой  TiDB  и отвечает на запросы сложной интерактивной аналитической обработки (OLAP). Этот плагин Spark широко используется для пакетной обработки больших объёмов данных и для получения аналитических инсайтов. Я старший архитектор решений в PingCAP и бывший разработчик TiSpark. В этом посте я объясню, как он работает и почему TiSpark лучше традиционных решений для пакетной обработки.

Приятного чтения!
Всего голосов 10: ↑7 и ↓3+4
Комментарии0

Как создавать необычно красивые линии? Изучаем поле течений

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

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

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

Осторожно, много тяжелых красивых картинок
Всего голосов 51: ↑50 и ↓1+49
Комментарии9

Как работают мобильные кошельки на примере приложения «Mir Pay»

Время на прочтение5 мин
Количество просмотров18K
Как известно, в 2015 году мы запустили в эксплуатацию платежную систему «Мир», и карты «Мир» в России принимаются повсеместно. Это, конечно, очень здорово, но сейчас набирает популярность использование мобильных кошельков для оплаты покупок. Согласно статистике, в 2019 году 19% всех операций составляют платежи при помощи смартфона. В 2017 году их было всего 3%. В 2018 году собственное платёжное приложение Mir Pay представила и платежная система «Мир». Mir Pay написан на Kotlin, может работать на телефонах с поддержкой NFC и операционной системой Android 6.0 и выше.



Меня зовут Богданов Валерий, я являюсь руководителем группы тестирования в команде мобильных платежей департамента информационных технологий НСПК, и я расскажу о том, как работают мобильные кошельки на примере нашего приложения Mir Pay.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии28