Рубрика «Программирование» - 406

OpenVINO Toolkit — чтобы смотреть на мир незатуманенным взглядом - 1

Буквально вчера увидела свет новая версия Open Visual Inference & Neural Network Optimization (OpenVINO) toolkit (ранее Intel Computer Vision SDK) — набора библиотек, средств оптимизации и информационных ресурсов для разработки софта, использующего машинное зрение и Deep Learning. Цель OpenVINO — ускорить процесс создания систем компьютерного зрения, предоставляя программистам интегрированную среду разработки, а также оптимизировать код этих продуктов, требующий больших вычислительных затрат, под разнообразные аппаратные платформы (CPU, GPU, FPGA) Intel.

Под катом — полный список компонентов OpenVINO Toolkit, перечень совместимого железа и полезные ссылки.
Читать полностью »

Опыт построения интеграционной платформы на базе ServiceMix (Camel) и RabbitMQ - 1 Как только в компании появляется хотя бы две информационных системы, которым необходимо обмениваться данными, возникает вопрос, как организовать их взаимодействие. Вариантов множество: файловый обмен, линки между базами данных, web или rest сервисы, различные системы обмена сообщениями, устаревшие RPC и CORBA, новомодный gRPC и т.д. Выбор зависит от предпочтений участников проекта и от возможностей систем (архитектура системы, используемая платформа, наличие готового API и пр.). Предположим, выбрали какой-то способ обмена, системы начали взаимодействовать, все хорошо. Но потом возникает третья система, с которой тоже надо интегрироваться, потом четвертая и т.д. Нужно опять садиться и выбирать способ обмена, и не факт что удастся ограничиться уже используемыми технологиями (где-то это продиктовано ограничениями новых систем, где-то разработчик настоял на другой технологии или захотел попробовать что-то новое). С ростом количества систем растет количество и сложность взаимодействий между ними, растет количество используемых технологий. В итоге вся интеграционная архитектура компании начинает напоминать запутанный клубок разноцветных ниток, как-то связывающих системы компании, который все сложнее распутывать при разборе ошибок и доработках. Рано или поздно начинают приходить мысли о создании единой интеграционной среды, которая прозрачно и расширяемо свяжет все системы воедино.

В этой статье я расскажу об опыте использования Apache ServiceMix (Camel) и RabbitMQ для построения такой интеграционной среды.
Читать полностью »

В этой статье я расскажу о тернистом пути обновления Angular с кастомным Webpack конфигом, который нашей команде пришлось пройти неделю назад. Возможно, наш опыт будет полезен тем, кто использует Angular со своим Webpack конфигом, а остальным — интересен как иллюстрация того, куда может завести современный frontend и как с этим жить.

Обновляем Angular до 6-ой версии в проекте без использования CLI - 1

Наша команда работает над интерфейсом BILLmanager 6. Дабы вы имели общее представление о проекте до обновления, сообщу, что количество файлов в нем уже перевалило за 67 тысяч. Архитектурно можно выделить два подпроекта: модуль регистрации и основной пользовательский интерфейс. По технологиям основу составляют компоненты, директивы и модули Angular, написанные на TypeScript. Есть несколько компонентов на Web components. Для стилизации мы используем SASS/SCSS и применяем CSS variables, чтобы темизировать приложение без перекомпиляции.
Читать полностью »

JS DevDay. Запись докладов - 1

27 апреля мы провели JavaScript DevDay — разговаривали и про мобилку, и про веб, и про гибридные приложения. Делимся записями трёх докладов.

Первый будет полезен, если вам понадобилась аргументация почему НЕ стоит использовать Аppcelerator Titanium. Второй повествует о том, как ускорить ваше веб-приложение с помощью service worker. Посмотрев третий доклад вы узнаете, как написать гибридное приложение на Angular.

Читать полностью »

image

В последние годы использование технологий Deep Learning позволило достичь значительного прогресса в таких областях, как распознавание образов, автоматический перевод и др. Этот успех, а также разработки в области беспилотных автомобилей и достижения компьютера в игре GO, позволили фантазировать о том, что Искусственный Интеллект скоро будет делать ту работу, которую сейчас выполняют люди, и будет претендовать на их рабочие места.
Читать полностью »

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

