読者です 読者をやめる 読者になる 読者になる

go tool pprof 使い方メモ

参考文献 主に以下の URL にいろいろ書いてある. Profiling Go Programs - The Go Blog http://blog.golang.org/profiling-go-programs 使い方 例えば以下の様なテンプレートで, run() 部分でロジックを記述するような形で使える(はず) package main imp…

Go の map は Java の HashMap よりも遅い?

軽くやってみたら下記のような感じ.map はわりと使うタイミングが多いのでこれはちょっと厳しいかなぁ. gist9719911 $ javac Main.java $ java Main java Main 5.84s user 0.25s system 102% cpu 5.929 total gist9719912 $ go build -o main $ ./main ./m…

動作確認用にSMTP サーバのモックを作る

mailcatcher というツールを使ってみた js26/mailcatcher rubygems こんな感じになる. 個人的に欲しかったのは特定のエラーを吐くようにする SMTP サーバのモックだったんだけどこれはできなさそう? Dockerfile https://github.com/nise-nabe/dockerfiles/…

DragonflyBSD 3.4 -> 3.6 アップグレードログ

作業は下記 URL を参考に実施した.(先に結論を書くとここの情報は不正確なので取得してきたソースの UPDATING ファイルを見よう) DragonFlyBSD: Upgrading http://www.dragonflybsd.org/docs/newhandbook/Upgrading/ 実施内容 ソースの取得 # cd /usr # t…

nodejs で CPU 使用率やメモリ使用量を知りたい場合

nodejs でプロファイルをとりたかったのだが軽く検索した方法だと( dtrace使うとか )どうもうまくいかないためとりあえず CPU 使用率やメモリ使用量を知る方法を調べた. usage というライブラリがあるらしい. https://npmjs.org/package/usage 上記 npm …

docker でCMD でフォアグラウンド実行できないがコンテナを起動しておきたい場合

docker でCMD でフォアグラウンド実行できないがコンテナを起動しておきたい場合 最後に tail -f /dev/null というコマンドを挟むとうまくうごいているように見えたのでメモ. CMD service apache2 start && tail -f /dev/null

docker-py を使ってコンテナを起動する

Docker Remote API を使うために docker-py を使って動作確認. 動作確認環境 Ubuntu 12.04 Python 2.7.3 インストール docker-py をインストール $ sudo pip install -U git+https://github.com/dotcloud/docker-py 設定 /etc/default/docker に下記記述を…

sphinxsearch 2.1.4 インストール Dockerfile メモ

apt だと 2.0.4 の様子なので最新安定版をいれる. とりあえずインストールが成功するところまで FROM debian:wheezy MAINTAINER nise_nabe <nise.nabe@gmail.com> RUN apt-get update && apt-get --yes upgrade RUN apt-get install --yes curl RUN apt-get install --yes libexp</nise.nabe@gmail.com>…

github 上の nodejs アプリを自動更新する環境を作る

github 上にある nodejs アプリが更新されたら起動しているアプリを更新する仕組みを考える. ホットデプロイとか言うんですかね.仕組みの評価は行わずにとりあえず動くところまで. 使用ツール gost pm2 流れ github からの webhook を受ける アプリのディ…

DragonflyBSD で "pkg.conf is deprecated" と言われた時にやったこと

DragonflyBSD で pkg update をすると以下のような出力があった. $ sudo pkg update pkg: PACKAGESITE in pkg.conf is deprecated. Please create a repository configuration file どうやら pkg が 1.2 になってから pkg.conf が変わったらしい. dports: …

cocos2d-html5 でマウスイベントを扱う

参考 From zero to a complete game with Cocos2d HTML5 – Step 2: mouse interaction - Emanuele Feronato http://www.emanueleferonato.com/2013/05/21/from-zero-to-a-complete-game-with-cocos2d-html5-step-2-mouse-interaction/ cc.Layer クラスには下…

xsendfile 動作確認

環境 debian 7 手順 xsendfile モジュールをインストールする $ apt-get install libapache2-mod-xsendfile web サーバからアクセスできないところのファイルとして /tmp/xsendfiles というディレクトリを作ってみる $ mkdir -p /tmp/sendfiles $ touch /tmp…

Azure Web サイトで FuelPHP を動かす(改定)

