2015年11月17日のブックマーク (5件)

  • karky7のブログ: haskellの差分リストが地味にエレガントな件

    やはり基が大事ということで、久しぶりに「すごいH」を読み直していたところ、差分リストに遭遇、ダラダラと読んでいましたが... 「これって地味に凄くねぇ?、ここまで考えて普段、コーディングしたことぇーだろ」 って感じになってしまって、ついブログをかいてしました。 「すごいH」ではWriterモナドのログの蓄積方法について、アルゴリズムによっては効率が悪い処理になってしまうよという説明からの、もうクリスがいっちゃうと * 効率的なリストの結合方法 n1 ++ (n2 ++ (n3 ++ (n4 ++ (n5 ++ f)))) ・・・右結合 と * 非効率なリストの左結合方法 ((((n1 ++ n2) ++ n3) ++ n4) ++ n5) ++ f ・・・左結合 細かいことはいいとして、左結合のリストの場合、右側を結合する度に、左側を最初から計算する必要があるため、結合処理が多い場合

    lotz84
    lotz84 2015/11/17
  • GitベースのコードリーディングTips - クックパッド開発者ブログ

    こんにちは、投稿推進部の森川 (@morishin127) です。 エンジニアが既存のプロダクトの開発に携わる際、他人の書いたソースコードを読み解くところから始まります。過去に書かれたコードの意図を理解することは自分が書いたものでもしばしば難しく、他人が書いたものならなおさらです。この記事では過去に書かれたコードを理解するための工夫についてお話したいと思います。 なお、この記事ではプロダクトのソースコードはgitおよびGitHubのPull Requestを利用して開発が進められていることを前提としています。 特定の行から関連するPull Requestページを開く クックパッドのソースコードには概してコメントがあまり書かれておらず、見ただけでは理解しづらいような特殊な方法をとっている場合のみコメントを書いている印象です。基的に実装に関する説明はソースコード中ではなく、GitHubのPu

    GitベースのコードリーディングTips - クックパッド開発者ブログ
    lotz84
    lotz84 2015/11/17
    もりしん!
  • ZenHub2.0について - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 専用の拡張をインストールすると、GitHubそのものが拡張される。 GitHubに足りないアジャイルらしさを組み込むもの。2.0以前の機能は、ZenHubとはを参照してください。 ZenHubが2014年にリリースされてから、フェイスブックやソニー、NBC、マイクロソフトなど大手に取り上げられたZenHubは、2015/6/21にバージョン2.0となり、デザインなどが一新しました。 ZenHubのバージョン2.0とされる機能は以下のとおりです。 Task Board(カンバン)の複数リポジトリ対応 新しいZenHub Boardは、複数

    ZenHub2.0について - Qiita
    lotz84
    lotz84 2015/11/17
    よさそう
  • Strict Haskell - あどけない話

    次のバージョンである GHC 8.0 では、正格評価用のプラグマして Strict と StrictData が提供されます。環境を作ってみたので、少し試しました。 以下のファイルを用意します。 {-# LANGUAGE DeriveFunctor #-} module A where data List a = Nil | Cons a (List a) deriving (Eq,Functor) xs :: List Int xs = Cons 1 (Cons 2 Nil) 注意: トップレベルの束縛とローカルの束縛では挙動が違います。Strict が効くのは、ローカルの束縛です。なので、GHCi で let を使って試します。 評価が遅延しているかは、GHCi の :sprint コマンドで確かめられます。GHC 7.8 以降の GHCi では MonomorphismRestric

    Strict Haskell - あどけない話
    lotz84
    lotz84 2015/11/17
  • GitHub - askucher/nixar: Improved linux commands

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - askucher/nixar: Improved linux commands
    lotz84
    lotz84 2015/11/17
    “Improved linux commands”