2011年5月31日火曜日
相関性が高い銘柄ランキングの追加とレイアウト変更が完了!
HTML5 kabu Charts で以下の2対応が終わりました。
1. 相関性が高い銘柄のランキング をチャートの横に表示
2. レイアウト変更(横幅を800px→950pxに変更(Wide化)
相関係数については株価取得と同様にバッチ処理を仕込んでいるため、
自動で最新の数値に更新されます。(たぶんw)
また現在は半年間(180日)の相関係数のランキングのみ表示しています。
※今後 1ヶ月、3ヶ月、1年のランキングも追加予定
他にもサイトマップ、robots.txt、認証(アカウント)、about(このサイトについて)
などやるべき事は多々ありますが、徐々に消化してきます。
2011年5月30日月曜日
相関係数のテーブル作成をサクっと
とりあえず備忘録です。
MySQL Workbench → create文生成 → テーブル作成
の流れも大分慣れてきました。
■ポイント ※特にないがw
1. 相関係数を出すための期間は1ヶ月間、3ヶ月間、半年間、1年間の4種類とした
2. 相関係数の各カラムはFLOATを選択 (正確には4.3fとかが良いかな)
3. ランキング用に比較対象のcodeまで含めた複合キー
4. CakePHP用に「correlation」ではなく「correlations」
5. レコード数は 軸となる225銘柄 x 比較する(225-1)銘柄 = 50400件
6. 相関性上位10ランキングを出す場合のSQL (例:ソフトバンクを軸銘柄として1ヶ月間の相関性上位)
■create文
■desc
2011年5月29日日曜日
Twitter/検索ウィジェットのカスタマイズが便利な件
株式会社の社名をキーワードにTwitterの検索結果をチャートの下部に表示したいと思い、
色々調べましたが、本家のウィジットがカスタム出来て一番使い勝手が良さそうです。
以下、カスタム可能な設定項目です。
1. 設定
検索ワード
タイトル
見出し
2. カスタマイズ
最新データを取得?(はい)
スクロールバーを表示?
ツイートの表示方法(一定間隔で更新)
エンドレス表示にしますか?(はい)
ツイート更新間隔(6sec)
表示するツイート数(30)
プロフィール画像を表示?(○)
投稿時刻を表示?(○)
ハッシュタグを表示?(○)
人気のツイートを表示しますか?(○)
3. デザイン
ウィジットの色
外枠の背景
外枠の文字
ツイート投稿欄の背景
ツイートの文字
リンク
4. サイズ
ウィジットのサイズ(w:250w x h:300)
横幅の自動調整
カスタマイズ後に「完了&コード取得」押下でコードが出てくるので
それをコピペして自サイトやブログに貼りつければOKです。
以下自サイトで利用中のコードです。
検索ワードの箇所だけページ毎に動的に変わるように
としてます。
株価の自動更新バッチでサイトの管理コストを減少する方法
途中までPerlまで作成してましたがようやく完成しました。(たいしたことはやっていないw)
簡単にタネ明かしをすると(するほどのもでもないがw)
1. 情報サイトから本日の株価情報を取得(出来高、始値、高値、安値、終値)
2. 取得した株価情報をDataBase(MySQL)に登録(INSERT)
ちなみに重複エラー対策としてINSERTではなくREPLACEを利用してます。
例)
REPLACE INTO hoge_table VALUES (hoge, hoge1,);
続いて上記スクリプトを ドメインキング の Crontab に仕込みます。
バッチ処理の設定は
1. 15時から21時まで1時間毎に実行
2. 月曜日〜金曜日だけ実行(土日は実行しない)
3. 標準出力+エラー出力をログに出しておく
という感じです。
15時から21時まで毎時で実行している理由は、取得先のサイトの更新状況によっては
初回の15:05のバッチで正常に取得できないケースもあるので、保険として数回実行するようにしています。
もちろん初回のバッチで成功した場合は、次回以降は取得などの処理はSKIPするように組んであります。
これで自サイトの株価がようやく自動更新されるようになりメンテナンスフリーとなりました。
2011年5月26日木曜日
JavaScriptの描画ライブラリ Flotrとは?
Googleでも意外とヒットしないですね。
「Flotr」で検索しても約 29,100 件 (0.10 秒)程度です。
こんな時もやっぱりGoogle先生に頼りますw
http://solutoire.com/flotr/の序盤をサクっと翻訳してもらいます。
FlotrはPrototype JavaScriptフレームワーク(現時点ではバージョン1.6.0.2)に基づいて
Flot(オレLaursenさんによって書かれた)に触発javascriptの描画ライブラリです。
Flotrさんは最も近代的なブラウザで魅力的なグラフを描画することができます簡単な構文を学んでください。
これは、凡例のサポートなどの優れた機能は、
負のが付属しています値のサポートは、マウスのトラッキング、選択支援、イベントフック、CSSの
サポートを拡大サポートとはるかにスタイリング。
つまり纏めると
グラフが描けるJSのライブラリ
ということですw
英語が得意な人は http://solutoire.com/flotr/ を読んでもいいかもしれませんが、
DLしてローカルでサンプル動かしながらコード見たほうが早いし効率いいです。
CakePHPの命名規則に迷わない為の方法
こちらw → CakePHP 規約ワードメーカー
単語を入力すると命名規則に沿ったクラス名やファイル名の一覧が表示されます。
これはCake初心者にとっては嬉しいですね。
素晴らしいアイデアだと素直に感心してしまいました。
上記サイトではCakePHPのデフォルトのInflector(単語変化関数)を
利用されてるようですので、間違えることはなさそうです。
もう一歩進んで、自動的にコードを生成(Generate)してくれる
Bakeというコマンドラインの対話ツールもありました。
* Code Generation with Bake
* Bakeによるコードの生成
次回は両方とも活用して、さらなる高速開発を目指します。
2011年5月24日火曜日
データベース設計を高速化するためにツールを利用してみた件
普段みなさんはどのようにデータベース設計をされてますか?
会社では本格的に概念→論理→物理設計とガチガチにER図やテーブル定義などのアウトプットをレビューしながら
進めているかもしれませんが、個人サイトレベルでガッツリ資料まで作成する人は少ないかもしれません。
今回MySQLを利用するにあたり、ここらへんの設計から管理までスムーズに出来るツールはないか探していたところ、
すぐに見つかりましたw
本家MySQLで MySQL Workbench というツールが無料で使えます。
Mac用もパッケージで置いてあったので早速DL & Install してみました。
使ってみて率直な感想としては
1. GUIによる直感的な操作が可能
2. シンプルなUIと必要最低限の機能 (結構高機能かもしれません)
3. Foward Engineerによる ER図からSQL 文をアウトプットが便利 (逆も可能)
ということで今回数分で書いた絵とそのアウトプットのcreate文ですw
以下、実際にテーブル作成してみると一発で成功w
他にも色々機能は充実してますので、自サイトをMySQLで運営してる方は、試しに使ってみるのもありかもしれません。
※オラクル社のまわし者ではありませんwwwww
2011年5月23日月曜日
CakePHPのチュートリアル(後半戦)
チュートリアルの後半はモデル、コントローラ、ビューの作成と機能追加をしながらの動作確認が続きますが、
特段ハマるポイントはありません。
若干説明が分かりづらい箇所もありますが、割と親切に作られてるチュートリアルなので、
ひと通りのDataBaseアクセス(view, add, edit, delete)の方法について順を踏んで理解することが出来ます。
このあとチュートリアル第二弾としてACL(認証)制御のプログラムがあるので
アカウントが必要なサイトを作成したい方はやっておくと良いかもしれません。
CakePHPチュートリアルでMySQLの文字化けにハマる方はこちら
本ブログ訪問者の利用ブラウザは圧倒的にchromeが多い件
これは衝撃です。
私の環境が Mac + Chrome ということもあるのかもしれませんが、
本ブログ(Real Life)のブラウザ別ページビューを確認したところ、
Chromeが6割という衝撃的な結果となりました。
またOS別のPVではMacが5割とこれも驚きの結果です。
この結果から、当然といえば当然なんですが、
自分が関心があるサイトやブログに訪問する人が多いようです。
例えば本ブログがwindowsのアプリ開発を主題としていたら
真逆の結果になっていたかと思います。
今後もこういった統計情報をもとになるべく役立つ情報をシェアできれば良いですね。(^^ゞ
StatCounter
Mac日本語入力のユーザー辞書が使えない件→Google日本語入力に移行
・Google日本語入力のユーザー辞書登録
・実際の利用時
Blog内のコードをハイライト表示する方法
でコードが見やすくなったのは良いのですが、利用頻度が増えてきたので、
Mac日本語入力(ことえり)のユーザー辞書に登録して時間短縮をしようと思ったんですが、
登録できませんでした。wwww
どうも文字数制限があるようです。これは使えないですね。
そこでサジェストなどが得意なGoogle日本語入力に移行することにしました。
移行についてはこちらが非常に参考となります。
移行後に早速ユーザー辞書登録しましたが問題なく登録でしました。
サジェストもかなり便利なのでブログ作成に要する時間も多少削減されそうです!
・実際の利用時
Blog内のコードをハイライト表示する方法
でコードが見やすくなったのは良いのですが、利用頻度が増えてきたので、
Mac日本語入力(ことえり)のユーザー辞書に登録して時間短縮をしようと思ったんですが、
登録できませんでした。wwww
どうも文字数制限があるようです。これは使えないですね。
そこでサジェストなどが得意なGoogle日本語入力に移行することにしました。
移行についてはこちらが非常に参考となります。
移行後に早速ユーザー辞書登録しましたが問題なく登録でしました。
サジェストもかなり便利なのでブログ作成に要する時間も多少削減されそうです!
CakePHPのチュートリアル(前半戦)+ Macの動作環境構築
チュートリアルの環境構築が上手くいけば上記画面が表示されます。
場合によっては結構ハマることもありますので、
以下、備忘録程度に残します。
■インストール
1. apache2 -> mac osインストール済を利用
2. MySQL5.0.77 -> mysql本家からパッケージDL。インストール&boot時自動起動設定
3. CakePHP 1.3.8 -> cakephp本家からソースをDL。解凍後に設置
■各種設定
またこちらが非常に参考になります。
2011年5月22日日曜日
ドメインキングの MySQLバージョンが残念な件 (5.0.x)
せめて5.1.xかなと思ってましたが残念ながら5.0.xでした。
面倒なのがローカルの開発環境(iMac)では最新バージョンを入れているので
新たに5.0.77を入れ直す必要があります。
パッケージが無かったら面倒なのでバージョンの統一はあきらめようかなと思ったんですが、
MySQL Product Archives
に残ってそうなので試しに入れてみました。
インストールは こちらが非常に参考になります。
※www.futomi.comさま感謝です!
結果は以下のとおり、動作確認まで無事OKです。
これで開発環境の整備はほぼ完了です。
CakePHPのディレクトリ構成と処理の流れについて
どちらもフレームワークを利用するうえで重要なので備忘録
■処理の流れ
2.2 CakePHPの典型的なリクエスト
■ディレクトリ構成
■処理の流れ
2.2 CakePHPの典型的なリクエスト
■ディレクトリ構成
config | CakePHP が使用する(数個の)設定ファイルが入る場所です。データベース接続の詳細、ブートストラップ、コアの設定ファイルなどがここに入ります。 |
---|---|
controllers | アプリケーションのコントローラとコンポーネントが入ります。 |
libs | サードパーティ、外部ベンダからのライブラリではなく、ファーストパーティのライブラリが入ります。これはベンダライブラリと内部ライブラリの構成を分割することを可能にします。 |
locale | 国際化のための文字ファイルが入ります。 |
models | アプリケーションのモデル、ビヘイビア、データソースが入ります。 |
plugins | プラグインパッケージが入ります。 |
tmp | CakePHP が一時的なデータを保管する場所です。保管される実際のデータは、CakePHP の設定しだいですが、このフォルダは通常、モデルの内容データや、ログの保管に使用されます。時にはセッション情報も入ります。 確実にこのフォルダが存在し、書き込み可能であるようにしてください。そうしないと、アプリケーションのパフォーマンスは激しく影響をうけることになります。デバッグモードでは、CakePHPがそうなっているかどうかを警告してくれます。 |
vendors | 外部(サードパーティ)で作成されたクラスやライブラリは、ここに置いてください。そうすることで、App::import('vendor', 'name') で簡単にアクセスできるようになります。注意して観察している人は、これは重複しているのではないか、と言うかもしれません。ディレクトリ構造のいちばん上にも vendors フォルダがあるからです。この二つのフォルダの違いは、複数のアプリケーションを動作させて、より複雑なシステムセットアップをする場合のことを考える際に扱いましょう。 |
views | 表示用のファイルはここに置きます。エレメント、エラーページ、ヘルパー、レイアウト、ビューのファイルなどです。 |
webroot | 運用時(production)用のセットアップでは、このフォルダがアプリケーションのドキュメントルートになります。CSS スタイルシートや画像、JavaScript を入れるためのフォルダもあります。 |
レンタルサーバのドメインキングからスタートアップガイドがご丁寧に届いた件
一年間100円のレンタルサーバからご丁寧にスタートアップガイドが届きましたよ(^_^;)
メール便の送料だけで100円以上かかると思うけど経営大丈夫かしら…
いくらキャンペーンとはいえ凄いサービスですd(^_^o)
メール便の送料だけで100円以上かかると思うけど経営大丈夫かしら…
いくらキャンペーンとはいえ凄いサービスですd(^_^o)
iMacのdiskドライブから異音がする件
iMacを購入して1年3ヶ月ほど経過しました。
もっと昔から使ってる気がしましたが、実際はそんなでもありませんでした。
ただwinに戻る気はさらさらありません。winは仕事でどうしても必要なときにだけ仕方なく使うくらいですw
ただそんな愛すべきiMacのドライブから最近異音がするようになりました。
mac os起動時のドライブチェック(セルフチェック)の音と同じなんですが、
diskを入れてない状態で利用してても結構頻繁にジージー鳴るようになりました。
週末で電話サポート受けられないので、
アップルサポートコミュニティで原因調査したけど
参考になる対策も見つからずの状態です。
自分のマシンが不調だと(特に利用上は問題ないが)どうしても愛着が薄れるのが人情です。
新型iMacの発表のときに、買い替えも検討したんですが、
どうしても必要なアプリのインストールや開発環境の移行が面倒なんですよね。
外部ストレージにバックアップしているTime Machineでどこまで同期がとれるのか調べてないので
もしほぼ同期ができるなら買い替えも検討してみます。
ブログとtwitterの連携はfeedburner が良い件
ようやく Google feedburner に登録しました。
※設定などはクリボウさんのとこがわかり易いです。
これで Bloggerで投稿した際に、twitter でも自動でつぶやいてくれます。
twitter連携は色々なサービスがありますが、Googleのみで行うことに意味がありますww
そのうち逆のパターン (twtter -> blogger)
もやってみようと思ってます。
IEのチャート描画が異常に遅過ぎて勘弁してほしい件
サイト制作も順調に進んでましたが、ここにきて大きな問題が発生。原因はやはりIE wwwwww
canvasを使って,JavaScript でチャートを描いてますが、IE ではcanvasが使えないため、
googleが用意したexcanvas を利用してます。
ただしIE の場合は,excanvas によるエミュレートのために,動作がかなり遅いです。
株価チャートをhtml5で頑張る予定でしたが、
IEシェアを考えると現状ではFlashに戻す案も検討が必要な気がしてきました。
IEの時だけFlashというのもありすですが、メンテナンスコストが2倍になるため、
それならFlashに統一ということになりそうですが。。。
2011年5月21日土曜日
Mac用の無料FTPはFileZillaが圧倒的に使い易い件
軽くてシンプルなUIと日本語化にも対応してます。
現時点で無料のFTPでは最強ではないでしょうか?
これで開発環境も大分整備されてきました。
気になるのはやはりIEの動作確認...orz
chromeのシェアがのびているとはいえ、現時点でIEのシェアはNo.1なので軽視できません。
そもそも製作中のサイトは html5 css3 jqueryで構成しているため、IE9以降じゃないとまともに動かないかもしれません。
まだまだ IE6 IE7あたりを利用してるユーザーも沢山いるでしょうし、
最新仕様で制作してもIE利用者には受け入れられないという点が悲しいです。
もちろんIE用に表記崩れしない程度のUIに整備するつもりですが、、
ブラウザおよびそのバージョン毎に条件分岐してUIを調整するのは
個人サイトのレベルでは限界があると思います。
「このサイトはchrome, FireFoxに最適なUIでサービスを提供します。」
と一言追記が潔くて良いかなww
FTPの話から脱線しましたが、IE駄目だしというより、
こういったブラウザ別の開発工数を減らすことが出来ないか、今後も追求してきます。
MacでIEの動作確認をする方法が少なくて泣ける件
調べたけどほとんどないですwww
以下参考までに MacでIE の動作確認および評価をする方法をまとめました。
1. BootcampでWindowsを入れる。ただし動作確認の度に再起動が必要
2. Vmwareでサーバ仮想化し、ゲストOSにWindowsを入れる。mac上から確認可能
ちなみにVmware fusion3が「ダウンロード - サポートレスライセンスキャンペーン ¥ 5,980」
3. Web上で特定URLのスクショなどを提供してくれるサービスを利用
1は効率悪くて涙が止まりません。
2は資産に余裕のある方は良いかもしれません。Win OS費用+Vm費用。結構高いなw
ということで3を探しました。
http://screenshots.jp/
というサイトですが、無料でも使えそうかなと思ったんですが、基本有料じゃんwww
無料で使えるのはyahooなどの特定URLのみ。意味が無いとはまさにこのことwwwww
別の方法を検討します。
MacのSpotlight/mdworkerが悪さをしている件
Local環境(mac)で開発をしてて異常にレスポンスが悪くなったので
Topコマンドで調査したところ、
MdworkerというプロセスのCPU利用率が非常に高く、
なんじゃこらw
というこで調べたところ、どうやらSpotlightというMac OS標準のLocalファイルの検索機能
を実現する為に、Index化をバックグラウンドで行ってるプロセスのようです。(正確ではないかもしれません)
というかspotlightなんて使ってねーっすwwww
いらねーと思ってspotligth自体を止めようとしたんですが、
どうも止めてしまうとTime MachineというこれまたMac OS標準のバックアップ機能にも影響があるという記事を発見。。
どうしようか悩んでいたところ素晴らしい記事を発見!
Spotlightのプライベート設定にで特定のフォルダだけ対象から外すことが可能らしい。
ということで早速開発時の動作検証や負荷テストを行うフォルダだけ対象から外しました。
Yuuki-Tさま
感謝です!
ドメインキングのサポート対応が素晴らしかった件
ログインできなくなったため、深夜にメールで連絡したんですが、
数時間後にはメールで連絡が来てログイン出来るようになってました。
レンタル開始早々、かなり好印象です。
ただトップページみたら、1年間100円キャンペーンがまた再会してましたwww
ちょっと調べたらどうも常時やってるようですねwwww
まぁ期間限定で希少性を出して、ユーザを増やすというのは良い作成だと思いますが。。。
2011年5月20日金曜日
相関係数とはなんじゃらほいw
2011年5月19日木曜日
突然ドメインキングのメンバーログインが出来なくなった件
無料のソースコード管理の決定版(ホスティング)
迷いに迷いましたが、やはりまずはプライベート利用で気軽に開発したいので
unfuddle
を使い始めることにしました。
特徴は以下の通り
・容量:200MB
・プロジェクト数:1つまで ※Tracのプロジェクトのこと
・同時利用ユーザ数:2アカウント
・リポジトリ数:無制限
・リポジトリ:Subversion/Git
無料かつプライベートの割に結構リッチなサービスかなと思います。
利用してみた感想などは後ほどレビューします。
githubが非常に気になる件
開発環境についてのまとめって沢山ありますねw
その中でも記事は古いですが、百式さまの
IDEA*PAD開発で使ったツールいろいろ
が良くまとまっていて思わずブックマークしました。
脱線してこの本もちょいと気になりますん
[24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ) [単行本(ソフトカバー)]
Googleサービスはグループ活動に適しているか?
2011年5月17日火曜日
サーバの引っ越し(海外から国内へ)はさほど面倒では無い件
ドメインキングさんでサーバをレンタルし、晴れて引っ越しが終わりました。
最近はサーバ引っ越し用のツールなども準備しているレンタルサーバもあるようですが、
私の場合
1. 引っ越し元のサーバ:ftpで全ファイルをダウンロード
2. 引っ越し先のサーバ:ftpで全ファイルをアップロード
この2stepで完了しました。
というのもまだコンテンツも無く、MySQLも利用してなかったので、
データベースのダンプとリストア作業などは不要でした。
そしてドメインキングでもお決まりの phpinfo(); です。(画像参照下さい。)
バージョンはPHP Version 5.2.17 ですね。
ftpアップロードした感触ではかなりレスポンスが良い感じです。
1年間はここに根をはることにします。
html5のWeb Storageを株価チャートに利用する試み
国内サーバ頂上決戦!
答え ー> ドメインキング
理由は一つです。年間100円
安さには勝てません。
しかも
1. PHP, MySQL、Cron利用可能
2. DISK 30GB
3. 電話サポートあり
というリッチなサービスを提供してくれるようです。
実際のところ100円でどうやって運営してるんだろうか。。。
ただし1年後の更新時は3780円/12ヶ月と結構高くなるので
1年経ったらで颯爽と移転をする必要がありますwwwwwwwwwwwwwwwwww
パフォーマンスについてのレビューはあまり見かけなかったので
不安といえば不安なんですが、有料サーバでサポートありのところなんでしっかり管理してくれてるような気がします。
なお支払いはクレジットカードか銀行振込がありますが、
クレカだと自動更新とかで引き落とされてもいやなので銀行振込にしました。
100円振込って。。
海外サーバのボトルネックについて
海外無料サーバのhttp://www.000webhost.com/をレンタルして
しばらく利用してましたが、時々タイムアウトするほどスループットが悪くなる時があります。
海外サーバということもあり、通信コストが半端じゃないことがわかりました。
・pingのtime
国内:さくらインターネット:15〜20msec
海外:www.000webhost.com :130〜150msec
これはwwwwwwwwwwwww
レンタルサーバのレビューを見てあっさり
www.000webhost.com = パフォーマンス良い
と思い込んでましたが完全に見逃してました....orz
という訳でサーバ移転を即断w
やっぱり国内はさくらが一番かなぁ〜
2011年5月15日日曜日
Apache mod_deflate によるJavaScriptファイルの圧縮
htaccessの記述に誤りがあるのか?それともサーバが対応してないのか、
原因は不明ですが、うまく圧縮できずに断念しました...orz
結局YUIにてファイルサイズが大きい以下2つのjsのみcompressしました。
・prototype.jsのcompress(140K->80K)
・flotr.jsのcompress(172K->80K)
とりあえず次回はphpにてdata.jsの動的生成あたりを攻めたいと思います。
HumbleFinanceの資料を読んでみる
情報少なっwww
HumbleFinanceのdocumentationを見ると
必要最低限の情報がコンパクトにまとめてあります
・動作環境:IE6以上、FireFox、Safari、Chrome
・パフォーマンス:ブラウザ、プロセッサ、データサイズ次第
・使い方
・データ仕様
:
ということで、やはりJsなんで 各ブラウザのJavasciprtエンジンによって
描画スピードなどに影響はでるかと思います。
またチャートに表示する期間が長くなればなるほどdataサイズが大きくなるため、
初期表示の速度にかなり影響しそうです。
デモでは2004から2010まで約6年分のデータを利用してますが、
ファイルサイズは160KByteとかなりのサイズです。
ためしにデータをgzipしたところ、50KByte以下に圧縮することができました。
今回作成するサイトではgzip圧縮転送によるスループット向上がかなり重要になりそうです。
登録:
投稿 (Atom)