Pull to refresh
92
0
Дмитрий Шейко @rglab

senior web developer

Send message

Puppetry 3: автоматизированное тестирование без единой строки кода

Reading time2 min
Views8.5K
Я думаю, нет смысла убеждать кого-либо в значимости автоматизированного тестирования. Тем не менее, функциональные тесты зачастую крайне сложны в написания и еще более в поддержке. Существует немало решений, призванных упростить разработку тестов. Я хочу рассказать об одном из них — Puppetry. Это настольное приложение (Windows/Linux/Mac), которое по сути является конструктором тестов, не требуя при этом написания какого-либо кода. QA-инженер может просто записать пользовательский сценарий во встроенном браузере, расширить сгенерированные тесты браузерными командами и тестовыми утверждениями, настроить структуру и запустить тесты на выполнение. Puppetry транслирует тестовую спецификацию из удобного для чтения человеком формата (Gherkin) в проект Jest/Puppeteer. Далее он запускает проект и показывает отчет. По сути такой проект может быть включен в цепь непрерывной интеграции «как есть»

Набор тестов

Тестовый отчет

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments26

HTML5 и события сервера (обновлено)

Reading time3 min
Views2.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 соединения для принятия уведомлений со стороны сервера. Взгляните, на то какой простой интерфейс
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments16

Двунаправленный асинхронный обмен данными в веб-приложениях

Reading time4 min
Views21K
Одной из основных черт современного веба эксперты называют RIA, что часто расшифровывается как тренд, когда веб-приложения по функциональности приближены к настольным приложениям. Тем не менее, это приближение весьма условно. Подавляющее большинство «обогащеных» веб-приложений по-прежнему построены по модели «запрос-ответ». Т.е. события на стороне клиента могут быть отражены на стороне сервера, никак не наоборот. Для того чтобы реализовать такую банальную вещь как чат приходиться прибегать к изощренным уловкам. Спасибо Алексу Расселу (Alex Russell) из Dojo, у нас есть даже имя для подобной техники – Comet.
Читать дальше →
Total votes 68: ↑64 and ↓4+60
Comments52

Feature Driven Development для веб-разработчиков

Reading time4 min
Views13K
Лет 10 назад веб-проекты по большей части были статическими, а технологический процесс порой — прост до безобразия. Теперь грань между веб-приложениями и настольными приложениями стирается, функциональная сложность веб-проектов растет. Это диктует новые требования к веб-разработке. Обычная ситуация нынче, в эпоху «удиви меня 2.0», — когда проект долгосрочный, в нем задействовано множество специалистов (и не специалистов также), щедро орошающих многострадальный product backlog новыми идеями и целями, как до начала разработки, так и после. Как вы понимаете, цели и истории мутируют, а вместе с ними и задачи. Предварительная оценка по времени теряет свою целесообразность. И т.д. и т.п. Очевидно, нужна специальная методология разработки. Можно попробовать приобщиться к Rational Unified Process (RUP) или Process Mentor. Однако, не стоит. Среди столь популярных ныне Agile методик имеется то, что нам надо — Feature Driven Development (FDD).
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments11

Типизация и PHP

Reading time3 min
Views2.4K
Не знаю как вам, но мне не редко случается в ходе отладки приложения долго ковыряться в ядре и библиотеках, только для того чтобы выяснить что ошибка была на самой поверхности, скажем в неверно переданном параметре. И тогда думаешь «кабы не поленился добавить валидацию на входе функции, столько бы времени своего сэкономил!». Сделать то это не сложно, да не хочется портить прозрачность бизнес-логики кучей второстепенных условий. По сути это сквозная функциональность и здесь бы пригодился АОП-подход, но официально PHP по прежнему не поддерживает АОП. Что делать? Мне ныне видится следующее решение.

Читать дальше →
Total votes 13: ↑5 and ↓8-3
Comments20

Как создавать приложения для Facebook

Reading time9 min
Views73K

Зачем писать приложения для Facebook