(以前の記事 http://nisenabe.hatenablog.com/entry/2013/06/16/202137 ) fuelphp を取得.ここでは zip を解凍して使う. $ curl http://fuelphp.com/files/download/26 -o fuelphp-1.7.1.zip $ unzip fuelphp-1.7.1.zip 現在のディレクトリ構成 $ ls fue…

Ubuntu で Docker を 0.7 にしたら起動しなくなったメモ

apt-get で upgrade する方法でバージョンアップしたけど動かなかったのでメモ. 環境 Ubuntu 12.04.3 LTS (GNU/Linux 3.8.0-33-generic x86_64) ログ docker -d でやってるけど service docker start でも起動しない(ログどこに吐くんだろ). 暫定対処 0.…

Clever Cloud の Go 言語の PaaS を使ってみる

Clever Cloud というところが Go 言語の PaaS を始めたらしい. Go hosting in the cloud http://www.golang-cloud.com/ ということで使ってみた. Go のバージョンは 1.1.2 らしい.1.2 出たら上がるのかな? テキトーに作ってデプロイしてみたやつ http://…

文字列から io.Reader/io.Writer を作る方法

isucon3 とかでも使ったけど string から io.Reader および io.Writer を生成する方法に毎回ハマる気がしたのでメモ. たとえば s という文字列を io.Reaer にして buf という io.Writer に書き込む場合 https://github.com/nise-nabe/isucon2013-go/blob/ma…

isucon 2013 予選(一日目)参加記

「パイの実g」というチーム名で nise_nabe lettas iwag が参加してました. とりあえず概要を書いときます. やったことまとめ apache から nginx に変更 nginx のパラメータ色々いじる(把握してない) DB いじる インデックス張ったり メモリ増やしたり Go…

Revel でファイルアップロード

ビュー側で下記のような感じで書く. <form action="/upload" enctype="multipart/form-data" method="post"> <input type="file" name="uploadFile" /> <input type="submit" /> </form> コントローラで下記のような感じで書く.ファイルを保存する部分は ioutil.ReadAll() でもいいけどアップロードするファイルサイズが大きければ確保すべきメモリもでかくなってくるので,メモリをあんまり食いつぶし…

Windows Azure の Web サイトに FuelPHP をデプロイする

(あとでちゃんと書く) リポジトリに fuelphp のファイルを入れる Componser が使えるように .gitignore から fuel/vendor の行を削除 「php composer.phar self-update」 「php composer.phar update」 ドキュメントルートを変更 FuelPHP » Forums http://…

Go 言語で複数行にまたがる文字列を作る

下記のように改行を含む文字列を ` でくくる. str := `first line second line third line` 実行例 http://play.golang.org/p/XA1_WcD-ws こういうのってヒアドキュメントって言うんですかね. 言語仕様としては unicode_value じゃなくて unicode_char な…

PHP から Azure の BLOB ストレージに大きなファイルをアップロードする方法

Windows Azure でストレージにファイルをアップロードすることができる. PHP の場合は下記のライブラリを使える. https://github.com/WindowsAzure/azure-sdk-for-php/ 使い方の例 How to use the Blob service from PHP http://www.windowsazure.com/en-u…

Revel でテンプレートで使う関数を追加する

revel では最初から eq や append など便利な関数があるけど自分でも作ったものを使いたいよねということで調べてみた.一応成功例はあるけど詳しく調べてないので正しい方法かどうかはよくわからない. ドキュメントを読んだ限りだと書いてないっぽいのでコ…

JavaFX で画面サイズを取得する

JavaFX で画面サイズを取得する Rectangle2D d = Screen.getPrimary().getVisualBounds(); インポート部分 import javafx.geometry.Rectangle2D; import javafx.stage.Screen; フルスクリーンにしたい場合は start() の引数の Stage インスタンス setFullScr…

Revel の MySQL プラグインを書いてみる

Revel から MyMySQL を使って MySQL にアクセスすることができるようにしたかったので書いた. とりあえず下記のようなコードをどこかに置いておけばいいっぽい. プラグインって構成上どこにおけばいいんだろう. https://gist.github.com/nise-nabe/523415…

Revel 使ってみた

robfig/revel · GitHub https://github.com/robfig/revel Revel は下記のような説明がしてあります. A high productivity web framework for the Go language, modeled on the Play! web framework (similar to Rails). 要するに Scala の Play Framework …

Scala の Process でワーキングディレクトリを指定する

Scala の Process 内で cd する方法探して見つけたのが cwd を指定する方法だったのでメモ. ドキュメント http://www.scala-lang.org/api/current/index.html#scala.sys.process.Process$ def apply(command: Seq[String], cwd: File, extraEnv: (String, S…

Github で Eclipse プラグインを公開する方法メモ

実際に作ったリポジトリ https://github.com/nise-nabe/AojCoder 説明とか http://d.hatena.ne.jp/nise_nabe/20130105/1357380302 とりあえずブランチ構成を下記のように考えてる.更新サイト以外はなんでもいいがフィーチャープロジェクトを単に feature と…

Go 言語で正規表現のグループ化した文字列を取得する

概要 Go 言語で正規表現のグループ化した文字列を取得する regexp パッケージの MustCompile と FindSubmatch (あるいは FindStringSubmatchとか)を使うと出来る. bs := []bytes("12:00") assined := regexp.MustCompile("(.*):(.*)") group := assined.F…

FuelPHP で haml-to-php を使う

正しい修正かわからないけどとりあえず作業メモ. まずは fuel/app/vendor 以下に haml-to-php を取得(他のパッケージは git の submodule で管理されてるっぽいけどよくわかってないのでとりあえず git clone ) $ git clone git://github.com/MarcWeber/h…

jquery で javascript から追加した要素へのイベント追加

結論 <script type="text/javascript"> $(function() { var template = '<div>' + '<div class="fuga">aaa</div>' + '</div>'; var mus = $(template); mus.find('.fuga').click(function() { alert('hoge'); }); $('#aaa').html(mus); }); </script> だめ1 mus には 文字列の状態のものが入ってるの…

FuelPHP ビューが無いエラー追跡メモ

とりあえずコントローラだけ作ってテキトーにURL開いたら下記エラーが発生.Fuel\Core\FuelException [ Error ]: The requested view could not be found hoge/hogeなんとなくコード追っかけてみる. 実際に例外投げてるところfuel/core/classes/view.php 37…

Go言語でSSLを使わずにSMTPでメールを送るコード片

smtp.SendMail() だと SSL を使える場合になんかエラーが出て送れなかったので SendMail() 内の認証部分とSSL部分を除いたコード部を書くと送信できた. package main import ( "net/smtp" "log" "os" "net" ) func main() { conn, err := net.Dial("tcp", "…

CentOS 5.8 の ami を作る

bogrinder URL: http://boxgrinder.org ソース: https://github.com/boxgrinder/ のリポジトリとか下記コマンドは CentOS 5.8 の ami を s3 上に作る.Fedora をインストールして下記コマンドを実行. # yum install rubygem-boxgrinder-core rubygem-boxgri…

CentOS 5.8 に tmux をビルドしてインストールしたコマンドメモ

$ yum install libevent-devel ncurses-devel $ wget http://downloads.sourceforge.net/tmux/tmux-1.6.tar.gz $ ./configure $ make $ make install

Scalatron インストールログ(未完)

ビルドツール sbt をインストール $ wget http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.11.3-2/sbt-launch.jar $ cat ~/bin/sbt > java -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermS…

Ant メモ

外部ファイル <property file="build.properties" /> ユーザディレクトリ ${user.home}</property>

git コマンドメモ

git でアーカイブ作る $ git archive --format=tar HEAD | gzip > ababababa.tar.gz

fugitive.vim コマンドメモ

fugitivie.vim コマンドメモ 追記しまくる 特定のチケットに紐付いたコミットを見る :Glog --grep="ほげほげ" そのリポジトリ全体のコミットログを10個前から順番に見る :Glog --reverse -10 -- :cnext :cnext ...

Javascript 使ったコードスニペットリスト

追記ガリガリ めんどくさいので jquery とかも全部 javascript に書く. PHP でいう var_dump みたいな firebugの場合 console.log(objectyade) 要素のテキスト部分を取りたい <div id="hoge">ああああ</div>$("#hoge").text() value属性を取得したい <input id="vi" type="hidden" value="ほげ" />$("#vi").val()

Python 自分で使ったスニペットリスト

Python で自分が使ったスニペットリストを記述(自分検索用) 追記しまくり予定 現在のディレクトリ名を取得(絶対パスではなく) os.getcwd().split(os.sep)[-1] カレントディレクトリのコマンドを叩く subproc_args = { 'cwd': os.getcwd(), 'close_fds': …

Vimperator プラグインヘルプ書き方メモ

Twittperator のヘルプを書きなおした時にやったことをふと思い出して書いてみた. 関係ないけど,はてなブログの書き方がわからなくてすごく見にくくなってる. 結果最初に書いたときの差分 https://github.com/vimpr/vimperator-plugins/commit/42e68c67dd…

Ubuntu 11.10 に vim をビルドしてインストールしたコマンドメモ

Ubuntu 11.10 $ sudo apt-get install build-essential libncurses5-dev mercurial $ hg clone https://vim.googlecode.com/hg/ vim $ cd vim $ ./configure --prefix=$INSTALL_PATH/install/vim --enable-multibyte --with-features=fuge --enable-pythonin…

Ubuntu11.10 に tmux 1.6 をビルドしてインストールしたコマンドメモ

Ubuntu 11.10 $ sudo apt-get install build-essential libevent-dev libncurses5-dev $ wget http://downloads.sourceforge.net/project/tmux/tmux/tmux-1.6/tmux-1.6.tar.gz $ tar xzvf tmux-1.6.tar.gz $ cd tmux-1.6 $ ./configure --prefix=/path/to/in…

Symfony2でコントローラをサービスに登録して使用する方法

NiseExampleBundleというバンドルの中のNiseControllerというコントローラをサービスに登録してNabeControllerの中で使用したいとする.サービス定義部分 src/Nise/ExampleBundle/Resources/config/services.yml 1 parameters: 2 nise_example.nise.class: N…