Блог экспериментатора инженера-разработчика: Infanty.
Я пишу how-to статьи на редкие темы или статьи обзоры - для себя и тех кто со мной работает.
Блог существует при поддержке: "Оккупационных сил Марса".

Отображено: по дате последнего изменения. Посмотреть по дате публикаций.

CherryPy — объектно-ориентированный веб-фреймворк, написанный на языке программирования Python. Спроектирован для быстрой разработки веб-приложений для сети Интернет. Представляет собой надстройку над HTTP-протоколом, но остаётся на низком уровне и не выходит за рамки требований RFC 2616. Может выступать в качестве самостоятельного веб-сервера или работать под управлением другого серверного приложения, поддерживающего протокол WSGI.

Для того, что бы обращаться к скриптам Python в Ubuntu 14.04 используя веб-интерфейс, установим связку: Nginx -> uWSGI -> Virtualenv -> Python 3.3. Где Nginx - веб сервер, WSGI - сервер приложений который позволяет наиболее простым способом взаимодействовать веб-серверу и Python, Virtualenv - создаёт виртуальное окружение для запуска Python скрипта с использованием определённых версий библиотек нужных именно запускаемому скрипту.

Периодически приходится создавать виртуальные машины для локальной разработки с функцией автоматического развёртывания для распространения в команде разработчиков. Для решения этой задачи ограничится только Bash-скриптами не получится. Так как довольно часто клиентские машины для разработки довольно сильно отличаются, как программно так и аппаратно, друг от друга и от серверов на которых будет размешаться разрабатываемый код. В таком случае лучшим решением будет использование VirtualBox (используя Vagrant с Puppet или Ansible) или Docker как одни из самых распространённых технологий для подобных задач.

LXD (сокращение от Linux Container Daemon), созданный канадцем Стефаном Грабе из компании Canonical. Он также является одним из авторов другого популярного контейнерного решения — LXC. Собственно, LXD представляет собой надстройку над LXC, которая упрощает работу с контейнерами и добавляет широкий спектр новых возможностей.

  • Пример простого вывода текста скриптом на Python 3.3 с использованием uWSGI.
  • Пример вывода текста (хранящегося в переменной) в кодировке UTF-8, скриптом на Python 3.3 с использованием uWSGI.
  • Пример простого вывода разбитого на слова предложения (с объединением элементов списка слов в одну строку с разделителем: "|"), скриптом на Python 3.3 с использованием uWSGI и библиотеки NLTK.

При первом знакомстве с нейронными сетями создаётся впечатление, что это идеальная «технология» для построения искусственного интеллекта (artificial intelligence). Так как их главным плюсом является способность справляться со сложными нелинейными функциями и находить зависимости между различными входными данными. Но для этого необходим «достаточный» коллекций данных для обучения нейронной сети, который в большинстве случаев нельзя создать «вручную».

В июле 2010 года поисковый стартап Metaweb разрабатывающий технологию семантической разметки материалов размещённых в сети интернет и поддерживающий открытую базу знаний Freebase (12 млн людей, мест и объектов, связанных друг с другом), был куплен компанией Google. По мнению экспертов сумма сделки должна составлять не менее нескольких миллионов долларов.

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

В годы когда ещё не существовали чат-боты или такие программы как: Siri, Microsoft Cortana, Google Now или Amazon Echo, поступило предложение поучаствовать в качестве архитектора при разработке подобного приложения. На первом этапе разработки - предполагалось, что приложение будет отвечать на вопросы пользователя (как чат-бот) и выполнять несложные действия используя API других программ (по концепции было очень похоже на Siri). На втором этапе разработки - программа должна была отвечать на вопросы по конкретному тексту новости или статьи. А на третьем этапе разработки - предоставлять сокращённый пересказ статьи на одном из нескольких заданных языках. В итоге должна была получиться поисковая система умеющая не просто искать документы на определённых сайтах, но и удалять из выдачи религиозно опасные тексты, давая краткий пересказ любого из оставшихся в поисковой выдаче документов на арабском, берберском, французском или русском языке.

Ratchet позволяет разрабатывать приложения на PHP используя протокол полнодуплексной связи поверх TCP-соединения (WebSocket), предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени (позволяет одновременно передавать и принимать данные).

Ratchet построен на основе ReactPHP - сокет сервера разработанного на PHP для постоянной обработки запросов в отличии от стандартного подхода с Apache и Nginx где процесс умирает по окончании обработки одного запроса.