(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

2014-08-01から1ヶ月間の記事一覧

Ruby の定数は奇妙だ

仕事で今まで奇跡的に動いていたコードが突然動かなくなるバグに遭遇して調べていたら、 Ruby の定数に関する仕様のせいだということが判明した。 class Hoge X = 'X' end という風に定義されている定数があるのを class Fuga puts X # 本来なら動かない end…

ネストしたハッシュのキーを String から Symbol へと変更する

class Hash def nested_symbolize_keys self.reduce({}) do |memo, (k, v)| v = v.nested_symbolize_keys if v.is_a?(Hash) memo[k.to_sym] = v memo end end end 例外とか考えてない愚直なコード。ちょっと今日こんなのほしいなって思ったから、思いつきで…

Slack で動く bot を作る(特定の文字列に反応するようにする)

Slack で動く bot を作る(とりあえず発言だけ) - (define -ayalog '()) ということで今回もサクッと。Slack で bot 作ってという無茶ぶりを某 naoiwata-san に言われたので、とりあえず API とか調べてたら思いの外簡単に出来そうだったのでやってみたという…

Slack で動く bot を作る(とりあえず発言だけ)

ということでさくっとやってみた。Slack というのは最近流行り(?)の HipChat like な Chat ツールで結構ほかのアプリケーション*1との連携がサクッと出来るのがいい感じぽい。 Slack では幾つかの API と WebHook を提供してくれているので、簡単に自動投稿…

コーディングを支える技術を読んだ

読了。っと。 目次こんなん 第1章 言語を深く効率的に学ぶには 1.1 比較から学ぶ 1.2 歴史から学ぶ 1.3 まとめ第2章 プログラミング言語を俯瞰する 2.1 プログラミング言語誕生の歴史 2.2 プログラミング言語の生まれた目的 2.3 まとめ第3章 文法の誕生 3.1 …

Padrino で Jbuilder を使う

なんか今ふたつ方法があるぽくて、以下に並べてみる。 anthonator/tilt-jbuilder · GitHub andrewjanssen/padrino-jbuilder · GitHub tilt-jbuilder といわれる gem と padrino-jbuilder というまんまな名前の gem 、このふたつが今 Sinatra/Padrino でアプ…

ピープルウェア読んだ

読了。目次はこんな感じで、全6部34章から成る本です。 第Ⅰ部 人材を活用する 第1章 今日もどこかでトラブルが 第2章 チーズバーガーの生産販売マニュアル 第3章 ウィーンがきみを待っている 第4章 品質第一:時間さえ許せば 第5章 パーキンソンの法則の改訂…

AngularJS はじめました

僕の人生の中で初めて仕事で必要だからという理由で仕事中に勉強することになっている。 egghead.io - Learn AngularJS with Tutorial Videos & Training @eggheadio なんとなくビデオみて若干の雰囲気とかはつかめた。既に Angular で書かれたコードがある…

Make10 してみた!

Make 10 してみよう! — a wandering wolf 「してみよう!」と言われたらするしかないと思ったのでちょっとやってみた。 ;; make10 (use srfi-1) (use gauche.collection) (use util.combinations) (define (atom? x) (and (not (pair? x)) (not (null? x)))…

ふたつのリストを混ぜる

リストを交互に分配 これ読みながら逆ってどうやんのって思ったのでちょっと書いた。 (define (twist-list li1 li2 :optional (result '())) (if (and (null? li1) (null? li2)) result (let ((li1-len (length li1)) (li2-len (length li2))) (if (> li1-le…