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

Пользователь

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

Дока сервиса, с которым интегрируешься, неполная и неактуальная. Тестовых площадок нет. Как выжить системному аналитику?

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

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

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

Пожалуй, самый простой способ спасти ваше .NET-приложение, или Prometheus (и не только) спешит на помощь

Уровень сложностиСредний
Время на прочтение32 мин
Количество просмотров6.8K
Существует множество возможных проблем приложений, которые удается заметить лишь с опозданием. Особенно когда релиз уже состоялся… К счастью, существует пара ключевых инструментов, которые выручают почти в любой ситуации, — и вряд ли найдется что-то проще.



Меня зовут Александр Пугач, я — Senior .NET Developer в проекте Data Warehouse «Лаборатории Касперского» (да-да, вы могли не знать, но у нас в компании широко используются .NET и «шарпы»).

В этой статье я расскажу, как работать с метриками в .NET на примере OpenTelemetry и Prometheus — систем, которые помогают отслеживать проблемы в работе приложений и быстро на них реагировать, обеспечивая стабильную и отказоустойчивую работу сервисов.

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

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

Кратко про экосистему RAPIDS для работы с данными на GPU

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

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

RAPIDS — это open source библиотека экосистема, состоящая из нескольких библиотек, разработанная NVIDIA, которая предоставляет набор инструментов для выполнения всего цикла обработки данных и аналитики на GPU. RAPIDS была создана с целью того, чтобы ускорить анализ данных и работу в ML, используя всю мощь GPU, и делает это, предоставляя в целом привычный интерфейс, похожий на тот, к которому привыкли в Pandas, Scikit-learn и т.д.

RAPIDS основан на CUDA, архитектуре параллельных вычислений от NVIDIA. Операции, которые когда-то занимали минуты или часы на CPU, теперь могут быть выполнены за секунды на GPU, благодаря параллелизму и высокой пропускной способности памяти GPU.

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

Как создать микросервис на Rust при помощи gRPC

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

Введение


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

Перед изучением этого поста также будет полезно посмотреть предыдущие публикации автора по Rust:

https://blog.ediri.io/lets-build-a-cli-in-rust
https://blog.ediri.io/how-to-asyncawait-in-rust-an-introduction
Читать дальше →
Всего голосов 19: ↑17 и ↓2+22
Комментарии18

Основы и практика CSS Grid Layout:  как использовать двумерную раскладку для повседневных задач

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

Наш фронтенд-разработчик Данила Абрамов @DanilAbr подготовил материал для новичков и практикующих разработчиков, у которых не было возможности разобраться с Grid. В первой части статьи — основные CSS-свойства и принципы раскладки, без которых невозможно понять Grid. Если вы знакомы с основами, переходите сразу со второй части — там примеры решения реальных задач.

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

ГИС для бизнеса: GeoAI, IoT для городов, большие данные с геотегами и геопространственное мышление

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

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

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

Dependency Injection в мире Software Engineering

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

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

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

Service Mesh Wars, прощаемся с Istio

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

image
Фото Brian McGowan, Unsplash.com


Мы использовали Istio в продакшене почти два года, но больше не хотим. Я расскажу, чем мы недовольны и как выбрали другую service mesh.

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

Эволюция H2 — оконные функции, CTE, JSON/XML во встраиваемой базе данных

Время на прочтение5 мин
Количество просмотров9.9K
Есть open source проекты которые стали коммерчески успешным мейнстримом, как например PostgreSQL/Elasticsearch. Другие, к примеру RethinkDB, проиграли на рынке и остановили разработку. А проект H2 database встраиваемой базы данных, написанной на языке java, развивается и здравствует в своей нише.


Для демонстрации функционала SonarQube, Jira, Confluence при первом запуске используют H2 database. H2 является базой для запуска SQL тестов в памяти, почти в любом JVM проекте. Есть пример применения менее известный пользователям — это использование H2 в распределенном ignite-sql и это уже production ready сценарий использования встраиваемой базы данных как части другого решения. Меньше месяца назад вышла версия 1.4.199 в которой теперь можно писать достаточно сложные SQL запросы.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии10

