正確には昨日の一枚。
ぽつんと空をのぞいた。
空の下にはボートがたくさん。
正確には昨日の一枚。
ぽつんと空をのぞいた。
空の下にはボートがたくさん。
そういえば、「前にならえ」と小学校のときに手を上げていたのを思い出した。
紫陽花を白黒で見ると意外と綺麗だった。
登った階段の先で。
ぼんやり眺めたら。
下を何本も電車が通り過ぎていった。
高架の線路はつまらない。
$ git config --global core.pager "nkf -w | LESSCHARSET=utf-8 less"
メモメモ。
突然ですがArduinoの話題。
Arduinoにイーサシールドを接続してDHCPでIPを取得し、ホスト名で示したレンタルサーバへアクセスする際の接続例。
単純にPCからtelnetしてあげるのと同じですが、接続先が共有レンタルサーバ等の場合はHTTPのリクエストヘッダにHostヘッダが無いと当然ですが接続先でホスト名を利用して切り分けられないのでになるので接続できませんね。*1
*1:暫く悩んでしまった…情けない
WordPress移設に伴いサンプルソースコードが読みにくくなっていたためgistに転載しました。
SqaleやHerokuといったPaaSサービスを利用していると環境変数を.env
というファイルに定義しておくと、アプリケーション側でそのファイルの内容を環境変数として解釈してくれますが、rack-envというGemを利用すると開発環境でも.env
で記載した内容を環境変数として解釈できる様になります。
以下、Padrinoで利用する場合。まず、Gemfileにrack-env
追加。
# Gemfile # Project requirements gem 'rake' gem 'rack-env', :group => "development"
で、app/app.rb
に以下の1行を追加します。
module PadrinoSample class App < Padrino::Application use Rack::Env unless ENV['RACK_ENV'] == 'production' # 追加
これで本番環境と同様に開発環境上でも.env
ファイルを利用して環境変数を定義することができます。例えば、
HOGE=foo
と、.env
ファイルを定義しておけば、
get '/' do ENV['HOGE'] #=> foo end
これで、本番環境での動作を想定して開発環境で開発中からコード中で非公開にしたい情報をハードコーディングせずに済みます。
7冊。
中でも一番良かったなと思った本は、以下の本。
以下、引用。
ccchartというグラフ描画ライブラリがとても使いやすくて便利だったのでメモ。もし実際に利用する場合は、サンプルやドキュメントが充実しているのでそちらを参照した方が良いと思います。
最近、REMPで運営者用の管理画面を作っていることは以前書きましたがその中で利用状況等を示すグラフを作りたくなったので今回利用してみました。
使い方はとてもシンプルで、まずライブラリの読み込みとグラフを描画する領域をHTML上に定義します。
<html> <head> <script src="http://ccchart.com/js/ccchart.js" charset="utf-8"></script> </head> <body> <canvas id="graph-area"></canvas> </body> </html>
これで準備は完了。で、この領域(=canvasタグ内)に今回はREMP で利用しているMongoDBの情報を参照してグラフを描画させたかったので、グラフのみ非同期で描画させてAPI経由でグラフに必要な情報を参照して描画させてみました。
まずAPIの準備。ccchartは、JSONオブジェクトをパラメータとしてグラフを描画する仕様になっているので、API側で描画に必要なパラメータを全て作って渡す様にしました。Padrino側でAPIをこしらえてあげます。
# app/controllers/foo.rb get :graphvalues do timeScale = ['日'] fooNum = ['foo'] minYRange = 0 maxYRange = 1000 Score.where(:created_at => 10.day.ago..1.day.ago).each do |oneScore| timeScale << "#{oneScore.created_at.day}日" fooNum << oneScore.foo end title = 'foo' data = [timeScale, fooNum] colorSet = ["red"] # JSON graphValues = { config: { titleFont: "100 18px 'Arial'", title: title, type: "line", lineWidth: 4, minY: minYRange, maxY: maxYRange, width: 480, height: 400, colorSet: colorSet, bgGradient: {direction:"vertical",from:"#687478",to:"#222222"} }, data: data } content_type :json graphValues.to_json end
なんかごにょごよしてますが、要はccchartで定められているグラフ定義用のJSONをサーバサイドで作っているだけです。
次にフロント側(JS)で、APIから取得したJSONを利用してグラフを実際に描画します。
<script> $(document).ready(function(){ $.ajax({ type: "GET", dataType:'json', scriptCharset: 'utf-8', url: "/foo/graphvalues", success: function(res){ ccchart.init('graph-area', res); } }); }); </script>
そうすると以下の様なグラフが描画されます。
グラフの種類も多いですし、必要に応じて使ってみようと思います。
最近のコメント