В одном из своих проектов мне нужно было реализовать клиент-серверное общение через веб-сокеты. Придумывать свой формат JSON-сообщений как-то не хотелось, поэтому я решил заюзать WAMP. WAMP расшифровывается как WebSocket Application Messaging Protocol, не путать с Windows/Apache/MySQL/PHP :-). Это уже готовая спецификация, в рамках которой описано использование RPC и Publish/Subscribe. На сайте описана первая версия этого протокола. Но уже в ближайшем будущем появится вторая, в которой много интересных плюшек. Более того, уже есть некоторое количество реализаций как серверной, так и клиентской стороны. Но, что-то, единственная реализация браузерной клиентской части на JavaScript, а именно AutobahnJS, меня как-то не зацепила. Поэтому я, не долго думая, решил написать свой велосипед. В результате на свет появилась Wampy.js.
Рубрика: Разработка
Заметки по части разработки ПО, включая проектирование, архитектурные вопросы, ЯП, тестирование, деплой и прочие смежные темы
Продолжение истории о инструментах сопровождения разработки.
Что-то давно я ничего не писал по этому поводу, хотя с момента второй части произошли существенные изменения 🙂
Если совсем коротко — то мы начали использовать redmine. Но это наверное не так интересно. Поэтому далее опишу как мы построили наш процесс. Возможно кому-то это будет интересным, а может еще и полезным.
Ну что ж, вот это и случилось. Я давно вынашивал мысль о записи подкаста. И наконец приложил все усилия для осуществления задуманного. Встречайте мой новый подкаст о разработке ПО и его окрестностях — «Software Development podCAST», или просто SDCast. Пилотный выпуск посвящен в большей степени конференции PHP Frameworks Day 2013, прошедшей 12 октября в Киеве, а так же прочим штукам из мира вебразработки. Звук, к сожалению, в первый раз получился не очень хорошо. Но я обязательно исправлюсь!
Слушайте и обязательно высказывайте свое мнение, а так же пожелания и замечания. Подкаст можно найти по адресу: sdcast.ksdaemon.ru
До недавнего времени нашим основным способом просмотра кода был просмотр лога коммитов гит в исследуемой ветке, и, если надо, более детальное изучение кода непосредственно в исходниках, с включенным режимом blame history (когда в IDE показывется какие строчки кем и когда были написаны). И этот способ вполне имеет право на жизнь, когда разработчиков не много, они делают аккуратные небольшие коммиты — с этим можно жить.
В этой части будет обзор систем контроля версий, и способов управления правами доступа к репозиториям. Хотя не, обзора систем контроля версий не будет. Git и все.
Я думаю, в любой айтишной компании, где разрабатывают программное обеспечение так или иначе используют какие-то средства автоматизации процесса разработки, ведь надо же как-то ставить задачи и отслеживать их сроки выполнения, регистрировать и исправлять ошибки, делать сборки и еще много всего прочего. Средств для достижения тех или иных задач много, но, к сожалению, нет одного универсального, в котором было бы все и сразу. В попытках найти для себя наиболее оптимальный набор таких средств, решил написать вот такой пост, собрав в нем сведения о продуктах, которые я знаю. Но, вдруг, найдутся читатели, которые дополнят этот список или же как-то выскажут как и что используют они сами.
Как известно, в комплекте с Mac OS X идет веб-сервер apache и php. Но как быть, если мы хотим использовать node.js, да не просто как отдельный сервер, висящий на отдельном порту, а иметь возможность проксировать http-запросы как к нему, так и к php. Небольшая инструкция по замене штатного httpd/php-module на связку nginx+php-fpm+node.js ниже.
Что-то давно я ничего не писал в блог… но частично это можно объяснить тем, что захотелось сделать небольшой web-экспериментик, которым и хочу поделиться с вами. Называется он просто — «Flash-cards». Это веб-приложение, аналог всем известных флеш-карт с иностранными словами.
Столкнулся тут с проблемой очистки кэша в Safari на 6-й iOS. Раньше, до пятой версии в системных настройках Safari был отдельный пункт «очистить кэш». В шестерке, впрочем как и в пятерке там осталось всего 2 пункта: очистить куки и удалить историю. Если открывать сайт непосредственно в Сафари, проблем с кэшем не возникало — достаточно просто обновить страницу. А вот если вы вынесли сайт на Home Screen, то вот тут возможны проблемы. Причем удаление приложения со стола, заход и обновление страницы в Сафари и вновь добавление иконки на рабочий стол не помогло. Оказывается есть способ это исправить.
Всем веб-разработчикам, особенно в высоконагруженных проектах, рано или поздно приходится сталкиваться с профилированием своих приложений. Конечно, все мы знаем xdebug, с помощью которого можно проводить отладку серверной части. Однако, в тяжелых RIA-приложениях значительно чаще приходится отлаживаться в связке фронтенда+бэкэнд, всякие ajax-запросы, скорость отработки конкретных скриптов и все такое прочее. И для этих задач есть довольно-таки не плохой набор инструментов. Это xhprof и firephp.