Этим постом я начну небольшой цикл статей, посвящённых различных аспектам разработки приложений в системе электронного документооборота. Сегодня все более или менее мощные и современные СЭД/ECM-платформы содержат набор компонентов и инструментов для их реализации, и именно приложения, создаваемые на базе платформы, позволяют автоматизировать все разнообразие рабочих процессов клиента. Я расскажу о модели приложения платформы Docsvision, о компонентах и средствах разработки (настройки) этих приложений, о том, какие проблемы возникали у нас при реализации инструментария для их разработки, и о том, чего ждём в дальнейшем. Это будет интересно не только тем, кто плотно работает с Docsvision, но и позволит почерпнуть опыт тем, кому предстоит внедрять или развивать свою корпоративную СЭД.
User
30 чудных библиотек для PHP программистов
6 min
106KПредлагаю читателям «Хабрахабра» перевод публикации «30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.
+49
Как менеджер мини-АТС с GSM и записями разговоров делал
9 min
36KTutorial
Сегодня, в эру высоких технологий и безупречного клиентского сервиса, всем хочется быть на уровне. Многие компании в независимости от ранга и размера постоянно стараются сделать общение с клиентом удобнее и приятнее. В нашем интерне-агентстве, руководителем, которого я и являюсь, одной из таких «приятностей» стало введение в эксплуатацию небольшой мини-АТС на базе Openvox и Asterisk, собранной своими руками. Но давайте по-порядку:
Телефон — является одним из основных каналов связи с клиентами в нашей работе. За день поступает множество звонков, которые нужно обработать. От использования аналоговой линии мы отказались сразу, ввиду алчности и ненадежности местных провайдеров. Да и устарели нынче аналоговые технологии. Решение использовать GSM-связь было единогласным и непоколебимым. В первые несколько лет работы за прием звонков отвечал вот такой вот не убиваемый аппарат:

Изначально звонки принимал я и мой партнер по-очереди, находясь в разных углах одного офиса. Когда клиент звонил и прослушав несколько сигналов бездушного зуммера просил с кем-нибудь соединить, то с большой вероятностью он мог услышать свист ветра, который создавал сей финский девайс, пролетая из одного угла офиса в другой. «Многоканальность» была реализована за счет наличия в данном телефоне двух слотов для сим-карт. О записи разговоров речи не было, голосовое приветствие и меню отсутствовали, метод трансфера звонков от одного специалиста к другому был описан выше. Сплошные минусы, в общем, и самое главное, что звонивший к нам человек с первых минут мог подумать, что звонит очередную шарашкину контору из полутора фрилансеров. Что было достаточно обидно, ведь свою работу мы делали хорошо, с гарантиями и душой.
Вдоволь намучившись, одним прекрасным днем я сказал громкое «Хватит!» и не менее громкое «Нужно что-то предпринять!»
Проблема
Телефон — является одним из основных каналов связи с клиентами в нашей работе. За день поступает множество звонков, которые нужно обработать. От использования аналоговой линии мы отказались сразу, ввиду алчности и ненадежности местных провайдеров. Да и устарели нынче аналоговые технологии. Решение использовать GSM-связь было единогласным и непоколебимым. В первые несколько лет работы за прием звонков отвечал вот такой вот не убиваемый аппарат:

