ど素人から毛を生やす。<延>

Web

MySQLをPHPでSELECTしたとき、resource型で保持して使用するときにwhileするのと一度配列にぶち込んでforeachするのとで、どれくらい負荷と速度に差があるのか調べてみた。

Web > PHP 2018年12月7日(最終更新:3日前)

どもです。

つい昨日、こんなことを呟きました。

膨大な行のMySQLをPHPでSELECTしたとき、resource型で保持して使用するときにwhileするのと一度配列にぶち込んでforeachするのとで、どれくらい負荷と速度に差があるのか知りたい。
いや前者の方が良いのはわかるんだけど!可能なら後者でいきたいんだ!

ということで、調べます。
PHPバージョンは5.4.15、Linuxサーバーです。

材料:
1万行×11カラムのテスト用テーブル

結果
1.Max Memory Usage : 5.978 [MB] ... 続きを読む »

FTPS中のファイルを更新日時順で取得したかった話。

Web > PHP 2018年10月31日(最終更新:24日前)

どもです。

FTPS上にアップされたCSVをDBに落とすプログラムを作成していたのですが、このときにファイル名は問わないという縛りがあり、では何を基準に複数ファイルがあったときの処理順を定めるべきか。

普通に考えたらファイルの更新日時かアップロード日時ですな。
ファイル更新日時の昇順といたしましょう。

さて、どうすればそれが適うのか。

ローカルのファイルの日時を取得するなら…

filemtimeですな。

使い方はこちらのサイト様がとてもわかりやすい。

しかし、今回はFTPなので、絶対パスで指定するfilemtimeではない。さて。

ftp_nlistって引数lsコマンド使えるのか→できないな…、何故だ。

ftp_nlistって... 続きを読む »

inputに半角だけ入力させたい

Web > javascript 2018年10月10日(最終更新:12日前)

どもです。
フォーム回りは本当にブラウザ差異が活発極まりなく。

さて、まずはこの要望についてですが、
ブラウザ側での制御はいくらでも抜け道があるため、action側で全角⇒半角処理を行うのがBEST

という結論を前提に置いてから以下をご覧いただけると幸いです。

今回のテーマは、それでもブラウザ側で制御したい場合。
往々にしてそれはバックヤードなサイト的な、悪意を以てフォームを触る方が現れない閉鎖的なサイトであることでしょう。

そういったサイトの、作業の効率化やミスのリスクを減らすための入力制限を考察します。

HTML、CSSで制御する

IE、Edge、Firefox

一昔前、半角の入力制御といったらこれでした。ime-mode。
現在は公式に廃止される... 続きを読む »

PHP4サーバーにXML/ParserをインストールしたらFatal errorになった話

Web > PHP 2018年10月5日(最終更新:2月前)

どもです。

PHP4のサーバーでXMLの読み取りを行いたく、【Pear】Package Information: XML_Serializerを導入。

本番サーバーへリリースしたところ、「XML/Parser.phpがねーぞ!」とお断りされたので慌ててサーバーのライブラリを追加導入。したところ、今度は

Fatal error: Undefined class name 'self' in ... ... 続きを読む »

[MySQL]JOIN対象のセルが空の場合は指定の値でJOINしたい。

Web > Other 2018年9月25日(最終更新:2月前)

結論から言えば、IFやIFNULLはFROMでフツーに使えるゾ☆って話。

普通のJOIN。
βのid(往々にしてprimarykey)に0や空、NULLが登録されているわけでないなら、α.b_idに「値が無い」状態のときは取得できるnameがNULLになります。

IFNULL

IFNULL(expr1,expr2)
expr1 が NULL でない場合、IFNULL() は expr1 を返し、それ以外の場合は expr2 を返します。IFNULL() は、使用されているコンテキストに応じて、数値または文字列値を返します。

... 続きを読む »

WordPressのテーマ編集でバグってファイルの中身が消えたとき、応急処置になるかもしれないやり方。

Web > WordPress 2018年8月30日(最終更新:3月前)

どもです。
いつ頃からか、WordPressのテーマを編集しようとすると、
CSSファイル以外で以下のエラーが発生するようになりました。

致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。
SFTP を使うなど、他の手段で PHP ファイルの変更をアップロードする必要があります。

まぁFTP経由でやれば良いのですが、ちょっとFTPが手元に無い状態で編集したくなりまして。
調べたところ、こちらのサイトにて、プロフィールから「コード編集中のシンタックスハイライトを無効化」の✓を外すとできるようになるとありました。

やってみたところ、エラー文言は表示されたまま。
かつ、... 続きを読む »

[MySQL]空文字 or NULL を一息で判別したかった話

Web > Other 2018年8月21日(最終更新:2月前)

どもです。
MySQL初心者です。

カラムAにデータが入っていたらAを、入っていなかったらBの内容を取得したかったのですが、
「入っていない状態」は空文字とNULLの2パターンが想定される。
DB構成としてアカンくないか、NULL許容させんなや、などとツッコミはありますが、古いDBに文句言っても仕方ない。

さて、NULLと空文字が別物だってのは、MySQL初心者でも常識です。

NULLは「IS NULL」で、空文字は「=''」で指定、
と思ったのですが、「!=''」でNULLと空文字の両方を除外できると小耳に挟みました。

え、なにゆえ??
じゃあ「!=''」を使おう、とするには、そうなる理由がわからなくて怖い。

そう思っていましたら、こちらのQiitaの記事... 続きを読む »

一定文字数、一定バイト数で文字列を分割する的なアレ。

Web > PHP 2018年8月17日(最終更新:27日前)

どもです。
一続きの文字列を、一定の文字数またはバイト数で分割する備忘録。

両方とも$arrayに分割された文字列が入ります。

原理としては、まぁ見りゃわかるやつですが、

[i] = 切取(加工前の[i], 0, $byte);
[i+1] = 切取(加工前の[i], 文字カウント([i]), 文字カウント(加工前の[i]));

mb_substr... 続きを読む »

[MySQL]プライマリキーとユニークキーを取得する。

Web > Other 2018年8月3日(最終更新:2月前)

どもです。
MySQLにて。

ユニークキーに設定されているカラム情報を抜き出す、という動作の需要がありまして。
ちょいと覚えておきたい内容だったので、備忘録しときます。

SHOW INDEX FROM テーブル名

これで、そのテーブルのインデックス回りの情報が抜き出せます。
SHOW INDEXのリファレンスはこちら

SHOW INDEXは、インデックスを構成する1カラムごとで1行を構成します。
つまりインデックスを貼っていたり、プライマリやユニークだったりするカラムだけを抜き出します。... 続きを読む »

text()で改行コードを含むテキストを取得、alert()とかconfirm()とかtextareaとかに出力したかった話。

Web > javascript 2018年8月3日(最終更新:4月前)

どもです。
jsのしょーもない話です。

PHPで改行コードを含むテキストをHTML上に出力、jsでそれを拾ってconfirm()に表示、ってやりたかった。

<p>このテキストを出力したい。\n改行もしたい。</p>

message = $("p").text();
alert(message);

「このテキストを出力したい。\n改行もしたい。」

なして改行コードのまま出力されてしまうんじゃぁああ(T_T)

この疑問を解決してくれたのが、こちらのYahoo!知恵袋の投稿

えーっと、つまるところ、... 続きを読む »

1 2 3 4 5 6 20