techium

このブログは何かに追われないと頑張れない人たちが週一更新をノルマに技術情報を発信するブログです。もし何か調査して欲しい内容がありましたら、@kobashinG or @muchiki0226 までいただけますと気が向いたら調査するかもしれません。

2016-01-01から1年間の記事一覧

ワークフローエンジンDigDagのサーバ/クライアント構成を試してみる

ワークフローエンジンというのを知っていますか。 申し訳ないのですが私は全く知りませんでした。 ワークフローエンジンの定義は仕事の流れをツールが回してくれるツールのことが一般的のようです。 幾つかそういったワークフローエンジンがあるようですが今…

GcmNetworkManager使って21未満でもJobSchedulerっぽいことする

Motivation 存在はよくJobSchedulerの説明と一緒に現れるので知ってたけど、後回しにしてしまってたので。 JobSchedulerの使い方の記事と一緒にどうぞ。 techium.hatenablog.com GcmNetworkManagerは21まではplay-servicesを使ってJobSchedulerのバックポー…

PlantUMLのアクティビティ図の新記法と旧記法の違いを確認する

前回の記事ではAndroidStudioにPlantUMLのプラグインを追加してFizzBuzzをアクティビティ図で表現してみました。 そこでアクティビティ図の作成には2つの記法があるということにさらっと触れましたが、今回はそれぞれの記法で同じ図を作成してそれぞれの違い…

Mac(El Capitan)にTensorFlowを入れようとしてハマった残念な私

機械学習に入る前の備忘録and私の残念な思い出話。 発端 少しずつ機械学習の勉強を始めていた私ですが、今週末は出張になってしまいました。 自宅のデスクトップ環境だけでしか作業できないのは不便... よっしゃ!この機会に調子悪いMacをクリーンしてEl Cap…

Rails 5.0 RC1が出たと聞いたのでインストールしてみた

こんにちは。RoR永遠の初心者seitです。 Railsに5.0 RC1が出たというのをチラッと目にしたので、インストールして少しさわってみました。

Google Nearby Messages APIを使ってみる〜セットアップ編〜

Nearby Messages APIはBluetooth Bluetooth Low Energy Wi-Fi 超音波モデムの組み合わせでデバイス間通信を行う仕組みである。 GooglePlayServicesの一部として提供されている Nearby Mesasges APIを利用可能なバージョンは以下のとおりである。 Android OS…

ETC1を使ってデータ量を少なくする

Androidで画像リソースを利用する場合はPNGが多いと思いますが、PNGは可逆圧縮のフォーマットのためどうしても一定サイズ以下にデータを小さくできません。 そこでよく行われるのPNGを最適化して使ったり、WebP、JPGなどが良くあります。 最近ではVectorDraw…

Google I/O 2016 参加レポート(もはや日記) 2日目

Google I/O 2016 2日目 Google I/O 2016 参加レポート第2弾。 1日目は Keynote メインで書いたが、会場全体についてや、参加してきたセッションについても触れていこうと思う。 Google I/O 2016 2日目 会場全体図 Google Plex Google Merchandise Store セ…

AndroidStudioでPlantUMLを使う(Mac)

最近業務でPlantUMLを使い倒してるけど、そういえば自宅のMacbook Proには入れてなかったなーと思ったので導入してみたメモ。 「PlantUMLってなんぞや」という人はこの辺見てみると幸せになれるかも知れません*1。 *1:まだastahで消耗してるの?

Google Cloud Vision APIを使って顔識別用の顔画像を作る

動機 Tensorflowで顔識別をさせてみたいが,顔画像を大量に用意しなければならない。 顔認識をさせて顔画像を切り出さないといけないが,調べてみるとOpenCVの顔認識はデフォルトだとそこまで精度は高くないらしい…。 そこで今回は,Google Cloud Vision API…

ChefでNginx + Unicorn + Railsの開発環境を構築する

これまでMacにRailsの開発環境を構築していましたが、久しぶりに触ると環境がおかしくなってたり、いちいち環境構築し直したりがめんどくさ過ぎたので、Chefで環境の構築と管理ができれば幸せになれそうな気がしてました。 また、できるだけ本番に近い環境で…

AndroidStudioをビルドする

Motivation AndroidStudioの機能デバッグしたいんだけど、と前々から思ってたので時間とれたついでに試してみた。 ソース読んだりするのもIDEに食わせると楽できるのでオススメ。 Motivation repo sync Java6とJava8のインストール Intellij CEのインストー…

JackでDagger2が使えるようになった

先日、JackでDagger2が使えないという記事を書きましたが、なんとJackでもDagger2が使えるようになりました! Dagger2だけじゃなくannotation processingが使えるようになりましたので、他のツールも動くようになりました。 なぜ動くようになったかというとG…

Google I/O 2016 参加レポート(もはや日記) 1日目

Google I/O 2016 1日目 Google I/O 2016 に参加してきました! 例年会場はサンフランシスコ市街地にあるモスコーニ・センターでしたが、今年から会場が変更になるというイレギュラー。 (去年までの情報を色々参考に行けばいいやぐらいに考えていたのに。。) …

ChefでNginxをインストールし、設定ファイルをChefで管理する

