kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

pyhonでcookieを使用してURLにリクエストを送る

とあるURLに連続でアクセスする軽い負荷テスト的なものをpythonで書いたのでその時のメモです

siegeを使って複数のURLを対象にベンチマークをする

ずっとabを使ってベンチマークをとってましたが、マルチURLに対して実行したいことがあったので使ってみました。 インストール http://download.joedog.org/siege/ で過去のバージョンも見れます。 cd /usr/local/src wget http://download.joedog.org/siege…

Protractorのbindingロケーターではまり

by.bindingを使用していてハマりました。 こんなエラーメッセージです。 Message: TypeError: Invalid locator Stacktrace: TypeError: Invalid locator ==== async task ==== Protractor.waitForAngular() ==== async task ==== ProtractorかつJasmineでテ…

ProtractorでのE2Eテストを一つのgulpタスクで

E2Eテストを実行させるのに、http serverの起動、seelnium standaloneサーバーの起動、protractorの実行と 3つのターミナルが必要になります。 それをコマンド1つでテストのたびに毎回それをやるのも面倒だったので、gulpのタスクとしてできるようにしました…

karma-html2js-preprocessorとkarma-ng-html2js-preprocessor

karmaでjavascroptのテストを実行するときに、htmlファイルに書いたhtmlを 文字列として取得したい時があります。 そんな時に、 karma-html2js-preprocessorを使用すると、 簡単に文字列として取得できるので便利です。 karma-html2js-preprocessor karma-ng…

homebrew経由でnodebrewとnode.jsのインストール

自分用メモ $ brew install nodebrew ==> Downloading https://github.com/hokaccha/nodebrew/archive/v0.7.4.tar.gz ######################################################################## 100.0% ==> /usr/local/Cellar/nodebrew/0.7.4/bin/nodebrew…

glupでwebdriver-manager update

protractorを使ってテストをする際に、事前にwebdriver-manager updateを実行する必要があります。 通常は、 $ npm install -g protractorを実行した後、 $ webdriver-manager updateを実行する。 上記をnpm install した後にgulp 経由で実行する方法です。 …

homebrewでredisのインストール

MAC

自分用メモ $ brew install redis ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/redis-2.8.18.yosemite.bottle.tar.gz ######################################################################## 100.0% ==> Pouring redis-2.8.…

homebrewでバージョンを指定してパッケージを入れる。

MAC

自分用メモ $ brew versions redis Error: Unknown command: versionsversionsはないと怒られてしまいました。 下記コマンドでリポジトリを追加します。 brew tap はリポジトリを追加するサブコマンドです。 homebrew/versionsは、公式のリポジトリらしいで…

MACでのProtractor(selenium standalone server)の実行にjdkが必要

MAC OSX 10.10にてprotractorを実行しようとしたときの話です。 protractorのconfにseleniumAddressは記述していません。 > bar@0.0.0 protractor /home/foo > protractor test/protractor-conf.js Starting selenium standalone server... [launcher] Runni…

Mac OS X 10.10にXcodeなしでgitをインストールする

Xcodeは使わないけど、gitは使いたかったのでxcodeなしでのインストールです。

nodebrewでnode.jsのインストール

自分用メモ インストール方法を毎回調べているのでメモ nodebrewでインストールします。perlとcurlを使うのでそれぞれパスが通っているか確認します。 foo:~$ which perl /usr/bin/perl foo:~$ which curl /usr/bin/curlnodebrewのインストールをします。 fo…

JSFiddleでangular1.3系、angular-ui-routerを使う

JSFiddleはデフォルトで使用するframeworkを選択できます。 しかし、AngularJSは、バージョン1.2までしか用意されていません。 そこで、1.3系を使う方法と、ついでにangular−ui-routerを使う方法までを 自分用のひな形として残します。samaple サイドバーの…

Pythonでベンチマークを取る際のサンプル