Случалось ли вам задумываться о том, что наиболее востребованные приложения на Facebook просты и похожи по сути? Все эти виртуальные объятья, поздравительные открытки, пожелания, симпатии, пинки, смайлы, карма-обмен и прочие психологические «поглаживания» отличаются лишь формой, в которой пользователь получает свою очередную порцию внимания. Таким образом, это ниша всегда открыта для желающих опробовать собственную идею. Особенно теперь, когда Facebook заговорил по-русски, и русскоязычные приложения особенно востребованы. Приложения Facebook набирают аудиторию на манер «сарафанного радио», подобно цепной реакции. Если у вас есть действительно стоящая идея, то реализовав ее, вы получаете потенциальную аудиторию в 20 млн. пользователей Facebook. При таком размахе не удивительно, что некоторые любительские приложения для Facebook продаются за десятки тысяч долларов.
Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments32

Социальные сервисы и права пользователей

Reading time5 min
Views763
То, что мы наблюдаем сегодня — это шквальный рост числа новых сервисов. Каждый день появляется что-то новое. Что можно сказать о пользователях, на которых рассчитаны все эти сервисы? Они растерянны, сбиты с толку этим бесконечным потоком предложений. Они мне представляются как несчастные граждане, не ведающие о своих правах, завязшие в водовороте бурлящего рынка. А есть ли какие-либо права у пользователей этого «дикого» социального веба? Участники группы Open Social Web убеждены, что каждый пользователь имеет право владения персональными данными, право контроля над тем, с кем эти данные могут быть разделены и право предоставлять постоянный доступ к этим данным для определенных внешних сайтов. Но чем это может помочь нашим раздосадованным пользователям? Видите ли, для того чтобы в полной мере опробовать какой-либо новый сервис, требуется регистрироваться в нем, заполнять все свои персональные данные, формировать свой круг друзей, проявлять активность и накапливать авторитет. Вот она — проблема.
Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments13

Конструктор для создания контент-зависимых приложений в стиле Веб 2.0

Reading time5 min
Views3K
SAPID CMF
Речь пойдет о недавно открытом Open Source проекте SAPID CMF. Само по себе название SAPID кому-то может показаться чем-то смутно знакомым. Да, жила-была такая простенькая CMS SAPID, которая позволяла администрировать сайты inline, требовала лишь 1МБ дискового пространства и умудрялась обходиться без СУБД. Однако мало кто помнит, что создавалась эта система с целью продемонстрировать возможности парадигмы XML Sapiens. CMS SAPID благополучно и помпезно встретила свою первую годовщину, а затем 2 года никаких существенных ее новых релизов, как это ни прискорбно, не наблюдалось. Впрочем, последний год на сайте сообщества SAPID время от времени проскакивала информация о работах над новой ветвью проекта SAPID CMF. Вуаля! Вот она — ветка, доступна для загрузки
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments23

Какова она социальная сеть нового образца?!

Reading time4 min
Views738
Уже некоторое время в Интернете циркулирует информация о социальной сети нового поколения от Google SocialStream. Звучит многообещающе, но, по сути, данный проект является скорее агрегатором, нежели полноценной социальной сетью нового образца. SocialStream позволяет вам связать ваши коммуникации из различных источников в едином пространстве. Скажем, вы видите на своей странице обновления фотоальбомов ваших друзей с Flickr и Picasa, видео с Youtube, новые сообщения друзей с популярных блоговых сервисов.
Читать дальше →
Total votes 27: ↑19 and ↓8+11
Comments22

Joost на пути от социального веба к интернет-ТВ

