省エネ

Flutter、vue3修行中。

AmebaTV Developer Conference へ行ってきました

abematv.connpass.com

 

先日、こちらのカンファレンスへ行ってきました。

ちょうどお仕事でも動画をやっていたので、

動画をネイティブアプリに実装する方法や苦労など、

いろいろ共感持ちつつ、なるほどなっていうお話が多くて面白かったです。

 

資料等はこちらから見れそうです。

AbemaTV Developer Conference 2016

 

Web、iOSAndroid全てでFluxを採用してるみたいですね。

なるほど、FluxというとWebなイメージでしたがネイティブでも有効なんですね。

 

結構具体的な実装方法を教えてもらいましたので、

丁度お仕事でiOSアプリを作ろうかと思っていたのでFlux使ってみようかと思います。

 

 

あ、あと、AndroidはKotlinで作ってるみたいで、羨ましかったです。

弊社でもKotlin使いたいけど、一緒にやる人達がガチ初心者っぽいので最初はJavaにしてあげるのが親切なのかなぁって思います。

 

 

【Android】Realmで画像を保存したい for Kotlin

最近、個人的にAndroidアプリをKotlinで作っています。

 

DBをどうしようかと考えた時にせっかくなので話題のRealmを使ってみようと思いまして、さっそく実装してみました。

 

さて、このアプリなのですが、

アプリの中で画像を端末から取得してDBに保存。

別の画面ではDBから取得した画像を表示。

 

という処理をさせたいのですが、SQLiteでこのような処理をさせたい場合にはDBの型をBlob型にしていたと思います。

 

しかし、RealmにはBlobがないのです。

あーどうしようと悩みに悩んで、別のSQliteのORMを使おうかとごにょごにょやったのですが、どれもイマイチだったりうまくビルドが通らなかったりで結局Realmに戻ってきちゃいました。

 

まー。

別にBlobがなくてもbyte[]があったんで、何も悩む必要はなかったんですけどね。

 

以下、私がどうやって画像を保存したかです。

 

 

Realmで画像保存 — Bitbucket

 

 

と、そんな感じでできました。

 

 

しかし、Realmだと、autoincrementができないんだそうで、

自前で今一番Idの大きいの+1とかしないといけないんでそこがちょっと不満です。

 

が、まぁmぁ今のところ快適に動いています。

 

まだMigrationの仕方がわかってないので、

もう少しいろいろ弄ったり調べたりする必要がありそうです。

 

 

【VR】WebVR勉強会へ行ってきました

eventdots.jp

 

本日はこちらのWebVR勉強会へ行ってきました。

 

WebVRを使いたい方はこちらを熟読!

developer.mozilla.org

 

WebVR対応ブラウザが知りたい方はこちら!

 

Is WebVR Ready?

 

WebVRコンテンツが作りたい!

そんな時、これが便利そう。

 

github.com

 

マークアップ言語的なものでオブジェクトが作成できする。

A-Frame Editorなるものもあるようですが、サイトを見つけられませんでした。

まだ開発途中だそうです。

 

 

しかしながら、なんといってもやっぱりVRコンテンツを作るにはUnityが便利そう!

 

 

ってことで、

GitHub - gtk2k/Unity-WebVR-Assets: UnityでWebVRに対応したWebGLビルドを行うテンプレートおよびアセット

 

 

こちらをDLしてUnityに読み込ませてやると、UnityとWebGLとがやりとりできる仕組みがすぐに作れて便利!!

 

ってことでした。

 

 

まだWebVRは対応しているブラウザも少ないし、まだまだこれからって感じでしたが、

どんどん盛り上げていこうぜ!

って感じでした。

 

【Android】RxJavaでHello, World!

さて、来月から他社へ協力会社社員として出向することになっているのですが、その会社からこんな指令が下りてきました。

 

『RxJava勉強しといて。

あ、あとretrolambdaも使ってるから、よろしく!』

 

掻い摘んで説明するとこんな感じでした。

ふむ、今まで気にはなっていたけどついぞ使わずに来てしまったリアクティブ系のライブラリを使う時がきたようだ。

 

ってことで、とりあえずHello, World!しました。

ちなみに、Androidです。

ソースはこれ。

 

RxJava Hello, World! — Bitbucket

 

内容はいたってシンプル。

Ovservableのfrom()に["Hello,", " World!"]というStringの配列を渡してあげます。

fromはリスト、配列を引数にとるメソッドです。

次にreduce()を呼びます。

これは、要素どうしを集積するメソッドです。

このソースだと、pが今までのcが現在の要素です。

ラムダ式を使って(p, c) -> {/* 処理 */}って感じに書き直してみました。

っていうか1行だからここはわざわざ{}しなくても良かったですね。

「.reduce((p, c) -> p + c)」でもOK。

でsubscribe()でTextViewに結果を表示しています。

 

すると、画面上のTextViewnにはhellos配列に書かれた文字列が連結されて「Hello, World!」と表示されます。

 

他にもズンドコキヨシとかやってみましたが、こちらはどこかのブログで紹介されてたコードをまるっと書き写しただけなので割愛。

全てメインスレッドで処理されていて、キヨシがでるまで画面が真っ白なのでいつか改善したいです。

 

とりあえず、簡単な使い方は分かったかしら。

RxJavaの機能は凄く沢山あるので、出向のその日まで色々試してみようと思います。

 

 

【雑談】カヤックさんのお仕事展へ行ってきました&反省文

atnd.org

 

