makotan _at_ gmail dot com

2013-05-01から1ヶ月間の記事一覧

プログラマの35歳限界説とそれを超える方法

なんとな〜く思ってること。 プログラマのある能力のピークは20歳 20歳まではひらめきでコードが書けるし、スピードも圧倒的に速い。 本当にひらめきとスピードを重視するなら20歳までの才能のあるエンジニアを集めると良いと思う 20歳を超えるとひらめきと…

FunctionalInterface

Java8にはFunctionalInterfaceっていうannotationがあって、FunctionalInterfaceの場合は付けることを推奨されてるっぽいんだけど、無かったときにlambdaとして使えないのかな〜とふと思った。 なので、 既にFunctionalInterfaceがついてるインタフェースを…

サラリーマンをやめて個人事業主になった理由

最近ぼんや〜り考える事があったので後の自分のためにメモを残す 捨てたもの サラリーマンとして保証された身分 (変動するとしても)生活するのに問題ないレベルで確約された給料 万が一の時に使えるサラリーマンだけに与えられてる各種保証 昇進などの可能性…

画面先行のメリットと罠

この数年時々思ってたことを・・・ 画面先行とは 画面設計・画面モックなどをデータモデル・業務フローに先だって設計・確定する事 「ユーザが理解できるのが画面でデータモデルとか業務フローなんて見せても理解できないから」というのが大抵の採用理由 ユ…

Function/Consumer/Supplier/Predicateなどなど

この辺の違いがわかればStreamのAPIをみたら色々推測しやすくなるかなぁ〜と思ったのでまとめ Function @FunctionalInterface 値を受け取って他の値を返すもの。 値の変換とか色々を担当 なので、これを引数に取るStreamのAPIのほとんどは他の型のStreamを返…

品質

太田さんが軽品質って書いてたのをみて、品質基準として最適ってあるよなぁ〜って言ってたのを思いだした たとえば、 24時間365日動き続けてないと駄目なサービス と 一日8時間週5日は確実に動いてて欲しいサービス 数分ダウンすると死活問題のサービス と 1…

Streamの再利用をテストしてみた

ArrayListからStreamを取得して、filterした結果のStreamを2回使ってみた なんとなくのコードイメージはこんな感じ(あくまでイメージです) ArrayList<String> datas = getStringList(); Stream<String> stream = datas.stream().filter((s) -> s.length() > 3); stream.forea</string></string>…

Java の cli parserの一覧

良く忘れるのでメモ http://stackoverflow.com/questions/1524661/the-best-cli-parser-for-java 文字列の配列でそれ以上は何もしないってのでも良いけど、標準機能で基本的なparser程度は持ってて欲しいなぁ〜って思う 個人的に一番使うのはargs4j http://a…

Java8のclosureとthis

closureの中のthisはclosureのオブジェクトになる。 Javaのclosureは無名クラスの生成をソースコード上で省略してるだけだ。気をつけろ! ちゃんとテストコード書いて確認しらclosureのオブジェクトにならなかった じゃあ、あの動きは何だったんだろう・・・…

Collectionに追加しながらStreamで処理するとどうなるのか?確認してみた

Streamを使いつつふと思った疑問点が解消するかなぁ〜と 試したコード final AtomicInteger ai = new AtomicInteger(1); final ConcurrentLinkedQueue<Integer> queue = new ConcurrentLinkedQueue<>(); Streams.intRange(1,6).forEach((i)-> { queue.add(ai.getAndIn</integer>…

Java8 に足りないクラスを作ってみた

きしださんのところでJava8を関数型風に・・・ってのが出てて新しいネタ見つけたな〜って思ったんだけど それはそれとして、実際にJava8のStream使ったコーディングしてると絶対に欲しくなるのが Tuple なんでJDKに標準で入ってないんだ??これから入るのか…