Изначально звонки принимал я и мой партнер по-очереди, находясь в разных углах одного офиса. Когда клиент звонил и прослушав несколько сигналов бездушного зуммера просил с кем-нибудь соединить, то с большой вероятностью он мог услышать свист ветра, который создавал сей финский девайс, пролетая из одного угла офиса в другой. «Многоканальность» была реализована за счет наличия в данном телефоне двух слотов для сим-карт. О записи разговоров речи не было, голосовое приветствие и меню отсутствовали, метод трансфера звонков от одного специалиста к другому был описан выше. Сплошные минусы, в общем, и самое главное, что звонивший к нам человек с первых минут мог подумать, что звонит очередную шарашкину контору из полутора фрилансеров. Что было достаточно обидно, ведь свою работу мы делали хорошо, с гарантиями и душой.
Вдоволь намучившись, одним прекрасным днем я сказал громкое «Хватит!» и не менее громкое «Нужно что-то предпринять!»
+19
Что не пишут в википедии о глобальных навигационных спутниковых системах
8 min
46KВдохновлённый серией постов «Теория радиоволн», я решился на аналогичный пост о системах спутникового позиционирования. Я работаю в структуре, которая занимается обеспечением функционирования системы ГЛОНАСС, поэтому постараюсь рассказать о ней и её конкурентах с несколько другой точки зрения. Пост будет именно об их устройстве, попутно хотелось бы развеять несколько мифов.
+170
Сколково на вашем столе (или история о том, как я делал электронное устройство с нуля)
19 min
67KСегодня, оглядываясь назад, я ловлю себя на мысли, что тот опыт и знания, которые я получил в процессе разработки, имеют не меньшую ценность, чем непосредственный результат моих усилий. Получив четкое представление о процессе и о многих «подводных камнях», сопутствующих такого рода затее, я всерьез подумываю о том, чтобы приступить к еще более смелому проекту, о котором я постараюсь рассказать уважаемому сообществу чуть позднее.
А пока, обо всем по порядку…

Катя Клубникина изображает счастливого туриста с первым макетом устройства на шее.
Итак, некоторое время назад, а если быть чуть более точным, лет пять назад я решил окончательно перейти на Linux и делать все, что я делал до того, исключительно под Linux. Отчасти это было обусловлено некоторыми моими размышлениями о развитии электроники и медиа, отчасти пониманием некоторого тупика «потребительской» парадигмы и желанием продемонстрировать возможность использования открытого, созданного совместными кооперативными усилиями инструментария для работы над полноценными профессиональными проектами, связанными не столько и не только с разработкой ПО, но включающими в себя все аспекты разработки аудио-визуального продукта целиком.
Надо сказать, что до этого я практически 13 лет занимался тем, что принято называть собирательным термином «визуальная коммуникация», а именно, рисовал графический дизайн, снимал рекламу и делал дизайн в движении, а позднее, имея изрядный школьно-студенческий программерский багаж, стал интересоваться разработкой интерактивного ПО, в т.ч. применительно к набиравшей обороты web-индустрии.
А пока, обо всем по порядку…

Катя Клубникина изображает счастливого туриста с первым макетом устройства на шее.
Часть первая. Предыстория.
Итак, некоторое время назад, а если быть чуть более точным, лет пять назад я решил окончательно перейти на Linux и делать все, что я делал до того, исключительно под Linux. Отчасти это было обусловлено некоторыми моими размышлениями о развитии электроники и медиа, отчасти пониманием некоторого тупика «потребительской» парадигмы и желанием продемонстрировать возможность использования открытого, созданного совместными кооперативными усилиями инструментария для работы над полноценными профессиональными проектами, связанными не столько и не только с разработкой ПО, но включающими в себя все аспекты разработки аудио-визуального продукта целиком.
Надо сказать, что до этого я практически 13 лет занимался тем, что принято называть собирательным термином «визуальная коммуникация», а именно, рисовал графический дизайн, снимал рекламу и делал дизайн в движении, а позднее, имея изрядный школьно-студенческий программерский багаж, стал интересоваться разработкой интерактивного ПО, в т.ч. применительно к набиравшей обороты web-индустрии.
+357
Как мы внедряем Open source в госкомпаниях и крупной коммерции России
11 min
84K
КРОК — одна из самых больших в России компаний по построению IT-инфраструктур. У нас в год 2000+ проектов, из которых 200 штук — с бюджетом больше миллиона. Долларов. Внутри этой огромной компании есть мой небольшой отдел, который занимается тем, что ставит open source для крупных заказчиков.
Нередко приходится сталкиваться с мнением, что open source — это кривые поделки гаражных программистов. Мы работаем только с нормальным рабочим ПО; помогаем подобрать оптимальные варианты решений для инфраструктуры и обеспечиваем поддержку там, где производитель по очевидным причинам сделать этого не может. Это — не самая простая работа, в основном, связанная с мифами и легендами про открытое ПО.
Но к чёрту детали, давайте покажу, что и как можно поставить на рабочие места, сервера, в облако, для СУБД, VDI и серверов приложений. И про галстук.
+65
Беспилотник на базе Raspberry Pi. Часть 1
2 min
113KПривет, %хабраюзер%. Хочу поделиться историей о своем беспилотнике (БЛА) на малинке.
Перед тем, как начать делать беспилотник, стоял выбор, какую летательную модель брать за основу: квадракоптер или самолет? Так как с коптерами я в свое время наигрался, знаю их основной минус: чаще всего время полета составляет 10-20 минут. Лично для меня это очень мало, поэтому было решено взять за основу самолет.

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

