ボクココ

個人開発に関するテックブログ

リフティングを1からやり直す

今日は最近の趣味の話。 今まで自分は普通よりリフティングができると思ってた。やろうと思えば100回以上普通にできるし、ちょっとした技も決められる。だからもっと練習すればもっと色んなことができるはずだ、と。 でも最近、基礎すらできてなかったと痛感…

Webpay を Android アプリで扱う

Webpay という決済サービスがある。これはいわゆる Paypal や楽天安心支払いサービスのようなもので、開発者が決済機能を簡単に組み込めるようなAPIを提供してくれる。 今まで自分も色々な決済サービスを使ってきたが、このWebpayほどシンプルでわかりやすい…

公開3ヶ月でアプリ5000インストールされるまでにしたこと

ストイックがおかげさまで5000インストール超えました。 そこで、これまで行なってきた施策の中で効果のあったもの、なかったものを実体験を元にまとめてみます。 効果があったこと Google Play の説明文をアプリ作るとき並みに頑張る 大抵一人でアプリ作っ…

最近話題のフルスタックエンジニアについて思うこと

グロースハックとフルスタックエンジニアの2つは最近何かと賑わせていますな。 自分はというと、「フルスタックエンジニア」になろうと思ってます。ここで言いたいのはエンジニアにも種類があって、別にフルスタックエンジニアじゃなきゃ生きていけないって…

Google+ ログインの実装の補足

基本はここを見ればできる。 https://developers.google.com/+/mobile/android/getting-started#step_4_initialize_the_plusclient ただ、一部内容が古い所があって、そこでハマった。 PlusClient ビルダーの指定 ドキュメントではsetVisibleActivitiesてあ…

Android で Context を渡さなくても getString やShared Preference を使えるようにする

Android で毎回お世話になるのが Context. 今回素晴らしい発見をしたので書いておく。 Context とは アプリケーションの情報を持つオブジェクトのようなものだ。これには Activity Context と Application Context の2つがあるのだけど、Activity Context は…

Android における EditText のクールなバリデーション実装

Android アプリによっては結構たくさんのEditTextが出て来て、それらを一つずつ検証しないといけない場面ってのはよくある。これら一つ一つに、以下のことを書いている方は多いのではないだろうか。 if (editText.getText().toString().isEmpty()) { // 入力…

テストコードとプログラミング能力

テストを書くべきだ、と人は言う。テストを書けば大きな変更にも柔軟に対応することができるそうだ。 テストをほとんど書いてなかったかつての自分にとってそれはよくわからないものだった。テストを動かすまでの手間や書いたとしてもテストを通すようにする…

DB の state は State Machine で管理する

最近は毎日プログラミングの日々を過ごしている。 そんな中、とあるテーブル(ドキュメント)で状態を管理しなきゃいけない場面があった。 この問題の一つの手としてはstate をint で保存し、一つ一つの数字を何かしらの状態に紐づけるやり方だ。これを実践し…

設計はマジでやっておくべき

設計ってめっちゃ大事。開発より大事かもしれない。 設計をやっていないと、方向が定まらない。何を作れば良いのかがわからない。だから作る前に何を作ろうかちょっと考えて作り始める。 これがめっちゃ効率が悪い。それで本当に良いのかわかんないまま作る…

Android の ViewPager で使う Fragment の注意点

Android アプリ開発で便利な ViewPager . 画面のスワイプが簡単に実装できるのでどんなアプリを作るにも役立つ。 これはFragmentを使っていて、今回そのFragment周りを中心にどう実装するのかをまとめる。 ViewPager に FragmentStatePagerAdapter を setAda…

rails-api は デフォルトの middleware に要注意

いや〜ハマったハマった。 rails-api っていうフルスタックのRailsからAPIに特化した構成に削ぎ落としてくれるGemがあるんだけど、これで「何が削られているのか」をちゃんと把握してないとハマる。 基本的なRailsアプリとrails-api の Middleware 比較 rake…

Rails の bundler でなぜ --path vendor/bundle を付けるのか

今までずっと謎だった。 bundle install これだけでいいじゃないか、なんでわざわざ --path を付ける必要があるのか、と。 何が嬉しいか gem をいじっても他のRailsアプリを汚さない ctagによる検索が可能になる ctagの存在を知らなかった。。今まで自分をvi…

Railsのテスト,デプロイ,ドキュメント生成をBitbucket, Jenkins で行う

今回はJenkinsとBitbucket の連携をします。 Bitbucket はプライベートリポジトリを何個でも作れて、5人までなら無料で使えるという優れもの。少人数開発ならこれを使わない手はないです。 Github Enterprise だとお金かかる部分が浮きます。 さらに! Wiki …

Doorkeeper を使ったRailsのテストをRequest Spec で作る

今回はちょいとマニアック。 問題 APIのテストはController Specではなく、Request Specに書くべきなのだが、DoorkeeperのサンプルコードはController Specで書かれている。こんな感じのコード describe Api::V1::ProfilesController do describe 'GET #inde…