超メモ帳(Web式)@復活

読者です 読者をやめる 読者になる 読者になる

超メモ帳(Web式)@復活

統合失調症を患い、はてなからも逃亡。現在、復活のため準備中。


SPONSORED LINK

PHPの三項演算子が駄目な理由。

PHP

会社からなんで手短に。 今日、PHPの入門記事が炎上しているのを見たんですよね。あれは叩かれても仕方ない内容だったとはいえ、アウトプットした初心者を注意するにはやり過ぎな気がしました。中にはプログラミング界の有名人の方も居ましたし。なんとなく…

PHP Debug Barを使う。

PHP

普通、コーディング中にデバッグをするときはprint_rやvar_dumpなどを使って、プリントデバッグをするが、これは本番環境で残してしまうと変なところにテスト文を出力してしまい、営業の人などにすっごく怒られる。PHP Debug Barはそういった不安を減らすこ…

SmartyでXSS対策を行う方法。

現状のお仕事はCMSを仕様に合わせてビジネスサイトを作るお仕事だが、このCMSが駄目コードであるが故にほとんど自作の俺々ライブラリ群を作っている状態になっている。まぁ僕はそっちの方が楽でいいんですが、仕様が最近までちゃんと決まってなかったので追…

facebook、twitter、Google+からカウント数を取得する。

PHP

必要になったので実装した。twitter、facebookは専用のWebAPIが用意されているけど、Google+に関してはいいねボタンから無理矢理に数字を抜き出した感じである。いやまぁ、ほぼコピペなんですが(転載元さんありがとう)。 Google+についてはPHPのOpenSSLが…

Facebook、Twitterのアカウントでログインできる処理を作る。

PHP

最近のWebアプリではよく付いていますよね、TwitterとかFacebookのアカウントでログイン出来る処理。必要になったので、ちょっと実装方法などをメモしておく。最初っからスクラッチで作りこもうかと思ったけど、面倒かつ車輪の再発明なのでそんなことはしな…

pukiwikiにスパムフィルタを導入する。

GW中は管理している同人サイトのWordpressなどのレイアウト変更に当てようと思って、久々にサーバの中身などを整理していたら、昔に設置したpukiwikiに海外からSPAM投稿が入っていてげんなりした。多分、SEOスパムなんじゃないかと思われるのですが賞賛する…

PDOでutf8なのに文字化けした。

懐かしいなこの感じ。PHP4時代などはふつーにEUC-JPとかShift-JISが全盛だったので文字化け退治がPHPerの嗜みの様な所がありました。 MySQLのテーブルもUTF-8だし、ファイルもすべてUTF-8なのに文字化け発生。mb_convert_encodingも効かない。 どうやらPDOの…

スクレイピングで使えそうなライブラリを見つけた。

PHP

僕はpixivをスクレイピングしてイラストなどを集めているのですが、そのクローラのコアになるプログラムがJava製なのですね。しかも他人の開発したものなんですよ。動作することには動作するんですけど、たまに止まるし、オープンソースじゃないからカスタマ…

Smartyのassignで代入した変数をテストするときに楽する方法。

基本的にSmarty::assignした変数をテストするには下記の感じ。他でテンプレートファイルを用意して、Smarty::fetchで出力した内容をassertEqualsで比較するというのが常道。 {* foo.tpl *} <html> <head></head> <body>{$hi}</body> </html> <html> <head></head> <body>Hello World!</body> </html>

ラッパークラスを使う場合にはコンストラクタで引数を使う

PHP

かなり変則的な状況だけど、詰まったのでメモしておく。 Smartyなどのインスタンスをラッパークラスで管理して、なおかつそのラッパークラスを別のクラスで利用して、そのなかでSmartyのクラス変数を利用する。みたいな。 言葉で説明するのが面倒だな。ソー…

PHPUnitで表示する内容をテストする。

PHP

今してるプロジェクトで、Viewクラスの構築を行っているのだけど、PHPUnitで単体テストを同時進行で作りながらコーディングしている。僕は一気に高速コーディングできるタイプのプログラマじゃないから、ユニットテストで細かくテストしながらの構築が常套手…

PHP5.4.0からビルトインサーバが入っていた

PHP

PHP: ビルトインウェブサーバー - Manual PHP5.4以降からBuiltin Serverが導入されているようです。PHPをブラウザでテストするにはapacheやらのWebサーバサービスをインストールしなければならなかったけど、コマンド一発で省略できます。ちょっとしたWebア…

twitterもどきCMS Laconica

ローカルで使えるtwitterモドキが必要だ - 超メモ帳(Web式) 以前、ローカル環境で使えるTwitterもどきが必要だと書いたんですが、以外と反響あるみたいなんでその対応策をひとつ。 会社や学校等ローカルにも使える高性能Twitterクローン「Laconica」レビュ…

CassandraのPHP用クライアントをインストール

PHPからCassandraを使うには、ThriftをインストールしてPHP用Cassandraクライアントを生成するという方法もあるのですが、phpcassaなるライブラリを利用したらThriftのインストールがバッサリとショートカットできた…。一応Thriftを使った方法はウノウラボさ…

xdebugとWinCacheGrindを使ったPHPのプロファイル

PHP

