こんにちは、中川です。 今回はJavaScriptで開発していると、うっかりハマってしまうちょっとした罠たちを紹介したいと思います。 JavaScriptでの開発経験者であれば、どれか一度はひっかかったことがあるのではないでしょうか? String ●String#replace()は文字列指定では全部置き換えない 対象文字列を一括して置き換えたいなどでString#replace()を使いますが、 検索対象を文字列で指定してしまうと最初に一致した部分しか置換しません。
こんにちは、中川です。 今回はJavaScriptで開発していると、うっかりハマってしまうちょっとした罠たちを紹介したいと思います。 JavaScriptでの開発経験者であれば、どれか一度はひっかかったことがあるのではないでしょうか? String ●String#replace()は文字列指定では全部置き換えない 対象文字列を一括して置き換えたいなどでString#replace()を使いますが、 検索対象を文字列で指定してしまうと最初に一致した部分しか置換しません。
文字コード:UTF-16LE(BOM必須) 改行コード:CRLF 区切り文字:tab 出オチですが。 - 昨今は多言語に対応したフォームを作ってくれ、というオーダーもちらほらありますが、お客さんは管理画面からDLできるCSVをエクセルで開くわけで、何も考えて作らないとバリバリ文字化けします。 そういう時はエディタで開くとか、エクセルなんかではなくて、Open Officeとかで開くのが順当なんですがね、そんなちゃんとしたことが出来る方は滅多にいませんし。 Excelは当然ユニコード対応してるんですけど、なぜかUTF-8はちゃんと認識してくれない。 UTF-16とかいまさら誰がつかってんの(内部コード用にはよくつかわれてますけど、ファイルフォーマットとしては、UTF-8が世界的にもデファクトちゃうの?)という気がしますし、そもそもBOMがないとやっぱりコケるのが謎すぎる。 さらに、そのUTF
Original:Don’t docwrite scripts(2012-04-10)by Steve Souders 昨日のブログ記事のHTTP Archiveが速くなっている、大きな要因の一つとしてはスクリプトローダーを使用しないことです。そのスクリプトローダーとはスクリプトを動的に読み込むためにdocument.writeを使用しているものです。振り返れば、私は2009年4月のブロッキングなしのスクリプト読み込み、続・ハイパフォーマンスWebサイト(4章)において、document.writeテクニックについて記述していました。それは以下のようなものです。 document.write('<script src="' + src + '" type="text/javascript"><\/script>’); document.writeを使ったスクリプトローダーの問題点: 挿入し
IE8以下はvalue属性がないoption要素の値をJavaScriptのvalueプロパティで取得できない HTMLでselect要素を使った選択肢を記述する場合、出力される文字列と送信される値が同一の場合、option要素のvalue属性が省略できます。HTML4.01仕様書には次のように書かれています。 When rendering a menu choice, user agents should use the value of the label attribute of the OPTION element as the choice. If this attribute is not specified, user agents should use the contents of the OPTION element. Forms in HTML documents す
一連の処理の中で複数の生存期間を使い分ける必要があり、こんな事をやっていたのだけどどうも上手く動かない。 $cache = new Cache_Lite(array('lifeTime' => null, 'automaticSerialization' => true)); if($data = $cache->get($cacheKeyData)): return $data; else: $data = array(); foreach($this->getFromDB() as $id): $post = $cache->get($cacheKeyPost) if(!$post): $post = $this->getPostById($id); $cache->setLifeTime(null); $cache->save($post, $cacheKeyPost); endif
MySQL で文字化けを防ぐためには SET NAMES utf8 のように SET NAMES を実行するのが有効なのですが、これを app/config/database.php で設定する方法です。 'encoding'=>'文字コード' をデータベースの設定項目に追加してやるだけです。 具体的には app/config/database.php が下記のようになります。 var $default = array( 'driver' => 'mysql', 'connect' => 'mysql_connect', 'host' => 'localhost', 'login' => 'user', 'password' => 'password', 'database' => 'dbname', 'prefix' => '', 'encoding' => 'utf8' ); cake
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く