techium

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

Rails Tutorial マイクロポストアプリを作る

Rails Tutorial マイクロポストアプリを作る Rails Tutorial マイクロポストアプリを作る Toy アプリケーション ベース作成 scaffold データベースのマイグレート Rake ユーザ管理画面 マイクロポスト管理画面 validates ユーザとマイクロポストの関連付け

Android 7.0 Nougatのマルチロケールについて

Android 7.0 Nougatから、マルチロケールが採用され、それに合わせてシステムのロケール選択のロジックが変更になったようです。 developer.android.com 今回は、以下の公式ドキュメントを参考に、マルチロケールを選択できるようになることで何が変わるのか…

QuantumFluxを使ってContentProviderを作成する

AndroidのContentProviderを作るときにsqliteを使っているケースがほとんどだと思います。 しかし昨今のORMではsqliteを作るのは簡単ですが、ContentProviderでの適応が難しいケースが多々あります。 そこでContentProvider用のORMとしてQuantumFluxというの…

Rails Tutorial "Hello World ~ デプロイまで"

Rails Tutorial "Hello World ~ デプロイまで" Rails Tutorial "Hello World ~ デプロイまで" Model-View-Controller Hello World Git Heroku PostgreSQL Deploy その他

Android 7.0 Nougatでクイック設定(Quick Setting)を追加する

Android 7.0 Nougatで新しく追加されたTile APIを利用することで、クイック設定(下図)を自作することができます。 developer.android.com developer.android.com 今回は上記リンクを参考に、クイック設定の追加方法について見ていきます。 TileServiceを作…

RelativeLayoutとConstraintLayout

Motivation ConstraintLayoutがリッチなRelativeLayoutと聞いて、RelativeLayoutの置き換えに使いたいけれど、癖でGUIエディターが受け入れられないので練習がてら置き換えのサンプルを書いてみたよ Motivation サンプルのView構造 RelativeLayoutバージョン…

AndroidのWindowManagerでViewを表示するときのIMEの制約

Androidのアプリを作っている時にどの画面よりも手前にViewを表示したい時にWindowManagerを使って特定の指定レイヤーに対してaddViewを行うケースがあります。 しかし、このaddView時に発生するIMEの表示の制約があるのでそれをご説明します。

Macのzshでpyenvが「command not found: pyenv」

PythonをMacにインストールする際にHomebrew+pyenvで開発環境を整えようとした時に「command not found: pyenv」と表示され正しくバージョンの切り替えができなかったのでその内容をまとめました。

Android 7.0 Nougatの新しい外部ストレージアクセスを試してみた。

Android 7.0 Nougatでは新しい外部ストレージへのアクセス方法が提供されました。 developer.android.com developer.android.com これまでAndroidで外部ストレージにアクセスするには、ManifestファイルにPermissionを定義し、さらに6.0からはパーミッション…

Android7.0 nougatがリリースされたので手持ちのNexus5xをアップデートしてみた

Nougatがリリースされました。 Nexus端末を持っていたとしても、OTAアップデートが配信されるのはしばらく先になるだろう。 この記事は最新OSのOTAが降ってくるのを待ちきれない人向けの記事です。 端末の手動アップデートは文鎮化などの危険が伴います。自…

RUBY ON RAILS TUTORIAL (RAILS 5)

RUBY ON RAILS TUTORIAL (RAILS 5) Rails チュートリアルを始めてみたがすっかりご無沙汰。 Rails 5 が出てしまったことだし仕切り直し。 RUBY ON RAILS TUTORIAL (RAILS 5) 参考 ゼロからデプロイまで クラウドIDEでRailsサーバーを実行

iOSDC 2016 に参加してきました

iOSDC 2016 2016年8月20日午前10時3分 土 iOSDC 2016 に参加してきました。 とても濃く、参考になる内容ばかりでした。 次回開催があれば是非また参加したいです。 懐かしい面々にも再会でき、そういった意味でも参加してよかったです。 try! Swift で「凄い…

FirebaseでAuthを用いたパスワード認証を行う

Firebaseではユーザ認証を行うことでデータの安全性を確保することができます。特にRealtime Databaseを利用する際に、データにアクセスしているのが誰なのかを確認することはとても重要です。 Firebaseでは幾つかのユーザ認証方法が用意されていますが、今…

Spinnerのデータとしてenumの配列を使用する場合のTIPS

Spinnerの表示データとしてenumを使用したときに引っかかった罠があったので共有したいと思います。 Spinnerとは Spinnerは複数の選択肢から一つの要素を選択するためのUIを提供するWidgetです。 詳しいことはDeveloperサイトを御覧ください。 developer.and…

Android Studioにコードジャンプするログを作る

Androidのstacktraceなどでコードジャンプするログが表示されています。 コードジャンプ自体はAndroidStudioの機能になるのですが、ログの作り方を工夫することでコードジャンプすることができるログを作ることができます。 そこで今回はコードジャンプする…

オープンソースになったLaunchKitのセットアップをしてみた