お仕事で使っているPHPのバッチ処理が遅くなってきているので、プロファイルを行ってリファクタリングをしようと思ったので、xdebugとWinCacheGrindを使ったプロファイル方法をメモ。 xdebugのプロファイルを有効化 Windows環境でXAMPPをインストールしてい…

Call-time pass-by-reference has been deprecated

PHP

久々に管理しているdokuwikiを開いてみるとタイトルのエラーが発生していたのです。 Warning: Call-time pass-by-reference has been deprecated in /home/yuki_2021/public_html/wiki/inc/common.php on line 848 対象箇所のソースを見ると下記のような感じ…

TokyoCabinetを使ってみた

PHP

お仕事の関係でPHPを使ってTokyoCabinetを使うことになったので、インストール方法やその他もろもろをまとめておきます。 公式 Tokyo Cabinet: a modern implementation of DBMTokyo Tyrant: network interface of Tokyo Cabinet インストール方法 by FreeBS…

makeでPHPとRubyの構文チェックを使えるようにする。

Vimをつかって:makeを入力すると構文チェックを使えるようにする方法がありますけど、PHPやRubyなどのファイルごとにコンパイラを変えて構文チェックをする方法が分からなかったのでメモ。 環境はWindows+香り屋vim。 _vimrcに下記の記述を追加。 " PHP構文…

phpMinAdminがむっちゃ便利

MySQLクライエントツールではMySQL GUI Toolsを使っていたのですが、これが自分の作業PCではとにかく不安定でよく落ちる。日本語を入力して改行してSQL文を実行すると必ず固まる。なんで直にサーバにつないでばしばし作業してたんですがリストでデータを見た…

include,requireされたファイルを表示する

PHP

レガシーなコードなんかを扱っていると*1、インクルードされたファイルもつぎはぎで意味が分かんなくなってきたりします。とりあえずそんなときはget_included_filesを使って全てのインクルードファイルを表示しましょう。 require("bin_conf.php"); require…

Warning: Division by zero

PHP

0で割るんじゃねーよ、タコ。ってことらしいです。忘却のWEBプログラマー人生辞書 PHP エラー Warning: Division by zeroとは?

portsでSmartyをインストールしたら行方不明になった

Smartyを使いたくてソースからダウンロードしようかなと思ったら、portsにあったんでportsでインストールしてみるかってことでインストールしてみた。 そしたらSmarty.class.phpが行方不明。locateを更新し直して検索して見つけた。/usr/local/shearにあった…

$_REQUESTはGET変数とPOST変数の両方を受け取れる。

PHP

タイトル通り。GET変数かPOST変数かで判定処理をしている場合もあるかと思いますが、$_REQUESTを使用したらシンプルにできます。 たとえば下記の処理は、$_REQUESTで処理するとかなり短縮できます。 $mode = isset($_POST['MODE']) ? $_POST['MODE'] : $_GET…

$_SERVER["HTTP_X_FORWARDED_FOR"]で迷う。

PHP

環境変数でユーザのIP取得するのは分かっていたけど、REMOTE_ADDRと何が違うのかわかんないんで検索。 調べたところ、プロキシを通した場合の接続元のIPを出力するらしい。 PHP開発者が便利に使える10のスニペット集:phpspot開発日誌で Proxy経由でもでき…

CakePHP1.2でのcake bakeの使い方。

ちょっとCakePHPを勉強しようと思ってCakePHPガイドブックを買ったのだけど、CakePHP1.1にしか対応しておらず、cake bake にてトラブル。ググってみるとCakePHP1.2からはcake bakeの方法が違っていたようなのでメモメモ。 [1.2]Easy Bake on Windows: CakePH…

コーディングスタイルとか。。

PHPで仕事をするときの注意 (#1290697) | PHPは駄目な言語なのか? | スラド あぁ、耳が痛いです org 自己流のフレームワークを作ってバグの巣窟にしたことあるし、コーディング規約とか、いまだに守れてない。 PHPでプログラミングするときはhttp://framewor…

いまさらだけど自分もとりあえず一言二言、PHPについて言わせてもらう。

PHP

404 Blog Not Found:そろそろPHPに関して一言いっとくか 子飼弾さんのエントリーより、まぁ、いまさらだけど尻馬に乗ろうという魂胆です。ネタが無いとか言うな。 PHPは勉強しやすい。 PHPは、C言語出身者にとっては非常に使いやすい。逆もしかり、PHPからプ…

ユーザ認証の方法、アイディア

PHP

考え事。 大体、Webアプリとかでのユーザ認証って、IDとパスワードだけど、これってキーロガーとかに関しては脆弱だよね。最低限、SSLは使うとしても、ローカルで入力される際に盗聴されたら元も子もないし。。そのためにワンタイムパスワード発行するのも煩…

Pearまとめ

PHP

使えそうだなーっていうPearライブラリは即インストールして使っているんだけど、都合によりサーバ移動しようとしたら、どれがどの機能で使っているライブラリか分からなくなっている。わかんないからちょっと調べて、いまインストールされているライブラリ…

PHP5フレームワークメモ

PHP

今現状のプロジェクトでは、Pear::QuickFormのみで画面遷移やらを処理している状態。SESSIONのスパゲッティぶりを見てたら、いい加減フレームワークも使いたいところである。まぁ、QuickForm_Controllerって手もあるけどね。 三行で書けるというPaxt。わずか…

プライバシーポリシー免責事項