Несколько месяцев назад я закончил изготовление клавиатуры. Решил поделиться личным опытом, особенностями эксплуатации, которые мне стали понятны только после того, как поработал на ней длительное время.
Виталий Фомин @vf1
Пользователь
Javascript UPNP/DLNA сервер
1 мин
16KПо причине «интересно», на досуге, собрал простой upnp/dlna сервер. Написанных на javascript найти не удалось, а идея кажется интересной: один исходный код для всех платформ (спасибо node-webkit), javascript со всеми его достоинствами и недостатками, а также простота сборки. Можно легко собрать проект под все платформы в одной из них. Для этого написал скрипт на питоне, который все сделает сам, даже скачает необходимые файлы node-webkit. Хотелось снизить кол-во телодвижений необходимых для тех, кто захочет внести свою лепту в проект.
Скачать можно здесь, спасибо github за то, что вернули возможность хранить файлы. Умеют сделать людям хорошо. Еще немного текста можно найти под катом.
+21
Многопользовательский видео чат
2 мин
37KНедавно столкнулся с несколькими интересными проектами: jssip, node-webkit. Весьма кстати родилась свежая оригинальная тост идея. Так как для ее реализации достаточно лишь соединить готовые компоненты, оперативно написал небольшое кросс-платформенное приложение, исходники открыл. Вот что получилось:
Скачать можно здесь. В статье раскрою некоторые детали.
Скачать можно здесь. В статье раскрою некоторые детали.
+36
JavaScript SIP библиотека от авторов стандарта
1 мин
20KЯ уже писал заметку на эту тему, с того времени стала доступна еще одна JavaScript SIP библиотека. В первой статье я упоминал её, но на тот момент вся информация о библиотеке включала: описание авторов и видео демонстрирующее работу. Сейчас исходный код открыт под MIT лицензией, имеются документация и форум.
Примечательно, что данную библиотеку разрабатывают авторы того самого стандарта, который и описывает особенности SIP протокола при работе поверх WebSocket. Помимо этого разработчики указывают следующие достоинства:
От себя к преимуществам добавлю: компетентность и отзывчивость авторов, багрепорты закрывают очень быстро.
Под катомдлинное подробное видео с пошаговой инструкцией в первой половине для тех кто захочет попробовать самостоятельно, и демонстрацией работы во второй половине (c 3:10). Кстати, в свежих версиях Chrome, WebRTC — протокол для обмена аудио-видео данными, доступен и включен по умолчанию.
Примечательно, что данную библиотеку разрабатывают авторы того самого стандарта, который и описывает особенности SIP протокола при работе поверх WebSocket. Помимо этого разработчики указывают следующие достоинства:
- легковесна, ~140КB
- простой и мощный API
- совместима с популярными SIP серверами
- аудио-видео вызовы; мгновенные сообщения
- статус пользователей (эта функция уникальна, пока отсутствует в других библиотеках)
От себя к преимуществам добавлю: компетентность и отзывчивость авторов, багрепорты закрывают очень быстро.
Под катом
+51
Ошибка в HTTP протоколе
3 мин
10KВ статье я хочу рассказать не столько об ошибке в RFC 2616, сколько о своем подходе к созданию парсера HTTP сообщений, показать его преимущества и недостатки. В основу моего подхода положено два принципа «лучше час потерять, потом за пять минут долететь» и «пусть компьютер работает, а я отдохну».
+8
DesktopGap для Windows
2 мин
2.3KВ течении пробного заплыва в териториальные воды HTML5 разработчиков с целью ознакомления, я разработал небольшое приложение. С помощью PhoneGap его удалось успешно запустить на андроиде, а возможно (не тестировал) и еще на нескольких мобильных платформах. Но, к сожалению, PhoneGap не собирает приложения для настольных ОС (вроде что-то есть под Mac OS). Я решил исправить это упущение для Windows.
+11
Принцип работы SIP клиента в браузере
2 мин
15KПообщавшись в комментариях к посту, я понял, что не все до конца понимают принцип работы SIP в браузере. Поэтому, решил экспромтом написать небольшую статью, где в общих чертах раскрыть эту тему.
+26
Видео SIP клиент в браузере
1 мин
14KСейчас почти не осталось препятствий для создания полноценного SIP клиента в браузере. Необходимый для видео конференций WebRTC уже можно протестировать, например, в Chrome Canary. Существует draft-ibc-sipcore-sip-websocket, который добавляет WebSocket в качестве еще одного транспорта для SIP. И уже появляются первые реализации SIP клиентов:
К сожалению, автор представленного на видео клиента еще не определился будет ли открывать исходники и под какой лицензией. Под катом альтернативные решения с демонстрацией передачи видео…
К сожалению, автор представленного на видео клиента еще не определился будет ли открывать исходники и под какой лицензией. Под катом альтернативные решения с демонстрацией передачи видео…
+35
Создание конечного автомата для разбора HTTP запроса
3 мин
9KДетерминированный конечный автомат можно использовать для реализации очень быстрого способа разбора входной последовательности. Требуется всего один проход по входной последовательности, и минимальные действия на каждом шаге. К сожалению эта модель имеет ограничения — не всегда возможно построить ДКА, для имеющегося Недетерминированного конечного автомата (регулярного выражения, грамматики). Или даже если возможно построить, автомат может иметь слишком большое число состояний.
Тем не менее я решил попробовать создать парсер для HTTP запроса на основе ДКА. Основная задача не просто проверить корректность HTTP запроса, а именно выделить во входной строке элементы соответствующие определенным значениям полей HTTP запроса. Автомат должен генерироваться из BNF правил (разбросанных по) RFC2616. Реализовано все на C#, автомат на выходе тоже на C#. Хотя понятно что когда автомат готов, сгенерировать его на любом языке, в любом виде не проблема.
Тем не менее я решил попробовать создать парсер для HTTP запроса на основе ДКА. Основная задача не просто проверить корректность HTTP запроса, а именно выделить во входной строке элементы соответствующие определенным значениям полей HTTP запроса. Автомат должен генерироваться из BNF правил (разбросанных по) RFC2616. Реализовано все на C#, автомат на выходе тоже на C#. Хотя понятно что когда автомат готов, сгенерировать его на любом языке, в любом виде не проблема.
+15
Информация
- В рейтинге
- Не участвует
- Откуда
- Таганрог, Ростовская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность