261

IT系のカンファレンスに参加した話などを書いています

Android アプリ開発の効率化2

開発の効率化として考えていたことで書き漏らしていたこと。

あとdatabinding

これってgoogle製のでいいんだっけ? なんか昔mvvmの何かがあったような気がするけど 色々あったけどgoogle謹製がでてfixって認識でいいのかな。。

とりあえずkodeinに変えた。

あと実装の参考はDroidkaigiアプリ(2016)のソース

github.com

他にもgithubでアプリの実装を公開しているところってあるのかしら

Android アプリ開発の効率化

アプリを開発したい。しかし仕事でandroidの開発をしているわけではないので なるべく躓かなく進められるようにしたい。 それらの知見をまとめてDroidkaigiで発表したい。

目標

  • 今年中に1本アプリをリリースする
  • Droidkaigi2017で発表してみたい

現在の状態

  • Android 2.2あたりで知識が止まっている。
  • Fragment, Navigationdrawerが使いたいが、よくわかっていない。
  • Javaではなくkotlin使いたい。

どうすすめるか

週末なんてものはない。 偉大なる先人の知恵 write code every day

  • 1.毎日コードを書くこと。ブログ、ドキュメント、Twitter、その他はコードを書いたらやってよい。
  • 2.意味のあるコードを書くこと。
  • 3.深夜 24 時前に終わらせること。
  • 4.書いたコードを github で全て OSS にする こと。

ここからどんなサイトをみて ライブラリの選定とか、Androidの開発方法のまとめとか。

Androidを開発するためのお作法

本家 https://developer.android.com/training/index.html?hl=ja

ベストプラクティス(翻訳) http://qiita.com/kgmyshin/items/a2358d54ffb3c5435d11#%E5%91%BD%E5%90%8D%E8%A6%8F%E5%89%87

ベストプラクティスからディレクトリ構成の検討 http://wannabe-jellyfish.hatenablog.com/entry/2015/08/08/231840

書籍

これが好き。本買う意味は無いけど、お布施したかった。 https://github.com/mixi-inc/AndroidTraining

ほかはいい本あれば教えて下さい。

Droidkaigi

Android】DroidKaigiで見たセッションで知らなかったこと驚いたことメモ http://qiita.com/takahirom/items/7d93282bb0ed25a367b4

資料まとめ http://unsolublesugar.com/20160218/134940/

Droidkaigi 2016 に行って来ました

感謝…圧倒的感謝

そんな感想がまず頭に浮かぶDroidkaigiだった

参加したセッション

  • OSSの動向を捉えた実装方針
  • Rxjava頻出パターン 11:30
  • Android Lintで正しさを学ぶ 13:00
  • Android Dev Tools Knowledge 14:00
  • Dagger2とRealmを利用したモダンな開発
  • 用途に合わせたアニメーションの実装方法
  • 実践!Android Studioプラグイン開発

OSSの動向を捉えた実装方針 11:00 [ 基調講演 ]

最高にcool
60個くらいライブラリの紹介してくれた

細かいまとめは

DroidKaigi 2016 で 紹介された Android開発に役立つ ライブラリ 集 と スライドリンクまとめ - Qiita

を見ればいいかな。

OSSを調査していくのは大事なんだけど、
今は自分で調査している時間がないだけにこのライブラリがいい、みたいな話をされるととても助かる。

Rxjava頻出パターン 11:30

わりとありそうな、シンプルな仕様から要望がいろいろ来てRxJavaつかってなかったら
涙目になりそうなところをこうしていきます。と解説してくれていてわかりやすい。
RxJavaを使っていない自分は、こう書けますとスライドを表示された時リアルに「おぉ」とか声がでた。

声が出たのは俺だけだった。

Android Lintで正しさを学ぶ 13:00

LinierLayoutの表示されないととToastの.showを呼んでないとかの事例紹介で
昔やらかしたことを思い出すことのできる良いセッションでしたね。泣いてない

こういうのがわかるっていうのは嬉しい
趣味で作りたい時にちょいちょい躓くとモチベーションを下がるからね。

Android dev tools knowledge 14:00

adbの使い方を実例してくれて参考になる。聞いてて楽しかった。
動画が公開されたら動画を見たほうが良いです。
apk引っ張り出したいときがあるじゃないですかとのことだったけど、 どういう時に引っ張りだすんだろう。

余談

とりあえず登壇者がadb大好きというのがよくわかった
あと沢山ソースを読んでそう。
macでデスクトップを幾つか表示させて使っているの、どうやるんだろう便利そう。

Dagger2とRealmを利用したモダンな開発 15:00

