Рубрика «веб-сервис»

MCDM-Project. Часть 1. Концепция - 1

Предисловие

Все-таки в душе я фантазер и мечтатель, на деле (в мире программирования) максимум «парень из гаража», но после «раскручивания гаек» не мог не удержаться от идеи явить Хабражителям на справедливый суд концепцию проекта MCDM-Project в целом и игрушечную тестовую версию в частности (несколько опасаюсь Хабраэффекта, если будут проблемы — прощения просим). Ссылка на сайт проекта ждет читателя в конце публикации (вместе с опросом), для ознакомления рекомендуется пройти предлагаемый на сайте тур, а в идеале — предварительно ознакомиться с основными идеями под катом. Читать полностью »

image

Безопасная настройка TLS всегда был головной болью. Как для владельцев небольших ресурсов, так и для компаний, размер инфраструктуры которых может достигать нескольких сотен или даже тысяч доменов. Проблемы с TLSSSL появляются постоянно — уязвимости в самих протоколах, крипто-алгоритмах или их имплементациях. От всем известных Poodle и HeartBleed, до достаточно экзотичных и свежих (CVE-2016-2107) проблем с AES-NI.

А к чему приводят проблемы с TLS?
К краже учетных записей пользователей, администраторов, внедрению в трафик вредоносного контента, рекламы или, как это было с HeartBleed, даже к прямому доступу к памяти сервера.

Давайте взглянем на картину в целом.
На июль 2016 по данным проекта SSL Pulse, который анализирует настройки Alexa Top 200k доменов:

  • 40% из них имеют ошибки в конфигурации или используют недостаточно стойкие наборы алгоритмов шифрования
  • 25% имеют серьезные проблемы приводящие к реальной реализации атак на пользователей ресурсов или на сами ресурсы

А значит, у всех нас проблемы!

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

Дано: собственные и аутсорс-проекты, некоторые участники работают удаленно.

Требуется: необходимо быстро назначать задачи исполнителям, планировать спринты, трекать выполнение и статусы, визуализировать процессы и делиться результатами с заказчиками.

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

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

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

43 полезных сервиса для управления проектами. Без эпитетов - 1

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

В прошлом году читателям был представлен Codeo — минималистичный аналог Pastebin. За последний месяц я полностью переписал сервис, добавил в него ряд новых возможностей, и перенёс его на новый домен (code.re).

Code.Re — минималистичный сервис для размещения сниппетов

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

«Я беру камень и отсекаю всё лишнее»
© Микеланджело Буонарроти

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

В общих чертах, основную идею можно понять из заголовка. Я хочу построить облачную систему управления контентом баз данных (CDBCMS — Cloud database content management system). Проще говоря, это веб-сервис для обеспечения доступа к базе данных, генерирующий красивую и удобную панель для редактирования содержимого вашей базы данных.Читать полностью »

Описанный метод позволяет обратиться к веб-сервисам 1С из html-страницы через JavaScript. В качестве примера выводится список справочников. При нажатии на любой справочник выводятся первые буквы наименований. При нажатии на букву выводятся данные с наименованиями, начинающимися на эту букву.

Способ применим для случаев, когда веб-сервис и html-страница опубликованы на одном сервере. В этом случае не возникает кросс-доменных проблем. Например, если домены будут отличаться, то Chrome выдаст ошибку:

Failed to load resource: Origin http://localhost:3299 is not allowed by Access-Control-Allow-Origin

Не вдаваясь в подробности публикации веб-сервисов, предположим, что на стороне 1С создан и опубликован веб-сервис catalogs с операцией Execute. На входе — параметр script типа string, на выходе тип string. Операция запускает на стороне произвольный код script из параметра и возвращает JSON-сериализацию от переменной result.

Функция ExecuteCommands(script)<br />     result = null;<br />     Execute(script);<br />     return JSON(result);<br /> КонецФункции

С JSON-сериализацией удобно работать средствами JavaScript и преобразовать строку в объект/массив одной командой eval(resultText). В Интернете можно найти несколько JSON-сериализаторов для 1С.

Удостоверимся, что веб-сервис отвечает, введя его адрес:

Отклик веб-сервиса
Читать полностью »

На php отправка mail реализуется одной строчкой кода! А на java- нужно 3 недели??!
(из разговоров с разработчиками и менеджерами)

Трудозатраты на реализацию «простого» модуля отправки Email в приложении с модульной архитектурой
Статья не о том, как отправлять почту на java. Моя цель — показать сложности модульной разработки больших приложений (на примере разработки ERP River).

Итак, задача: реализовать сервис отправки по email (war).

Этапы разработки:

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

В .Net для работы с интерфейсами Webmoney существует замечательная OpenSource библиотека WMClasses. За что большое спасибо kazkad.

Внезапно :) в пятницу вечером в этой библиотеке обнаружился неприятный баг, напоминающий «проблему 2000».
Читать полностью »

В начале декабря в Санкт-Петербурге при партнерстве Mail.Ru Group прошел полуфинал чемпионата мира по программированию ACM ICPC. В рамках чемпионата я встречался с участниками и рассказывал о том, как сделать веб-сервис системой реального времени; а сейчас хочу поделиться своим докладом на Хабре.

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

При работе веб-сервиса, конечно, жизнь человека не зависит от того, насколько быстро он открыл письмо в почте, но требования к веб-сервису почти такие же. Еще 15 лет назад, когда пользователь кликал на ссылку, он ожидал реакции 10 секунд; для медленного интернета того времени это было нормально. Современный интернет – это широкие каналы, быстрые компьютеры. У пользователей все работает быстро, и они ждут от сервисов того же.

Когда пользователь куда-то кликает, он ожидает моментально получить реакцию на свой клик. Что такое моментально? Для человека комфортной задержкой считается время отклика порядка 200 миллисекунд, хотя на самом деле человеческий глаз различает время около 10 миллисекунд. Веб-сервис должен реагировать на действия пользователя не более чем за 200 миллисекунд — чем меньше, тем лучше.

Итак, современный веб-сервис, по сути, должен быть системой реального времени. Как сделать так, чтобы он отвечал этому требованию, я расскажу на примере Почты Mail.Ru.Читать полностью »

Предлагаем вниманию программистской общественности бета-версию веб-API для восстановления поврежденных файлов: https://online.officerecovery.com/ru/api/

По ссылке доступен архив с документацией и примерами использования, реализованными на php. Также есть возможность оценить возможности API на основе работающего примера.

В качестве ядра для восстановления файлов используется сервис OfficeRecovery Online (см. пост с описанием и видео). Взаимодействие происходит на основе GET/POST http запросов, обмен данными основывается на формате XML.

Функциональность API:

  1. Загрузка поврежденного файла для восстановления.
  2. Получение статуса и прогресса восстановления.
  3. Получение ссылок на демонстрационный и полный результат восстановления, либо сообщение об ошибке, если файл не удалось восстановить.

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