Как стать автором
Обновить
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 мин
Количество просмотров593
Компания 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

Информация

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