Как стать автором
Обновить
111
0
Davert @Davert

Пользователь

Отправить сообщение

CodeceptJS — современные end2end тесты для NodeJS

Время на прочтение 4 мин
Количество просмотров 20K

image


В мире NodeJS творится полный хаос, каждый день появляются новые фреймворки, размеры зависимостей обычного package.json вырастают на сотни мегабайт, а библиотека, которую вы добавили в проект ещё вчера, сегодня уже морально устарела. И если в мире фронтенд фреймворков уже наметились явные фавориты: AngularJS, React, Vue, Ember, то что для приемочного тестирования совершенно непонятно. Каждый фреймворк предоставляет свой синтаксис и свои крутые фичи, а также у каждого есть свой характерный набор проблем. Например, каждый по-своему реализует взаимодействие с браузером, каждый по разному борется с асинхронностью.


Ох, эта пресловутая асинхронность...

Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Комментарии 23

AspectMock — тестируем любой PHP код

Время на прочтение 3 мин
Количество просмотров 14K
Как часто вы пишете велосипеды? Можно я тоже тут рядом пристроюсь? Но дело в том, что мой велосипед, он особенный. Казалось бы, простенький, трехколесненький, склепанный всего за один день. Но есть одна хитрость — он работает на движке от болида. Что он умеет?

А смотрите:

<?php
$class = MySingleton::getInstance();
var_dump($class instanceof MySingleton); // => (bool)true
var_dump($class instanceof DOMDocument); // => (bool)false

// а теперь немного магии
test::double('MySingleton', ['getInstance' => new DOMDocument]);

var_dump($class instanceof MySingleton); // => (bool)false
var_dump($class instanceof DOMDocument); // => (bool)true
?>


О нет, мы изменили синглтон! Мы переопределили статический метод. Как же теперь жить?
Но вопрос теперь в другом: как мы жили до этого?

Встречайте AspectMock. Самый простой, но самый мощный фреймворк для моков и стабов на PHP.
Ваш новый суперпростой помощник в тестировании. Основан на Go AOP от NightTiger.
Читать дальше →
Всего голосов 28: ↑23 и ↓5 +18
Комментарии 17

Альтернативы для JavaScript

Время на прочтение 3 мин
Количество просмотров 45K
imageJavascript это практически вездесущий язык программирования. В некотором роде его можно сравнить с C на пике его популярности. На нем можно писать всё что угодно, начиная от красивых выпадающих менюшек, слайдеров на вашем сайте, заканчивая полноценнами приложениями для серверов, мобильных, для десктопа и даже для embedded систем типа arduino.

Но у яваскрипта есть свои заковырки. Прототипная модель объектов, динамические типы, колбек-функции, всё это, можно сказать, на любителя. В результате начали появлятся альтернативные языки, предлагающие свои подходы к реализации тех или иных концептов. В этом посте перечислены самые популярные альтернативы теплому ванильному яваскрипту.

Читать дальше →
Всего голосов 55: ↑43 и ↓12 +31
Комментарии 117

JSter – все, что нужно для Javascript

Время на прочтение 1 мин
Количество просмотров 14K
Насколько сложно собрать все Javascript библиотеки в одном месте? Задача, конечно, непростая, у веб-разработчика из солнечной Финляндии Juho Vepsäläinen ушло на это около семи месяцев. Его проект JSWiki содержит более 30 категорий, в которых перечислены самые разнообразные проекты для frontend разработки. Сколько библиотек и утилит там упомянуто посчитать очень трудно. Прежде всего, потому что каталог слабо структурирован и не содержит практически ничего кроме ссылок.

Тем не менее, JSWiki послужила нам отличной базой для нового проекта JSter. Вместе с Juho Vepsäläinen мы разработали самый полный открытый Javascript каталог. В нем уже почти 700 библиотек (в основном open-source) и любой пользователь может дополнить список.
Читать дальше →
Всего голосов 52: ↑44 и ↓8 +36
Комментарии 41

IDCEE 2012 — день первый

Время на прочтение 4 мин
Количество просмотров 6.1K


18 октября в Киеве стартовала международная конференция IDCEE. В этом году на Дни инвестора Центральной и Восточной Европы прибыли более 2000 участников, среди них 150 стартапов, 300 инвесторов с мешками денег на 30 миллиардов долларов. Получился такой себе TechCrunch, почти что с доставкой на дом, то есть в Украину. Мероприятие получилось достаточно пафосным, очень шумным, но интересным. Главная его цель, конечно же установление контактов между стартапами и инвесторами, или как говорят в простонародье — «нетворкинг».