去る、2016年5月21日にこちらカヤックさんのお仕事展へ行ってきました。

これはどういう催しかといいますと、お仕事展と同時に1社だけの合同説明会というのも開催されておりまして、転職社向けの説明会とカヤックさんの作った作品の展示ですね。

 

結論からいうと凄く、面白かったです。

14時頃に入場し、エレベータを上がるとそこには長蛇の列が!!

 

何事か!?

と思うとVRコンテンツで遊ぶ為の整理券の列でした。

 

その列の脇をすり抜け、受付を済ますとパンフレットがもらえましたので、そこに書かれたフロア地図をみながらおめあての「つくっていいとも」会場へ。

 

私はこれが見たかったんですよ!

会場はちょっと狭めの会議室の1室でしたが、もう人がはみ出る程の大盛況でした。

 

つくっていいともというのは、カヤックさんの社内イベントで、月に1回、個人がこそこそ作っているものを発表する会なのだそうです。

 

凄く楽しいですよね。

弊社にも導入したいです。(弊社では消極的な人が多いので難しそうですが。)

 

内容は本当に多種多様。

webアプリだったり、webコンテンツだったり、デバイスだったり、ライトセイバーだったり。

なんでもありです。

こういう発表から刺激を受けてまた新たなものが誕生したり、すでに商品レベルに達しているものもあったり。

こうやって素敵な作品は世の中に出て行くのですね。

 

私も頑張ろう。

そう思った1日でした。

 

 

ところで、タイトルの後半反省文なのですが、このブログを作った当初(とはいえまだ半年前くらい)は毎日ブログを書こうと思い立って始めたのに、履歴を改めて見てみると月に1記事書いてるかかいてないかくらい。

ちょっと反省してもっと更新頻度をあげようと思いました。

ネタを出せるようにもっと色々やっていかないといけませんね。

 

そんなことを思った今日この頃でした。

【angular2】angular勉強会へ参加してきました

angularjs-jp.doorkeeper.jp

 

去る、5月17日、私は会社の先輩とこちらの勉強会へ参加させていただきました。

勉強会は基本ぼっち参戦なのですが、今回は先輩にもangular2がいかに素敵であるかを知って欲しくてお誘いしてみました。

 

Reference for the Angular 2 ecosystem

ngカンファレンスで発表されたツール達の紹介ですね。

まだどれも使ってないので、これから使ってみようと思います。

 

ng-conf ピックアップ的な何か

上の方と同じ感じでしたが、アニメーションに感動した話し。

ぐりぐり動くうざい何かが作れるっていう。

ちょっとやってみたい。

 

Decorator

TypeScriptのDecoratorの仕組みを解説してくださいました。

すごく、難しいです。

 

Angular2-rc.1 Unitテスト

テスト環境の作り方とか、angular1からの合理的な移行方法について考えてみたっていうお話。

 

 

そんなこんなで、私のangular2レベルはやっとコンポーネントが作れるようになって、わーい画面ができたぞーーーって段階。

まだまだ覚えなくちゃいけない事や機能やツールが沢山ありそうです。

 

今後、何か作ってここで公開したいと思います。

余談ですが、同行した先輩もこのセッションを聞いて『面白い』って言ってくれたので、社内向けツールを作る時等に積極的にanguralr2を使って行きたいと思います。

 

GoLange勉強会へ行ってきました。

kug2.connpass.com

 

4/17に関西golang勉強会へ行ってきました。

この日は梅田のサイボウズさんの会議室へ。

 

しかし、私、東北出身、関東勤務の者でして、

大阪駅周辺は全然土地勘がなく、もう迷いに迷ってなんとかエレベータのエントランスまでたどり着いたものの、乗り込んだエレベータが15階までしかボタンがなくて、完全に心折れましたね。

 

以下、概要。

 

 「テレビ連動プラットフォームでのGo」

 

テストライブラリの紹介?てすかね。

こういうのを使ってますっていう。

 

go-errors/errors

GitHub - go-errors/errors: errors with stacktraces for go

エラーをラップする何か。

 

glide

GitHub - Masterminds/glide: Package Management for Golang

パッケージマネージャ。

 

カバレッジレポート
gocav-html

 

デバッガ
delv
プロセス指定して実行、ビルド済みのものもデバッグできる。

これかな?

GitHub - derekparker/delve: Delve is a debugger for the Go programming language.

 

「Go破壊」

 

Go破壊とは!

http負荷テストツールです。

有名どころでグリーン破壊というのがあるそうです(使ったことない)

このグリーン破壊よりもより強力に破壊できるとのこと。

 

 

マスター・オブ・reflectパッケージⅡ

すいません、勉強会参加からだいぶ時間が空いてしまったので、

あまり覚えてないです。。。

 

goでp2pしよう!

p2pの仕組みとGoでの実践方法について説明していただきましたが、

私にはまだ早すぎたようです。

 

俺と生活とgolang(仮)

ラズベリーパイと組み合わせてボタンを押したら最寄駅の時刻を音声でお知らせしてくれるアプリを作ったようです。

 

そんなこんなで、大変面白かったです。

今、社内で使う事務処理系のシステムを作ろうかと思っているのですが、

個人的にはGoでやりたいんですよねー。

 

しかし、弊社かなり最近の言語疎い系エンジニア揃いでGoをそもそも知っている人がいない。(名前を聞いたことすらない)

ということで、Scalaなら若干知っている人がいるのでScala採用になるのかなぁと若干残念な気持ちでおります。