タグ

2015年4月30日のブックマーク (7件)

  • クソコードでも公開した方がいいんじゃないかって話 - Konifar's WIP

    昨日のDroidKaigiの@operandoOSさんのセッション Android学ぶを君へ。生き抜くためのナレッジ共有の中で『ひたすらクソコードを書く』という話がありました。 もちろんこの話はほんの一部でしかないんですが、とても印象に残りました。 誰と話したか忘れてしまったんですが、懇親会で 「クソコードでも公開した方がいいんじゃないか」みたいな話が出て、なるほどなぁと思ったのでちょっと思考を整理しておきます。 書けば何がクソコードかわかってくる 何も書かないよりクソコードでもいいからまず書いてみる方がいいと思います。 そもそもクソコードっていうのはよいコードの基準があってこその価値観なんですよね。書かなくても何がよくて何がクソかわかるよって人もいると思うんですけど、自分はやっぱり頭で理解するより書いて理解する方が腹落ちしやすいです。 例えば、GoFのデザインパターンはよくある問題を

    クソコードでも公開した方がいいんじゃないかって話 - Konifar's WIP
    Sixeight
    Sixeight 2015/04/30
  • Swift 1.2 - cockscomblog?

    第61回 Cocoa勉強会関西で“Swift 1.2 The long-awaited language updates”と題して発表した、Swift 1.2の主だった(おもしろい)変更点の紹介です。 if let Swift 1.2で最も改善されたのはif文です。if letでOptionalをunwrapできる機能が大きく向上し、複数のOptionalを同時にunwrapできるほか、unwrapされた値について条件を加えることができるようになりました。 例えばcondition: Boolが真でふたつのOptional<Int>がnilではなく、大小関係にも条件がある、という条件を表してみます。 Swift 1.1 let condition = true let aNumber: Int? = 3 let anotherNumber: Int? = 7 if condition {

    Swift 1.2 - cockscomblog?
    Sixeight
    Sixeight 2015/04/30
  • Mackerelを支える時系列データベース技術 - ゆううきブログ

    【追記 2018/01/06】現在Mackerelは、時系列データベースという概念をクラウドの技で再構築する - ゆううきブログの時系列データベース実装へ移行しています。 サーバモニタリングサービス Mackerel で採用している時系列データベース Graphite を用いたシステムの構築と運用事情を紹介します。Graphiteについては、プロビジョニングやアプリケーションからの使い方、Graphite自体のモニタリングなど様々なトピックがありますが、特に大規模ならではのトピックとして、Graphiteの内部アーキテクチャ、パフォーマンスチューニングおよびクラスタ構成についての知見を書きます。 背景 Graphiteシステム概観 データ構造とアーキテクチャ whisperのデータ構造 carbon-cacheのアーキテクチャ パフォーマンス特性 パフォーマンスチューニング ミドルウェアレ

    Mackerelを支える時系列データベース技術 - ゆううきブログ
  • ruby-trunk-changes r50398 - r50401 - ruby trunk changes

    今日は for 文が命令列にコンパイルされる方法のリファクタリングなどがありました。 昨日、一昨日は ruby-trunk-changes の開始以来初めて 2日間コミットがなくてお休みでした。 nobu: r50398 2015-04-29 12:48:26 +0900 for 文の AST ノードを ISeq にコンパイルする時に ITER ノードと同じだったのを、パース時に行なっていた多重代入の処理(length などのメソッド呼び出しと条件分岐を含む AST を生成)をコンパイル時に行なうようにしています。余分な NODE オブジェクトの生成を抑制するためでしょうか。 nobu: r50399 2015-04-29 12:49:05 +0900 r50398 の for 文の parse 処理の分岐を switch 文で書き代えるリファクタリング。 svn: r50400 2015

    ruby-trunk-changes r50398 - r50401 - ruby trunk changes
    Sixeight
    Sixeight 2015/04/30
    引数の最後のカンマ...
  • Rails Girls Kyoto Day 2 - HsbtDiary(2015-04-25)

    Rails Girls Kyoto Day 2 Rails Girls Kyoto の編始まり始まり。 今回の開催は京都女子大が会場ということもあって、京都女子大の学生がサブコーチとしてほぼワンツーマンで横についてコーチングをしていた。 Rails 西の横綱がどーんと身構えて見守る図。 いつもどおり MVC の役割とか、エンドポイントから DB までのデータの流れを解説するやつ。 今回はさくらインターネットさんがスポンサードしてくれたこともあって、京都女子大の小波先生とオーガナイザーとで記念撮影。 最近の個人の活動としてはコーチそのものをやりに行くというよりは、Rails Girls のレギュレーションを伝えに行ったり、次回開催や近隣での開催についての調整役というような継続的に開催できるようにするためのあれこれの情報の共有というのと、コーチでもわからないような何か(Ruby や ru

    Rails Girls Kyoto Day 2 - HsbtDiary(2015-04-25)
    Sixeight
    Sixeight 2015/04/30
  • HashiCorp社が出したVaultとはどういうものなのか - 理系学生日記

    HashiCorp 社から、新たなソフトウェアである Vault by HashiCorp がリリースされました。 - HashiCorp Blog: Vault この Vault について、Getting Started を一通り実施した後に Docs の一部を確認してみたので、簡単にその内容をまとめてみます。 Vault とは何なのか Vault を一言で言うと、機密情報(Secret) を管理するツールです。 これだけ IT が広がっている現在、機密情報の範囲も広がり続けており、データベースにアクセスするためのユーザ/パスワードや、連携するシステムの API キー等、多岐に渡ります。こういった情報、おまえのところのシステムではどう管理してた?XML に生で書いてる、あるよねそういうの。jdbc.properties に直書き、うんうんわかるわかる。ちょっとがんばったら crypt で

    HashiCorp社が出したVaultとはどういうものなのか - 理系学生日記
    Sixeight
    Sixeight 2015/04/30
  • ScalaのPartialFunctionが便利ですよ - ( ꒪⌓꒪) ゆるよろ日記

    Scalaには、PartialFunctionというものがあります。 直訳すると部分関数ですが、これはなにかっていうと「特定の引数に対しては結果を返すけど、結果を返せない引数もあるような中途半端な関数」です。 どうやって使うのん? まぁ、ちょっと例を見てましょうや。PartialFunctionであるfooPfは、引数が"foo"だったら"bar"を返して、"foo"以外は知らんというてきとーな関数です。 scala> val fooPf:PartialFunction[String,String] = { case "foo" => "bar" } fooPf: PartialFunction[String,String] = <function1> scala> fooPf("foo") res5: String = bar scala> fooPf("hoge") scala.Mat

    ScalaのPartialFunctionが便利ですよ - ( ꒪⌓꒪) ゆるよろ日記