Archives by date

You are browsing the site archives by date.

【Angular.js】ng-patternで半角のみの入力を許可する。

メモ。

<input type="text" name="userId" ng-pattern="/^[\x01-\x7E]+$/">

これで全角文字を禁止し、半角カタカナも弾くことが出来る。

 

【Symfony2.3】でコマンドラインから実行可能なバッチを作成する。

下記公式ドキュメントがとてもわかりやすい。

http://docs.symfony.gr.jp/symfony2/cookbook/console.html

コンソール出力に装飾もできたりして、とても便利。

 

【Symfony2.3】取得したHTML要素を解析する。

SymfonyにはデフォルトでDOMのパーサーが組み込まれているのでこれを用いると便利。

詳細と使い方は下記公式ページを参照されたし。

http://symfony.com/doc/current/components/dom_crawler.html

個人的には「Simple HTML DOM Parser」のほうが使いやすくて好きかな。
jQueryと同様のセレクタで要素を辿れるしComposerでもインストールできるしまじ便利。

 

【Angular.js】config()メソッドに注入できるインスタンスは各種providersのみなので注意。

HTML5モードなどをconfig()メソッドで設定する際に独自のサービスを注入、実行したかったのでためしたところ
どうしてもインジェクターでエラーを吐くので調査してみたところ、「.config()」に注入できるのは$routeProviderのような
プロバイダーのみしか注入出来ないことが判明。

ちなみ「.run()」ブロックではサービスのインスタンスしか注入出来ないことも判明(例:$route)。

これはなかなかエラーが特定出来ずにはまってしまったので今後特に要注しなければ。

 

【Vim】複数の先頭行に文字を挿入する。

例えば大量の行をコメントアウトしたい場合。

1, [Ctrl + V]で矩形選択モードへ。

2, [Shift + G]で最終行まで選択。

3, [I]でインサートモードへ移行。

4, 「#」を入力。

5, [esc]でインサートモードを抜ければ完了。

これは簡単。めっちゃ便利。

 

【Symfony2】のHTTPキャッシュを有効にする方法。

とても簡単。

まずはapp.phpの下記2行のコメントアウトを外す。

require_once __DIR__.'/../app/AppCache.php';
$kernel = new AppCache($kernel);

んでコントローラーで下記のようにレスポンスを返す。

$response = new Response();
$response = $this->render('HogeFugaBundle:Default:index.html.twig');
$response->setPublic();
$response->setSharedMaxAge(300);

return $response;

以上、完了!
これだけで組み込みリバースプロキシの共有キャッシュが動作するなんて素敵過ぎる。

下記スライドにわかりやすく纏められてます。(感謝!)

http://www.slideshare.net/hidenorigoto/symfony2http-cache-reverse-proxy

 

【Angular.js】のSEO対策。

angular製のアプリをgoogleに正しく取得してもらうためには、下記記事の通り、ヘッダー内に多少の細工を施す必要がある。

まずは、このページがダイナミックアプリケーションであることを伝えるために、下記metaタグを追加する。

<meta name="fragment" content="!">

次にJavascriptnのwindowオブジェクトに下記変数を定義。

window.prerenderReady = false;

最後にビューのレンダリングが完了した際に上記変数をtrueにしてやる。

window.prerenderReady = true;

window.prerenderReadyに関しては記述の必要性に関して下記のページが参考になる。

http://scotch.io/tutorials/javascript/angularjs-seo-with-prerender-io

window.prerenderReadyのセクションに

There is a high probability that you will not need to include this snippet, but the option is there if you need it.

のような記述が見受けられる。
これは「この記述は必要じゃない可能性が高いけれども、もし必要であるならばオプションとして用意されているよ」って意味なのかな?
兎に角これで動的なタイトルであっても、Google先生は正しく補足してくれるようになる模様。
今後も要調査項目かな。

 

【HTML】 はどちらを書けばいいのか。

http://stackoverflow.com/questions/4696499/meta-charset-utf-8-vs-meta-http-equiv-content-type

答えはHTML5であれば前者(短い方)を使うべきとされている。とのこと。

更なる詳細はググろう。