Posts tagged Google
Firefox3 インストール
5Firefox3 が公開されました。24 時間最多ダウンロードソフトとしての世界記録挑戦ということで貢献するためにも、早速ダウンロードしてインストールしてみました。
うわさ通り、表示はかなり速くなっているのが体感できます。
あと、ロケーションバーから履歴を検索できるのが便利です。
(続きを読む…)
4月に読んだ本
04月に読んだ本は33冊。1日に1冊ペース。
最近増えたのが、会社の経営者が書いた本で内容が自分の会社の宣伝になっている本。ビジネス書で最近多いような気がします。内容は全てが宣伝ではありませんが、ことあるごとに自社の宣伝が出てくるのが読んでいてすごく気になる。本で宣伝するならもっと安くして欲しいなあ。
ここ最近自分の勉強でも仕事でもはまっているのが「WordPress」です。その中でも「WordPressビジネスブログ標準ガイドブック」はオススメです。その前の「WordPress標準ガイドブック」ももちろんオススメです!
(続きを読む…)
jQuery で属性値を変更するには set ではなく attr メソッド
1jQuery で属性値を変更する方法を Google で検索すると
$('#hoge').set('href', 'http://www.syuhari.jp/');
というやり方が結構ヒットするのですが、jQuery1.2.x では
$('#hoge').attr('href', 'http://www.syuhari.jp/');
のように attr メソッドを使用します。
ブログにコードを表示するときに便利な dp.SyntaxHighlighter
4今までのデザインでは pre タグ or code タグで PHP などのコードを表示していましたが、今回のサーバ移転&デザイン変更を機にコードの表示に SyntaxHighlighter を使用してみました。
syntaxhighlighter – Google Code
特徴
- 多言語対応のシンタックスハイライト
- 行番号を付加
- クリックするだけでクリップボードへのコピーが可能(IEのみ)
- 別ウィンドウでソースを表示可能
- コードの印刷が可能
- JavaScriptオフの状態では、テキストエリアにてコードが表示される
2038年問題でクッキーの有効期限がブラウザを閉じるまでになっていた
1ログインするときにログインの状態を保持するチェックボックスがあると思います。以前開発したシステムで急にそのログイン状態を保持するのが利かなくなったと連絡があり調査したところ、原因は2038年問題でした。
ログインするときにログインを保持するにチェックがあると
session_set_cookie_params(60*60*24*365*30);
として30年後を指定していました。
(続きを読む…)
2月に読んだ本
0オススメは「成功本50冊「勝ち抜け」案内」です。成功本50冊を丹念に解説しています。こういう内容でぜひブログを書いて欲しいです。
あと野球の開幕が近いのもあるけど野球関連の本を2つ。
あぁ、阪神タイガース―負ける理由、勝つ理由 (角川oneテーマ21 A 77)
不動心 (新潮新書 201)
私は阪神ファンですが、松井のことは好きです。巨人は大嫌いですが、桑田や松井のように真摯に野球に取り組んでいる選手はやはり野球ファンとしては好きですね。阪神に入って欲しかった。この本を読んで松井の考え方などよく理解でき、また少し好きになりました。
野村監督の本は面白いのですが、微妙な心境です。敗軍の将は兵を語らずでいて欲しかった。どうしても自分の責任ではなく阪神というチームのせいでうまくいかなかったと言いたいのかもしれませんが、野村監督が名監督なのはこんな言い訳をしなくても分かっていることだと思います。
なにげに面白かったのは「字幕屋は銀幕の片隅で日本語が変だと叫ぶ」です。字幕の英語が変だという方にはぜひ一度読んで欲しいです。字幕屋さんの苦労がにじみ出てます。ここまで書いてこの後仕事に影響しないか心配です。
WEB+DB PRESS Vol.43
美容院と1000円カットでは、どちらが儲かるか?―できるビジネスパーソンになるための管理会計入門!
成功本50冊「勝ち抜け」案内 How to Improve Your Reading Skills for Success in Life (Kobunsha Paperbacks Business (013))
決算書の暗号を解け! ダメ株を見破る投資のルール
勝間和代
¥ 1,680
単行本(ソフトカバー)
ランダムハウス講談社
インテリジェンス 武器なき戦争 (幻冬舎新書)
FFmpegで作る動画共有サイト
月村 潤
¥ 2,940
単行本(ソフトカバー)
毎日コミュニケーションズ
「食い逃げされてもバイトは雇うな」なんて大間違い 禁じられた数字〈下〉 (光文社新書)
世界一愚かなお金持ち、日本人
マダム・ホー
¥ 1,050
新書
ディスカヴァー・トゥエンティワン
ぐんぐん実力がつく! 逆算式SQL教科書
小野 哲
¥ 2,289
単行本(ソフトカバー)
技術評論社
ケータイでGoogle
佐野 正弘
¥ 1,344
単行本(ソフトカバー)
技術評論社
IKEAファンブック
右脳でわかる!株式投資力トレーニング
あぁ、阪神タイガース―負ける理由、勝つ理由 (角川oneテーマ21 A 77)
不動心 (新潮新書 201)
字幕屋は銀幕の片隅で日本語が変だと叫ぶ (光文社新書)
ウェブ国産力―日の丸ITが世界を制す (アスキー新書 047)
決断力 (角川oneテーマ21)
できる人の英語勉強法
安河内 哲也
¥ 1,365
単行本(ソフトカバー)
中経出版
個人事業・自由業者のための会社をつくるメリット・デメリット本当のところズバリ!
牛丼一杯の儲けは9円―「利益」と「仕入れ」の仁義なき経済学 (幻冬舎新書 さ 5-1)
CakePHP PDT の補完機能をビューのヘルパーで使用する方法
1CakePHP のコーディングに PDT を使用しているのですが、ビューで補完機能を使用できるようにする方法が紹介されていました。
Eclipse PDTでCakePHP開発、まず設定すべきこと – Writing Some Code
ビューの拡張子(.ctp, .thtml) を PHP のコンテンツとして登録して、さらにビューで使用するヘルパーの各クラスのインスタンスを作るファイルをプロジェクトに作成し(場所はどこでもいいようです)PDT に教えてあげるような感じですね。
また、コントローラで使用するモデルやコンポーネントにも補完機能を使用できるようにする方法も紹介されています。
class AppController extends Controller { /** * @var Model */ var Model; /** * @var SessionComponent */ var $Session;
下記サイトも参考になりました。
Code completion in views with Eclipse PDT – cakebaker
Eclipse code completion in Views – Cake PHP | Google グループ
GoogleMap 特定のキーワードで表示させる
4Google AJAX Search API を使用してキーワードや住所から自分のサイトに Google Map を表示させるメモ
Google AJAX Search API KEY と Google Map API KEY を指定して JavaScript を読み込む
<script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=Google AJAX Search API KEY" type="text/javascript"></script> <script src="http://maps.google.com/maps?file=api&v=2.x&key=Google Map API KEY" type="text/javascript"></script>
実際の表示部分。 q=キーワードで表示させる地図のキーワード(または住所)を指定する。
<script type="text/javascript"> <!-- var gls; var gMap; function OnLocalSearch() { if (!gls.results) return; var first = gls.results[0]; var point = new GLatLng(parseFloat(first.lat), parseFloat(first.lng)); var zoom = 15; gMap.addControl(new GSmallMapControl()); gMap.addControl(new GMapTypeControl()); gMap.setMapType(G_MAP_TYPE); gMap.setCenter(point, zoom); var marker = new GMarker(point); gMap.addOverlay(marker); GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); }); } function load() { gMap = new GMap2(document.getElementById("map")); gMap.addControl(new GSmallMapControl()); gMap.addControl(new GMapTypeControl()); gMap.setCenter(new GLatLng(0, 0)); gls = new GlocalSearch(); gls.setCenterPoint(gMap); gls.setSearchCompleteCallback(null, OnLocalSearch); var q = "横浜ランドマークタワー"; gls.execute(q); } //--> </script> <body onLoad="load()"> <div id="map" style="width: 410px; height: 320px"></div> </body>
各 API KEY の取得は下記ページから
Sign-up for an AJAX Search API Key – Google AJAX Search API – Google Code
Sign Up for the Google Maps API – Google Maps API – Google Code
CakePHP Model::generateList メソッドの {n}
2CakePHP で select タグを生成する際に generateList メソッドをよく使います。
ちなみに使い方は下記の通りです。
$this->Model->generateList($conditions, $order,$limit, $keyPath, $valuePath);
$coditions :検索条件
$order :ソートの指定
$limit :取り出す数
$keyPath :配列のキーにするフィールド
$valuePath :配列の値にするフィールド
この $keyPath と $valuePath の指定方法が曲者で
{n}.Model.field
のようにモデル名の前に「{n}.」をつけなくては正しくデータを取得できません。
この「{n}」というのがなんなのかが気になり調べてみました。
詳しくは下記リンク先を参照していただくと分かります。
{n} ? – Cake PHP | Google グループ
以下実際に CakePHP のコードを調べてみたことをまとめます。
- generateList メソッドでは検索条件などによって findAll する
- findAll したデータから Set::extract メソッドを使用して該当するフィールドデータのみ抜き出す
- Set::extract メソッドは配列以外にもオブジェクトからも extract できるように設計されている
- 配列の場合はモデル名の前に「{n}」があるかどうかで判定している
という感じのようです。
ちなみに Set クラスは /cake/libs/set.php で定義されていて、コメントを見ると配列用のライブラリクラスのようです。
また、generateList で $keyPath, $valuePath を指定しなかった場合は下記のようになるようです。
- $keyPath には モデルで指定した $primaryKey を使用
- $primaryKey の指定がなければ ‘id’ フィールドを使用
- $valuePath には モデルで指定した $displayField を使用
- $displayField の指定がなければ ‘title’ フィールドが存在すれば ‘title’ フィールドを使用
- ‘title’ フィールドが存在しなければ ‘name’ フィールドを使用
- ‘title’ フィールドも ‘name’ フィールドも存在しなければ ‘id’ フィールドを使用
フィールド名の付け方も重要ですね。