Что там происходило интересного читайте под катом.

Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 10

Вышел Codeception 1.1

Время на прочтение 2 мин
Количество просмотров 2K
Фреймворк для автоматического тестирования PHP проектов Codeception обзавелся первым серьезным апдейтом. Пришлось перелопатить всё ядро, всё поломать, всё починить и сделать это так, чтобы не сломать обратную совместимость. Как результат, теперь в тестах можно использовать любой PHP-код, а не только сценарий, добавилась возможность находить элементы по XPath, а также появилась возможность использования модулей Codeception в тестах PHPUnit.
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 8

Скринкаст: Знакомство с Codeception

Время на прочтение 1 мин
Количество просмотров 7.9K
Фреймворк для автоматического тестирования веб-приложений на PHP — Codeception живет и развивается. Но в этот раз вместо скупой порции новостей я бы хотел представить вам первый скринкаст в котором показаны азы работы с Codeception. Если вы только читали про Codeception, то вам обязательно стоит взглянуть на него в действии. Ну а если не читали, но у вас есть веб-сайт, который бы вы хотели протестировать — тоже взгляните.
Смотреть видео
Всего голосов 27: ↑24 и ↓3 +21
Комментарии 15

Codeception — новости проекта

Время на прочтение 3 мин
Количество просмотров 5.2K
imageЯ уже писал на Хабре о Codeception — фреймворке для тестирования приложений на PHP. Если вы никогда раньше не писали тестов для вашего приложения, вам обязательно стоит взглянуть на Codeception. Он очень прост в использовании и сделан специально, чтобы уберечь разработчиков от рутины.

Сегодня я хотел бы рассказать, какие фичи появились в проекте в последнее время, а также отвечу на пару популярных вопросов.
Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Комментарии 12

Легкий способ начать тестировать

Время на прочтение 4 мин
Количество просмотров 50K
Если вы PHP-разработчик, и по разным обстоятельствам тесты для своих приложений не пишете, то эта статья для вас. В ней я постараюсь вкратце показать с чего начать и что делать, чтобы написание тестов приносило вам радость, а вашему приложению стабильность.

Итак, первый совет. Забудьте всё что вы знаете о юнит-тестах. Швырните табуреткой в человека, который сказал вам, что без них не обойтись. Попробуем разобраться, в каких случаях нужно их использовать, а в каких — нецелесообразно.
Читать дальше →
Всего голосов 83: ↑61 и ↓22 +39
Комментарии 54

Unit-тестирование в Codeception

Время на прочтение 4 мин
Количество просмотров 15K
Неделю назад я уже писал о Codeception и об его использования для тестирования PHP приложений. После прошлого поста несколько багов было исправлено. Спасибо за багрепорты. Если вы ещё не пробовали Codeception, советую посмотреть прошлую статью и испытать его для приемочных тестов.

Сегодня я хочу рассказать, как в Codeception реализовано юнит-тестирование в BDD-стиле.

Замечу, что модуль для тестирования юнитов пока экспериментальный. Не в значении «нестабильный», а в значении «может и будет расширяться для удоволетворения всех необходимых нужд».
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 18

Codeception — тестирование по-новому

Время на прочтение 4 мин
Количество просмотров 87K
PHP очень популярный язык программирования, но тестирование в нем, это скорее прерогатива экспертов, а не жизненная необходимость. Неужели это от того, что PHP-разработчики поголовно быдло-кодеры? Я считаю, что нет. Скорее всё от того, что системы тестирования порой излишне усложнены. А тесты, наоборот, должны были предельно просты: легко читаться, писаться, отлаживаться, и конечно же, быстро выполняться. Мое виденье того как это можно воплотить в PHP вылилось в проект под названием Codeception.

С ним тесты для ваших веб-приложений могут выглядеть так:
<?php
$I = new TestGuy($scenario);
$I->wantTo('create new blog post');
$I->amOnPage('/blog/posts');
$I->click('Create new post');
$I->fillField('Title','Codeception, a new way of testing!');
$I->fillField('Text','Codeception is new PHP full-stack testing framework.');
$I->click('Send');
$I->see('Congratulations, your post is successfully created!');


