2017年ですね
今年もゆるく雑に真面目にがんばります
雑なのか真面目なのかイマイチはっきりしないところが長所だとおもってます
よいお🍣 を〜
GoogleとSlackが連携した世界へようこそ
Googleの一部サービスがSlackと密に連携し始めてますね。
以下の記事とか見れば内容はわかりそう。
TechCrunchの「戦略的連携」という単語にはちょっと違和感覚えますが、本当にSlackとGoogleが密な連携をした場合の世界を考えてみた。
Google側の視点だけ雑に考えてみる。んまー暇だったので思考実験です。
GoogleはSlackの何がほしいか
ここでは連携 = Slackが持つデータをGoogleに提供するみたいなレベル感で考えてみる。
GoogleはSlackの何がほしいか考えてみた。
- 会話データ
- 検索とは違った自然な会話データ
- SNSとも違う性質を持ったデータになりそうな気がする
- 会話をするプラットフォーム
- Googleもハングアウトなどを持ってるけど、Slackはまた別性質な気がする
ほしいものを手に入れたGoogleは何をするか
じゃGoogleさんはSlackからほしいものを提供されて、何をするのか。
- 会話の検索
- 機械学習への活用
- Slack上でやりとりされる様々な言語の会話データが手に入るので、それをAIに学習させるとか良さそうじゃんか
- より自然な会話ができるAIが作れそう
- 発言に対するリアクションとかを学習したらハイコンテクストなことも学習しそう
まとめ
「世界中の情報を整理し、世界中の人々がアクセスできて使えるようにする」というGoogleの使命的には、やっぱりSlackの中も検索できるようにしたいのかなーとか思ったり。
Facebookのように検索できなくなるほど大きな壁を作られる前に、GoogleがSlackをIndexする世界はくるんでしょうかねー
2016年 ぱないー ふりかえり🍩
合計 21ぱないのー でした
前半戦のまとめは以下
ぱないのー pic.twitter.com/838pQfPaoD
— shinobu.apk (@operandoOS) 2016年12月30日
ぱないのー pic.twitter.com/TLlQTiRHmV
— shinobu.apk (@operandoOS) 2016年12月26日
ぱないのー pic.twitter.com/Vz1x7jZhZ8
— shinobu.apk (@operandoOS) 2016年12月4日
ぱないのー pic.twitter.com/1mg54SxR9v
— shinobu.apk (@operandoOS) 2016年11月19日
ぱないのー pic.twitter.com/F8ibN2b6EK
— shinobu.apk (@operandoOS) 2016年10月10日
まとめ
ぱないのー
ちなみに、ミスドのポイントカードとか持ってないっす...
2016/12/29の30分 Kotlinメモ🍞
2016/12/29の30分 Kotlinメモ🍞
Kotlinスタートブック -新しいAndroidプログラミング を引き続き読んでる。
Androidアプリ組んでみるところ読んでる。
Kotlinスタートブック -新しいAndroidプログラミング
- 作者: 長澤太郎
- 出版社/メーカー: リックテレコム
- 発売日: 2016/07/13
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
KotlinでAndroid版 雑雑Qiita Clientを作っていく。
KotlinでParcelerを使いたいぞい!!
Parcelerとは?これ(以下略
せったくKotlinのdata classはキレイなのに、自分でゴリゴリParcelable実装するとかねーないわー
Javaでもだるい!pluginで自動生成できるとしてもだるい!変数増やすと書き直さないとだし、だるい!
だるいぞ!!!!!!!
だからKotlinでもParceler使わせてくれ、頼む🙏という気持ちなわけです。
あーただAnnotation ProcessorだからなーKotlinあれか、kaptね。いまいちわかってねーけど、あれね。
んで、やっぱりそのまま使おうとするとエラーになるんで、以下のQiitaの通りにしたら動いた。
暇があればもう少し真面目にみますみます
まとめ
最近「雑種ども!」を語尾につけてTweetすると、ちょっとLikeされて嬉しいです🍞 ギルガメッシュ様かっくいい🍞
2016/12/28の30分 Kotlinメモ🐮
2016/12/28の30分 Kotlinメモ🐮
Kotlinスタートブック -新しいAndroidプログラミング を引き続き読んでる。
ざっくりKotlinの概要は終わったので、Androidアプリ組んでみるところ読んでる。
Kotlinスタートブック -新しいAndroidプログラミング
- 作者: 長澤太郎
- 出版社/メーカー: リックテレコム
- 発売日: 2016/07/13
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
んで、今日からはKotlinでAndroid版 雑雑Qiita Clientを作っていく。
書くことは減りそうだけど、書いていく上で気づいたこととかあれば書いていくかなー
Kotlin版 BindableAdapter
ListAdapterを便利にするBaseクラスとして使ってるBindableAdapterをKotlinで書き直した。
abstract class BindableAdapterKt<T>(context: Context, episodeList: List<T>) : ArrayAdapter<T>(context, -1, episodeList) { private val inflater by lazy { LayoutInflater.from(context) }; override fun getView(position: Int, view: View?, parent: ViewGroup?): View? { val newView = view ?: newView(inflater, position, parent) newView ?: throw IllegalStateException("newView result must not be null.") bindView(getItem(position), position, newView) return newView } abstract fun newView(inflater: LayoutInflater, position: Int, container: ViewGroup?): View? abstract fun bindView(item: T, position: Int, view: View) }
エルビス演算子使えばいいのかなー?とかなんとなくKotlinっぽく書く努力をした結果がこれ。
ちゃんとSmart Castも使ってるよ?やるでしょ?
Java版はこんな感じ。
public abstract class BindableAdapter<T> extends ArrayAdapter<T> { private LayoutInflater mInflater; public BindableAdapter(Context context, List<T> episodeList) { super(context, -1, episodeList); setup(context); } private void setup(Context context) { mInflater = LayoutInflater.from(context); } @Override public final View getView(int position, View view, ViewGroup container) { if (view == null) { view = newView(mInflater, position, container); if (view == null) { throw new IllegalStateException("newView result must not be null."); } } bindView(getItem(position), position, view); return view; } public abstract View newView(LayoutInflater inflater, int position, ViewGroup container); public abstract void bindView(T item, int position, View view); }
まとめ
実際にコード書き始めるとめっちゃJavaっぽく書いてしまって...あとセミコロンな!