エンジニアですよ!

頑張れ俺くん、巨匠と呼ばれるその日まで

chefを入門するなどしていた

(laravelのコードを読んでいたけど、ドキュメントまず読めという電波を受信してせっせとドキュメントを読んでいたら、色々勉強する必要に迫られて別のことやっている。) 例えばchef。 chefとかcookbookとかrecipeとかknifeとか、無知なのでネーミングにイ…

Laravel Reading ServiceProvider Register

ルーティング周りを読んでいて気になった内部的なローディングのことを少し確認しておく。 laravelはたくさんのServiceProviderが提供するサービスを利用して動いている(?) ServiceProviderをregisterすることで、色々なところから使える状態になる https://…

Laravel Reading Routing

Modelで引っかかったところがあって先に読んだけどまず気になるのはやはりルーティング周りになるよね。 読んでみる プロジェクトを作ると、app/routes.phpが作られる 初期状態だと Route::get('/', function() { return View::make('hello'); }); となって…

Laravel Reading Alias

プロジェクトを作った時に作られるファイルを眺めていて、モデルを見ていると class User extends Eloquent implements UserInterface, RemindableInterface ですと。 Eloquentってなんだ。 laravelが独自のORMのことをEloquent ORMって呼んでいるのはわかる…

Laravel Reading

導入 最近はやりのPHPのWeb Application Framework, Laravelを使うことにした laravel自体の勉強と、色んなコード読んで設計や実装について学ぼう月間の一環として、実装中に気になったところのコードをちょいちょい読んでくことにする。 読むのはLaravel ve…

Facebook APIのcallbackで(指定されたURLは、アプリケーションの設定で許可されていません。)になってドはまりした

Facebookのアプリなんて今更誰が作るのかというのはおいといて、facebook apiを野暮用で使うことになったが、このcallbackで苦労した・・。 php-sdk-4を使ってfacebook loginを使おうとしていたけど、ちゃんと実装はできていてfacebookに遷移まではするが、…

unite-outlineが動いてなかった(?)

いつからかuniteのバージョン上げてからか、unite-outlineが動かなくなってた。 使おうとするとエラーが出る Error detected while processing ~/.vim/bundle/unite-outline/autoload/unite/sources/outline.vim: line 52: E121: Undefined variable: g:unit…

scala で型のところに出てくる #

# というのはこういうやつ → ({type λ[α]=State[S, α]})#λ 先日のscalaz勉強会でも質問があって触れられていましたが(↓) http://t.co/GoCDB4TGVu "Scalaにおける型パラメータの部分適用 [({type F[X] = G[A,X]})# F] について" #scalaz— Kenji Yoshida (@x…

sbtプラグイン書く練習

sbtの実装を知りたいんだけどコード読んでもなかなか理解が深まらないので、プラグイン書いたら少し理解が深まるかな、という理由で何の意味もないプラグインを書いてみる wcといいつつsrc/main/scala以下のscalaファイルの行数を出力するプラグイン TaskKey…

pythonのapi-clientでgoogle calendarのAPIを叩いてみる

API叩く これらを参考にしてカレンダーのAPIを叩いてみた。 http://taichino.com/programming/python-programming/3101 Calendar API PyDoc https://developers.google.com/resources/api-libraries/documentation/calendar/v3/python/latest/ だけどうまく…

dispatch使ったbotで日本語文字化けしていた件

scalaでChatworkとJIRA連携させて、Chatworkでコマンド打つとJIRAのAPIで色々できるbotを作ったんですが、チケットを作るときに日本語で文字化けしてしまっていました JIRAってREST API使ってIssue作ろうとすると、日本語文字化けしちゃう??— Takafumi Hir…

full screen captureをgyazoに投げたい

新しくページを作ったとき、デザイナーさんにサクッと確認してもらうためにgyazoでキャプチャを撮って渡すことがあるんだけど、撮るのがめんどい。 全画面取りたいからまずこのchrome拡張でキャプチャを撮って、gyazoにドラッグ・アンド・ドロップしてgyazo…

テスト考メモ

http://kyon-mm.bitbucket.org/blog/html/2014/01/03/re_test_think_2014.html#comment-1196464537 だから「開発者自身が書くテスト」なんて、マスターベーションと揶揄しましたがほんとに役に立たないものを書きがちで、テストの実行がどんどん遅くなってい…

json4sでcase classからjsonを生成するには・・?

こんな感じになるのかな。 そもそもcase classからjson作ったりしないで、こういうDSL使えって話かな https://github.com/json4s/json4s#example

vimでclojureで書いてるとなんかneocompleteのエラーが出てた話

neocompleteを使いつつvimでclojureを書こうとすると必ず↓のようなエラーが出てしまうのなんでかわからなくて困ってたんですが、 completefunc=clojurecomplete#CompleteLast set from ~/.vim/bundle/neocomplete/autoload/neocomplete/init.vim Another plu…

chatwork APIのclient作ってた

scalaで何か作りたい週間だったので、scalaのdispatchを使ってまだ途中ですがAPIのclientを作っていました。 (まだ途中だしとりあえず何か作ってみたいというのとimplicit使ってみたりmonad使ってみたりしようというので作っていたので使い物にはなりません…

[memo] MQTTのこと

たまたま見かけただけだけど、ちょっと気になった。 MQ Telemetry Transport (MQTT) V3.1 プロトコル仕様 MQTT (MQ Telemetry Transport) はブローカー・ベースの軽量なパブリッシュ/サブスクライブ型メッセージ・プロトコルです。MQTT はオープンで単純、軽…

[memo] テストのこと

テスト考2014 読んだ。 なんとなくテスト書いてはいたけど、今年は会社でも書きたい気はしているので真面目にテストについて考えておこう。 @kyon_mmさんのブログを待つ きた! RE: テスト考2014 #SWTestAdvent これはおおきく2つ言いたい事がある。リファク…

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開発を参…