+43
Получение и вывод GPS координат на Arduino
3 min
85KОднажды у меня возник интерес к GPS, а еще чуть раньше — к платформе Arduino. Поэтому со Sparkfun были заказаны, с разницей в пару дней, Arduino Duemilanove, GPS Shield и GPS приемник EM-406A.
Заказ пришел и частично лежал на полке, а недавно дошли руки до этого комплекта…

Заказ пришел и частично лежал на полке, а недавно дошли руки до этого комплекта…
Собранный GPS Shield, подключенный к Arduino

+67
Spark Electron — Dev Kit с мобильным интернетом от 39$
2 min
9.7K
Создатели Spark Core после успеха первого проекта запустили новую кампанию заменив WiFi модуль на 3G со своей SIM картой.
+10
10 самых интересных технологий 2015 года
9 min
24KTranslation
В современном мире технологии являются показателями прогресса. Не без риска, технологические прорывы обещают решения самых насущных всемирных проблем нашего времени. Начиная с автомобилей, не загрязняющих атмосферу и заканчивая чипами, имитирующими мозг, десятка технологий этого года предлагает заглянуть в будущее инноваций, направленное на улучшение жизней, преобразование промышленности и охрану окружающей среды.
Нам обещали их давно. У них есть много преимуществ перед электрическими и углеводородными машинами. Однако, мы только приблизились к моменту, когда промышленность готова выпускать их в широкое производство. Изначально цены на автомобили будут находиться в районе $70000, но должны сильно упасть с увеличением производства за следующие пару лет.
1. Автомобили на топливных ячейках
Нам обещали их давно. У них есть много преимуществ перед электрическими и углеводородными машинами. Однако, мы только приблизились к моменту, когда промышленность готова выпускать их в широкое производство. Изначально цены на автомобили будут находиться в районе $70000, но должны сильно упасть с увеличением производства за следующие пару лет.
+17
Запускаем ванильное ядро на Intel Galileo
5 min
17KНе сомневаюсь, что большинство пользователей Intel Galileo задаётся вопросом, когда же наконец можно будет обновить ядро?