.NET Core Workers как службы Windows

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

В .NET Core 3.0 мы представляем новый тип шаблона приложения под названием Worker Service. Этот шаблон предназначен для того, чтобы дать вам отправную точку для написания долго-работающих сервисов в .NET Core. В этом пошаговом руководстве мы создадим worker и запустим его в качестве службы Windows.



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

Практическое использование D-Wave 2000Q: крутая кривая обучения квантовым вычислениям

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

Переосмыслить концепцию задачи тяжело, но результат стоит того




Примечание автора: я знаю, что неправильно вычислил перенос Брэгга как в классическом, так и в квантовом случае; однако, это достаточно близко к правде для того, чтобы понять разницу между программированием классического и квантового компьютера.

Время: где-то в 2018 году. Место: тухлый канал в Слаке.

«Ты знаешь Python?»

Вопросы Джона Тиммера, научного директора Ars Technica, иногда могут застать врасплох. Если бы в Слаке можно было пропитывать буквы осторожностью, то мой ответ «Да» просто сочился бы ею.

Оказывается, что D-Wave решила дать всему миру доступ к своему квантовому оптимизатору через API. Ars пригласили его опробовать, но нужно было знать Python. Я был готов на это.
Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии0

Editor.js прекрасный редактор сохраняющий исходный код в JSON формате

Время на прочтение1 мин
Количество просмотров26K
CodeX крутые ребята, которые базируются в Университете ИТМО. На базе этого университета студенты и выпускники создают интересные и полезные проекты: Hawk.so, Capella, AR-tester и другие.

Один проект очень помог нашему бизнесу. Редактор Editor.js сохраняющий исходный код в JSON.


Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии29

Резидентская программа Яндекса, или Как опытному бэкендеру стать ML-инженером

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


Яндекс открывает резидентскую программу по машинному обучению для опытных бэкенд-разработчиков. Если вы много писали на C++/Python и хотите применить эти знания в ML — то мы научим вас заниматься практическими исследованиями и выделим опытных кураторов. Вы поработаете над ключевыми сервисами Яндекса и получите навыки в таких областях, как линейные модели и градиентный бустинг, рекомендательные системы, нейросети для анализа изображений, текста и звука. Ещё вы узнаете, как правильно оценивать свои модели с помощью метрик в офлайне и онлайне.

Продолжительность программы — один год, в течение которого участники будут работать в управлении машинного интеллекта и исследований Яндекса, а также посещать лекции и семинары. Участие оплачивается и предполагает полную занятость: 40 часов в неделю, начиная с 1 июля этого года. Приём заявок уже открыт и продлится до 1 мая. 

А теперь подробнее — о том, какую аудиторию мы ждём, каким будет рабочий процесс и в целом, как бэкенд-специалисту переключиться на карьеру в ML.

Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии17

Опыт разработки сервиса Refund Tool с асинхронным API на Kafka

Время на прочтение16 мин
Количество просмотров9.4K
Что может заставить такую большую компанию как Lamoda с отлаженным процессом и десятками взаимосвязанных сервисов существенно менять подход? Мотивация может быть совершенно разная: от законодательной до присущего всем программистам желания экспериментировать.

Но это вовсе не значит, что нельзя рассчитывать на дополнительную выгоду. В чем конкретно можно выиграть, если внедрить events-driven API на Kafka, расскажет Сергей Заика (fewald). Про набитые шишки и интересные открытия тоже обязательно будет — не может эксперимент без них обойтись.



Disclaimer: Это статья основана на материалах митапа, который Сергей провел в ноябре 2018 года на HighLoad++. Живой опыт Lamoda работы с Kafka привлек слушателей не меньше, чем на другие доклады из расписания. Нам кажется, это отличный пример того, что всегда можно и нужно находить единомышленников, а организаторы HighLoad++ и дальше будут стараться создавать располагающую к этому атмосферу.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии10