今回は、ChefでNginxをインストールしてみたので覚書きです。 また、NginxをChefでインストールする場合、設定ファイル(nginx.conf)もChefで管理するのがベストです。 ということで、今回はNginxのインストールと設定ファイルの書き換えまでをChefで自動化し…

RxJava:Error Handling Operatorを使ったエラーハンドリング方法を理解する

RxJavaではObservableでExceptionが発生した場合、デフォルトではそのObservableを監視しているObserverのonErrorメソッドが実行され、出力元のObservableが終了します。 想定外のエラーが発生して処理を続行することが困難な場合はonErrorで適切な後処理を…

The experts' guide to Android development toolsで紹介されてたASショートカット(気になったのメモ

Motivation Google I/O 2016のセッションを少しずつ消化しているのだけれど、「The experts' guide to Android development tools」のセッションで紹介されていたAndroidStudioのショートカットが有用っぽいので備忘録がてらまとめておく。 とりあえず「ctrl…

AppLaunchCheckerを使って初回起動を判断する

Androidアプリを作るにあたって初回起動を判断する必要があると思います。 よくあるケースとしてははじめて起動した時にチュートリアルを表示して、2回目以降はチュートリアルを出さないようにするなどの処理を考えたりするときに判断が必要になります。 一…

RxJava:doOnEach系メソッドでObservableのライフサイクルを理解してデバッグに役立てる

今回はRxJavaのdo〜系メソッドを使ってObservableのデバッグに役立てる方法を紹介します。

Android Studio 2.2 PreviewでFirebase Analyticsを利用してみる

Google I/O 2016で発表のあったFirebase Analyticsについて、ちょっと試してみました。 Firebase AnalyticsはFirebaseの機能の一つで、AndroidやiOSなどのアプリケーションのイベントログを収集してレポートを作成してくれます。そのレポートを確認すること…

MaterialDesignのLoading中のProgressを作る

Motivation Material Designのガイドラインのコレが気に入ったので、汎用的に使えるようにFragmentで書いてみた。 Progress & activity - Components - Google design guidelines Motivation Progress Barを実装する FadeIn/FadeOutを実装する Activityから…

昼/夜のテーマを切り替える

AndroidではUiModeManagerを用いると端末自体のモードを切り替えることができましたが、アプリ内のテーマやリソースを切り替えることができませんでした。 最近になってAndroidのSupport Libraryに端末モードの切替に応じてUIのテーマやリソースを切り替える…

RxJavaのFiltering Operatorの使い方をまとめてみた

ReactiveExtenstionの根本的な概念としてObservableとOperatorがあります。前回はRxJavaをより深く理解するためにObservableの生成メソッドをまとめてみました。 今回は前回に続いて、Observableから流れてきた値をフィルタするFiltering Operatorの使い方を…

Berkshelfを使ってChef SupermarketからCookbookを取得してみる

前回は、Chef soloとKnifeを使って自分でCookbookを作成し、ゲストOSに適用しましたが、今回はChef SuperMarketに上がっているCookbookを取得してゲストOSに適用します。 Chef SupermarketはChefユーザのコミュニティで、Chefユーザ達が作成したCookbookやツ…

DataBindingで双方向バインディングしてみる

Motivation 色々調べ物をしつつ、お試しを書いてたらこんな事できたよ!と書いておく。 実際にどんなところで良いことがあるのかはわかんない。 Motivation つくるもの layoutの編集 Dataクラスの編集 つくるもの EditTextにテキストをインプットすると、そ…

Cloud Test Labを使ってテストしてみる

Androidのアプリを開発するうえで様々な端末やバージョンに対応する必要があります。 しかし、端末とバージョンを網羅的にテストするには費用がかかってしまうため基本的に個人の力で網羅するのは現実的ではありません。 そこでGoogleが提供しているCloud Te…

RxJavaのObservable生成メソッドを一通り試してみた

RxJavaを使いこなすためにはObservableを理解することが欠かせません。今回はより深くRxJavaを理解するためにObservable生成メソッドの挙動を調べてみました。 RxJava(というかReactivePrograming)については、以前も紹介した以下の記事が大変分かりやすかっ…

AndroidでFlexboxLayoutを使ってViewを並べる

FlexboxLayoutなるものが出たというのをチラッと見たので、どんなものなのか試してみました。 github.com FlexboxLayoutは、CSS Flexible Box Layout Module をAndroidに持ち込んだものらしい。 しかしまだバージョンが0.1.2(昨日は0.1.1だった)ということで…

ViewPagerにIndicatorをつける

Motivation Indicatorつけたいやん!!と思い立ち、これでイケる! と思った後に「あ、ライブラリありそう」とググったら見つけて 「あっ。。。」ってなりました。 実装は参考程度に、下記ライブラリを使うのが良いのではないでしょうか。 github.com Motivati…

Chrome ExtensionのContent Scriptsで特定のページをInjectする

Motivation ZenhubのExtensionを入れるとGithubのページにいくつかのViewが追加される。 これはいったいどうやってるの?と気になったので調べてみた。 Motivation Content Scriptsにできること 試しに実装してみる 今回実装したmanifest.jsonとjs 実行する …