dex.fm に出ました。MVPアーキテクチャと現在のチームについてお話しました。
dex.fm告知が下手すぎるので、次はちゃんと考えていこうと思いました…………
吉祥寺に来るとメチャクチャ酔っ払ったこと思い出して真顔になる
— ひさいち (@hisaichi5518) 2016年12月2日
そうです、吉祥寺です。
今はPerlはまったくやっておらず、Android Javaと戯れる日々ですが、はてなブログで話題になっていたお題「エンジニア立ち居振舞い」について話してきました。
発表者ノートとか時間が表示されてない状態で話し始めてしまったことに途中で気づいてめっちゃ焦った………
— ひさいち (@hisaichi5518) 2016年12月2日
ありがとうございました!!
togetter.com
これを読んで結構当てはまるな〜と思ったので読んだ。
困っていることチェックシートを眺めてると「なるほどね〜」という気持ちになった。
悲しいことに30歳に近づいてきたので、そろそろ大学生のときに買った服着るのやめるかと夏頃思い立ち、服を買い換え始めた。
僕は何事にもレベルがあると思っていて、なにか新しくやるときはレベルを大きく3つくらいに分けたあとに次に目指すべきは何か考える。
今回は、「シャレてない」「外してない」「シャレてる」の3つに分けて、自分は言わずもがな「シャレてない」の部類だったので、まずは「外してない」を目指すことにした。
「外してない」になるために必要なのはなにか考えて、以下を満たせば「外してない」のでは?と思ったので、それを満たすように服を買った。
やってみると結構お金がかかってつらい事がわかった。
あと変化に気づく人が案外多くて、CTOには「色気づいた」などと小馬鹿にされましたが無視しました。
AndroidアプリのViewのXMLは、平べったくなるように書いてる。
今までは、ある条件を満たす時にはAとBとCを消して、満たさない時はAとBとCを表示するみたいな事をやりたい時に全部のViewを指定していた。
そうすると後で何かViewを追加した時にどちらかの方では変更し忘れるとか起きうる。変化に弱い。
@BindView(R.id.hoge_name) View hogeNameView; @BindView(R.id.hoge_address) View hogeAddressView; @BindView(R.id.hoge_tel) View hogeTelView; void onCreate() { ... ButterKnife.bind(this); ... } public void hideHoge() { hogeNameView.setVisibility(View.GONE); hogeAddressView.setVisibility(View.GONE); hogeTelView.setVisibility(View.GONE); } public void showHoge() { hogeNameView.setVisibility(View.VISIBLE); hogeAddressView.setVisibility(View.VISIBLE); hogeTelView.setVisibility(View.VISIBLE); }
ButterKnifeのview listsを使うとこう書ける。ひとまとめに出来るので、変更が起きた時も変更しやすい。
@BindViews({ R.id.hoge_name, R.id.hoge_address, R.id.hoge_tel }) List<View> hogeViews; void onCreate() { ... ButterKnife.bind(this); ... } public void hideHoge() { ButterKnife.apply(hogeViews, new ButterKnife.Action<View>() { @Override public void apply(View view, int index) { view.setVisibility(View.GONE); } }); } public void showHoge() { ButterKnife.apply(hogeViews, new ButterKnife.Action<View>() { @Override public void apply(View view, int index) { view.setVisibility(View.VISIBLE); } }); }
ただこのブログを書いてる時に以下のようなコードを書いた場合、値はどうなるんだろうなぁと思った。確かめてはないけど、VISIBLEのままだとハマったりしそう。
@BindView(R.id.hoge_name) TextView hogeNameView; @BindViews({ R.id.hoge_name, R.id.hoge_address, R.id.hoge_tel }) List<View> hogeViews; onCreate() { hogeNameView.setVisibility(View.VISIBLE); ButterKnife.apply(hogeViews, new ButterKnife.Action<View>() { @Override public void apply(View view, int index) { view.setVisibility(View.GONE); } }); hogeNameView.getVisibility(); //=> ??? }
もっと早く使っとけば良かった。もしくはもっといい方法があれば知りたい。
100円払って同僚の家の灯りを付けたり消したりする権利とキラキラ光るステッカーもらったりした。人が多いのが苦手なので、遅めに行ったんだけど、まだ人が結構いてびっくりした。頭にデカイなにか付けた人とか全身白タイツの人とかいて、わあって思った。すごい熱気だった。
見終わった後に良さげなビールバーがあったのでそこで飲んでたら、インターネットヤミ市の人たちが来たので一緒に飲んだ。そこで合い挽き肉Tを買った。気に入ったので常用したい。
絵らしい すごい pic.twitter.com/pQwbNs9MFF
— ひさいち (@hisaichi5518) 2016年10月16日
そこで「よくわからない飲み会がありますが、来ますか」と聞かれたので「行きます」って答えてよくわからない飲み会に参加した。
イッパイ pic.twitter.com/SvM2qWMZTX
— ひさいち (@hisaichi5518) 2016年10月16日
良さげな飲み屋も教えてもらったし、面白かった。