ボクココ

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

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

MongoDB のインデックス貼る時の注意

毎回つまずくのでメモ。。 Rails の Mongoid を使っている時は、rakeタスクでインデックスを貼る。 bundle exec rake db:mongoid:create_indexes さて、このインデックスを修正して、貼りなおしたいといったとき。もう一回上記コマンドを打っても変更が反映…

ネットサービスにおける法律問題

何かサービスを始めようとしたときに、法的にそれが大丈夫なのか不安になることが多々ある。 こういうサービス作ろうと思ってるんだけど・・って言ったときに、否定的な人は「それは法律的にアウトでしょ」と口を揃える。さて、これはどのくらいの割合でアウ…

欲しいものって

とある映画を見た。「あることを成し遂げると願い事を一つだけ叶えられる」ってことで必死にがんばる主人公。悲しい運命を変えたいと思った主人公は必死になってそれを達成する。だが運命は変えられないと悟り、運命を受け入れて自分が変わっていくんだ!っ…

「スタートアップが必ず陥る9つのジレンマ」を読んで

こんな本があったので読んでみた。 起業家はどこで選択を誤るのか ー スタートアップが必ず陥る9つのジレンマ-【電子書籍】価格:3,500円 今まさに自分は「選択」をしてどんな会社にしていきたいかを考えなければならない時期である。その上で、本書は決めな…

iPhone アプリ開発の開始時期についての私的な考察

いつ iPhone アプリを開発すべきか?これに対する答えは基本的には至ってシンプルだ。 自分が開発したいと思ったときに始める ただ、それが今ではなくてもいいけど近いうちに作りたい、という場合はこの時期に限って考え直す必要がある。ご存知 Swift 言語の…

コネクシィ株式会社を設立しました

2014年8月12日、新しいスタートを切りました。法務局へ書類一式を提出し、コネクシィ株式会社を設立しました。 諸々の本番アカウントを会社名義で行ない、準備ができ次第、第一弾の Android アプリをリリースします。今年の4月から熱海にこもりつづけて4ヶ月…

Android Studio 上から adb コマンドを操作するプラグイン

Android 開発をしていると、便利なadbコマンドを実行する為に別にターミナルを用意することが多い。よく使うのは以下のようなコマンドだ。 # android デバイスのファイルシステムへ遷移 adb shell cd /path/to/sqlite3 sqlite3 db.sqlite3 # 対象アプリをイ…

エンジニアによるファイナンス訓練 (証券投資理論編)

前回はファイナンスの入門って感じで割ととっつきやすい内容だったが、今回からぐっとファイナンスっぽくなってくる。 投資には「リスク」が付き物だ。リスクとは「危機」。"危険"と"機会"の2つの性質を併せ持つ。ファイナンスの力で、この「リスク」を定量…

エンジニアによるファイナンス訓練 (投資理論編)

最近はビジネスの勉強ということで、ファイナンスの学習をしている。 今までマーケティング、起業、簿記ときて今度はファイナンス。これがなかなかの強者だが、本書によると全部理解すればMBA並みの知識が得られるということで張り切ってやっている。 今日は…

今作のAWS熱に思うこと

最近はどのスタートアップでも「AWSを導入しています!」と意気揚々としているところが多い。 なるほど、ソーシャルゲームでは秒間数100リクエストが来る可能性を見込んでのスケールできるようなサーバ構成、そしてイケてるデプロイ環境。そしてそのスピード…

Volley の2重リクエストを防ぐ

結構よく起きるので、メモ。 これが起きてしまう原因は、サーバのレスポンス速度が遅いことにある。 サーバ内でメール送信してたりとか(本当はキューに溜めるべきだが)、アクセスが多くなってきたりしたりとかで遅くなると、Volleyはもう一回リクエストを送…

Android の ScrollView で EditText のキーボード非表示にしつつトップに移動する

毎回 ScrollView 付きのフォームを作るときに苦戦するのでメモ。 例えば、保存ボタンがScrollViewの一番下にあり、それを押すと検証が走る。 検証が失敗した時は一番上にエラーメッセージを出したいといった場合。 問題は、途中にあるEditTextのキーボードを…

アプリを無料で他言語対応させる方法

世の中にはお金を払ってアプリを他言語対応しようとする人が多い。これがまた結構無駄に高くて、それでも元が取れるという根拠のある自信があればいいが、まず海外でうまくいくかの保証はあまりないので、とりあえずやってみたい、くらいの感じだろう。 自分…

サービスを1から開発する時の実施方法

ようやく自分のサービスが完成に近づいてきた。エンジニアとして自分の頭の中で描いていたものが実現されていく過程ってのは本当に嬉しい。この思いを他の方にも味わってもらいたいと思い、このエントリーを書いてみる。 なぜサービス開発を開始できないのか…

サービス利用規約のお話

少人数でサービス開発をしていると、技術的な問題よりもむしろこういう法律とかお金とかそういう方がむしろ大変になる。今回はこの本を買って勉強しているので自分なりに理解したのをざっくり書いてみる。 良いウェブサービスを支える「利用規約」の作り方作…

Volley + Gson + Generics = God! (Android で OAuth な Rest Api のクライアント作成)

Android アプリでよくあるパターンとしては Restful な Web API を呼んで、リストや詳細を表示などが挙げられる。こんなとき、JSONで通信しているのであれば、リクエストのパラメータを作り、レスポンスを解析するというコードを書く必要がある。これが例外…

リフティングを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 …