サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
narusase.hatenadiary.org
注意: 途中で力尽きました、ぜんぜんまとめきれてません・・・orz ○通信の最適化とは いわゆる3大キャリアを中心に、MVNOなども含む非wifi通信時(いわゆるLTEなど)におこなわれる、画像、動画等に対する非可逆圧縮のこと ○問題点 問題点としては複数あり、主に下記のように類型化できると思われる 1. 品質劣化の問題 各サービス提供者もしくはユーザーの意図に反する形で(あるいは基づかない形で)、画像等に対する非可逆圧縮をおこない品質劣化をおこしている点 2. サービスへの干渉の問題 一部のアプリにおいて「通信の最適化」によりアプリを起動できないなどの問題が発生し、各サービス提供者およびユーザーに不利益を与えている点 3. 通信の秘密への侵害の問題 ユーザによる「明確な同意」に基づかずにおこなっており、いいわゆる電気通信事業法 および 日本国憲法 における「通信の秘密」を侵しており、盗聴
↓の続き 誤報 APC の apc.include_once_override で動的な include_once 等が失敗する問題 http://d.hatena.ne.jp/narusase/20121030 どうも同僚の調査によると、動的なinclude_onceが原因ではないようだ ・・・というわけで、極限まで単純化したサンプルコードを書いてテストしてみた。 ファイルその1. /home/htdocs/test.php <?php function include_test($x = array()) { include_once('hogehoge.php'); } echo '1'."\n"; include_test(); echo '2'."\n"; include_test(); echo 'end-'."\n"; ファイルその2. /home/lib/hogehoge.
とあるよくわからないエラーを調査したときPEARのMail.php の@ 指定を解除したところ下記のようなエラーが発生したのでちょいと調べて見た。 結果としては先に設定したAPCの apc.include_once_override = 1 の設定が悪さをしていた事が分かったので一応メモっておく PHP Fatal error: include() [<a href='function.include'>function.include</a>]: Cannot redeclare class mail_smtp in /省略/Mail.php on line 52ネット上をいろいろ探してみるといくつかのサイトで引っかかる既知の問題のようだが、PEARのMail.phpの下記のようなコードが駄目らしい。 static function &factory($driver, $params =
きたーーーメモリ使用量減った!! 以前から悩んでいたPHPのメモリ使用量が高い問題だがようやく対処方法が分かった php.iniに下記の設定を追加することで、とあるプログラムでは14MB食ってたのが4MBまで減少した(1プロセス当り) apc.include_once_override = 1 apc.lazy_classes = 1 apc.lazy_functions = 1 この設定は関数やクラスの遅延読み込み的なことをする設定のようなので、実際には走らないコードを多く含むものについてはそこそこ効くと思われます。 なお、include_once_override の設定はコードの書き方によってはトラブルになることが多いとのことなので、使うならしばらくテスト環境などで寝かせておいてテストした方が良いかもしれません。 また、lazy_classes、lazy_functions は遅延読
知り合いから教えてもらったのだが、PHPでは /** から始まるコメントが、require_once実行時に無駄にメモリを食う問題があるらしい・・・ということで調査してみた まずは、確認用のコードとして test.php を書く <?php echo ' peek usage'."\n"; echo 'pre = '.memory_get_peak_usage().' / '.memory_get_usage()."\n"; $x = '0123456789'; for ($i = 0; $i != 12; $i++) { $x = $x . $x; // 適当にメモリを使ってrequire_once 時に新たにメモリを確保する必要があるようにしておく } $before = memory_get_peak_usage(); echo 'before = '.$before.' / '.m
MySQLでテーブル定義を取得する方法は三つあることを今日はじめて知ったのでメモっておく・・・ 1つめ SHOW FULL COLUMNS FROM hogehoge;個人的に普段使ってる方法、良く忘れる・・・orz おそらくほぼ全ての情報を表示する 2つめ DESC hogehoge;1つめの不要な情報を削除した物を表示する はじめて知ったやり方その1 3つめ SHOW CREATE TABLE hogehoge;テーブルの作成時の情報を表示する はじめて知ったやり方その2 2つめはシンプルで使い勝手がよさそう・・・
簡単に言うとPUTされたコンテンツが読みだすと消滅する問題 POSTや、PUTでHTTPのリクエストを送った際、ペイロードとして$_POSTでは扱えないひとつながりの文字列を送る場合がある。 その際、$_POSTでは取得できないため、file_get_contents('php://input') を使って取得するのが通例になっている。 しかし、どうやらHTTP的にPOSTした場合と、PUTした場合で挙動に違いがあるようだ。 具体的にはPOSTした場合、file_get_contents('php://input') を使って複数回取得しても値は消えないが、PUTの場合1回だけしか取得できないバグ? 仕様?があることが分かった。 ちなみに発生した環境は PHPのバージョンは PHP 5.3.6 ApacheのバージョンはApache/2.2.19 また、POSTやPUTする時にはfile_
PHPのmb_strlenはCR+LFを2文字(バイトではなく文字な所に注意)として認識するため、CR+LFとLFが混在するような使い方をされた場合に、思った通りにコードが動かないことがある。 下記コードを参考にして貰うと解るがCR+LFは2文字と解釈される。 これに対する簡単な対策としては事前にCR+LFをLFに置き換えてから評価するのが良いだろう。 <?php $str = "\r"; printf("LF = %s\n", mb_strlen($str)); $str = "\r\n"; printf("CR+LF = %s\n", mb_strlen($str)); $str = str_replace("\r\n", "\n", $str); printf("CR+LF -> LF = %s\n", mb_strlen($str)); ?> 実行結果はこちら [root@host
PHPでCLIで簡単にmemcashedの各種ステータス表示するツール作った スタブ毎のキーとそのヒット率の調査のために作ってみたんだがそれなりに使えそうなので公開してみる とりあえず、ソースはこんな感じ。 <?php function usage() { echo "Usage: memcached_stat.php [ option ]\n"; echo "option:\n"; echo "\t dump # dump key and status\n"; echo "\t get <key> # show key value\n"; echo "\t status # show status\n"; echo "\t slabs # show slabs status\n"; echo "\t items # show items status\n"; echo "\t sizes
EMA認定というのは要するに青少年向けでない「違法・有害コンテンツ」を排除することを目的とした認定で、この認定を受けられないと未成年ユーザの携帯向けにおこなわれているフィルタリング対象になるというもの。 まあ、EMAと携帯フィルタリングについては詳しくは下記参照のこと。 一般社団法人モバイルコンテンツ審査・運用監視機構(EMA) http://www.ema.or.jp/ 携帯フィルタリングサービスとは? http://benesse.jp/blog/20080319/p1.html で、ちょっと前には下記のような認定取消などが話題になっている。 モバイルSNS「ポケゲー」、管理体制の不備でフィルタリング対象に--EMAから認定停止 http://japan.cnet.com/news/media/story/0,2000056023,20396299,00.htm んで、本題「EMA認定
ソフトバンクの携帯には端末自体に紐付く端末シリアル番号と契約に紐付くUID(x-jphone-uid)が存在しています。 このうち端末シリアル番号は「SN************」の様なフォーマットで表され、固有の値であり同一の値は存在しないと言われています。 しかし、この端末シリアル番号は「あくまでユニークな値」ではありますが、「再利用されない」ものではないらしいと言うことが最近解りました。 端末シリアル番号は実例として修理前後で端末シリアル番号が異なる場合があることが確認されています。 これは推測になるのですが、その際、修理済みの同型携帯(あるいは端末シリアル番号がリサイクルされた新品)をバックするような仕組みになっているようです。(あるいは、修理不可能な携帯の再利用可能な部分のみ再利用している可能性もあります) これによって、以前ほかの誰かが使っていた端末シリアル番号が割り当てられた
世界には様々なウィルスが溢れている。 それに対して自衛を行わず「大変なこと」になってもそれは「リスクを過小評価した」自己の責任だろ? もちろん、故意にばらまいてるのがいるならそいつが悪いことは確かだけどね。 ・・・それが、インターネットの世界でも、リアルワールドでもね。 ・・・というわけで、最近話題のネタにいまさらながら燃料を投下してみる。 なんというか、この論争は今ひとつグッとこない 「男 VS 女」みたいな論議になっててので根本的な話が置き去りになっている気がしてならない。 元ネタは↓あたりを参照のこと ○強姦するのが男の性なら去勢するのが自己責任でしょ - フランチェス子の日記 http://d.hatena.ne.jp/Francesco3/20091129/1259458069 ○性犯罪を容認する発言を許す産経新聞へ抗議しました - 「あなたは悪くない」別館 http://d.h
■htmlspecialcharsのInvalid multibyte sequenceエラーの問題 http://d.hatena.ne.jp/narusase/20091203 ↑の続き いろいろオプションを変えてテストしてみた結果php.iniの設定によってhtmlspecialcharsの挙動が変わることが判明した。 具体的には 設定項目の「display_errors = On」を「display_errors = Off」にするとエラーが発現する。 表示しない設定だと表示するとか駄目すぐる・・・orz ソースをみてみると。 ext/standard/html.c の L1142行目のあたりが怪しい if(!PG(display_errors)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid multibyte se
このページを最初にブックマークしてみませんか?
『Narusaseの日記 -ハニポってどうよ?(仮)-』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く