вторник, 30 декабря 2014 г.

Skype's sound in Ubuntu 14.04 (virtual device)

Слава пингвинам!

Я наконец-то успешно разрешил проблему с Skype на Ubuntu 14.04: не было звука; в 'Options -> Sound Devices' в выпадающих списках отображалось только устройство под названием "Virtual device".

Ранее было выявлено, что имеется некая проблема с PulseAudio. Но предыдущие попытки найти решение были неудачными.

Но вот мне повезло!

Всё просто! Т.к. Skype -- 32-разрядный, то ему нужна 32-разрядная версия PulseAudio.

Для этого устанавливаем пакет:

sudo apt-get install libpulse0:i386

пятница, 26 декабря 2014 г.

Capistrano 2 (для чайников)

Собственно осознал то, что я до конца не понимал, в каком порядке работают таски в Capistrano 2.
Задался вопросом ликвидировать этот пробел в своих знаниях.

И вот что получилось.

Дефолтный таск в указанном namespace


Когда вы запускаете 

cap deploy

то это имеется в виду, что вы запукаете

cap <namespace>:<task>

Если task, не указан, то будет использоваться дефолтный таск в указанном namespace


Стандартный порядок запуска тасков


Смотрим ссылку [1].
Читаем описание по ссылке [2].

От себя добавлю немного цитат из исходного кода Capistrano:

namespace :deploy do
  task :default do
    update
    restart
  end
  task :update do
    transaction do
      update_code
      create_symlink
    end
  end

end

Про миграции в БД


В Capistrano имеется таска deploy:migrate. Она не запускается в стандартном потоке. Ее нужно запускать отдельно. 
Вывод: я привязывал запуск миграций к таске deploy:update:

after 'deploy:update', 'project:migrations'

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


Также в Capistrano имеется таска deploy:migrations для "ленивых" :) :

  task :migrations do
    set :migrate_target, :latest
    update_code
    migrate
    create_symlink
    restart
  end

Но тут надо обратить внимание на то, что нет транзакции, если сравнивать с deploy:update


Ссылки на ресурсы:

понедельник, 15 декабря 2014 г.

Error when you run JMeter 2.12 : "Could not initialise key store java.io.IOException (Permission denied)"


I was surprised when I had run JMeter using 'jmeter' command and I could not use 'HTTP Test script recorder' to record some scenario.

2014/12/15 12:49:13 WARN  - jmeter.protocol.http.proxy.ProxyControl: Could not open expected file or certificate is not valid /opt/apache-jmeter-2.12/bin/proxyserver.jks /opt/apache-jmeter-2.12/bin/proxyserver.jks (No such file or directory) 
2014/12/15 12:49:13 INFO  - jmeter.protocol.http.proxy.ProxyControl: Generating standard keypair in /opt/apache-jmeter-2.12/bin/proxyserver.jks 
2014/12/15 12:49:14 ERROR - jmeter.protocol.http.proxy.ProxyControl: Could not initialise key store java.io.IOException:   >> keytool error: java.io.FileNotFoundException: proxyserver.jks (Permission denied) <<
Command failed, code: 1
'keytool -genkeypair -alias :jmeter: -dname "cn=JMeter Proxy (DO NOT TRUST)" -keyalg RSA -keystore proxyserver.jks -storepass {redacted} -keypass {redacted} -validity 7'



To solve this trouble I have found that JMeter can be run with the following parameters (JMeter was installed into '/opt/apache-jmeter-2.12' directory on my machine):

export JVM_ARGS=-Dproxy.cert.directory=`readlink -f ~`; /opt/apache-jmeter-2.12/bin/jmeter

вторник, 25 марта 2014 г.

Rspec, nested example groups and RTFM

Очень давно я уже не писал в блог. (сказал словами мастера Йоды я)
Значит это не было первой необходимостью.

А сегодня я открыл автотесты Cucumber и наткнулся на интереснейший пример: вложенные describe-блоки. А также несколько блоков "it {...}" идущих один за другим.

Пример можно посмотреть тут:
https://github.com/cucumber/cucumber/blob/master/spec/cucumber/formatter/html_spec.rb

 Это просто чудесно!

Вот и статейка интересная на эту же тему:
http://blog.codefront.net/2007/12/30/why-i-love-rspec-nested-example-groups/


Я совсем не специалист в Руби на данный момент, системно Руби никогда не изучал (только по мере необходимости), поэтому "мануалов" по RSpec дотошно не читал. А надо бы )))
Собственно как и любые мануалы. А в вселенной, где существуют автоматизированные тесты, они (тесты) дают очень много интересной информации.

В общем надо по утрам повторять мантры "RTFM" and "RTFT" (read the f***ing tests) :)

Осталось только привести свой образ жизни в такой, когда будет время по утрам для "пения" мантр. :-D