ボクココ

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

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

今年1年を振り返る

さて、あと4日で2013年が終わるということで、毎年やってる振り返りをして来年の更なる飛躍の材料にしていきましょうか。 今年は仕事は好調だったけど、プライベートでいろんな激変のある1年だった。まとめるとそんな感じ。 1月 仕事に没頭。とある新サー…

本屋で感じた技術本のこと

久々に普通の本屋に行ってきた。 他の分野もざーっと見て、何か自分の興味のそそるものがないかを探りにね。 そこで感じたのが、自分の中で重要だと思っていた技術に関する本が全くなく、逆にそれ学ぶ必要あるか?みたいな本がすごいたくさん置かれていたと…

Kobo がアツい4つの理由

もうかれこれ半年以上楽天Koboを愛用させてもらっている。 まずはじめに、クーポンが欲しければKobo 検索を使えばOK. Kobo Search 楽天Koboスタジアムとかで世間からはネタ化されてるみたいだが、自分から言わせればこの製品は楽天史上、最高のプロダクトだ…

Androidアプリ開発者が実践すべきエミュレータの高速化

久々にサービスで感動したので投稿。 今回紹介するのは Genymotion というもの。 どんな仕組みかというと、Android はLinuxベースでできたOSなので、それをVirtualBox で仮想マシンとして起動する、というもの。おそらく内部的にVagrantのようなものでプログ…

AngularJS x Railsで ユーザ認証を実現するためのアプリ設計

AngularJS で認証の仕組みをどう扱うのか? これが悩ましい問題。 サンプルのAngularJS の認証の仕組みを見ると、Cookie を使ってサーバとやりとりをしているが、これだと前回紹介した理想的な Rails, AngularJS 環境の構築 - ボクココ のようなAPIとしてのき…

入院で体験した生きるということ

ちょっとブログテーマから外れるが、こんな体験をしたので病室から書いてみた。 初めての入院 きっかけはある火曜日の朝。急に腹が痛くなって、トイレで下痢を連発。 普段はこれでなおるんだが、今回は腹が痛いまま。さらに熱まで出てきて仕事で考える余裕す…

Android におけるバックグラウンド処理の使い分け

個人的なバックグラウンド処理における見解をまとめる。 Service の使い時 アプリを終了しても裏側で何かをさせたい時に使う。これは Service しかできない。(Service は別プロセスで動くため) 一時的に裏側で処理をさせたい時は、 AsyncTask や Thread-Ha…

IntentService で Unable to instantiate service

IntentService のサンプルを作っていて、上記エラーが出たのでメモ。 具体的なエラーはこんな感じ java.lang.RuntimeException: Unable to instantiate service com.sample.SampleService: java.lang.InstantiationException: com.sample.SampleService 原因…

CasperJS と Jenkins によるブラウザ自動化とテスト

Selenium を使った例があったけど、それよりもCasperJS 使った方が楽だと思うので、自分のやっているやり方を紹介。 「Selenium2」テスト徹底活用! Jenkinsによる自動実行とSelenium Grid2による複数環境でのテスト 上記サイトのやり方だと、少なくとも以下…

さよならコールバック地獄. 注目のPromise Pattern とは

非同期プログラミングをしていると、俗にいうコールバック地獄に悩まされることになる。 何かの処理が終わったらこれをやって、その次にこれをやって・・みたいな処理は深くネストされたコールバックを延々と書くことになるだろう。 これを解決してくれるの…

Rails の認証で Devise ではなく Sorcery という選択

現在 AngularJS と Ruby on Rails 間の認証の仕組みを実装しようとしている。 この際問題になるのは、デフォルトのRails認証の仕組みは、HTMLベースであるため AngularJS で必要とされる JSON でのレスポンスが受け取れない、という点がある。 もちろん、Dev…

Devise を JSON API 化する

DeviseをAPI経由で叩きたい。 そのためにはフォームじゃなくて全部Ajaxで通信するので、各アクションで何のパラメータが必要かをまずまとめた。AngularJSを使い出すと、そうせざるを得ないので、ちょっとレールから外れるかな。 Prefix Verb URI Pattern Con…

FontAwesome を Bower から入れてアイコンを表示させる

Bower から bootstrap や font-awesome を入れると、 bower_components/ 以下にそれぞれプラグインのように保存される。 メインのSCSSファイルでそのパスに読み込むようにインポートすればよいのだが、font-awesome の場合、画像パスをデフォルトのままにす…

Ruby ソースリーディング -attr_accessor の罠-

今、Doorkeeper のソースを読んでOAuth の仕組みの勉強をしている。 その中で、途中いきなりローカル変数っぽいのが登場して、これがどこから呼ばれてるのかわからなくなるときがある。 メソッド内で登場するローカル変数っぽいのを見つけた場合、以下の3つ…

SQLiteOpenHelper の execSQL で2文まとめて実行してはいけない

久々のAndroidエントリー。 SQLiteOpenHelper#execSQL(str) は strのSQLをそのまま実行してくれる便利なメソッドだが、これに create table や alter table add column などをまとめて ; でつなげて実行すると、テーブルやカラムは出来上がるが、プログラム…

