Я думаю, нет смысла убеждать кого-либо в значимости автоматизированного тестирования. Тем не менее, функциональные тесты зачастую крайне сложны в написания и еще более в поддержке. Существует немало решений, призванных упростить разработку тестов. Я хочу рассказать об одном из них — Puppetry. Это настольное приложение (Windows/Linux/Mac), которое по сути является конструктором тестов, не требуя при этом написания какого-либо кода. QA-инженер может просто записать пользовательский сценарий во встроенном браузере, расширить сгенерированные тесты браузерными командами и тестовыми утверждениями, настроить структуру и запустить тесты на выполнение. Puppetry транслирует тестовую спецификацию из удобного для чтения человеком формата (Gherkin) в проект Jest/Puppeteer. Далее он запускает проект и показывает отчет. По сути такой проект может быть включен в цепь непрерывной интеграции «как есть»
Дмитрий Шейко @rglab
senior web developer
HTML5 и события сервера (обновлено)
3 min
2.9KПомимо уже упомянутого мною двунаправленного коммуникационного канала известного как WebSocket, HTML5 включаетв себя также сервер-push технологию Server-Sent Events (SSE). В то время как WebSocket широко обсуждается, доступно множество реализаций серверов WebSocket, технология уже почти в полном объеме доступна в браузере Google Chrome, SSE, по большей части остаются в тени.
Мы привыкли что HTTP ограничен моделью запрос-ответ, что значит: клиент посылает запрос HTTP и ожидает на него HTTP-ответ. По сути, сервер не может сообщить что-либо клиенту до тех пор пока клиент его его «не попросит». Даже для такой тривиальной вещи как онлайн статус пользователя, нам надо прибегать к различным уловкам. Ну вы знаете – неугомонная изобретательность энтузиастов породила множество таких решений, на что есть собирательное имя Comet. Впрочем, цитируя экспертов: «Comet есть не что иное как гигантский хак». Похоже, HTML 5 призван обогатить нас нативными возможностями, на смену ныне используемому Comet. В случе SSE, HTML5 предоставляет API для открытия специального HTTP соединения для принятия уведомлений со стороны сервера. Взгляните, на то какой простой интерфейс
Мы привыкли что HTTP ограничен моделью запрос-ответ, что значит: клиент посылает запрос HTTP и ожидает на него HTTP-ответ. По сути, сервер не может сообщить что-либо клиенту до тех пор пока клиент его его «не попросит». Даже для такой тривиальной вещи как онлайн статус пользователя, нам надо прибегать к различным уловкам. Ну вы знаете – неугомонная изобретательность энтузиастов породила множество таких решений, на что есть собирательное имя Comet. Впрочем, цитируя экспертов: «Comet есть не что иное как гигантский хак». Похоже, HTML 5 призван обогатить нас нативными возможностями, на смену ныне используемому Comet. В случе SSE, HTML5 предоставляет API для открытия специального HTTP соединения для принятия уведомлений со стороны сервера. Взгляните, на то какой простой интерфейс
+17
Двунаправленный асинхронный обмен данными в веб-приложениях
4 min
21KОдной из основных черт современного веба эксперты называют RIA, что часто расшифровывается как тренд, когда веб-приложения по функциональности приближены к настольным приложениям. Тем не менее, это приближение весьма условно. Подавляющее большинство «обогащеных» веб-приложений по-прежнему построены по модели «запрос-ответ». Т.е. события на стороне клиента могут быть отражены на стороне сервера, никак не наоборот. Для того чтобы реализовать такую банальную вещь как чат приходиться прибегать к изощренным уловкам. Спасибо Алексу Расселу (Alex Russell) из Dojo, у нас есть даже имя для подобной техники – Comet.
+60
Feature Driven Development для веб-разработчиков
4 min
13KЛет 10 назад веб-проекты по большей части были статическими, а технологический процесс порой — прост до безобразия. Теперь грань между веб-приложениями и настольными приложениями стирается, функциональная сложность веб-проектов растет. Это диктует новые требования к веб-разработке. Обычная ситуация нынче, в эпоху «удиви меня 2.0», — когда проект долгосрочный, в нем задействовано множество специалистов (и не специалистов также), щедро орошающих многострадальный product backlog новыми идеями и целями, как до начала разработки, так и после. Как вы понимаете, цели и истории мутируют, а вместе с ними и задачи. Предварительная оценка по времени теряет свою целесообразность. И т.д. и т.п. Очевидно, нужна специальная методология разработки. Можно попробовать приобщиться к Rational Unified Process (RUP) или Process Mentor. Однако, не стоит. Среди столь популярных ныне Agile методик имеется то, что нам надо — Feature Driven Development (FDD).
+6
Типизация и PHP
3 min
2.4KНе знаю как вам, но мне не редко случается в ходе отладки приложения долго ковыряться в ядре и библиотеках, только для того чтобы выяснить что ошибка была на самой поверхности, скажем в неверно переданном параметре. И тогда думаешь «кабы не поленился добавить валидацию на входе функции, столько бы времени своего сэкономил!». Сделать то это не сложно, да не хочется портить прозрачность бизнес-логики кучей второстепенных условий. По сути это сквозная функциональность и здесь бы пригодился АОП-подход, но официально PHP по прежнему не поддерживает АОП. Что делать? Мне ныне видится следующее решение.
-3
Как создавать приложения для Facebook
9 min
73KЗачем писать приложения для Facebook
Случалось ли вам задумываться о том, что наиболее востребованные приложения на Facebook просты и похожи по сути? Все эти виртуальные объятья, поздравительные открытки, пожелания, симпатии, пинки, смайлы, карма-обмен и прочие психологические «поглаживания» отличаются лишь формой, в которой пользователь получает свою очередную порцию внимания. Таким образом, это ниша всегда открыта для желающих опробовать собственную идею. Особенно теперь, когда Facebook заговорил по-русски, и русскоязычные приложения особенно востребованы. Приложения Facebook набирают аудиторию на манер «сарафанного радио», подобно цепной реакции. Если у вас есть действительно стоящая идея, то реализовав ее, вы получаете потенциальную аудиторию в 20 млн. пользователей Facebook. При таком размахе не удивительно, что некоторые любительские приложения для Facebook продаются за десятки тысяч долларов.
+23
Социальные сервисы и права пользователей
5 min
763То, что мы наблюдаем сегодня — это шквальный рост числа новых сервисов. Каждый день появляется что-то новое. Что можно сказать о пользователях, на которых рассчитаны все эти сервисы? Они растерянны, сбиты с толку этим бесконечным потоком предложений. Они мне представляются как несчастные граждане, не ведающие о своих правах, завязшие в водовороте бурлящего рынка. А есть ли какие-либо права у пользователей этого «дикого» социального веба? Участники группы Open Social Web убеждены, что каждый пользователь имеет право владения персональными данными, право контроля над тем, с кем эти данные могут быть разделены и право предоставлять постоянный доступ к этим данным для определенных внешних сайтов. Но чем это может помочь нашим раздосадованным пользователям? Видите ли, для того чтобы в полной мере опробовать какой-либо новый сервис, требуется регистрироваться в нем, заполнять все свои персональные данные, формировать свой круг друзей, проявлять активность и накапливать авторитет. Вот она — проблема.
+25
Конструктор для создания контент-зависимых приложений в стиле Веб 2.0
5 min
3KРечь пойдет о недавно открытом Open Source проекте SAPID CMF. Само по себе название SAPID кому-то может показаться чем-то смутно знакомым. Да, жила-была такая простенькая CMS SAPID, которая позволяла администрировать сайты inline, требовала лишь 1МБ дискового пространства и умудрялась обходиться без СУБД. Однако мало кто помнит, что создавалась эта система с целью продемонстрировать возможности парадигмы XML Sapiens. CMS SAPID благополучно и помпезно встретила свою первую годовщину, а затем 2 года никаких существенных ее новых релизов, как это ни прискорбно, не наблюдалось. Впрочем, последний год на сайте сообщества SAPID время от времени проскакивала информация о работах над новой ветвью проекта SAPID CMF. Вуаля! Вот она — ветка, доступна для загрузки
+25
Какова она социальная сеть нового образца?!
4 min
738Уже некоторое время в Интернете циркулирует информация о социальной сети нового поколения от Google SocialStream. Звучит многообещающе, но, по сути, данный проект является скорее агрегатором, нежели полноценной социальной сетью нового образца. SocialStream позволяет вам связать ваши коммуникации из различных источников в едином пространстве. Скажем, вы видите на своей странице обновления фотоальбомов ваших друзей с Flickr и Picasa, видео с Youtube, новые сообщения друзей с популярных блоговых сервисов.
+11
Joost на пути от социального веба к интернет-ТВ
2 min
970Все больше и больше случается разговоров про интернет-телевидение нового поколения и в этой связи про проект Joost (www.joost.com). Признаться, когда я впервые увидел проект с его десктопной версией, я был поражен эффектностью этого решения. Дизайн приложения весьма ненавязчивый, свободный, но в тоже время все элементы управления хорошо продуманы, обогащены интерактивностью в лучших традициях RIA. Видео проигрывается в полноэкранном режиме во вполне приемлемом качестве (очевидный шаг вперед по сравнению с качеством YouTube-роликов). Все представленные видео-шоу в проекте созданы профессионалами, и для зрителя неизбалованного качеством западного ТВ все это производит, по крайней мере, по началу неизгладимое впечатление. Заявление самого Joost о наличии 1500 шоу в 250 каналах, прям таки, обещает бесконечное удовольствие. Однако что представляет собой Joost в действительности?
+3
Выбираем онлайн-хранилище файлов
5 min
8.4K Не знаю как у вас, но у меня периодически возникает потребовать в онлайн-хранилище данных. Всегда есть файлы, которые могут потребоваться мне как на работе, так и дома – документация, фрагменты кода (snippets), наброски статей и т.д. Впрочем, иные документы, такие как карты, описания туристических маршрутов, материалы по истории городов и достопримечательностей могут понадобиться и вдалеке от родины. В первом случае можно обойтись синхронизацией данных домашнего и офисного компьютеров (что, кстати, не гарантирует вам отсутствие «головной боли»).
+57
+2
«Делаем стартап гостеприимным» или «Как использовать OpenID на своем сайте»
3 min
3.4KУверен, вам не раз подалась на глаза аббревиатура OpenID. Вполне возможно у вас сложилось мнение, что это эдакая модная штуковина, о поддержке которой все чаще заявляют различные популярные проекты. По большому счету так и есть, но зачем эта технология на самом деле нужна? Предположим, вы заядлый блоггер, у вас имеется учетная запись на wordpress.com, но случилось вам прочесть сообщение в чужом дневнике и возникло непреодолимое желание оставить автору комментарий. Но вот незадача – чужой дневник оказался на livejournal.com. Неужели только для того, чтобы оставить комментарий вам придется регистрироваться на «вражеском» блог-хостинге?!
+49
Программируем стартап Веб 2.0 на PHP
18 min
4.4KИтак, вы воодушевлены идеей стартапа Веб 2.0. Вы полагаете, что придумали что-то оригинальное и свежее. Вам видится эффектная реализация вашей идеи. Вы верите, что ваш проект произведет революцию на рынке. Если именно такие мысли занимают вас, самое время заняться бизнес-планом. Планирование бизнеса – это отдельная дисциплина и об этом можно найти множество литературы. Впрочем, если вы не имеете опыта составления бизнес-планов, лучше прибегнуть к помощи профессионалов. Чем хуже спрогнозирован бизнес, тем выше риски его краха.
Однако допустим, что вы располагаете привлекательным бизнес-планом, вы ожидаете самоокупаемость проекта уже через 2 года от момента его старта, и предвкушаете ежегодный 50% рост его рекламного потенциала. В MS-Visio подготовлены многообещающие схемы пользовательского интерфейса проекта. И даже более того, ваш дизайнер, вооружившись модным руководством, в рекордные сроки обозначил графический вид проекта. Так, что сверстанные в лучших традициях безтабличной верстки типовые страницы пользовательского интерфейса дожидаются своего звездного часа в вашей локальной папке проекта.
+81
Пользовательские табы
1 min
647Должен сказать, неожиданно для себя обнаружил, что на главную страницу поступают далеко не все интересные посты. Впрочем, оно и справедливо – все люди разные и было странно, если бы у всех совпадали предпочтения с модераторами проекта. Казалось бы, нет проблем – просто проверяй обновления по интересующим тебя тагам и все. Да вот со временем всегда проблема — его никогда нет в наличие.
Предлагаю организовать простое, но эффективное решение –
Предлагаю организовать простое, но эффективное решение –
+1
Впечатления от PHPCONF’07
4 min
730Конференция прошла в Телеком Холл ММТС-9, что обеспечило отличный звук, почти-синхронный перевод, широкий экран для презентаций и эпизодически работающий WiFi. Унылые пейзажи в районе ул.Бутлерова, слегка разбавленные внушительными параболическими антеннами, подозрительно прикрытыми в кустах были компенсированными по-весеннему жизнерадостным оформлением конференц-зала. Организаторы традиционно экипировали участников красочными бэджами с указание ников с форумов phpclub, повсеместно «открутили» слайдшоу a-la «PHPCONF в лицах» под зажигательные ритмы «Парк Горького» и извечная проблема многолюдных конференций “Who is who?” казалась решенной как никогда ранее.
+15
Тенденции в разработке решений по управлению контентом или CMS 2.0
3 min
1.5KПо поводу перспектив Веб 2.0 существует множество мнений и часто диаметрально противоположных, однако едва ли кто-либо станет спорить с тем, что эта концепция заметно сказалась на современном Интернете. В этой связи нам разработчикам имеет смысл следовать новым тенденциям, новым веяниям рынка. Веб 2.0 диктует нам свои новые требования. В целом о требованиях к веб-разработке в эпоху Web Next Generation я расскажу через две недели на PHPConf (www.phpconf.ru), но о новых требованиях к разработке систем управления контентом мы поговорим сейчас.
+5
Сообщества 2.0
5 min
699Ныне есть множество публикаций об успехе комьюнити-проектов(1) поколения Веб 2.0. В этом нет ничего удивительного, современные комьюнити-проекты демонстрируют новый уровень эффективности взаимодействия с аудиторией и привлекают впечатляющие инвестиции. Такое положение вещей вызывает бурный рост данного сегмента рынка, и люди бизнеса спешат заполучить свою долю в этом дележе. На рынке появляется бесконечное число решений, часть из которых, казалось бы, во вполне пристойном исполнении. Однако успешными становятся единицы. С чем это связано? Давайте рассмотрим подробнее «узкие» места при разработке комьюнити-проектов:
+20
Тенденции веб-разработки 2007
5 min
1.4KМинуло почти четыре месяца 2007 года и мне показалось интересным обозначить существующие тенденции на рынке веб-разработки и по возможности учесть их в планировании новых проектов. Собственно ниже представлен результат моих изысканий.
+49
Веб 2.0 в малом бизнесе
3 min
998Если сегодня предложить интернет-аудитории ответить на вопрос «Слышали ли вы о Веб 2.0» подавляющее большинство ответит утвердительно. Однако если попросить этих людей назвать несколько проектов, применяющих технологии Веб 2.0 в бизнесе, мало кто из них назовет хотя бы один такой проект. И неудивительно, каждый день появляются новые публикации о проектах, ориентированных на развитие сообществ. Есть публикации и о решениях, использующих данные сторонних популярных проектов. А вот найти публикации об использовании потенциала Веб 2.0 в корпоративной инфраструктуре не так-то просто. В результате разработчики зачастую просто «не видят» Веб 2.0, примеряя его на корпоративные решения. Я решил попробовать рассмотреть в свете тенденций Веб 2.0 технологический процесс хорошо знакомый разработчикам, типовой технологический процесс студии веб-разработок.
+8
Information
- Rating
- Does not participate
- Location
- Frankfurt am Main, Hessen, Германия
- Date of birth
- Registered
- Activity