<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>伊藤くんの開発メモ</title>
<link>https://ameblo.jp/camesys/</link>
<atom:link href="https://rssblog.ameba.jp/camesys/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>色々な開発をしている中で、調べたことを忘れてない様にメモを残していきます。間違った記述が有ったら、ご勘弁・・・やさしく指摘して下さい。(笑)</description>
<language>ja</language>
<item>
<title>PHPにおける@（アットマーク）の意味</title>
<description>
<![CDATA[ ひさしぶりの更新です。<br>（これから頑張ります）<br><br>時々、PHPのソースをみていると、<br>関数などの前に@（アットマーク）を使用している時があります。<br><br>これはエラー制御演算子といって、<br>エラーがあってもエラーメッセージを出力させないようにするものです。<br><br>PHP 5では…<br><br><br>$ito = $_GET["ito"];<br><br>という書き方をすると、<br>エラーが出ることがあるので（原因は不明らしい）、<br>そんな時には…<br><br>@$ito = $_GET["ito"];<br><br>と書けば回避できます。<br><br>他にも、エラー判定が返り値で判断できるものは、<br>エラー制御演算子を使用したほうがいいかもしれません。<br><br><br>PHPerな方には常識かもしれませんが、<br>まだまだビギナーなもので。。。<br><br><br>参考WEB：<br><a href="http://cafe-system.com/system30.html">PHPでの@（アットマーク）の意味</a><br><a href="http://plaza.rakuten.co.jp/hknopage/diary/200704190002/">PHPの疑問～変数前の@(アットマーク)～</a><br>
]]>
</description>
<link>https://ameblo.jp/camesys/entry-10951917737.html</link>
<pubDate>Wed, 13 Jul 2011 01:14:11 +0900</pubDate>
</item>
<item>
<title>filter_var関数とRFC規約違反アドレス</title>
<description>
<![CDATA[ filter_var関数は、<br><br><div class="container"><div class="line number1 index0 alt2"><code class="php variable" style="color: rgb(255, 0, 0);">$result</code><span style="color: rgb(255, 0, 0);">&nbsp;</span><code class="php plain" style="color: rgb(255, 0, 0);">= filter_var(</code><code class="php string" style="color: rgb(255, 0, 0);">$address</code><code class="php plain" style="color: rgb(255, 0, 0);">, FILTER_VALIDATE_EMAIL));</code><br></div><br></div>というようなシンプルな書き方でメールのフォーマットチェックを行ってくれるのですが、<br>RFC規約違反アドレス（ドットが連続使用されたアドレス等）に対しては、<br>FALSEを返すようです。なんてお利口！<br><br>ただ！<br><br>RFCという世界的な基準の規約に違反しているとは言え、<br>日本、特にケータイの世界において、<br>RFC規約違反のアドレスはまだまだ現役なので、<br>個人的にはメールフォーマットチェックは、<br>filter_var関数使用しないほうがいいんじゃないかなーと思います。<br><br>ちなみに、このRFC規約違反のアドレスは日本のケータイ市場で数年前問題になったようですが、<br>現在は新規でダブルドット等のアドレスを取得することは各キャリアともに出来なくなりました。<br><br>このような状況と、filter_var関数がPHP5.2以降に正式に登場したことを考えると、<br>filter_varがRFC規約違反をはじくというのは至極真っ当なことだと思います。<br><br>何が言いたいかというと、悪いのはfilter_varじゃないよってことです！<br>（filter_var自体はURLのチェック等も行ってくれるとっても素敵な関数なので）<br>
]]>
</description>
<link>https://ameblo.jp/camesys/entry-10938450691.html</link>
<pubDate>Thu, 30 Jun 2011 00:59:40 +0900</pubDate>
</item>
<item>
<title>JavaScriptでのIE判別</title>
<description>
<![CDATA[ たまにはクライアント側の話でも。<br><br>JavaScriptでIEかどうかを判断するのは１行で出来ちゃいます。<br><span style="font-family: monospace;"><span style="font-style: italic;"><br><br></span></span>&lt;!-- IE判別 --&gt;<br>&lt;script type="text/javascript"&gt;<br>　var isMSIE = /*@cc_on!@*/false;<br> 　if (isMSIE) {<span class="blue"><br>　　　　　/*</span><br>　　　　　IE用の処理<br>　　　　　*/<span class="blue"><br> </span>　} else {<span class="blue"><br>　　　　　/*</span><br>　　　　　非IE用の処理<span class="blue"><br> 　　　　　*/<br></span>　}<span style="font-style: italic;"><span style="font-family: &quot;ＭＳ Ｐゴシック&quot;,Osaka,&quot;ヒラギノ角ゴ Pro W3&quot;,Arial,Helvetica;"><br> </span>&lt;/script&gt;</span><br><br>というように、<br><pre style="font-style: italic;" class="c"><span style="color: rgb(255, 0, 0);">var isMSIE = /*@cc_on!@*/false;</span></pre>だけで実装出来ます。<br><br>もちろん、クロスブラウザの観点からひとつの処理系でまとめることがベストですが、<br>JavaSriptの敵であるIE6に対応させるためには一筋縄では行かない場合もあるので、<br>思い切って、IE用の処理と非IE処理を書いた方が手っ取り早くベターなケースもあると思います。<br>
]]>
</description>
<link>https://ameblo.jp/camesys/entry-10927039093.html</link>
<pubDate>Sat, 18 Jun 2011 14:09:17 +0900</pubDate>
</item>
<item>
<title>auto_incrementでゼロ埋めしたい</title>
<description>
<![CDATA[ MySQLのauto_incrementを利用したすると、１から通番が振られます。<br>IDの利用等で、桁併せをしたい時等、０埋めをしたくなります。<br>こんな時は、テーブルのカラム属性に、「zerofill」を指定することで実現出来ます。<br><br>設定は、こんな感じ！<br>alter table animals change id id int(3) unsigned zerofill auto_increment;<br><br><br>
]]>
</description>
<link>https://ameblo.jp/camesys/entry-10923988624.html</link>
<pubDate>Wed, 15 Jun 2011 11:50:44 +0900</pubDate>
</item>
<item>
<title>MySQL小ネタ①</title>
<description>
<![CDATA[ ドリームジャンボ宝くじの当選番号が発表されました。<br>僕はなんと…外れてしまいました。<br><br>やっぱり世の中そんなに甘くないみたい…。<br>また一からコツコツと頑張っていきます。<br><br>一からコツコツと言えば（強引）、<br>MySQLでは整数のデータ型が定義されているカラムに対して、<br>auto_increment属性を指定することが出来ます。<br><br>こいつは（デフォルトでは）１からコツコツと勝手に採番してくれるので、<br>とても便利ですが、ID系カラムのような明らかにマイナス値を必要としない場合、<br>さらにunsigned属性を設定すると、正数値だけを取得するようになり、<br>実質、扱える数が２倍になります。<br><br>例えば、int型は通常、-2147483648から2147483647までの範囲を扱いますが、<br>unsigned属性を使用すると、0から4294967295までの範囲を扱うことになります。<br>超ざっくり言うと、扱えるIDが20億から40億に増える！<br><br><br>大規模なサイトのID系カラムには、<br>auto_incrementと共にunsigned属性も、<br>忘れずに設定しておきたいですね。<br><br>※１点、MySQL5.0以降の場合、unsigned属性を設定した状態で、<br>0から１を引くと、4294967295になるので注意が必要です。<br>
]]>
</description>
<link>https://ameblo.jp/camesys/entry-10923783169.html</link>
<pubDate>Wed, 15 Jun 2011 03:14:45 +0900</pubDate>
</item>
<item>
<title>簡単にネットワークキャプチャ！&lt;ngrep&gt;</title>
<description>
<![CDATA[ ngrepを使うと、ネットワークのキャプチャが簡単に行えます。<br>※インストールが必要です。<br><br>コマンドのは、以下の通りです。<br>・TCPポート番号８０でフィルタリング<br>＞ngrep -d eth0 tcp port 80 -W byline<br><br>・送信元IPでフィルタリング<br>&gt;ngrep -d eth0 src 192.168.1.1 -W byline<br><br>・送信先IPでフィルタリング<br>&gt;ngrep -d eth0 dst 192.168.1.1 -W byline<br><br>・送信元IPとポート番号８０でフィルタリング<br>&gt;ngrep -d eth0 src 192.168.1.1 and tcp port 80 -W byline<br><br><br><a href="http://www.ebisawa.co.jp/wiki/index.php?Linux%2Fngrep" target="_blank">詳細は、参考URLを見て下さい。</a><br><br>
]]>
</description>
<link>https://ameblo.jp/camesys/entry-10920150589.html</link>
<pubDate>Sat, 11 Jun 2011 17:10:40 +0900</pubDate>
</item>
<item>
<title>月末の日付を取得する</title>
<description>
<![CDATA[ PHPで月末の日付を取得するのは、非常に簡単です。date関数のｔ（指定した月の日数）を利用します。<br><br>date("Y-m-t")と書くと、今月の月末の日付が取得出来ます。<br>
]]>
</description>
<link>https://ameblo.jp/camesys/entry-10919293228.html</link>
<pubDate>Fri, 10 Jun 2011 20:25:34 +0900</pubDate>
</item>
<item>
<title>MySQLでプロセスのENDステータスが滞留する</title>
<description>
<![CDATA[ 高負荷の利用環境で、クエリーキャッシュを大きく取りすぎると、更新SQLがENDステータスで滞留してしまいます。場合によっては、ソケットのリソースを食いつぶし、DBへの接続が出来なくなります。<br>※SQLのENDステータスは、ドキュメントに記載されいませんが、SQL自体の処理は終了して、後処理（キャッシュのクリア等）を実行している際に表示される様です。<br><br>おそらくキャッシュ領域の更新処理が排他される為と思われ、大きなクエリーキャッシュを設定した際に、更新SQL毎に実行されるデータクリア処理に時間が掛かり全ての処理を止めてしまう様です。<br><br>今回、私が設定したクエリーキャッシュは３Gで設定したのですが、あっと言う間にサーバをダウンさせてしまいました。現在では、512Mbyte（デフォルト）に設定し快適に動作しています。<br><br>サーバプログラムにPHPを利用し、さらにPHPにてDBセッションを利用している為、PHPプログラムが終了する度にSESSIONデータの更新が常に発生している事も負荷を上げる要因の一つの様です。<br><br>しかし、クエリーキャッシュサイズを上げる方法が無いものですかね。。。<br><br>
]]>
</description>
<link>https://ameblo.jp/camesys/entry-10919112544.html</link>
<pubDate>Fri, 10 Jun 2011 16:38:21 +0900</pubDate>
</item>
</channel>
</rss>