CasperJS でHTML要素を取得する便利な方法

最近は便利ツールを作るためのスクレイピングを実装中。 そこでJenkinsをCasperJSと連携させたりしているのだけど、一部のサイトではログイン処理がどうしてもうまくいかず、今回はBookmarkletとして作ることにした。 これが意外と便利だったので共有。 Casp…

能力の無い人にとって人脈など必要ない

友達を増やそうとか人脈を増やそうとか、そういうことに力を注いでいる人が多い。 人脈が増えたら、困ったときに助けてくれる。人は一人では何もできない。そういう主張だ。 だけどそれは自分が何かを与えられるようになってからの話だ。 例えば技術において…

AngularJS の service についてのまとめ

最初AngularJSってscopeがすごい便利だな〜!って思って使っていたが、 Controllerを作っていくと次第に同じような処理を色々と書いている自分に気づいた。そこでAngularJSの提供するServiceについて学習したことのまとめを書く。ちなみに参考文献は以下 市…

PaaS上で外部Jenkinsのビルドを実行させる

Jenkinsってビルドしてテストしてリリースして・・・みたいな使い方が一般的ではあるが、 ほかに決まった処理を実行させるためのプラットフォームとしても大変役に立つ存在だ。今回はちょっと一風変わったJenkinsの使い方を紹介する。 このやり方をすると、J…

AWS クラウドデザインパターン実装ガイドを読んで

今まではHerokuを使ってWebアプリケーションをデプロイして公開していたけど、 なんか最近とても重く、ユーザ数の少ないアプリであったとしてもこの遅さは無理だったのでAWSでインフラから自分で構築できるようになりたいと思っていた。 また実際に本番で何…

組み合わせを再帰で作るときの考え方

CodeIQで組み合わせを作らなきゃいけない問題があって、その問題がJavaScriptで解かなきゃいけないから、それを考えていた。 前に、ハノイの塔のプログラムを作ったおかげで、再帰についての考え方はなんとなくわかった。要は「数学的帰納法」。これの考え方…

理想的な Rails, AngularJS 環境の構築

ネットでRails x AngularJSで調べると、AssetsにAngularJSを追加してやるのが普通的なことをよく見る。でも、この方法だとYeomanや、Grunt.jsが使えず、Rails x AngularJSでKarmaでテストを書いたりといったことができないし、AngularJSの作法にのっとった開…

grunt server で command not found xdg-mime , xdg-open: no method available for opening

これ、調べたらPhamtom.jsでブラウザを使うらしく、そこで使われるコマンドの模様。 確かにこの環境のサーバには何一つブラウザは入っていない。てことでChromeをインストール http://www.cyberciti.biz/faq/how-to-install-google-chrome-in-ubuntu-linux-1…

パーフェクト Ruby を読んで

この本が新しく出てます。 僕のスペックとしては、 Ruby 歴4年 もはや Rails ばかり メタプログラミング Ruby 読んでRubyのコアはそこそこ理解 こんなもんです。 で、実際読んでみたら、最初はものすごいハイスピードで言語仕様だけをさらっと紹介している(…

AngularJSでRouteProviderを無視して特定ページにアクセスさせる方法

やりたかったこととしては、自分のRailsアプリ内の "/auth/twitter" へアクセスさせたい、というだけのこと。HTMLに <a ref="/auth/twitter" target="_self">と、 target="_self" するだけでした。 解決するのにめっちゃ時間かかった。 まだまだだなぁ</a>

会社を立ち上げるときに読むべき本とは

やっぱ技術の本以外も読むべきだね。 心からそう思わせてくれたこの一冊。是非紹介したい。 もはや自分はこの本の主人公なんじゃないかっていうくらい、その登場人物の状況とマッチしていた。サラという女性。 彼女の起業をした経緯が、これから自分がしよう…

自分にとっての熱海

今、来年から住もうとしている熱海に来ている。ここで自分のサービスを作って提供する予定だ。 この街はというと、今住んでいる東京とはまるで別の世界。 年齢層が違う。都会でもない田舎、というより廃れた観光スポットでもいおうか。 昔はすごい栄えていた…

Yeomanを入れてみる

最近は仕事でAngularJSを使わせてもらっている。 これを勉強しようとすると、日本語のドキュメントがほっとんどないので、英語で学ぶ必要がある。 でも最近は便利なもので、電子書籍で簡単に海外の本も読める。ということでOreillyのAngularJSを読んでいる。…

Vagrant, Pupet でRuby1.9.2 を RVM から入れられない場合の対応

かなりマニアックな内容だが・・。Vagrant&PupetでRails開発環境をコマンド一発で作るのを作成中。 プッシュしようとしている対象のPaaSのRubyのバージョンが、なぜか1.9.2しばりというめんどい仕様だったので、仕方なくそれも1.9.2で対応しようとした。最初…

タクシーの運転手から学ぶプロフェッショナリズム

体調不良で早めにタクシーで帰った。そんな帰りのタクシーの中で運転手さんと話してた。フジテレビ近くのタクシーだったから今までいろんな大物を乗せてきたみたいで、 すごい人に共通して言えるのは平等に優しく接してくれたらしい。 逆にそうでもない人は…