Dagger2の使い方を知りたかったけど、登壇者の説明が早くてちょっと良くわからなかった。
Realmの話にはいったときガッツリActivityに書きだした時DI はどうしたと心のなかで突っ込んでた
(その後でDagger2 + Realmの話はしてましたが。 )

Dagger2を調べるときはこのセッションと合わせて調べて見ようと思う。

用途に合わせたアニメーションの実装方法 16:00

いろんなケースのアニメーション実装方法を見せてくれた。
これでググッて消費しなくて済みますね。感謝

実践!Android Studioプラグイン開発 16:30

こにふぁーさんが登壇するということで、このセッションを見ようと思ったわけだけど、見てよかった。

まずこにふぁーさんの作ったこのプラグイン

https://github.com/konifar/android-material-design-icon-generator-plugin

見てて直ぐAndroid Studioに追加したくなった。
で、肝心のプラグイン開発の話はすごい分かりやすかった。
ってのとそこわからないから調べるだろうなってポイントが押さえられてるのが良かった。 (選択してる単語に〜を追加したいけど〜とか)


他、所感

今回の会場ではwifiは用意されていなかった。というかカンファレンスでwifiって用意されていなくても別にいいけどなぁ。
企業スペースに延長コード置かれてて、ご自由に充電してください状態だったけど、あれは使ってよかったのだろうか。
ランチが用意されてるって事前にどこかで通知されてたかなぁ、事前にわかったほうが嬉しいかも。
ハコスコがノベルティーで配られててもらって帰った。2014年だっけ?google ioのアプリあとでインストールしてみよう。

Droidkaigi 公式アプリ

twitterでこにふぁーさんがdeploygateのリンク貼ってるのをみてから
インストールしてぽちぽち触ったり、ソースもgithubにあるから見てたりしてた。
普段もこういう構成で開発しているのかなと思ったけど、利便性を考慮してディレクトリを分けたらしい。
読みやすいので書き方を学ぼうと思った。

まとめ

はやくも発表資料を纏めてくれる人がいるのでリンクをば

qiita.com

unsolublesugar.com

最後に

2日目は行けなかったので後日公開される動画でキャッチアップしたいと思う。

www.youtube.com

CROSS2016に行って来ました

ninjinkunさんのblogエントリを見て参加してみました。 アプリ開発と状態遷移の管理 - ninjinkun's diary

cross2016で参加したセッションはこちら

  • おーい、いそのー、エンジニアにとっての機械学習について考えようぜー!
  • そうだ、他社へいこう
  • 見つけよう、Dockerと開発・運用のいい関係
  • クライアントサイド開発をWebとNativeから考える

おーい、いそのー、エンジニアにとっての機械学習について考えようぜー!

ライブラリ使うだけならググればいいし、 機械学習アルゴリズム書きたいなら線形代数やっとけというのがまとめ。

セッション中興味を持ったのは、 効率的な学習で師匠を作るべきと言う話。

で、どうやってそういった存在と出会うのか。 答えはBlogを書くべきということだった。 Blogを書くとコメントをくれる人がいる。 そういったひとは教えたがりなので師匠となる素質を持っているので その人に弟子入りする。

技術系ブログっていい響きですねぇ。。  

そうだ、他社へいこう

まとめ

  • 転職エージェントを使うべきか

    • 使うと企業の多様性がもてる
    • ただし、いいエージェントを使うべき
    • エージェントを利用して面接までいくのはいい案かもしれない
  • エージェントを利用しない人は目的を持ってくる

    • お宅のサービスを直したいからとか
    • そういったひとがwelcomeっていうこともあるみたい

あとは実際に転職したひとのはなし。 引きぬかれたとか、前の会社から新しい環境に移りたかったとか。

見つけよう、Dockerと開発・運用のいい関係

良かったのは、参加者の話が興味深かったこと。

参加者のDOCKERの利用方法

  • Androidのテスト、エミュレータで利用している
  • Wordpressのサイトが作りたい->イメージをフォークして改編してデプロイでわーい
  • サーバにリクエストが来たらdockerを立ち上げる

AndroidのテストをDockerでやりましたという話は興味深い。是非詳しく聞かせてほしかった。。

pushしたらエミュレータをイメージ化してテストをdocker上で走らす的なことなのかな。 これが今回聞けて良かった点だなぁ。

エミュレータを動かすのは出来るみたい。

http://ksoichiro.blogspot.jp/2014/05/dockerandroid-dockerandroidgradle.html

こんどやってみよう。

クライアントサイド開発をWebとNativeから考える

web側とクライアント側にわかれてトークしましょうという内容。

全体的にweb側が良く喋ってた。

というかmizuchさんが。(喋り過ぎを本人も気にしていた)

まぁ、というわけでweb側のjavascript史を聞けて、そうなんだぁという感じ。

