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

Используем oEmbed, чтобы добавить телефон в хабрапост - 1Неделю назад произошло очередное улучшение Хабра, и кроме всего прочего, была добавлена возможность вставлять контент с помощью механизма oEmbed. Я хочу немного рассказать, что это за зверь, и продемонстрировать, как он работает с чем-нибудь популярным, вроде jsFiddle, чтобы добавить в хабрапост необычное. Например — телефон.

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

Снова проверяем исходный код Umbraco - 1 Время неумолимо. Казалось бы, только недавно мы анонсировали выход статического анализатора для C# кода, проверили первые проекты и начали писать про это статьи. И вот уже прошел целый год с этого момента. Год кропотливой и сложной работы по улучшению характеристик анализатора, добавлению новых диагностических правил, сбору статистики ложных срабатываний и устранению их причин, взаимодействию с пользователями и решению массы других вопросов. Год множества маленьких и больших побед на том трудном, но невероятно интересном пути, который мы для себя выбрали. Пришло время повторной проверки проекта, первым попавшего к нам для исследования с помощью нового C# анализатора год назад — Umbraco.
Читать полностью »

… или использование TeamCity для сборки *.deb-пакетов и не только.

Написать статью меня побудило знакомство с модулем tcDebRepository. Я наивно полагал, что "вот сейчас я его подключу, и всё волшебным образом заработает". Как водится, не заработало, и в конце концов был накоплен некий опыт, который захотелось систематизировать.

Статья ни в коей мере не является введением в основы TeamCity и предполагает, что читатель уже знаком и собственно с TeamCity, и с инфраструктурой Debian GNU/Linux. Если вы уже представляете, что такое continuous integration, но ещё ни разу не держали в руках TeamCity — вам, наверное, сюда. О сборке пакетов в Debian можно почитать в Debian New Maintainers' Guide.

Для игр (на случай, если кто-то захочет воспроизвести результаты) использовался сервер TeamCity 10 и 3 агента п/упр Debian 8.0 (Jessie). 3 агента — это лимит в случае TeamCity Professional. Всё ниженаписанное, думаю, без проблем переносится на любой другой дистрибутив на основе Debian GNU/Linux, напр., Astra Linux.

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

Да, это пока не широко распространено. Обработка естественного языка еще недостаточно развита и не интегрирована с разработкой. Также, как нет и удобных способов интегрировать код с поиском или виртуальным помощником (таким как Siri). Голосовые команды имитируют GUI пути (щелчок-открыть-щелчок). Семантический Веб пытается познакомить приложения со смыслом, но все еще не может достигнуть широкой аудитории. Behavior-driven development (BDD) полагается на DSL (предметно-ориентированный язык), который близок к естественному, но этого все еще недостаточно, чтобы научить ваш код говорить.

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

  • который будет адаптирован к естественному языку
  • которому будет легко обучить широкий круг людей
  • который может выступать связующим звеном между естественным языком и компьютерными сущностями
  • который сможет создавать окружение в как можно большем количестве областей программной инженерии
    Читать полностью »

Идеальный программист. Часть 2 - 1

Это вторая часть статьи по книге Роберта Мартина «Идеальный программист». В первой части статьи мы начали изучать, чем идеальный программист отличается от не идеального. Рассмотрели ответственность, научились говорить «нет» нереальным задачам и говорить «да» так, чтобы заказчик был, уверен, что всё будет готово вовремя. Мы определились, как писать код, принимать помощь и помогать другим. Продолжим.

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

Думаю никто не станет спорить с тем, что качество сколь-либо сложных систем создаваемых землянами далеко от идеала.
Конечно, можно сказать, что всё работает — самолёты летают, космические корабли бороздят просторы орбиты Земли т.д.
Но при этом все привыкли к тому, что ПО на их устройствах работает непредсказуемо, через раз, что даже установка самых последних обновлений не гарантирует отсутствия проблем с безопасностью, что часто в открытом, массово используемом коде находят ошибки существующие там много лет, что даже у крупных и «технологических» компаний бывают сбои и утечки данных, что космические аппараты разбиваются или теряют часть функциональности вовсе не из-за козней инопланетян (марсиане клянутся что не сбивали ExoMars).
Хотелось бы рассмотреть причины и возможные пути решения этой планетарной проблемы.
Читать полностью »

image

Итак, в первой части было рассмотрено, какие бывают бизнес-процессы по степени их устойчивости к изменениям, технические концепции для реализации конкретного типа БП, а также пример логики добавления/удаления таска из адаптивной модели БП.

В этой части статьи собираюсь подробней описать, чем же adaptive BPM (aBPM) отличаются от normative BPM (nBPM) и от Adaptive Case Management (ACM), затем представить архитектуру получившейся aBPM системы.

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

Здравствуйте, дорогие читатели. Сегодня пятница, а у нас на борту продолжается напряженный отсмотр и анализ новинок по C++, желательно с учетом C++ 17. В ходе этого увлекательного занятия мы набрели на блог Яцека Галовица (Jacek Galowicz). Из сравнительно свежих материалов нам особенно понравилась статья, размещенная под катом.
Читать полностью »

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

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

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

Возможности

Job Freelance Scanner — платформа для мониторинга предложений с крупных глобальных площадок по поиску работы, разработанная компанией Leadex Systems. Эта платформа позволяет получать предложения единым потоком в канал связи (Slack) от таких площадок как:

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

Мониторим фриланс площадки в slack - 1

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

Перед программистами Edison Software была поставлена задача — разработать программные компоненты, обеспечивающие взаимодействие между ПО Axxon Next и Immix. Сервис SureView очень популярен в Великобритании, и дабы укрепить свои позиции на рынке видеонаблюдения, разработчики Axxon Next (ITV) решили совершить хитрый стратегический ход и интегрироваться, отдав исполнение заказа на аутсорс компании Edison Software. На разработку и отладку плагина интеграции ушло 316 часов.

image

ПО Axxon Next является продуктом российской компании ITV, являющейся разработчиком программного обеспечения для систем безопасности и видеонаблюдения.

Axxon Next — высокопроизводительная система видеонаблюдения, с интуитивно понятным пользовательским интерфейсом, поддерживающая более 6000 наименований IP-устройств и позволяющая строить легко масштабирующиеся системы видеонаблюдения любой сложности. Следует отметить, что полный функционал системы включен в любую лицензию, даже если в ней будет всего одна камера.

ПО Immix является продуктом американской компании SureView systems и представляет собой видео-ориентированную программную платформу, предназначенную для приема тревожных событий из систем видеонаблюдения, контроля доступа, платформ автоматизации и ситуационных систем информирования.

Результатом разработки должен был стать плагин для ПО SureView, предоставляющий возможность использования из ПО SureView следующих возможностей ПО Axxon Next.

  • Отображение в ПО SureView живого видео от ПО Axxon Next.
  • Проигрывание и управление проигрыванием в ПО SureView архива видео, хранящегося под управлением ПО Axxon Next.
  • Управление из ПО SureView поворотными (PTZ) устройствами, подключенными к ПО Axxon Next, включая использование предустановок (Presets).
  • Получение в ПО SureView событий о возникших тревожных сообщениях от ПО Axxon Next.

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


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