+17
Представляем новый Intel® IoT Developer Kit v1.0
1 min
10K
По сравнению с бета-версией эта версия включает в себя следующие улучшения:
- Упрощено создание новых проектов на языке C/C++ в среде Eclipse*, добавлены шаблоны и образцы для более быстрого начала работы
- Поддержка более 70 датчиков посредством библиотек UPM
- Пошаговый Windows* инсталлятор для установки и конфигурации Intel Edison
- Поддержка библиотек ввода-вывода для микрокомпьютеров Intel Edison
- Улучшенная документация, включающая новое руководство для начинающих и множество образцов кода
- Поддержка Wyliodrin* (визуального программирования) для Intel Edison
Загрузить комплект разработчика
+16
PHPUnit: Электронная таблица (spreadsheet) в качестве источника данных (data provider)
3 min
8.2KTutorial
Recovery Mode
В документации PHPUnit есть небольшой раздел посвященный источникам данных (data provider), которые позволяют скормить тесту большой объем данных, а чуть ниже есть даже пример источника данных для CSV файла.
+9
Wi-Fi термометр на ESP8266 + DS18B20 всего за 4$
3 min
316K
В последнее время всё большую популярность набирают Wi-Fi модули на основе ESP8266. Я тоже решил приобщиться к прекрасному, задумав реализовать термометр, отдающий данные по HTTP. Итак, поехали.
+48
Arduino & Modbus
6 min
218KВ предыдущей статье мы соединили открытую платформу домашней автоматизации OpenHAB с контроллером Arduino использовав очень простой, текстовый протокол. Но это решение поставит нас в тупик, если мы захотим подключить наш контроллер к другой системе, что же делать?
Modbus — самый известный и распространенный стандарт в промышленной автоматизации, его поддерживают миллионы устройств по всему миру, эти устройства легко интегрируется в единую сеть и стыкуются с огромным количеством готового программного обеспечения. Попробуем использовать его в нашем проекте?
Что нам необходимо знать об этом стандарте?
Протокол Modbus использует последовательные линии связи (например, RS232, RS485), а протокол Modbus TCP рассчитан на передачу данных по сетям TCP/IP.
Протокол Modbus имеет два режима передачи RTU и ASCII, в режиме ASCII каждый байт передается как два ASCII символа его шестнадцатеричного представления.
В сети Modbus есть только один ведущий, который с заданным интервалом опрашивает несколько ведомых устройств, каждое из которых имеет свой уникальный адрес от 1 до 254, адрес 0 широковещательный и на него отвечают все устройства, так как ведущий в сети один у него нет своего адреса.
В спецификации Modbus определено два типа данных, один бит и 16 битное слово. Данные организованны в четыре таблицы с 16 битной адресацией ячеек, адресация в таблицах начинается с 0. Для доступа к данным из разных таблиц предназначены отдельные команды.
Как нам подключить Modbus устройство к OpenHAB?
Modbus — самый известный и распространенный стандарт в промышленной автоматизации, его поддерживают миллионы устройств по всему миру, эти устройства легко интегрируется в единую сеть и стыкуются с огромным количеством готового программного обеспечения. Попробуем использовать его в нашем проекте?
Что нам необходимо знать об этом стандарте?
Протокол Modbus использует последовательные линии связи (например, RS232, RS485), а протокол Modbus TCP рассчитан на передачу данных по сетям TCP/IP.
Протокол Modbus имеет два режима передачи RTU и ASCII, в режиме ASCII каждый байт передается как два ASCII символа его шестнадцатеричного представления.
В сети Modbus есть только один ведущий, который с заданным интервалом опрашивает несколько ведомых устройств, каждое из которых имеет свой уникальный адрес от 1 до 254, адрес 0 широковещательный и на него отвечают все устройства, так как ведущий в сети один у него нет своего адреса.
В спецификации Modbus определено два типа данных, один бит и 16 битное слово. Данные организованны в четыре таблицы с 16 битной адресацией ячеек, адресация в таблицах начинается с 0. Для доступа к данным из разных таблиц предназначены отдельные команды.
Discrete Inputs | 1 бит | только чтение |
Coils | 1 бит | чтение и запись |
Input Registers | 16 бит | только чтение |
Holding Registers | 16 бит | чтение и запись |
Как нам подключить Modbus устройство к OpenHAB?
+19
Мотосигнализация на базе Arduino UNO c акселерометром MMA7361
2 min
38KПривет всем хабраюзерам. Представляю вашему вниманию мой первый проект на Arduino под названием «Мотосигнализация на базе Arduino UNO в паре c акселерометром MMA7361».
Принцип работы таков: Arduino опрашивает акселерометр, считывает данные по осям X, Y, Z и если есть отклонения от значений, которые были при включении сигнализации больше допустимой величины — включается сирена. Т.е. никаких данных вносить не нужно, не важно, под каким углом вы оставили свой мотоцикл, хоть на бок его положили — после включения сигнализации у осей X, Y, Z появляются текущие координаты и если в момент опроса текущие координаты хотя бы по одной оси отличаются от предыдущих на величину больше установленной нами (для этого используется потенциометр) — срабатывает сигнализация. Другими словами, если ваш мотоцикл трогают, наклоняют, пытаются перемещать, в общем, создают движение — включается сирена.

Принцип работы таков: Arduino опрашивает акселерометр, считывает данные по осям X, Y, Z и если есть отклонения от значений, которые были при включении сигнализации больше допустимой величины — включается сирена. Т.е. никаких данных вносить не нужно, не важно, под каким углом вы оставили свой мотоцикл, хоть на бок его положили — после включения сигнализации у осей X, Y, Z появляются текущие координаты и если в момент опроса текущие координаты хотя бы по одной оси отличаются от предыдущих на величину больше установленной нами (для этого используется потенциометр) — срабатывает сигнализация. Другими словами, если ваш мотоцикл трогают, наклоняют, пытаются перемещать, в общем, создают движение — включается сирена.


