こういうライブラリ構成でAndroidアプリを試作したい

プロダクションに投入するにはあれだけど、まずは個人アプリ等で。

  • Dagger(2)、Flow、Mortar
    • DI、MVP、脱Fragment
  • RxJava
    • イベントの監視
  • Realm
    • データストア
  • Retrofit
    • 通信
  • Picasso
    • 画像
  • EventBus
    • 通知
  • ButterKnife
    • ビューのinject
  • Android デザインサポートライブラリ
    • マテリアルデザイン
  • Robolectric、Espresso
    • テスト

過度なMVC構成、機能分割

あるべき論であるのは分かるんだけど、コードの見通しも悪くなるし、見通しも悪くなる&熟練者でないとメンテナンスできないのって、それって害悪、参入障壁では、と思う。DBの設計に例えると、過度な正規化のような。 もしやるなら、ちゃんとドキュメントを書くか、ドキュメントを書かないならコードの見通しの良さを優先する方がよっぽどメリットがあるかなと。もしくはテストコードを仕様とするか。

若手プログラマの残業について

定時で帰れる理由は 1. 期限がある作業をしていない 2. 実装部分の作業をしていない 3. 作業量がないor仕事が振られていない の3パターンで、仕事をテキパキこなしてるから、ていう人は会ったことがない(あるとすれば事務的作業をしてるか、仲介業をしているか、使い回し。使い回しは技術も含む)

何が言いたいかというと、ネットや書籍にあるテキパキ定時系の記事は嘘だし(情弱が食いつくからまた書かれるループ)、年を取れば自ずと融通が利くから早く帰れるというのが正しい。決して要領は良くなっていない(あるとすれば慣れ)

なので若手のプログラマが往々にして帰りが遅くなるのは要領とかの問題ではない。

※かくいう私は残業してない方なので、不満とかでなく、上述の煽り記事、書籍に疑問を投げかけたい、という意図

新入社員がPHPを学ぶことについて

新入社員にPHPをやらせるWEB開発企業は多い?と思うが、最近、いろいろな言語を触ってみて、個人的にはそれはどうなのかなあと。

理由は、要は PHP はテンプレートエンジンなので、言語構造を意識せずに、手続き型の書き方でテンプレートエンジン的に書けて動いてしまうので。

PHPerをディすっているわけではなくて、熟練者が高度な使い方をするのはいいと思う。

もし最初にやるなら、RubyJavaAndroid等)、JavaScriptjQueryでない)の方がよっぽどいいし、その後の人生で潰しが聞くのかなと思った。 ちなみに、私が最初に触った言語は C 言語 だが、C言語自体はその後はあまり役に立ってる気はしないが、型やポインタ、メモリを意識するという考えは、役に立っているとは思う。

2015年にキャッチアップしたい技術

初投稿です。2015年の始まりということで、いま考えている今年キャッチアップしたい技術を、忘れないように並べてみます。はてなブログ、マークダウン記法が使えて便利ですね^^

  • JavaScript全般
    • 去年も触ったが、まだ分からないことも多いので引き続き
    • コア言語というより周辺環境
    • 今年の最初に触りたいもの
    • ネィティブアプリの WebView といい具合の連携も見出したい
  • サーバサイド
    • GO、Nginx & ngx_mruby、Node.js
    • 次代?PHP
      • HHVM、Phalcon
    • RubyRails
  • プロトコル系(下記をプロトコルといって良いかわからないが)
    • MQTT、HTTP/2
  • ネィティブアプリ(Android/iOS
    • なんとなく Android から始める
    • RubyMotion はお遊び程度に触る。ライセンス持ってるし
  • Docker

去年はわりと Qiita に記事を投稿したのですが、

http://qiita.com/hkusu

キャッチアップした技術を自分の中で整理する場としてとてもいい感じなので、今年も引き続き継続しようと思っています。あとは GitHub 上の OSS にも関わったり、自分で何か作ってみたりも出来ると。