composerをコマンドで使えるようにする。
毎回パスを通すのが面倒くさいので、composerをコマンドで使えるようにします。
公式に乗っているので簡単なのですが、、、
$ curl -sS https://getcomposer.org/installer | php $ mv composer.phar /usr/local/bin/composer
以上です。
git diffで色を付ける
git diffで色を付けるには
git diff --color
で出来ますが、毎回オプション渡すのは面倒くさいですね。
デフォルトで常に出すには、git configで設定しましょう。
$ git config --global color.diff auto
他にも、statusやbranchも色を付けたい場合は、
$ git config --global color.status auto $ git config --global color.branch auto
で行けます。
DynamoDBのorder byに関して
前回の記事でDynamoDBはorder byは出来ないと思っていたのですが、簡単な奴だったらできるみたいです。
order byできる条件として、、、
- hashとrangeキーが設定されていること。
- rangeキーを元にソートする。
- queryだけの場合のみ使える。(scanでは使用できない。)
以下がサンプルプログラムです。
DynamoDBテーブル構成
hash_key | range_key |
mori | 2002-01 |
yoshida | 2002-11 |
suzuki | 1999-01 |
suzuki | 2000-09 |
suzuki | 2001-02 |
suzuki | 2008-06 |
suzuki | 2009-01 |
tanaka | 2001-01 |
tanaka | 2001-10 |
プログラム
require 'aws-sdk' require 'pp' dynamo_db = AWS::DynamoDB.new( :access_key_id => '*****', :secret_access_key => '*****', :dynamo_db_endpoint => 'dynamodb.ap-northeast-1.amazonaws.com' ) table = dynamo_db.tables["test"] table.hash_key = [:name, :string] table.range_key = [:date, :string] table.items.query(:hash_value => "suzuki", :scan_index_forward => true).each {|i| pp i.attributes["date"] }
結果
"1999-01"
"2000-09"
"2001-02"
"2008-06"
"2009-01"
「scan_index_forward => true」をfalseにすると逆になります。
"2009-01"
"2008-06"
"2001-02"
"2000-09"
"1999-01"
まとめ
かなり制限されていますが、使用することは可能です。
DynamoDBはイケイケで使うよりは、ちゃんと設計してから構築したほうが良いです。
rangeキーが3つぐらい設定出来ればいいのに・・・
DESIGN HUNTER (β)のバージョンアップ
DESIGN HUNTER (β)のバージョンアップを行いました。
Bookmark機能が追加されたので、利用してみてください。
DESIGN HUNTER | デザインハンター | ホームページデザイン ウェブデザイン まとめ | デザイン解析
住所からgoogle mapを表示するライブラリ
pikonori/googlemaps-get-lat-and-lon · GitHub
会社から要求があったので、久々にバージョンアップしました。
ちょっとだけ使いやすくなっています。
またバグ修正も行なっております。
cakephpの処理の流れ
cakephpの処理の流れってよく忘れてしまいます。
結構重要なので、覚えておくと便利です。
処理の流れ
- index.php
- dispacher.php
- MyController
- MyComponentのinitialize()
- MyControllerのbeforeFilter()
- MyComponentのstartup()
- MyControllerのaction()
- MyComponentのbeforeRedirect()→そのままリダイレクト先に遷移
- MyControllerのbeforeRender()
- MyComponentのbeforeRender()
- view.php
- MyHelperのbeforeRender()
- MyHelperのbeforeLayout()
- MyHelperのafterLayout()
- MyHelperのafterRender()
- MyComponentのshutdown()
- MyControllerのafterFilter()
処理終了
controllerとcomponentが入り組んでいる・・・
新しいgoogleChartを使ってみた。
DESIGN HUNTER | デザインハンター | ホームページデザイン ウェブデザイン まとめ | デザイン解析にgoogleChartを導入してみました。
旧のgoogleChartの仕様がURLのパラメータを指定してグラフを作成するタイプだったので、複雑なグラフを作ろうとすると、どうしてもURLが長くなってしまいます。
しかし、新googleChartはJavascriptになっていますので、拡張性が非常に高いです。
Google Charts — Google Developers
ほとんどコピペですが以下がサンプルプログラムになります。
<html> <head> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); function drawChart() { var data = google.visualization.arrayToDataTable([ ['Task', 'Hours per Day'], ['田中', 11], ['川崎', 2], ['木村', 2], ['中原', 2], ['渡辺', 7] ]); var options = { title: 'みんなのスコア' }; var chart = new google.visualization.PieChart(document.getElementById('chart_div')); chart.draw(data, options); } </script> </head> <body> <div id="chart_div" style="width: 900px; height: 500px;"></div> </body> </html>
オプションも多数準備されているので、リファレンスを見ながら構築すると良いと思います。