その他 会場について

iotの体験イベントでお土産にペーパープロトタイピング用の紙とスマフォの型をくれた。 良い。

しかし会場の環境は最悪。 机がないのが辛い。みんな膝にマック置いてる。 それはまぁ、しょうがないとしても音響! 壁がない(パーティションで区切ってた)のに近いところでセッションしてるわけで、 声はダダ漏れ。 そうなると自分の声を伝えたいからみんな声を張る。 というのを繰り返して大音響に。リアルに耳が痛い。

崎陽軒の焼売弁当は美味しかったです。

他の人の記事

togetter

togetter.com

最後に

こんなこと書くのもアレだけど、次は行かないかな。

DeNA Tech Con2016に行って来ました

DeNA Tech Con 2016

techcon.dena.com

何やるかわかってなかったけど面白そうだし行ってみるかと思って行ってみました。

参加したセッション

  • 爆速でAndroidアプリをビルドするための仕組み
    • TOYAMA YOSAKU
  • DeNAが取り組むSoftware Engineer in Test
    • NAKAGAWA MASAKI
  • DeNAのマルチプレイゲーム用サーバ「IRIS」
    • IKEDA OSAMU
  • カジュアルトー
    • チラシルの話(途中から参加したためタイトル不明)
    • シニアエンジニアが新規サービス立ち上げたあれこれ(とかなんとか)

爆速でAndroidアプリをビルドするための仕組み

ガルパンみてたので途中参加

なんかツール使ってほら早くなったでしょって言いたいだけにしてはわかりづらいデモで残念な感じだった。 サンプルっぽいアプリで高速化といわれてもなぁという感じ

それならデモするよりベンチマークの結果でも見せてくれたほうが嬉しかったような。

内製してる?ツールの他にBazelとbuckとほか何かがあるといっていた 他の何かはbuckより早いらしいとかいってたけど名前を失念した 気になる 前半classファイルをdex化して〜とかなんとか言ってた下りは到着直後だったのでよくわからなかった。残念。

instant runというandroid studio 2.0で導入されたbuildの仕組みを解説した内容だった

www.slideshare.net

DeNAが取り組むSoftware Engineer in Test

聞いてて色々質問したいこととかもっと聞きたいと思ったセッションがコレ。でも最初に質問時間ありませんといわれ残念 (懇親会は参加できなかったので・・)

世間的にはSETのほうが通りが良さそう。SWETってのはテストエンジニアとSETの組み合わせを指してるらしい。

組織化した話とかシナリオ書いててのあれこれとかもっと聞いてみたかった。あまりに気になったから発表後に質問したけど 質問が頭でまとまってないから大したこと聞けなかった。頭の回転が遅いのがいつも悔やまれる。

正直SWETになりたいとか一瞬おもった。

www.slideshare.net

DeNAのマルチプレイゲーム用サーバ「IRIS」

よくわからんかったのがこのセッション

なんでtech conって銘打っているのに執行役員と技術しらない人がインタビュワーっぽくなってトークセッション形式にしたんだろ?この二人が話すとそれまでは技術っぽい話だったのに雑談モードに入ってしまうので残念だった。

goとかでなくc++で作ったのは汎用性(ちがったかも)や速度を求めた結果とのこと

c++03か11かは悩んだ末03にしたあと一部11に移行したとか

カジュアルトー

カジュアルトーク会場という狭い会場でプレゼンしてた 正直ここの話しのほうがコマイ話とかしてて好きだった というかシニアエンジニアのひとがこういうとこで話すのって始めて見た気がする

チラシルの話。。多分(途中から参加したためタイトル不明)

チラシから文字をOCRするために頑張った話をしていた

今は手入力?しているけど(コレ自体が高速でシステム化の余地あるの?って感じらしい)システム化して値段設定やタグ付けのサポートができたとかなんとか。

OCRのとこは今後ディープラーニング使うとか改善の余地ありみたいな結論だった