Согласитесь, такой тест понятен без дополнительных комментариев.
А теперь самое интересное: этот код без всяких изменений может быть выполнен как функциональный тест в фреймворках symfony, Symfony2,Zend Framework, а также в браузерном эмуляторе Goutte и даже через Selenium. Таким образом, вам предлагается единый интерфейс для написания функциональных тестов практически для любого сайта.
Читать дальше →
Всего голосов 75: ↑70 и ↓5 +65
Комментарии 68

Легкая публикация PEAR-пакетов

Время на прочтение 4 мин
Количество просмотров 3.2K
Скажу сразу: у меня создание PEAR-канала и публикация пакета заняли около часа. Но, если отбросить все тупиковые способы, сэкономить на гуглении, и не использовать сомнительные утилиты, то вполне возможно уложиться в 10 минут.

У PHP программистов больше поводов не любить PEAR, чем любить. Действительно, создается впечатление, что за последние 5 лет ни библиотеки в репозиториях, ни сам инсталлятор, практически не изменились.
Тем не менее, до сих пор, установить PHP-бибиотеку проще всего посредством PEAR. Это, конечно, при условии, что она будет одинаково востребована для всей системы. Например, такие продукты, как PHPUnit и Docblox устанавливаются именно через PEAR, и крайне неудобно устанавливать их другими способами: например, клонированием GitHub репозитория.

Скорее всего у вас есть библиотека, которой вы бы хотели поделиться с сообществом. Ну или когда-то появится. Это не важно. Важно то, что рано или поздно вам захочется сделать так, чтобы ваш продукт можно было установить всего в 2 команды…
Читать дальше →
Всего голосов 44: ↑39 и ↓5 +34
Комментарии 22

Symfohub = symfony + GitHub

Время на прочтение 2 мин
Количество просмотров 1.2K
imageЯ люблю symfony framework, за то что там всегда уделялось много внимания пользовательским плагинам. Они всегда были частью архитектуры фреймворка, на официальном сайте есть раздел с каталогом всех возможных плагинов, а недавно было объявлено, что для долгожданого Symfony2 будет подобный каталог с bundles.

Но тем не менее, были вещи, которые казались неудобными. Было много плагинов-пустышек, достаточно условная категоризация, не было четкой градации плагинов: например, старый и глючный плагин будет в рейтинге выше нового неглючного, из-за того, что старый в свое время использовали больше людей и все они за него проголосовали.

Потому нами с LupineDreamer был создан Symfohub — проект-мешап для GitHub, собирающий все репозитории, относящиеся к symfony. Symfohub собирает данные обо всех symfony-репозиториях с GitHub'а, а также каталогизирует их по тегам, и собирает пользовательские отзывы об использовании того или иного плагина или бандла.

Читать дальше →
Всего голосов 20: ↑13 и ↓7 +6
Комментарии 13

Gamlist — свой список игр

Время на прочтение 2 мин
Количество просмотров 12K
imageЗдравствуй, Хабр. В этот приятный день весенний я решил рассказать о своем проекте.

Думаю многие геймеры мечтали о каком-то подобии игрового Last.fm'a — сервиса где можно вести учет пройденным играм, отмечать лучшие из них, а также смотреть во что играют твои друзья или соседи. Конечно, написать какое-то подобие AudioScrobbler'а для игр представляется маловероятным: много любимых старых игр уже трижды пройдены и отложены на полку, а какой-то разумной системы для учета игр, кроме Steam, человечество пока так и не придумало.

Gamlist позволяет составить список любимых/не любимых пройденных/ещё-не-пройденных игр. С помощью поиска вы можете найти игру в базе и добавить в свой список. Работает всё достаточно просто, но нужно немного времени, чтобы вспомнить все прежние боевые достижения. Заполнив список и сохранив страницу, можно получить для неё короткий адрес вида gamlist.org/agressor (вместо агрессор — ваш никнейм), а также настроить её внешний вид. На основе списка можно генерировать юзербары, которые будут автоматически обновляться.
Читать дальше →
Всего голосов 63: ↑47 и ↓16 +31
Комментарии 68

Evernote — запомнить всё

Время на прочтение 3 мин
Количество просмотров 1.3K
Evernote

В какой-то момент меня разочаровали Web 2.0-сервисы. Перечитывая обзор очередного стартапа можно было заметить или полную его клоновость или бесполезность. И потому я был весьма скептически настроен, когда знакомый кинул мне инвайт на Evernote — сервис хранения записок (notes). Просмотрев вступительный ролик я понял, что эта штука очень полезная и наконец, у меня появится полноценная записная книжка на рабочем столе. И не просто записаня книжка, а книжка с уникальными возможностями.
Читать дальше →
Всего голосов 83: ↑71 и ↓12 +59
Комментарии 567