LaunchKitとは LaunchKitとは、モバイルアプリのリリース用スクリーンショットの作成やアプリ用Webサイト(ランディングページ)の作成、アプリレビューのモニタ、売り上げの管理など、モバイルアプリのリリースに関わることを色々便利に管理できるものであ…

Active Recordを利用してRubyのアプリを作る

Active Recordは、Ruby on Railsでも利用されているORマッパーのgemパッケージですが、RailsではないRubyアプリで単体利用することもできます。 今回たまたまRubyで利用したい思う機会があったので調べて試してみましたので備忘録です。

FirebaseのRealtime Databaseでルールを試してみる

今回は、Firebase Realtime Databaseのルールについて調べてみました。 ルールを設定することで、Firebaseに保存されたデータに対して読み書きを行う上での条件を付与することができます。 ここではそのサンプルを用意して確認してみます。 基本的にはこの辺…

RxJava Mathを使って最大・最小・平均・合計を計算する

RxJavaを最近使うことが多くなってきてストリームに流れているデータ内の最小値と最大値を取ることができないか調べておりました。 そうするとRxJavaのMathというのがありそれで実現できたのでそのやり方とMathの機能についてごしょうかいします。

Androidオールスターズ2

Androidオールスターズ2 2016年8月7日午後1時30分 日 【満員御礼につき50席増枠★】Androidオールスターズ2 - dots. [ドッツ] 参加してきました。 メモ書き程度ですが、後日資料も公開されるとのことで楽しみにしています。 大変学びが多く、刺激のある内容…

AndroidライブラリからアプリケーションプロジェクトのBuildConfigの値を参照する

Androidアプリ開発の際にオープンソースのライブラリを組み込むことが多いと思います。 そういった中でアプリのデバッグの時にはライブラリのログを出したいとかデバッグの時だけこういった挙動をしたライブラリがほしいことかがあります。 そこで今回はaar…

FirebaseのRealtime Databaseを利用してみる 〜その2〜

前回に引き続き、FirebaseのRealtime Databaseについてです。 今回は、前回保存したデータをクライアント上から参照してみます。 Realtime Databaseはその名の通り、データベースに変更があった場合に、それをリアルタイムにクライアントに反映させることが…

Retrofit2のレスポンスをmockに置き換える Retrofit-Mock編

前回の記事では、MockWebServerを使用してサーバ自体をMockに置き換えた。 blog.techium.jp 今回はRetrofitMockにてResponseの内容をMock化する方法を使う。 build.gradleの修正 // レスポンスのパースにgsonを使用 compile 'com.squareup.retrofit2:convert…

ContentProviderアクセステスト用ライブラリPantomimeを公開しました

Androidの開発を行うにあたってContentProviderへアクセスする場合にContentProviderの中身が動的に変化する場合にテストを書く場合に同じ環境にならなくてユニットテストが失敗したりすることがあります。 そこで今回作ったPantomimeを紹介します。

ちょっといい加減会社でGit布教したいんや

そろそろGitわからんまんがいい加減に減って欲しい この資料が役に立つことをいのって。 Learning git from Shinji Kobayashi 主にGitlabの布教用に書きました。 Gitlab云々よりもGitコマンドについて厚めに。 いつもだいたい聞かれて答えるようなやつだけな…

FirebaseのRealtime Databaseを利用してみる 〜その1〜

FirebaseのRealtime Databaseを利用してみました。と言っても、まだデータを登録しただけなので、導入編といった感じです。 Realtime DatabaseはFirebaseがクラウド上に提供するNoSQL型のデータベースです。 今回はこのRealtime Databaseを利用して、データ…

Retrofit2のレスポンスをmockに置き換えるMockWebServer編

ユーザー登録画面など、ネットワーク通信を伴う画面のUIテストするとき、実際のサーバへアクセスしては、テストが意図した結果にならないことがあるだろう。 MockWebServerを使用することで、サーバへのアクセスを回避し、かつ、必要なレスポンスを返すよう…

gitでremoteレポジトリにあるファイルを探したい

Motivation AOSPのtools/base辺りをビルドしようと試行錯誤していると、なんかこのファイル参照してるけど、いったいどのブランチにいるの? みたいなことによくなるのでスクリプト書いてみたよみたいな。 Motivation 探す対象 リモートブランチのファイルを…

Intellij Ideaプラグインでモジュール生成時にフォルダ/ファイルを作成する

Intellijでセットアップウィザードを作成を前回行いました。 blog.techium.jp そこでセットアップウィザードを終えたあとにプロジェクトフォルダにファイルの自動生成を行う方法をご説明します。

Realm JavaのRealmQueryをループで使ったらヒドい目に遭ったという話

先日からAndroidアプリの開発でRealmを使っていますが、今回はRealmの仕様なのかバグなのかよくわからない挙動にハマってヒドい目に遭ったというお話。 歴戦のRealmerには既知の問題かもしれないので何か情報をお持ちの方は適宜突っ込んでもらえると助かりま…