Reading time2 min
Views970
Все больше и больше случается разговоров про интернет-телевидение нового поколения и в этой связи про проект Joost (www.joost.com). Признаться, когда я впервые увидел проект с его десктопной версией, я был поражен эффектностью этого решения. Дизайн приложения весьма ненавязчивый, свободный, но в тоже время все элементы управления хорошо продуманы, обогащены интерактивностью в лучших традициях RIA. Видео проигрывается в полноэкранном режиме во вполне приемлемом качестве (очевидный шаг вперед по сравнению с качеством YouTube-роликов). Все представленные видео-шоу в проекте созданы профессионалами, и для зрителя неизбалованного качеством западного ТВ все это производит, по крайней мере, по началу неизгладимое впечатление. Заявление самого Joost о наличии 1500 шоу в 250 каналах, прям таки, обещает бесконечное удовольствие. Однако что представляет собой Joost в действительности?
Читать дальше →
Total votes 7: ↑5 and ↓2+3
Comments5

Выбираем онлайн-хранилище файлов

Reading time5 min
Views8.4K
Персональные онлайн-хранилища файлов Не знаю как у вас, но у меня периодически возникает потребовать в онлайн-хранилище данных. Всегда есть файлы, которые могут потребоваться мне как на работе, так и дома – документация, фрагменты кода (snippets), наброски статей и т.д. Впрочем, иные документы, такие как карты, описания туристических маршрутов, материалы по истории городов и достопримечательностей могут понадобиться и вдалеке от родины. В первом случае можно обойтись синхронизацией данных домашнего и офисного компьютеров (что, кстати, не гарантирует вам отсутствие «головной боли»).
Читать дальше →
Total votes 59: ↑58 and ↓1+57
Comments71

Разработка сайта. Взаимодействие с компанией-разработчиком

Reading time1 min
Views1.2K
Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments4

«Делаем стартап гостеприимным» или «Как использовать OpenID на своем сайте»

Reading time3 min
Views3.4K
Как использовать OpenID на своем сайте
Уверен, вам не раз подалась на глаза аббревиатура OpenID. Вполне возможно у вас сложилось мнение, что это эдакая модная штуковина, о поддержке которой все чаще заявляют различные популярные проекты. По большому счету так и есть, но зачем эта технология на самом деле нужна? Предположим, вы заядлый блоггер, у вас имеется учетная запись на wordpress.com, но случилось вам прочесть сообщение в чужом дневнике и возникло непреодолимое желание оставить автору комментарий. Но вот незадача – чужой дневник оказался на livejournal.com. Неужели только для того, чтобы оставить комментарий вам придется регистрироваться на «вражеском» блог-хостинге?!
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments100

Программируем стартап Веб 2.0 на PHP

Reading time18 min
Views4.4K
Программируем стартап Веб 2.0 на PHP
Итак, вы воодушевлены идеей стартапа Веб 2.0. Вы полагаете, что придумали что-то оригинальное и свежее. Вам видится эффектная реализация вашей идеи. Вы верите, что ваш проект произведет революцию на рынке. Если именно такие мысли занимают вас, самое время заняться бизнес-планом. Планирование бизнеса – это отдельная дисциплина и об этом можно найти множество литературы. Впрочем, если вы не имеете опыта составления бизнес-планов, лучше прибегнуть к помощи профессионалов. Чем хуже спрогнозирован бизнес, тем выше риски его краха.

Однако допустим, что вы располагаете привлекательным бизнес-планом, вы ожидаете самоокупаемость проекта уже через 2 года от момента его старта, и предвкушаете ежегодный 50% рост его рекламного потенциала. В MS-Visio подготовлены многообещающие схемы пользовательского интерфейса проекта. И даже более того, ваш дизайнер, вооружившись модным руководством, в рекордные сроки обозначил графический вид проекта. Так, что сверстанные в лучших традициях безтабличной верстки типовые страницы пользовательского интерфейса дожидаются своего звездного часа в вашей локальной папке проекта.
Читать дальше →
Total votes 111: ↑96 and ↓15+81
Comments140

Пользовательские табы

Reading time1 min
Views647
Должен сказать, неожиданно для себя обнаружил, что на главную страницу поступают далеко не все интересные посты. Впрочем, оно и справедливо – все люди разные и было странно, если бы у всех совпадали предпочтения с модераторами проекта. Казалось бы, нет проблем – просто проверяй обновления по интересующим тебя тагам и все. Да вот со временем всегда проблема — его никогда нет в наличие.