Действительно, здесь есть над чем задуматься.

В юности я был поклонником компьютера Apple, Джобс и Возняк были для меня почитаемыми людьми, а желание иметь Apple 2 было определяющей чертой моего детства на протяжении нескольких лет. Годами позже, когда я впервые увидел компьютер NeXT на компьютерной выставке — в те времена, когда я уже продавал свое первое коммерческое ПО — он показался мне взглядом в будущее (но ценник был более чем в 10 000 $ — нехило!).

Когда Id Software стала успешной благодаря Commander Keen и Wolfenstein 3D, первой личной серьезной покупкой для меня стал не автомобиль — это был компьютер NeXT. Как вскоре выяснилось, для разработки нашего ПО он оказался весьма полезен, и в итоге мы перевели на оборудование NeXT всю нашу компанию.

Нам так нравились наши NeXT-ы, что мы хотели выпустить Doom со специальным логотипом «Разработано на компьютерах NeXT» на заставке. Однако, когда мы попросили разрешения на подобный шаг, нам было отказано.

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

Годы спустя, основываясь на своих наблюдениях и косвенных свидетельствах, я пришел к выводу, что в глубине души Стив никогда не был высокого мнения об играх — и что он всегда хотел, чтобы игры не имели настолько большого значения для его платформ, какое они занимали на самом деле. Я никогда не принимал это лично на свой счет.
Читать полностью »

Публикуем расшифровку видеозаписи выступления Алексея Гончарука (Apache Ignite PMC Member и Главный архитектор Grid Gain) на митапе Apache Ignite сообщества в Петербурге 29 марта. Загрузить слайды можно по ссылке.

Участников сообщества Apache Ignite часто спрашивают: «Сколько нужно узлов и памяти для того, чтобы загрузить такой-то объем данных?» Об этом и я хочу сегодня поговорить. Забегая вперёд: такое прогнозирование пока что является достаточно сложной, нетривиальной задачей. Для этого нужно немного разбираться в устройстве Apache Ignite. Также я расскажу, как упросить себе задачу прогнозирования, и какие можно применять оптимизации.
Читать полностью »

image

Последние несколько лет мы все чаще слышим термин «Serverless» по отношению к облачным сервисам. Более того, в Европе наш собственный Voximplant часто называют «Serverless телефонией для разработчиков». Но ведь у нас есть серверы, и много! Откуда такое странное название и что именно имеют в виду те, кто его использует? Чтобы обобщить и собрать в одном месте информацию про «Serverless», организация с длинным названием «Cloud Native Computing Foundation» посвятила ей официальный документ, Swapnil Bhartiya его внимательно изучил и написал интересную статью (интересные статьи про linux и open source он пишет уже лет 15), а мы адаптировали перевод для Хабра. Кстати, в очередной раз обновляя холивар «зачем переводить для Хабра». Во-первых, по-русски, если перевод адекватный, читать быстрее и когнитивно менее напряжно. Даже с очень хорошим английским. Физиология, ничего личного. Во-вторых, если кто-то решил перевести статью — то она, скорее всего, того стоит. Если вы не эксперт в чем-то, можно смело пропустить 100 статей, вышедшие по интересной теме за последний месяц, а посмотреть только те две, что перевели для Хабра.
Читать полностью »

И снова здравствуйте!

Делимся с вами очередным открытым уроком, который мы проводили в рамках курса «Разработчик C++». На уроке Сергей Кольцов разбирал проблему деинициализации, которая довольно часто возникает в разработке ПО с использованием legacy или native-кода.

Как всегда ждём вопрос и комментарии тут или сегодня на Дне открытых дверейЧитать полностью »

Всем привет!

В рамках нашего курса «Разработчик Python», провели на прошлой неделе открытый вебинар про вторую и третью версию. На нём создатель курса Стас Ступников разбирал нюансы миграции между версиями, отличия в производительности, новые особенности, да и вообще общался и отвечал на вопросы слушателей.

Как всегда ждём вопросы, комментарии тут или на Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js