+27
Опенсорсный конструктор роботов Multiplo
4 min
25KС того времени, как мы занялись обучением робототехнике школьников (а произошло это два с лишним года назад), мы работаем в основном на собственных разработках. Главная причина тому — закрытость всех популярных конструкторов. Всякие Lego, Fishertecnnic, Tetrix очень трудно с чем-то совместить, тем более трудно их модифицировать, производители всячески препятствуют этому, потому простора для творчества остается очень мало.
Создатели Мультипло придерживаются ровно той же идеологии, что и мы: максимальная открытость и соответствие распространенным стандартам, совместимость со всем на свете.
+7
Обзор железок для занятий робототехникой с детьми — 2
6 min
76KПод катом мы попытались как-то обобщить и систематизировать наш опыт по выбору платформы для занятий с детьми. Если вы организуете кружок робототехники, возможно, вам это будет полезно.
К прошлой серии было много справедливых замечаний, по такому случаю я полностью переработал материал.
К прошлой серии было много справедливых замечаний, по такому случаю я полностью переработал материал.
+18
Добавление Wi-Fi к различным устройствам
4 min
49KПредисловие
Один мой хороший товарищ занимается автоматизацией зданий. И вот как-то за кружкой пива пожаловался он мне на один из объектов, который находится у него в эксплуатации. «Головой» всей тамошней автоматики является ПЛК 100 известного отечественного производителя ОВЕН. Работает он автономно, без постороннего вмешательства, но раз в месяц необходимо с него снимать логи и контролировать общую исправность всей автоматики в здании. Проблема в том, что в шкафу, в котором расположен ПЛК, по каким-то причинам не провели Ethernet от местной сетки. Дотянуть провод, по неким организационным причинам не представляется возможным. И вешать GSM модем нельзя, т.к. шкаф находится в подвале, где нету сети. При этом до шкафа с ПЛК добивает местная Wi-Fi сеть, однако у ПЛК 100 нет Wi-Fi.
И вот приходится каждый месяц ездить на объект с ноутбуком, включаться переходником USB-RS232 в прибор и снимать логи. В результате, я пообещал «допилить» ПЛК, добавив в него Wi-Fi.
+29
5 демонов в душе работника службы поддержки
6 min
19K«Инженером можешь ты не быть, но психотерапевтом быть обязан»
Именно такой простой, но непреложной истиной, я могу обобщить мой сравнительно небольшой опыт работы в телефонной техподдержке. Оговорюсь сразу: я работаю в Veeam Software. Это именно те ребята, у которых «девочек-проверьте-лампочки» нет вообще, а первая линия может решить 90% любых проблем. С некоторым допущением, конечно. Оставшиеся 10% задач решает вторая и, реже, третья линия поддержки, чей принцип работы кардинально отличается от нашего. Однако, и это было для меня своего рода откровением, отличие не столько в уровне знаний и опыта — хоть этого и не отнять — сколько в нематериальном качестве гандикапа. Основная разница в том, что Т2 и Т3 приходят, когда дипломатия уже бессильна, а специалист первой линии работает не с проблемами, а с людьми. Основной же его враг — его же предубеждения.
Именно такой простой, но непреложной истиной, я могу обобщить мой сравнительно небольшой опыт работы в телефонной техподдержке. Оговорюсь сразу: я работаю в Veeam Software. Это именно те ребята, у которых «девочек-проверьте-лампочки» нет вообще, а первая линия может решить 90% любых проблем. С некоторым допущением, конечно. Оставшиеся 10% задач решает вторая и, реже, третья линия поддержки, чей принцип работы кардинально отличается от нашего. Однако, и это было для меня своего рода откровением, отличие не столько в уровне знаний и опыта — хоть этого и не отнять — сколько в нематериальном качестве гандикапа. Основная разница в том, что Т2 и Т3 приходят, когда дипломатия уже бессильна, а специалист первой линии работает не с проблемами, а с людьми. Основной же его враг — его же предубеждения.
+17
Information
- Rating
- Does not participate
- Registered
- Activity