Предлагаю организовать простое, но эффективное решение –
Читать дальше →
Total votes 9: ↑5 and ↓4+1
Comments6

Впечатления от PHPCONF’07

Reading time4 min
Views730
Конференция прошла в Телеком Холл ММТС-9, что обеспечило отличный звук, почти-синхронный перевод, широкий экран для презентаций и эпизодически работающий WiFi. Унылые пейзажи в районе ул.Бутлерова, слегка разбавленные внушительными параболическими антеннами, подозрительно прикрытыми в кустах были компенсированными по-весеннему жизнерадостным оформлением конференц-зала. Организаторы традиционно экипировали участников красочными бэджами с указание ников с форумов phpclub, повсеместно «открутили» слайдшоу a-la «PHPCONF в лицах» под зажигательные ритмы «Парк Горького» и извечная проблема многолюдных конференций “Who is who?” казалась решенной как никогда ранее.
Читать дальше →
Total votes 25: ↑20 and ↓5+15
Comments40

Тенденции в разработке решений по управлению контентом или CMS 2.0

Reading time3 min
Views1.5K
CMS 2.0
По поводу перспектив Веб 2.0 существует множество мнений и часто диаметрально противоположных, однако едва ли кто-либо станет спорить с тем, что эта концепция заметно сказалась на современном Интернете. В этой связи нам разработчикам имеет смысл следовать новым тенденциям, новым веяниям рынка. Веб 2.0 диктует нам свои новые требования. В целом о требованиях к веб-разработке в эпоху Web Next Generation я расскажу через две недели на PHPConf (www.phpconf.ru), но о новых требованиях к разработке систем управления контентом мы поговорим сейчас.
Читать дальше →
Total votes 27: ↑16 and ↓11+5
Comments17

Сообщества 2.0

Reading time5 min
Views699
Community 2.0
Ныне есть множество публикаций об успехе комьюнити-проектов(1) поколения Веб 2.0. В этом нет ничего удивительного, современные комьюнити-проекты демонстрируют новый уровень эффективности взаимодействия с аудиторией и привлекают впечатляющие инвестиции. Такое положение вещей вызывает бурный рост данного сегмента рынка, и люди бизнеса спешат заполучить свою долю в этом дележе. На рынке появляется бесконечное число решений, часть из которых, казалось бы, во вполне пристойном исполнении. Однако успешными становятся единицы. С чем это связано? Давайте рассмотрим подробнее «узкие» места при разработке комьюнити-проектов:
Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments29

Тенденции веб-разработки 2007

Reading time5 min
Views1.4K
Минуло почти четыре месяца 2007 года и мне показалось интересным обозначить существующие тенденции на рынке веб-разработки и по возможности учесть их в планировании новых проектов. Собственно ниже представлен результат моих изысканий.
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments38

Веб 2.0 в малом бизнесе

Reading time3 min
Views998
Веб 2.0 в малом бизнесеЕсли сегодня предложить интернет-аудитории ответить на вопрос «Слышали ли вы о Веб 2.0» подавляющее большинство ответит утвердительно. Однако если попросить этих людей назвать несколько проектов, применяющих технологии Веб 2.0 в бизнесе, мало кто из них назовет хотя бы один такой проект. И неудивительно, каждый день появляются новые публикации о проектах, ориентированных на развитие сообществ. Есть публикации и о решениях, использующих данные сторонних популярных проектов. А вот найти публикации об использовании потенциала Веб 2.0 в корпоративной инфраструктуре не так-то просто. В результате разработчики зачастую просто «не видят» Веб 2.0, примеряя его на корпоративные решения. Я решил попробовать рассмотреть в свете тенденций Веб 2.0 технологический процесс хорошо знакомый разработчикам, типовой технологический процесс студии веб-разработок.

Читать дальше →
Total votes 28: ↑18 and ↓10+8
Comments28
1

Information

Rating
Does not participate
Location
Frankfurt am Main, Hessen, Германия
Date of birth
Registered
Activity