タグ

ブックマーク / ayato.hateblo.jp (7)

  • Clojure で依存関係の解決に潜むワナ? - (define -ayalog '())

    仕事中に盛大にハマって、最終的に一緒にやってる Clojure チョットデキルマンに助けてもらった。 Clojure のライブラリを Leiningen や Boot に含める場合、次のような表記を用いる。 [group-id/name version] Leiningen や Boot はこれを group-id/name でひとつのライブラリとみなし、もし数あるライブラリの内部で使われているライブラリが重複した場合には、後勝ちで依存性が解決されていく*1。 なので例えば foo/piyo というライブラリが a/nyan 0.9, a/nyun 0.8 というライブラリを依存関係に含んでいて、 bar/puyo というライブラリが a/nyan 0.1, a/nyun 1.2 というライブラリを依存関係に含んでいる場合に、 foo/piyo -> bar/puyo という順番で依存

    Clojure で依存関係の解決に潜むワナ? - (define -ayalog '())
  • Clojure における幾つかの実践的なデバッグ方法 - (define -ayalog '())

    まえがき だいたい 2 週間くらい Clojure を書いているとライブラリのバグを綺麗に踏み抜いたりマクロの沼に引きずりこまれたりと、まぁやたらとデバッグする機会があります。それで先日からライブラリを clone して書きなおして lein install して…などしていたのですが、一緒に Clojure 書いている Clojure チョットデキル人に「そんなことしなくてもいいよ」と色々教えてもらったのでだいたい現時点で僕が知っている幾つかのデバッグ方法を書いておこうと思う。ただし、これは Clojure 一般というよりは Emacs/Cider-mode という環境に依存している部分が多いと思うので他の環境を使っている人はもしかしたらかなり役に立たないかもしれません。アプローチそのものは他の IDE などでも実装されているかもしれませんが僕はよく知らないので悪しからず。 Print

    Clojure における幾つかの実践的なデバッグ方法 - (define -ayalog '())
  • Underscore.jsがちょっと便利だったので紹介してみる。 - (define -ayalog '())

    数日前@naoiwata師匠に「JavaScriptにパターンマッチってないですよね?」って聞いていたら「Underscore.jsならあるかも」みたいなことをそそのかされたので少し触ってみた。 Underscore.jsは関数型プログラミングをしたい人のための軽量ライブラリだという認識でだいたい良いと思います。最近、「JavaScriptで学ぶ関数型プログラミング」みたいなも出ているみたいで、ちょっと中身みたけどUnderscore.jsの使い方ぽい感じのだったので興味ある人は読んでみるといいかと*1。 ちなみに僕が求めているパターンマッチは文字列の正規表現ではなくて、関数型言語でいわれるようなパターンマッチ。Gaucheのutil.match的なやつ。 で、とりあえずUnderscore.jsなんぞということでバーっとひと通りみてみた。 Underscore.js だいたい大きく6

    Underscore.jsがちょっと便利だったので紹介してみる。 - (define -ayalog '())
    pochi-mk
    pochi-mk 2014/02/16
    Functional programming in JavaScript!
  • 顧客に価値を届ける、ってなんだっけ - (define -ayalog '())

    2013-12-09 顧客に価値を届ける、ってなんだっけ 開発 日記 最近、@syobochimのブログを読んでいたら、こんな言葉が書いてあった。 顧客に価値を届けたい。 私はいま、価値届けられてるんだろうか。 アジャイルサムライを読んだら意識高まってつらい - そこに仁義はあるのか(仮) 僕はどうだろうか。今のプロジェクトはありていに言えば"炎上"している。 そんな中で「誰の考え方が一番正しい」のか分からなくなった。ので、今日はそんな話を書いてみようと思う。 この話の登場人物 あやぴー 僕です。 マツダさん 僕と同じ会社の先輩。エンジニア歴10年位。 モリさん 僕と同じ会社の上司にあたる人。エンジニア歴20年位の大ベテラン。 イノウエさん 元請けの会社に8月くらいに中途で入社したエンジニアさんで立場的にはプロジェクトリーダー(PL)的な感じ。転職するまでPL1とかVBとかのお仕事

  • コードを改悪されて本気でプログラマ辞めようかって脳裏をよぎった - (define -ayalog '())

    2013-12-04 コードレイプされて気でプログラマ辞めようかって脳裏をよぎった Java 開発 つらい現実。 「だから言ったのに」事案2013-12-04 11:05:15 via web 自分の書いたプログラムが大陸人の手によって改悪されまくってて涙で前が見えない。2013-12-04 11:16:49 via web あのね。。拡張for文で書いてたのにfor(int i=0; i<items.length; i++)って書きなおされてたんだ…。2013-12-04 11:18:41 via web てか、嘘でしょ。なんでSetをtoStringして文字列表現にして「,」でsplitするとか考えるの…。意味分かんないんだけど…。2013-12-04 11:19:51 via web こう、胸の奥がキューッてなってる。苦しい。2013-12-04 11:21:11 via web

  • Rubyのtimesが羨ましかったので - (define -ayalog '())

    この前、@alea12とぜろゆ嬢と3人で焼肉行ってた時に、Gaucheで10回Hello,worldを表示するのを見せたら、Rubyのコードでドヤ顔されて悔しかったのでRubyのtimesっぽい書き方ができないか試してみた話。 見せたのは以下のコード。 (for-each (lambda (x) (print "Hello, world")) (iota 10)) なんか、Hello,worldって10回出力するだけなのに、直感的じゃない?個人的には少し微妙。 以下、やってみた お題「10回標準出力にHello, worldを出力する」 Rubyでループのやり方の例を出すときによくやるアレですね。 10.times do p "Hello, world" end 短いし、素直で読みやすいね! Rubyのこういう部分好きだなーって思う。だけど、Schemeは前置記法という呪いに囚われているの

    Rubyのtimesが羨ましかったので - (define -ayalog '())
    pochi-mk
    pochi-mk 2013/07/08
    Clojure だと自分は (dotimes [_ 10] (println "Hello, world")) と書いちゃいます。'_' が余計といえば余計だけど、あまり細かいことは気にしない性格だし。
  • ラムダ計算を理解したようです - (define -ayalog '())

    ラムダ計算に魅了されたあやぴーが、ラムダ計算でプログラミングしてみる。 今回の目標は「1+2=3」をラムダ計算で計算することです。 準備:ラムダ計算とは? 「函数の函数による函数のための計算」とか言ってると、「ぽい」のかもしれないです。 1930年頃にアロンゾ・チャーチさんが考案した、すっごい単純なプログラミング言語だと思っていればとりあえずいいと思います。(気で知りたい人は自分で調べましょー) ラムダ計算ではリダクションと呼ばれる式の変形によって計算します。 チャーチの数詞 「1+2=3」を計算するには、まず「数」が必要なのでチャーチの数詞を使います。 一般的にチャーチ数と言われる定義は、函数によって「数」を表すものです。 0 = identity 1 = f 2 = f f 3 = f f f … それを実際の函数の式に表すとこんな感じ。 0 = λf.λx.x 1 = λf.λx.

    ラムダ計算を理解したようです - (define -ayalog '())
    pochi-mk
    pochi-mk 2013/03/21
    あとで読む。
  • 1