Продолжаю набивать шишки со строками в Erlang

Сегодня начал делать валидацию урлов для defaceit. Решил сделать по-простому — перед сохранением урла в базу пытаюсь получить скрипт добавляемого дефейса через httpc:request. Если скрипт получен удачно, то новый урл попадает в базу, если нет, то выдаю сообщение об ошибке. Проблема возникла где сам не ожидал, оказалось, что я очень плохо понимаю работу строк в […]

Как установить Vagrant на Ubuntu 12.04

По наводке одного моего хорошего друга и коллеги — Димы Пяткова aka Dkrnl начал разбираться с Vagrant. Думаю, здесь будет уместно пояснить, что Vagran — это утилита, работающая из командной строки и позволяющая управлять виртуальными машинами на базе VirtualBox. Хотя сами разработчики позиционируют этот продукт несколько иначе, но на самом деле все обстоит именно так […]

Проблемы с VirtualBox Shared Folders и ChicagoBoss

Снова вынужден писать про проблемы использования shared folders в гостевой системе под VirtualBox-ом (до этого мы уже определили, что не работает функция sendfile). В этот раз проблема заключатеся в том, что после переноса проекта ChicagoBoss в shared folders он перестает стартовать. Выдавая при этом следующую ошибку:

Оцепенение перед сложностью задачи

Периодически я впадаю в состояние, когда начинаю думать о сложности задачи и пытаюсь представить итоговое решение вместо того чтобы решать ее постепенно. Обычно в таком состоянии пытаешься в голове прокрутить все детали будущей реализации, в итоге ничего путного не выходит и работа замирает на неопределенный срок. В соответствии с TDD чтобы не впадать в подобное […]

Как правильно использовать исключения

Как-то я имел неосторожность утверждать, что разработчику необходимо самому обрабатывать порожденные им исключения, а не надеяться, что это за него сделают коллеги. Моя позиция несколько поменялась с тех пор, и я еще раз хочу вернуться к этому вопросу.

Как правильно писать тесты на RSpec?

В этом топике я предлагаю обсудить то как лучше создавать тесты с использованием фреймворка RSpec. Я не буду останавливаться на том что такое Rspec, откуда он появился, зачем нужен и так далее. Те кто программирует на Ruby скорее всего о нем слышали, а если нет, то предлагаю ознакомиться с базовыми понятиями самостоятельно. Далее я расскажу […]

Изолируете ли вы сторонние библиотеки с помощью собственной обертки?

Сейчас у меня в проекте используется достаточно большое количество сторонних библиотек. Для каждой библиотеки я делаю свой класс-обертку, который использую в рамках проекта. Преимущества, на мой взгляд, такие: [social_lock] Во-первых, легко перейти на следующую версию сторонней библиотеки. После обновления достаточно прогнать тесты классов-оберток, чтобы быть уверенных в работоспособности новой версии. Во-вторых, даже если после обновления […]

Немного о behavior тестировании в TDD

Я уже немного размышлял на тему state-based testing, сейчас хочу попытаться рассказать о своем понимании behaviour-based testing (тестирование поведения). Должен отметить, что после того как я понял, что тестирование бывает двух типов (тестирование состояний и тестирование поведения), строить тесты стало намного проще. И чуть ниже я расскажу почему.

Немного про State тестирование в TDD

Насколько я понимаю, в Unit тестировании существует два основных способа построения тестов: State-based testing (Тестирования состояния объекта) и behavior-base testing (Тестирование поведения объекта). Новичкам в TDD обычно предлагают освоиться с первым, а только потом переходить ко второму. В связи с тем, что TDD я изучаю не так давно, у меня возникает куча вопросов и предположений. […]

Шаблон MVC. Мысли про «состояние» модели

В связи с комментариями Andy к посту про MVC я невольно задумался: а правильно ли я понимаю концепцию MVC? Начал разбираться, и вот к каким мыслям пришел.