技術的な話題-PHP
長文要約システムの負荷対策のためにさくらインターネットのレンタルサーバのAPCuを使いました。簡単な使い方まとめときます。
まずは質問箱の告知から。日曜日は質問箱への回答を行います。今週はまだ質問がきていないのですぐに答えることができます。 https://marshmallow-qa.com/yuki_20211?utm_medium=url_text&utm_source=promotionmarshmallow-qa.com そっすね最近は質問は減少…
最近のイケているプログラマってのはGitHubで書いたソースを共有して、Qiitaで技術ブログを書くものらしい。まぁ、僕は全然イケてないのでなんでもごちゃ混ぜの雑記ブログで技術情報まで書く。元々は僕のブログは技術ブログだったのだが、思いつきをなんでも…
会社からなんで手短に。 今日、PHPの入門記事が炎上しているのを見たんですよね。あれは叩かれても仕方ない内容だったとはいえ、アウトプットした初心者を注意するにはやり過ぎな気がしました。中にはプログラミング界の有名人の方も居ましたし。なんとなく…
普通、コーディング中にデバッグをするときはprint_rやvar_dumpなどを使って、プリントデバッグをするが、これは本番環境で残してしまうと変なところにテスト文を出力してしまい、営業の人などにすっごく怒られる。PHP Debug Barはそういった不安を減らすこ…
現状のお仕事はCMSを仕様に合わせてビジネスサイトを作るお仕事だが、このCMSが駄目コードであるが故にほとんど自作の俺々ライブラリ群を作っている状態になっている。まぁ僕はそっちの方が楽でいいんですが、仕様が最近までちゃんと決まってなかったので追…
必要になったので実装した。twitter、facebookは専用のWebAPIが用意されているけど、Google+に関してはいいねボタンから無理矢理に数字を抜き出した感じである。いやまぁ、ほぼコピペなんですが(転載元さんありがとう)。 Google+についてはPHPのOpenSSLが…
最近のWebアプリではよく付いていますよね、TwitterとかFacebookのアカウントでログイン出来る処理。必要になったので、ちょっと実装方法などをメモしておく。 最初っからスクラッチで作りこもうかと思ったけど、面倒かつ車輪の再発明なのでそんなことはしな…
GW中は管理している同人サイトのWordpressなどのレイアウト変更に当てようと思って、久々にサーバの中身などを整理していたら、昔に設置したpukiwikiに海外からSPAM投稿が入っていてげんなりした。多分、SEOスパムなんじゃないかと思われるのですが賞賛する…
懐かしいなこの感じ。PHP4時代などはふつーにEUC-JPとかShift-JISが全盛だったので文字化け退治がPHPerの嗜みの様な所がありました。 MySQLのテーブルもUTF-8だし、ファイルもすべてUTF-8なのに文字化け発生。mb_convert_encodingも効かない。 どうやらPDOの…
僕はpixivをスクレイピングしてイラストなどを集めているのですが、そのクローラのコアになるプログラムがJava製なのですね。しかも他人の開発したものなんですよ。動作することには動作するんですけど、たまに止まるし、オープンソースじゃないからカスタマ…
基本的にSmarty::assignした変数をテストするには下記の感じ。他でテンプレートファイルを用意して、Smarty::fetchで出力した内容をassertEqualsで比較するというのが常道。 {* foo.tpl *} <html> <head></head> <body>{$hi}</body> </html> <html> <head></head> <body>Hello World!</body> </html>
かなり変則的な状況だけど、詰まったのでメモしておく。 Smartyなどのインスタンスをラッパークラスで管理して、なおかつそのラッパークラスを別のクラスで利用して、そのなかでSmartyのクラス変数を利用する。みたいな。 言葉で説明するのが面倒だな。ソー…
今してるプロジェクトで、Viewクラスの構築を行っているのだけど、PHPUnitで単体テストを同時進行で作りながらコーディングしている。僕は一気に高速コーディングできるタイプのプログラマじゃないから、ユニットテストで細かくテストしながらの構築が常套手…
PHP: ビルトインウェブサーバー - Manual PHP5.4以降からBuiltin Serverが導入されているようです。PHPをブラウザでテストするにはapacheやらのWebサーバサービスをインストールしなければならなかったけど、コマンド一発で省略できます。ちょっとしたWebア…
ローカルで使えるtwitterモドキが必要だ - 超メモ帳(Web式) 以前、ローカル環境で使えるTwitterもどきが必要だと書いたんですが、以外と反響あるみたいなんでその対応策をひとつ。 会社や学校等ローカルにも使える高性能Twitterクローン「Laconica」レビュ…
PHPからCassandraを使うには、ThriftをインストールしてPHP用Cassandraクライアントを生成するという方法もあるのですが、phpcassaなるライブラリを利用したらThriftのインストールがバッサリとショートカットできた…。一応Thriftを使った方法はウノウラボさ…
お仕事で使っているPHPのバッチ処理が遅くなってきているので、プロファイルを行ってリファクタリングをしようと思ったので、xdebugとWinCacheGrindを使ったプロファイル方法をメモ。 xdebugのプロファイルを有効化 Windows環境でXAMPPをインストールしてい…
久々に管理しているdokuwikiを開いてみるとタイトルのエラーが発生していたのです。 Warning: Call-time pass-by-reference has been deprecated in /home/yuki_2021/public_html/wiki/inc/common.php on line 848 対象箇所のソースを見ると下記のような感じ…
お仕事の関係でPHPを使ってTokyoCabinetを使うことになったので、インストール方法やその他もろもろをまとめておきます。 公式 Tokyo Cabinet: a modern implementation of DBM Tokyo Tyrant: network interface of Tokyo Cabinet インストール方法 by FreeB…
Vimをつかって:makeを入力すると構文チェックを使えるようにする方法がありますけど、PHPやRubyなどのファイルごとにコンパイラを変えて構文チェックをする方法が分からなかったのでメモ。 環境はWindows+香り屋vim。 _vimrcに下記の記述を追加。 " PHP構文…
レガシーなコードなんかを扱っていると*1、インクルードされたファイルもつぎはぎで意味が分かんなくなってきたりします。とりあえずそんなときはget_included_filesを使って全てのインクルードファイルを表示しましょう。 require("bin_conf.php"); require…
0で割るんじゃねーよ、タコ。ってことらしいです。忘却のWEBプログラマー人生辞書 PHP エラー Warning: Division by zeroとは?
Smartyを使いたくてソースからダウンロードしようかなと思ったら、portsにあったんでportsでインストールしてみるかってことでインストールしてみた。 そしたらSmarty.class.phpが行方不明。locateを更新し直して検索して見つけた。/usr/local/shearにあった…
タイトル通り。GET変数かPOST変数かで判定処理をしている場合もあるかと思いますが、$_REQUESTを使用したらシンプルにできます。 たとえば下記の処理は、$_REQUESTで処理するとかなり短縮できます。 $mode = isset($_POST['MODE']) ? $_POST['MODE'] : $_GET…
環境変数でユーザのIP取得するのは分かっていたけど、REMOTE_ADDRと何が違うのかわかんないんで検索。 調べたところ、プロキシを通した場合の接続元のIPを出力するらしい。 PHP開発者が便利に使える10のスニペット集:phpspot開発日誌で Proxy経由でもでき…
ちょっとCakePHPを勉強しようと思ってCakePHPガイドブックを買ったのだけど、CakePHP1.1にしか対応しておらず、cake bake にてトラブル。ググってみるとCakePHP1.2からはcake bakeの方法が違っていたようなのでメモメモ。 [1.2]Easy Bake on Windows: CakePH…
PHPで仕事をするときの注意 (#1290697) | PHPは駄目な言語なのか? | スラド あぁ、耳が痛いです org 自己流のフレームワークを作ってバグの巣窟にしたことあるし、コーディング規約とか、いまだに守れてない。 PHPでプログラミングするときはhttp://framewor…
404 Blog Not Found:そろそろPHPに関して一言いっとくか 子飼弾さんのエントリーより、まぁ、いまさらだけど尻馬に乗ろうという魂胆です。ネタが無いとか言うな。 PHPは勉強しやすい。 PHPは、C言語出身者にとっては非常に使いやすい。逆もしかり、PHPからプ…
考え事。 大体、Webアプリとかでのユーザ認証って、IDとパスワードだけど、これってキーロガーとかに関しては脆弱だよね。最低限、SSLは使うとしても、ローカルで入力される際に盗聴されたら元も子もないし。。そのためにワンタイムパスワード発行するのも煩…