タグ

2015年6月12日のブックマーク (4件)

  • Make a Lisp で Lisp 処理系を学んでつくる (with Crystal) - はやくプログラムになりたい

    インタプリタ式の言語処理系を書いたことが無かったので一度実装してみようと思って,この手のは Lisp が定番だということで,前々から気になっていた Make a Lisp (mal) に挑戦してみました. Make a Lisp (mal) とは Make a Lisp は色々な言語で mal という Lisp 方言を実装してみようというプロジェクトです. 30以上の言語での mal 処理系実装 11段階のステップに分けられた実装ガイド(全体の構成図付き) 各実装ステップごとのテストケース といったほしい情報が揃っており,言語処理系初心者でも Lisp 実装について簡単に学べる環境が整っています. 11段階の各ステップは以下の様な感じです. The REPL : 実装を始める準備(自分の言語を Makefile に登録して make 一発でテストを走らせられるようにする,関数のスケルトンの

    Make a Lisp で Lisp 処理系を学んでつくる (with Crystal) - はやくプログラムになりたい
  • go言語におけるロギングについて | さにあらず

    僕は Java 方面に慣れていますのでslf4j(Logback)やlog4j2の様なロギングライブラリがあると扱い易いなぁ…と思う次第です。 まとめ#例によって結論から書くと XML で設定する事に耐えられる ならseelogがオススメ。 CLI で指定出来る程度の設定が出来れば良いなら、公式リリースなglogがオススメ。 標準のlogパッケージについて#まず、僕の開発環境は Windows7 ですので、log/syslog を直接使うようなコードは避けたいのです。 加えて、コードをあまり変更せずに出力先や出力内容を変更したいのですけども、その為の標準的な方法は機能としてライブラリ内に組込まれていません。 テスティングフレームワークの時も同様に感じましたけども、go 言語のコアライブラリは当に一番下の足回りがあるのみです。 例えば、設定可能な項目はこれだけです。抜粋すると、 時間や日付

    go言語におけるロギングについて | さにあらず
  • アインシュタイン以上のIQを持つ、自閉症の少年のスピーチ。「大切なのは学びじゃない」 | TABI LABO

    学ぶことだけに集中して、「あること」をやめてしまっていませんか? 13歳のジェイコブ・バーネットくんは、アインシュタイン以上のIQを持つ少年です。そして、彼には自閉症と戦っているという側面もあります。そんな彼が、過去の天才たちが「学ぶこと」よりも重視していた「考えること」の必要性について、Ted Conferenceで語りました。 ここでは、そのスピーチの内容を一部抜粋して紹介しましょう。 (記事下の動画では、スピーチのフルバージョンが視聴可能です) まず最初に、皆さんが伝えたいことあります。 宿題をやっていると想像してください。宿題とはやらなければいけないことです。うまくできれば良い成績をもらい、賞をもらうこともあります。でも、もしもそれが間違いだとしたら?つまり、すでにそこにあるものを受け入れるだけではなく、自分だけのユニークな視点で物事を見る必要があるしたら? 「円」を例に話

    アインシュタイン以上のIQを持つ、自閉症の少年のスピーチ。「大切なのは学びじゃない」 | TABI LABO
  • コードレビューのベストプラクティス | POSTD

    Wiredrive では、私たちはかなりの数のコードレビューを行います。しかし、ここで働き始める前には私はコードレビューなどしたことがありませんでした。今回は、私がコードレビューをする時に何に注目するようにしているかや、私の考え出したベストなコードレビューのやり方をお話したいと思います。 コードレビューとは、簡単に言うと2人以上の開発者で問題を引き起こしそうなコードの修正について話し合うことです。コードレビューをすることのメリットについては多くの記事で語られており、知識を共有できること、コードのクオリティが上がること、開発者が成長できることなどが挙げられています。しかし、レビューを行う上で、どのように進めていくかという具体的なことについてはあまり多く語られてないように私は思いました。 レビューで何に注目するか アーキテクチャ/デザイン 単一責任原則 : 1つのクラスは変更する理由が2つ以上

    コードレビューのベストプラクティス | POSTD