それより最後のまとめでシニアエンジニアになることの面白さというか役割はサービスに責任を持つことにあるって話が心に刺さった。 なんというかマネージャーとしていきることはエンジニアとして死ぬことではないということを言ってもらえた気がする (違うかも

シニアエンジニアが新規サービス立ち上げたあれこれ(タイトル失念)

最後のカジュアルトークだからかDeNAの社員さんが会場の大半をしめていたらしい(と言っていた) そのせいか雰囲気はよかった。

Mirrativってサービスを開発するにあたり尖ったサービスにするには何をするべきかって話をされていた。

よくあるアジャイルで開発していくとアレもしたいコレもしたいと追加機能が出てくる。そうすると機能のプライオリティは全て最高ランクに集約されてサービスとしてアレも出来るコレも出来るぼんやりしたもになる

で、対策として考えたのが機能の足し算ではなく引き算すること。

付加価値ではなく、サービスの価値を高めるものだけ追加するように努めた

んで、そういう引き算をするのにエンジニアは向いてるから頑張ろうってことでした。 サービス開発で引き算を考えるというのは今後重要って言われていくだろうなと感じた

引き算で難しいのは否定的になる意見をいうので嫌われたりするし、そう思われるのが大変との事だった。

だよなぁ、追加しようって言う話のほうがテンションあがるもんねぇ

否定的でなく前向きに引き算するにはって話を誰かしてたりするんだろうか

資料とかあげてくれるのかな?

感想

DeNA Tech Conに参加して、SWETとかシニアエンジニアとか今一度自分が何をしたいか考えようと思った。

目標、大事

最後に他のひとのまとめ記事など

toggagger

togetter.com

titter

2016

新年明けましておめでとうございます

まだ1月31日、今年は始まったばかり blogは無理せずtech系のイベントに参加したことを書いていこうと思います。

今年の抱負はAndroidアプリ1本のリリースとGithubのcommitを150日以上に増やすこと。 (去年は3回だった・・・ひぇ・・) 結婚したり子供が出来るとコードを書く時間どころか自分の時間がほぼなくなるわけで 週末になにかやろうなんてのは無理ということがわかるわけですが

John Resig - Write Code Every Day にかかれているように毎日コード書くほうがちゃんとコード書くようになるよってのを参考に 今年は頑張りたいと思います。

今年の年末はどれだけ出来たか振り返ります。(多分

YAPC Asia 2015 に行って来た

YAPCはblogを書くまでがYAPCですとのことなので何か書いておく。

参加したセッション

  • Web由来の組み込みエンジニアの半年間のすべて 〜WebとiOSとBLEとハードウェアデバイスのこと〜
  • TBD(というタイトル
  • Perlで学ぼう!文系プログラマのための、知識ゼロからのデータ構造と計算量
  • Electron: Building desktop apps with web technologies

Web由来の組み込みエンジニアの半年間のすべて 〜WebとiOSとBLEとハードウェアデバイスのこと〜

時間いっぱい話されて60分のセッションなのに凄い楽しかった。 webエンジニアが組み込みに入って一から苦労した話と 起業して、製品を作るときに工夫した話とか開発外の部分をどうしたのかって話がどれも面白かった。

webサービスでいうところの”あとは運用でカバー”にあたる ”あとはファームでカバー”という組み込み系の闇がうけた。

これからiotをやるにあたってwebエンジニアも組み込み系エンジニアも 等しくファーム頑張れってことらしい

スライド Web由来の組み込みエンジニアの半年間のすべて 〜WebとiOSとBLEとハードウェアデバイスのこと〜

TBD(というタイトル

今回のセッションではRubyは封印!!
 ↓
5分後
  ↓
封印を解くときが来たようだ ∑(゜ロ゜

とにもかくにも笑いのおこったセッション

だけど途中難しくてよくわからんかった。 rubyクンフーが足りない

Perlで学ぼう!文系プログラマのための、知識ゼロからのデータ構造と計算量

もし知らない人に話すときの参考と もし自分が忘れてたらと思って聞いた

さすがに忘れてるってことはない内容だったけど わかりやすい説明だった。

前振り〜からこうなって、これってこうじゃね? ならもっとこうなるべ〜みたいなストーリが秀逸

ただ立ち見で見てたので40分くらいで離脱

Electron: Building desktop apps with web technologies

@benogle

atomがcooolなところは、webテクノロジーを活用してるってところ。

google docsに似てhtml, cssで作成されてるからやりたいことに集中できるっていう いわゆるアレ。

どのぐらい凄いかというと猫検出アプリが2時間で作れるレベル

atomはelectoronさんの上にのってて コアな部分はelectronさんが担当してる。めっちゃ便利。

ただし俺はatom担当でelectron作ってないぜ! とか言われてほわーってなった。

でもなんかアプリ作ったりしてみたくなるデモだった。

おまけ

昼飯を一人で食べてたらわいわいセッションに参加した感想をいいあっているひとをみて羨ましかった。もっと勉強会とか参加して人脈広げたい。。

おまけ2

会社で受講する〜〜研修より為になるなみたいなことを話してるお兄さん方がいた。禿同

おまけ3

会場が狭いのかわからないけど、すぐに満室になるので途中からふらっと参加〜 みたいなことは出来ない感じ。 こういうカンファレンスで初めて味わった

おまけ4

wifiがめっちゃ快適なのとベンチとコーヒーがあって休憩も快適だった。 ドーナッツ買ってくれば最高だったなー。(何しにいってるんだ