Строительные блоки распределенных приложений. Нулевое приближение

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


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

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

Как сгенерировать гипотезы о потребностях потенциальных потребителей вашего будущего продукта

Время на прочтение4 мин
Количество просмотров15K
Подавляющее большинство бизнесов умирает потому, что предлагают продукт, который не нужен потребителям. Это известное высказывание Эрика Риса, автора методики Lean Startup. Как не попасть в эту ловушку со своим проектом?

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

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

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

База данных KDB+: от финансов до «Формулы 1»

Время на прочтение12 мин
Количество просмотров9.8K
KDB+, продукт компании KX — это широко известная в узких кругах, исключительно быстрая, колоночная база данных, предназначенная для хранения временных рядов и аналитических вычислений на их основе. Изначально она пользовалась (и пользуется) большой популярностью в индустрии финансов — ее используют все топ-10 инвестиционных банков и многие известные хедж-фонды, биржи и другие организации. В последнее время в KX решили расширить клиентскую базу и теперь предлагают решения и в других областях, где имеется большое количество данных, упорядоченных по времени или иным образом — телеком, биоинформатика, производство и т.д. В том числе они стали партнером команды Aston Martin Red Bull Racing в «Формуле 1», где помогают собирать и обрабатывать данные с датчиков болидов и анализировать тесты в аэродинамической трубе. В этой статье я хочу рассказать, какие особенности KDB+ делают ее сверхпроизводительной, почему компании готовы тратить на нее большие деньги, наконец, почему это на самом деле не база данных.
 

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

Наш опыт создания API Gateway

Время на прочтение6 мин
Количество просмотров24K
Некоторые компании, в том числе наш заказчик, развивают продукт через партнерскую сеть. Например, крупные интернет-магазины интегрированы со службой доставки — вы заказываете товар и вскоре получаете трекинговый номер посылки. Другой пример — вместе с авиабилетом вы покупаете страховку или билет на аэроэкспресс.

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

Дано: экосистема и API-портал с интерфейсом, где пользователи зарегистрированы, получают информацию и т.п. Нам нужно сделать удобный и надежный API Gateway. В процессе нам нужно было обеспечить

  • регистрацию,
  • контроль подключения к API,
  • мониторинг того, как пользователи используют конечную систему,
  • учёт бизнес-показателей.



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

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

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

Разработка веб-серверов на Golang — от простого к сложному

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


Пять лет назад я начал разрабатывать Gophish, это дало возможность изучить Golang. Я понял, что Go — мощный язык, возможности которого дополняются множеством библиотек. Go универсален: в частности, с его помощью можно без проблем разрабатывать серверные приложения.

Эта статья посвящена написанию сервера на Go. Начнем с простых вещей, вроде «Hello world!», а закончим приложением с такими возможностями:

— Использование Let’s Encrypt для HTTPS.
— Работа в качестве API-маршрутизатора.
— Работа с middleware.
— Обработка статических файлов.
— Корректное завершение работы.
Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии6

Word2vec в картинках

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


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

Мы пытаемся скопировать этот узор в нашей жизни и нашем обществе и потому любим ритм, песню, танец, различные радующие и утешающие нас формы. Однако можно разглядеть и опасность, таящуюся в поиске абсолютного совершенства, ибо очевидно, что совершенный узор — неизменен. И, приближаясь к совершенству, всё сущее идёт к смерти» — Дюна (1965)

Я считаю, что концепция вложений (embeddings) — одна из самых замечательных идей в машинном обучении. Если вы когда-нибудь использовали Siri, Google Assistant, Alexa, Google Translate или даже клавиатуру смартфона с предсказанием следующего слова, то уже работали с моделью обработки естественного языка на основе вложений. За последние десятилетия произошло значительное развитие этой концепции для нейронных моделей (последние разработки включают контекстуализированные вложения слов в передовых моделях, таких как BERT и GPT2).
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии16
1
23 ...

Информация

В рейтинге
3 718-й
Зарегистрирован
Активность