OpenSocial на своей грядке

Время на прочтение 3 мин
Количество просмотров 1.8K

Целью этой заметки является рассказать о возможности установки платформы Open Social на свой сервер с перспективой интеграции в свои социальные проекты. Несмотря на утверждение об открытости технологии, пока кроме гигантов рынка таких как MySpace, Orkut, Hi5, и др., никто не может похвастаться полноценной поддержкой Open Social API. Конечно, Open Social это тренд, и его интеграция улучшит позиции любого социального веб-приложения. Если у вас оно имеется, или планируется, то советую вам узнать как сейчас обстоят дела с установкой контейнера для социальных мини-приложений.
Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 14

Асоциальность социальных сетей или возвращение форума

Время на прочтение 4 мин
Количество просмотров 2K
Среди множества разговоров о социальных сетях, сообществах, блогах, веб 2.0 мы часто забываем о таком понятии как форумы. Хотя, знаете, забыть о форумах невозможно. Они есть и они будут. И я даже не могу сказать, что человечество поменяло приоритеты, скорее технологический прогресс навязывает новые решения и тренды.

В этой статье я не хочу заниматься некрофилией, или устраивать холивор форумы против социальных сетей. Я попытаюсь провести небольшой анализ социальных сетей и форумов, на предмет их организации.

Читать дальше →
Всего голосов 57: ↑46 и ↓11 +35
Комментарии 88

Пресс-конференция Google в Киеве

Время на прочтение 5 мин
Количество просмотров 1K
Как вы наверное уже знаете компания Google провела в Украине конкурс бизнес-планов среди студентов старших курсов украинских вузов. Я, Боднарчук Михаил со своей командой заняли 3ее место. А потому присутствовал на пресс-конференции посвященной этому событию, и могу вам поведать о том, что же там происходило.

Из представителей Google присутствовали Дмитрий Шоломко — консультант Google в Украине, а также две представительницы Google, специализирующиеся по региональному развитию и продвижению, которые прибыли на церемонию награждения из Лондона.

Читать дальше →
Всего голосов 9: ↑5 и ↓4 +1
Комментарии 14

Всеукраинский студенческий конкурс завершен!

Время на прочтение 1 мин
Количество просмотров 591
Компания Google, проводившая студенческий конкурс бизнес-планов в Украине объявила победителей. В конкурсе могли участвовать стеденты 4-6 курсов всех Украинских вузов. Их задачей было объединится в команду из 2х-4х человек и предложить бизнес-план интернет-стартапа, который может быть лучшим образом реализован в Украине и приносить доход.

Условия конкурса были ранее опубликованы на Хабре: www.habrahabr.ru/blog/google/7351.html

Как не без гордости заявлет Google, конкурс такого рода был первым в Восточное Европе на Ближнем Востоке и в Африке.

До 25го мая Google получили более 30 работ (что-то и не много на всё наше студенчество). Из них призовых мест удостоились:

Читать дальше →
Всего голосов 25: ↑19 и ↓6 +13
Комментарии 26

Музыкантам 2.0 — Indaba Music

Время на прочтение 3 мин
Количество просмотров 1.1K
Наверное, много людей задумывалось над тем, чтоб создавать музыку. Собрать группу, играть в гараже какую-то разновидность рока, не для денег, а для души, и просто радоваться жизни. Но в нашем мире самореализация очень зависит от жизненных обстоятельств, и даже если в детстве родители таки умудрились выпхнуть в музыкальную школу, это ещё далеко не значит, что вы сможете реализовать свой потенциал. Ведь для группы нужно найти гитариста, басиста, вокалиста, клавишника, ударника, и конечно же композитора. Людей, которые разделяют ваши взгляды на музыку, и у которых есть свободное время для репетиций. Ну и конечно же, в создание музыки нужно вкладывать средства.

Логичное решение всех трудностей, связанных с музыкальным творчеством, является использование интернета для поиска музыкантов, записи музыки, микширования и т.д. Я попытаюсь, рассказать о сервисе, который вполне удоволетворяет все потребности в коллективном создании музыки через интернет.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 24
1

Информация

В рейтинге
Не участвует
Откуда
Украина
Зарегистрирован
Активность