FUMINORI.WORK

Webアプリ開発・スマホアプリ開発・UIデザイン・マーケティング

Mac環境でAndroid エミュレータ(HAXM)とDocker 、VirtualBoxの同時起動ができるようになったよ!

Androidエミュレータを起動しながら、Dockerで作ったAPIサーバーにアクセスしたい! と思ってもエミュレータが起動できませんでしたが、ついにできるようになったようです。

インストール方法は、Intelのサイトにあります。

software.intel.com

私はDownloading through Android* SDK Manager の説明にしたがってインストールしたらうまくいきました。

上記のインストール手順で使われていたAndroid Studioが私のバージョンと違っていたようなので、 簡単に手順をまとめてみます。

Android studioをアップデートします。(執筆時2017.05.12でバージョン2.3.1)

[Tool] -> [Android] -> [SDK Manager] でSDK manager を開きます。 f:id:fuminori1011:20170512105805p:plain SDK Toolsタブを選択し、Intel x86 Emulator Accelerator (HAXM installer)にチェックを入れます。

規約に同意して進むと、SDK manager の SDK locationで設定してあるディレクトリに extras/intel/Hardware_Accelerated_Execution_Manager/ が作成され、そこにインストーラがダウンロードされます。

ターミナルで

$ open {SDK locationのパス}/extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM_6.x.xx.dmg

を実行すると、Finderにインストーラが表示されます。 (x.xxxはバージョンコードです)

あとはインストーラの指示にしたがってインストールすれば、完了です。

お疲れ様でした。

ubuntu + Apache で日本語の文字化けを解消する

ubuntuを英語環境で構築した場合は、日本語の言語パッケージをインストールします。*1

$sudo aptitude install language-pack-ja
$sudo dpkg-reconfigure locales

文字コードの設定ファイルを開く*2

vim /etc/apache2/conf-enabled/charset.conf 

AddDefaultCharset UTF-8コメントアウトを外す。

参考URL:

*1 Ubuntuの英語環境をCUIにて日本語対応にする | J-Linuxer

*2 ubuntu10.04での Apache2の設定|☆BACKSTREET☆

Rails4 でグラフを描いてみる ( Lazy_high_charts , Chartkick )

データベースに保存されたデータをグラフで綺麗に表示させたいなーと思ったので、調べたことやつまづいたことをまとめようと思います。

gemを探すにあたって、以下の記事を参考にしました。

Ruby on Rails で使えるグラフ・チャート用ライブラリまとめ | EasyRamble

さて、今回は Lazy_high_chartとChartkickの2つのGemを使ってみました。

Lazy_high_chartを使ってみた感想としては、 Good

  • ラベルなどの指定を結構細かくできる
  • グラフが綺麗(Highchartsのグラフのデザインが素敵)
  • グラフの種類が豊富で、結構細かな設定ができる

Bad

  • Capistranoでproduction環境にdeployした時に、Asset:precompileがフリーズした(地味にかなりハマる。javascript_include_tagで直接指定して対策)

次に、Chartkickを使った感想としては、

Good

  • シンプルで実装がとても簡単
  • google chart と highchartsのグラフどちらでも表示できる
  • library:{ ... }の中に、上記apiのオプションを指定することで、タイトルや軸の設定ができる

Bad

  • 線の種類が4種類に限定される。
  • 線グラフがスプラインに限定される

いずれも詳細設定は、Javascriptからおこなうことになりそうです。 今回、Lazy_high_chartとChartkickの2つを試してみましたが、 どちらもサクッとグラフを描くことができる素敵なGemでした!

Railsのパフォーマンスを上げるTIPS

最近ようやくRailsアプリのパフォーマンスを気にかけられるようになってきました。 ActiveRecordはとても便利ですが、レコードが増えてくるとどんどん重くなってきますので、設計の段階から対策をとっておきたいものです。 導入コストが少ない対策としては、 * SQLに索引をつける * N+1問題に気をつける * キャッシュを使う * 無駄なデータを引きすぎてる などがポイントなようです。

これからさらに勉強するために、参考になる記事をまとめてみました。

さいきんの Rails サービスを高速化をしてみた - 2nd life

[Rails 高速化] ページキャッシュ、N+1対策、SQLチューニング - 酒と泪とRubyとRailsと

Rils4で Russian Doll Caching を楽しむためのまとめ [俺の備忘録]

現実の世界の Rails、第 3 回: ActiveRecord を最適化する

勉強している間に参考になった記事があったら追加していきます。

Rails 4 と KoalaでFacebook Graph APIをつかう

Koalaを使ってFacebookイベントに参加した人の名前を取得してみます。

Gemfile

gem 'koala'
bundle install

FBのディベロッパーページから、アクセストークンをコピーする。

key = {ACCESS_TOKEN}
graph = Koala::Facebook::API.new(key)
fb_event_id = {FACEBOOK_EVENT_ID}
status = {RSVP_STATUS} #ここでは"attending"
attendee = graph.get_connections(fb_event_id, status, locale: "jp_JP")

これでattendeeに参加者の名前(日本語名)と、IDがハッシュ形式で取得されます。 ちなみにRSVP_STATUSは"attending"、"maybe"、"declined"、"noreply"がありますので、目的に合わせて使い分けます。