自分用メモ 雛形として後で使うBmObjectのcount_with_fooとcount_with_barの比較がしたい場合は、 下記のようにします。 width=20の指定は、コンソールに結果を表示するときの横幅 # -*- coding: utf-8 -*- from benchmarker import Benchmarker class Bench…

$stateChangeStartの引数toStateにfunctionが定義されていない

angular-ui-routerを使用して、遷移先のチェックをしたかったのですが、 $stateChangeStarの引数としてうけとれるtoStateにfunctionが登録されてませんでした。やりたかったこと $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fr…

moment.jsを使用して、指定した期間のすべての日付を列挙する。

自分用メモ開始日付と終了日付を指定して、その間の日付をすべて列挙する。 日付を軸に持ったグラフのデータ作りなんかに。 var list_all_date = function(params_start,params_end){ var start = moment(params_start), end = moment(params_end); while(st…

JavaScriptでデフォルトの引数を実現させる

毎回調べているので自分用メモ var foo = function(bar){ if(bar === undefined){ bar = {}; } //your code ... }; undefinedが上書きされる可能性もありますが、 基本的にそんな状態にはならないはずなのでtypeofによる型判定まではしていません。 チーム全…

pythonでファイル読み込み

自分用メモ 全部読みたいとき def read_file(filepath): with open(filepath, 'r') as stream: contents = stream.read() print contents 1行ずつ def read_file(filepath): with open(filepath, 'r') as stream: for line in stream: print line

Gitで直前のコミットのコメントを修正する

Git

自分用メモ git commit --amend上記コマンドでエディタが立ち上がるので、修正してエディタを終了する。

uwsgiのバージョン確認方法

自分用メモ $ uwsgi --version$ man uwsgi

Nginxのバージョン確認方法

自分用メモ $ nginx -V$ man nginx

berks initを実行した際にできるファイルとその中身

berks initを実行した際にできるファイルとその中身です。 berksはバージョン3系

bundle installしたgemのバージョン確認

bundleを使用してインストールした際の各種gemのバージョン確認方法

apache2のcookbook実行でエラー

berkshelf + chef(knife solo) + httpdで環境構築をしていた際に出てきたエラーです。 cookbookはberkshelfでダウンロードしてきたものです。 〜略〜 ==> default: ================================================================================ ==> d…

vagrant + berkshelf + chef(knife solo)を用いたLAMP環境作り

vagrant + berkshelf + chef(knife solo)を用いたLAMP環境作り。 Ubuntu14.04での環境です。

vagrantのbox名変更

addの時に名前を間違えたので変更したいvagrant add foo boxurl間違えてfooという名前にしたのをbarにしたい場合は、 下記ディレクトリの中にある名前を変えればOKなようです。 cd ~/.vagrant.d/boxes/ mv foo barただ、すでにvm環境を作ってしまっている場…

berkshelfのインストールでエラー(autoconf not found)

berkshelfをインストールしてた時に下記エラーが出たのでその対処法です。 環境はUbuntu 14.04です。 Building native extensions. This could take a while... ERROR: Error installing berkshelf: ERROR: Failed to build gem native extension. 〜略〜 (c…

vagrantプラグインのsahara

vagrantプラグインにsaharaというものがあり、便利らしいので使ってみました。 sandboxモードというものにすることができ、commitするまでは仮想マシンに対して適用した変更をrollbackで元に戻せる というものです。 on,commitは、仮想マシンを停止させてお…

Berksfileファイルのソース部分

メモBerksfileの書き方 source "https://supermarket.getchef.com" source "https://api.berkshelf.com/" site :opscode といろいろな書き方があるが、一番上が最も新しい書き方らしいです。 上2つは、Berksfileのバージョン3以降の書き方で、supermarket.ge…

WindowsソフトをChocolateyで管理

WindowsソフトをChocolateyで管理Windowsをクリーンインストールした後に、多くのソフトを入れ直すことがあったので 使ってみました。 まだインストールでしか使っていないですが、非常に便利です。 参考サイト 公式サイト Windowsソフトを管理!パッケージ…