2013-01-01から1年間の記事一覧

clojureでmapを扱う基本的な関数

clojureを何も知らないままとりあえず1つプログラム書いてみて、色々知らないまま書いていたのでとても苦労しました 便利な関数がいっぱいあったのでメモ。 ネストしたmapの操作 jsonを扱っていると時にネストの深いhash-mapをいじらないといけない時があり…

haskell Database.PersistentでMySQL使おうとしてハマってた

HaskellでJSON Web APIを作ると幸せになれるかもよを見て、これはすごい!早速作ってみようと意気込んで取り組んだもののハマってハマって仕方がなかった SqliteじゃなくてMySQL使おうと思ったんだけど、エラーが出続ける persistent.hs:49:5: No instance…

golangでswfdumpを作りんぐ

golangが最近流行っていますね!(適当) すぐになんでも書きたくなるので、swfの解析をしようと思っていたところでちょうどネタがあったのでgoで書いています。 https://github.com/totem3/goswfdump やっとヘッダーがパースできるようになったくらいですが…

clojureでスレッド

http://stackoverflow.com/questions/1768567/how-does-one-start-a-thread-in-clojure Clojure fns are Runnable clojureでは関数はRunnableなんですね!! 便利!! リンク貼ったstackoverflowに書いてあるようにfnで作った関数でも、もちろんdefnでも一緒…

clojureのreplでstacktraceを見る

clojureのreplってエラーが起きても1行しか表示されなくてスタックトレース見れなくてしんどいなとか思っていたんだけど、ちゃんと見る方法があった(当たり前) ぐぐったらすぐhttp://tech.puredanger.com/2010/02/17/clojure-stack-trace-repl/にいきつく…

capybaraでphpのアプリのテストをする

WEB+DB vol.75に載っていてやろうと思ったけど地味にできなかったのであれです。 最低限の準備はこれ(↓)くらい!あとはbundle exec rspec specとかでテストが実行できる 最初 An error occurred in an after hook ArgumentError: mechanize requires a rac…

MacVimにzshの環境変数読み込ませる方法

golangでGo! MacVimでGoを書こうとしたら、補完きかなかったり色々あれであれ〜?と思ってたら、そもそもfiletype設定されてないし、runtimepathにGoの諸々が入っていない。 これはおかしい。terminalから起動したら普通にうまくいくのに! ちなみにgo用のvi…

apacheのmpm, プロセスとスレッド

apacheのmpmについて もともとapacheについて理解を深めるためにサーバー作ってたので、apache見ないと意味が無い。 というわけでapacheがどうやって頑張るのかについて調べる。 http://httpd.apache.org/docs/2.0/ja/mpm.html http://httpd.apache.org/docs…

再発明3日目 続HTTPサーバー

Cで書いた。 問題は文字列の分割だった。リクエストのパースがめんどくさすぎてcで書くのを諦めてしまっていたわけなんだが、改めて挑戦した。 strtok使えば分割できるということはわかったから、strtokのサンプル見ながら頑張る。 まぁとりあえずGETだった…

再発明2日目 HTTPサーバー

再発明1日目 TCPサーバー・クライアントの続き もともとHTTPサーバーを作ろうと思ったのは、会社で諸々勉強していた時にサーバーで使いきったらやばいリソースとしてapacheのprocessとかworker threadとかが挙がっていたんだがprocessとかworker threadとか…

vim + tmux + eucで表示崩れる

全く解決策は提示しないメモ。誰か解決策を知っている人がいたら教えて欲しい。 何が原因なのかよくわからないが、tmuxをはった端末上でvimを使っていて、euc-jpのファイルを扱っている時に起きる。 もっというと文字コードをutf-8に設定した端末上で、vimの…

実践Vimを読んだ

発売日には買って、随分前に読んでいたけど。 意外と知らない基本のキーバインド 基本のキーバインドは知っていると思っていたが、FやTで逆方法に移動できることは知らなかった。 bで戻ってl連打で移動みたいなこともザラにしていたのが恥ずかしい。 fを;で…

再発明1日目 TCPサーバー・クライアント

しばらく車輪の再開発しながらもうちょっと低レイヤのことを学びたいと思った。 車輪の再開発初日。 簡単なTCPサーバーとクライアントを作ってみた。 ウェブ屋さんなんだけど、HTTP通信ってどうやってやってるんじゃっていうところはよくわかっていないので…

chatworkをvimで

仕事でchatworkを使うことを強いられているので、vimから使えるようにしたいなと思いました。 実際にはProcessManagerを使う機会を探していてちょうど良かったのでやってみた感じで使えるかは微妙なところですが。 構成 chatwork API server (?) API server…

vital.vim ProcessManager

vital.vimのProcessManagerについて書いてみます。 まだ使い始めたばかりなので、後々追記していきます。 ProcessManager ujihisaさん作、vim業界を震撼させると言われているvitalモジュールです。 その名の通りプロセスを管理します。 基本的に上のリンクを…

autoloadでいこう

chatworkを操るvimプラグインを作っているところで、autoloadで2分ほど悩んだので書きます。 autoloadについては、:help autoloadを見るか、モテる男のVim Script短期集中講座こちらを読めばすぐにわかるでしょう。 autoloadされない!! 今回初めて、プラグ…

vim7.4を使う

vimも7.4が出ましたし、新しいvimを使い続けたいものですね 今回はMacでの話です vim mercurial 自前でビルドするなら、mercurialを使うのがいいはずです http://www.vim.org/mercurial.php hg clone https://vim.googlecode.com/hg/ vim hg pull hg update …

vital.vimを組み込んでみた

ブログ書くぞと意気込んでブログを初めてからしばらくして、ブログ書くぞ!と意気込んだ記事を書いてから書かずに早4日が経過。やっと書く。 初めてのvim pluginというわけで、vital.vimの便利機能を使ってみようと思ってvital.vimを組み込むことにチャレン…

ブログ書くメモ

ブログ書くぞ!と意気込んではてなブログ開設してからはや3週間ほどが経ちました。 記事は解説した2日後くらいに書いた一件のみw 何をしているんだと。 なんでブログ書くんだと言われると困ってしまうくらいに目的があまりないんだけど、またそのために過去…

vimでclojure始める

今までlisp書くときはemacs使ってきたんですが、最近はvimが楽しすぎてvim力に磨きをかけているのでlispもvimで書くことにしました。 ひとまずclojure書きたいのでclojureの環境を作ります。 slimv.vimを使う slimv.vimを使ってvimでサクサクClojure開発を参…