( ꒪⌓꒪) ゆるよろ日記

( ゚∀゚)o彡°オパーイ!オパーイ! ( ;゚皿゚)ノシΣ フィンギィィーーッ!!!

一時的にブランチを切り替えてコマンドを実行するgit-switchっての作った話

git

gitで、一瞬だけ他のブランチに切り替えてコマンド実行したいときに毎回checkoutとかすんのタルいし、workspaceに変更があったらgit-nowしたりstashしたりしないとブランチ切り替えられなくてタルいので、一時的に他のブランチに切り替えて指定したコマンド…

ワークライフバランス()向上のために定時すぎたらダイアログが表示されるようにした

仕事してると、ついつい「このバグ直した帰ろう」とか「このテストが通ったら帰ろう」とかやってるうちにいつの間にか終電近くまで作業していて( ꒪⌓꒪)ってなることが多いので、定時すぎたら一時間毎にムカつく心温まるメッセージを表示するようにAppleScri…

設計を型にエンコードするということ

動的型付け vs 静的型漬けのアレでもんにょりしてたのをついったーに放出して会話してたらなんとなく自分なりの考えがまとまったので貼っておく。 ……(ファントムタイプとか型安全ビルダーパターンとかで、型レベルにロジックをエンコードした結果、ライブラ…

git symbolic-ref を利用して、ブランチに対して別名をつけることができて墓ドル

git

何が便利かというと、今git-flowで運用しているのだけど、リリースブランチを常に同じブランチ名で参照できるようになってうれしい。 例えば、次回にリリースブランチが'release/1.17.0'だとすると、'git symbolic-ref rc release/1.17.0'とすることで、'rc'…

httpstatus コマンドで、HTTP のステータスコードをすばやくしらべる!

一般的な Web Programmer ならば、HTTP Status code はすべて暗記していると聞きました。しかし、僕は初心者なので、なかなか覚えきれていないので、HTTPのステータスコードをさがすのに便利なツールを用意しました。 httpstatus.hs です。インストール方法…

Scala2.10.0のDependent method typesと型クラスを組み合わせた『The Magnet Pattern』がヤバい件

これが……型の力かッ……!!spray | Blog » The Magnet Patternという記事で、「The Magnet Pattern」というデザインパターンが紹介されている。 これは、メソッドオーバーロードで解決していた問題を、型クラスとDependent method typesを組み合わせて置き換え…

Rails3でMultiJsonのBackendをyajlに変更してJSONのエンコード/デコードのパフォーマンスを改善する

yajl(Yet Another JSON Library)っていう高速なJSONライブラリがあって、yajl こいつをrubyから使えるようにするyajl-rubyってgemがあって、これをMultiJsonのBackendに変更することで、RailsにおけるJSON処理の高速化が期待できるデス。brianmario/yajl-rub…

Jenkinsで外部パラメータで与えたブランチを対象にビルドできるようにしておくと凄惨性あがって墓ドル

テストが終わるまでの時間で書いてみる。Jenkinsでジョブを実行させるときに、外部パラメータで任意のブランチを対象にビルドできると墓ドル。例えば、自分のローカルブランチをマージするまえに、テストが通るか確認したい場合とか。そんなのローカルでテス…

.gitconfigでFizzBuzz

git

.gitconfigのtipsを公開するのが流行ってるみたいなので。 git config alias.fizzbuzz "!f() { seq "$@" | awk '$0=NR%15?NR%5?NR%3?$0:\"Fizz\":\"Buzz\":\"FizzBuzz\"' ;}; f" ( ꒪⌓꒪) git fizzbuzz <num> · 7a4ddcd · yuroyoro/dotfiles · GitHub git fizzbuz</num>…

Freeモナド in Scala

噂のFreeモナドをScalaで写経してみた。 Freeモナドは、取り込む型SのFunctorと組み合わせて、Functorの特性に応じたモナドを得ることができるものらしい。 そろそろFreeモナドに関して一言いっとくか - fumievalの日記 Freeモナドって何なのさっ!? - capr…

mrubyをC拡張でRubyに組み込む

やっつけで適当に書いてみた。yuroyoro/rmruby · GitHub一体何がしたいのか……。 irb(main):001:0> require 'rmruby' => true irb(main):002:0> Rmruby.eval('3.times do |n| puts "hello #{n}!" end') hello 0! hello 1! hello 2! 3 => nil 毎回mrbインスタ…

jQueryの$.map/$.eachでfuncitonに渡す引数順がキモすぎる

$.each(arr, f)は、funcitonに(index, element)の順で引数を渡す。 Utilities/jQuery.each - jQuery Wiki $.map(arr, f)は、funcitonに(element, index)の順で引数を渡す。 Utilities/jQuery.map - jQuery Wiki .......逆じゃねーか。 var f = function(a,b)…

指定したコミットで修正されたファイルをvimで開く

.gitconfigにこういうalias書いた。'git modified HEAD~'で一つ前のコミットで修正されたファイルをvimで開く [alias] # 指定したコミットで変更されたファイルを編集する modified = "!f() { git diff $1..$1\\^ --name-only | xargs sh -c 'vim "$@" < /de…

Railsで今いるブランチによってデータベースを切り替える

ブランチングモデルとしてgit-flowを使っていて、メインラインとして、本番適用中のmasterブランチと、次期リリース用のrelease/9999ブランチと、メイン開発ブランチのdevelopがある。 ところが、開発中は頻繁にブランチを移動するし、ブランチによってDBの…

「関数型Ruby」という病(5) - Object#tryはMaybeモナドの夢を見るか?

前回からかなり期間を空けてしまったが、今回からRubyにおいてnilといかに闘うかについて書く。 本記事は以下略。わかれ( ゚д゚)。 Object#try Object#tryはActiveSupportで提供されるメソッド、レシーバーがnilじゃない場合に引数のSymbolのメソッドを呼び出…

git cherryでブランチ間のコミットのdiffを。色もつけて

git

git cherryで、ブランチ・ツリー間のコミットのdiffを見ることができる。 git cherry [-v] [<upstream> [<head> [<limit>]]] デフォルトでは、upsteamに無いコミットは"+"で、逆にheadになくてupstreamにあるコミットは"-"で表示される。それとsha1のみ。味もそっけもない。 "git ch</limit></head></upstream>…

Rubyのデフォルト引数で再帰

Rubyのデフォルト引数では、他の引数に依存した式を書ける。地味に便利。 [1] pry(main)> def foo(a, b = a * 2) [1] pry(main)* puts b [1] pry(main)* end => nil [2] pry(main)> foo(3) 6 => nil 再帰もかける。デフォルト引数で再帰させてフィボナってみ…

もう2012年なのに未だにRAIS_ENV=testと書かなければならないことにブチキレてaliasを書いた話

まぁくわしくはこのcommitを見ればいいのだが、"rake db:migrate RET"ってやると"RET"が"RAILS_ENV=test"に展開されるようにしたんだけど、みんなどうやってこれ対処してんの?( ;゚皿゚)ノシΣ RAILS_ENV=testとか環境変数で渡すのタルイしrakeの引数処理はマジで…

Navigation Timing APIでブラウザの処理時間を可視化するツール作った

最近のブラウザでは、 Navigation Timing API ってのがサポートされていて、これを利用すればブラウザがページをロードするのに要した処理時間の内訳を知ることができる。 例えば、"DNSのlookupに要した時間"や"DOMの構築処理時間"、"onloadイベントの処理時…

(   ꒪⌓꒪) そういえばJavascript使えるんだったな

( ꒪⌓꒪) ( ꒪⌓꒪) ( ꒪⌓꒪) ( ꒪⌓꒪)var moving = function(p, n, m,t) {setTimeout( function(){ $('#' + p).text(Array(n).join(' ') + '(' + Array(m).join(' ') + ' ꒪ ⌓꒪)');moving( p,(n + 1) %20, m,t); }, t);};moving('p1', 1, 3,200);moving('p2…

(  ꒪ ⌓꒪)

( ꒪ ⌓꒪) 川川川川川川川川川川川川

「CVE-2012-4681:Oracle Java7 任意のOSコマンドが実行可能な脆弱性」の攻撃手法解説

Ocacle Java7で任意のOSコマンドを実行可能な脆弱性がある、と話題になりました。 JVNTA12-240A: Oracle Java 7 に脆弱性 本日パッチがリリースされました。 Oracle、Javaの深刻な脆弱性を公表―攻撃者はリモートであらゆる操作が可能〔今朝パッチ緊急リリー…

tmuxのステータスラインをvim-powerline風にカッコイクした話

Comparing c0acdd36df5b231eb0553493d26c0a3cb37b9482...dc254de8ec79250e853889f707a6d01f66c8bca1 · yuroyoro/dotfiles · GitHub このあたりを参考にしてやった Status Line · zolrath/wemux Wiki https://github.com/zolrath/wemux/wiki/Status-Line Mac…

「関数型Ruby」という病(4) - Applicativeスタイル(的ななにか)

本記事は、Rubyを書くにあたって「いかにブロックを書かずにすませるか」を追求した、誰得な連載である。「lambdaの暗黒面」に堕ちたプログラマが可読性とかメンテナンス性とか無視して好き放題コード書いたらこうなった。悪気はなかった。もしかしたら有益…

「関数型Ruby」という病(3) - カリー化(Proc#curry, Proc#flip)

本記事は、Rubyを書くにあたって「いかにブロックを書かずにすませるか」を追求した、誰得な連載である。 プログラマ厨二病をこじらせるとこんなヒドいことになるという実例を示すものであって、可読性やメンテナンス性についてのツッコミはご遠慮願いたい。…

「関数型Ruby」という病(2) - 関数合成 Proc#compose

本記事は、Rubyを書くにあたって「いかにブロックを書かずにすませるか」を追求した、誰得な連載である。 注意点として、この記事は、プログラマ厨二病のひとつである「ラムダ症候群(λ-Syndrome)」に罹患した患者にRubyを書かせると、どんなヒドいことになる…

「関数型Ruby」という病(1) - Symbol#to_proc, Object#method

この記事は、Rubyを書くにあたって「いかにブロックを書かずにすませるか」を追求した、誰得な連載である。 だって、ブロックって汚いじゃん?仮引数の|x|とかキモイ。 Symbol#to_proc 基本中の基本。instance method Symbol#to_proc以下のようなArrayがあっ…

LL DecadeのLT大会でバルスしてきた

LL DecadeのLT大会に参加してきた。今まで一番厳しい闘いだったぜ・・・。だって、『それぞれの言語コミュニティで顕著な活動があり、 また発表の面白さにも定評のある人を集めた、 珠玉のライトニングトーク集をお楽しみください。』とか言われてあのメンツ…

Scalaにおける型パラメータの部分適用 [({type F[X] = G[A,X]})#F] について

Tumblrから出戻ってきました。8/4のLL DecadeのLT大会に出るのでぜひお越しください。さて、モナってますか? scalazなどでよく出現する[({type F[X] = G[A,X]})#F]のようなコードですが、これが何を意味しているのか最近やっと理解できたので、久しぶりにSca…

Tumblrに移ってますので

這い寄るゆろよろ・アンド・ライジングフォース日記