PHP

CodeIgniterの学習 63 - ヤフーの画像検索apiと形態素解析apiを組み合わせてお遊びアプリを作る-その8(現在のコード完成度100%)

CodeIgniterでお遊びアプリを作る8回目。(09/09/28追記) 形態素解析結果が取れなくなっている? 取れなくなっているならURL変更だろうな。後で調べる。 ↓ apiのURLを最新のものに変更した。このソースを設置している実験URLは http://pizw.com/yaimg/ で…

CodeIgniterの学習 62 - ヤフーの画像検索apiと形態素解析apiを組み合わせてお遊びアプリを作る-その7(現在のコード完成度85%)

CodeIgniterでお遊びアプリを作る7回目。 今回で終わらそうと思っていたけど、終わらなかったのでまだ引っ張る。 残務整理っぽくてテンション低めなのだ。 今日は、前回のエントリーでおさらいした、未完了項目の 4.未 検索履歴を表示する。検索履歴はユー…

CodeIgniterの学習 61 - ヤフーの画像検索apiと形態素解析apiを組み合わせてお遊びアプリを作る-その6(現在のコード完成度70%)

CodeIgniterでお遊びアプリを作る6回目。あけましておめでとうございます。 今日は作る機能・作った機能の整理 コード無しの手抜きエントリー。 作る機能・作った機能の整理前回までに作った機能のおさらいをしておく。 済 キーワードを入れて検索すると、a…

CodeIgniterの学習 60 - ヤフーの画像検索apiと形態素解析apiを組み合わせてお遊びアプリを作る-その5(現在のコード完成度60%)

CodeIgniterでお遊びアプリを作る5回目。今日はキャッシュ機構を作り、ヤフーAPIへの問い合わせ回数を削減する。 ついでに、CodeIgniter標準のデータベースキャッシュクラスも使ってみる。 (APIの仕様はここらへん http://developer.yahoo.co.jp/ )現在の…

CodeIgniterの学習 59 - ヤフーの画像検索apiと形態素解析apiを組み合わせてお遊びアプリを作る-その4(現在のコード完成度45%)

CodeIgniterでお遊びアプリを作る4回目。今日は日本語形態素解析を使って関連キーワード抽出機能を入れてみる。 だんだん形になってきた。(日本語形態素解析APIの仕様はここ http://developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.html ) 関連キーワード…

CodeIgniterの学習 58 - ヤフーの画像検索apiと形態素解析apiを組み合わせてお遊びアプリを作る-その3(現在のコード完成度35%)

CodeIgniterでお遊びアプリを作る3回目。今日はページネーション処理を入れてみる。 (キャッシュ機構とかはまだ。) ページネーション処理はCodeIgniterのページネーションクラスを使った。 検索条件の保持は、たいして重要な情報でもないのでhiddenでもい…

CodeIgniterの学習 57 - ヤフーの画像検索apiと形態素解析apiを組み合わせてお遊びアプリを作る-その2(現在のコード完成度25%)

一昨日のエントリー 「CodeIgniterでヤフーの画像検索apiと形態素解析apiを組み合わせてお遊びアプリを作ることにした」 の第二回目。今日は取りあえず、単純な画像検索を出来るようにしてみる。前回から10%くらい進捗。(キャッシュ機構とか、DB格納とか、…

CodeIgniterの学習 56 - 特定のコントローラのみ、使用できるipアドレスを制限するようにする

今日はCodeIgniterで、ある特定のコントローラは、特定のipアドレスからのリクエストのみを受け付けるような制限を追加してみる。すごく簡単なネタ。 (昨日のネタは遅々として進行中)目的ある特定の機能は 自分のサーバ自身 ある固定ipアドレス だけに使え…

CodeIgniterの学習 55 - ヤフーの画像検索apiと形態素解析apiを組み合わせてお遊びアプリを作る-その1(現在のコード完成度15%)

前回wikiの移植が面倒くさくなって放り出したので、代わりに CodeIgniterでヤフーの画像検索apiと形態素解析apiを組み合わせてお遊びアプリを作ることにした。暇を見て一日少しずつ書いていくことにする。 今日からのエントリーは、作ったコードを少しずつ貼…

CodeIgniterの学習 54の補足、やっぱりこのwikiの拡張はやめる

うーん、ソースを触っていたらスパゲッティーすぎるので、やっぱり拡張と公開は止めることにしました。 見渡しがきかなすぎる。(この状態で公開するのは良くない気がしたので。 あと、ぐぐってみたらディレクトリートラバーサルの危険性があるとの情報を見…

CodeIgniterの学習 54 - Pawfaliki (Wiki)をCodeIgniterのライブラリー化して、wikiを使えるようにしてみる(その1:実験・紹介編)

(08/12/21追記) やっぱりとりやめ。理由は次のエントリーを参照。 あと、ぐぐってみたらディレクトリートラバーサルの危険性があるとの情報を見かけました。 (追記終わり)以下ボツエントリーお久しぶりです。今日は前回のエントリーでちょっとふれたwiki…

エントリー補足-はてなのスーパーpre記法(aa記法)でphpのソースの閉じタグ ?> を書かないでいたら、phpのソースがパースされない箇所が出てきたのだの巻

(08/12/17追記) まだ部分的にスーパーpre記法(aa記法)でパース出来ないことがある。とりあえず 末尾の||<の直前行に #^\s\?>$#; (スペース一つあけてphpの閉じタグ?>を付ける) とするのが現時点で化けない最適解のようだ。閉じタグが無い場合や、末尾?>の行…

CodeIgniterの学習 53 - HMVCモジュールを改造してコントローラ単位(モジュール単位)での使用・不使用制御をconfigファイルで行えるようにする

久しぶりのエントリー。やりたいことは表題の通り。CodeIgniterのモジュール単位(コントローラ単位)での使用可能・不可能の制御を組み込んで、 環境に応じて使用できるモジュールを変更できるようにする。用途としては、 リリース後に一時的に一部機能のみ…

CodeIgniterの学習 52 - CodeIgniterをバッチとして呼び出せるようにする

今日はCodeIgniterをコマンドラインから呼び出す方法を試してみる。(Cron_job_bootstrapperを使用) どうしてもバッチからスクレイピングをしなくてはならない処理があったので試してみた。幾つか解決方法があるみたいだが、Cron_job_bootstrapperが気に入っ…

CodeIgniterの学習 51 - HMVCモジュールの動作確認をしてみる( HMVCを使ってブログパーツチックにコントローラやビュー内で別コントローラ(とそのビュー)を呼べるようにするその3)

今日は昨日の続き。HMVCモジュールの動作確認をしてみる。モジュール単体でも、CodeIgniter標準のコントーローラと同様に動作するのだが、 このサンプルでは、親のコントローラから呼び出される別コントローラのイメージ (ブログパーツみたいなイメージ)の…

CodeIgniterの学習 50 - HMVCモジュール拡張のインストールと改造をする( HMVCを使ってブログパーツチックにコントローラやビュー内で別コントローラ(とそのビュー)を呼べるようにするその2)

今日は昨日のエントリーの続き。CodeIgniterのHMVC拡張をおこなう。(PHP5用)ついでに一部不満な箇所を微改造。(モデル等のファイル名の大文字小文字を区別するところ等)(今日のエントリーはインストールと微改造まで、続きは明日)インストール設置する…

CodeIgniterの学習 49 - HMVCを使ってブログパーツチックにコントローラやビュー内で別コントローラ(とそのビュー)を呼べるようにするその1

今日は、HMVCの拡張を使って、モジュール単位でのソース管理(機能管理)を実現する。 (記述することが多いので今日から数日に分ける。今日はまず概念から。)コントローラやビュー(ブログパーツチックなビューの一部)、 ライブラリを小分けに管理したく…

CodeIgniterの学習 48 - PHPLOTのラッパーライブラリを作ってグラフ生成を簡単にする その1 (PHPでグラフを生成して表示したい 2 (実装))

(08/12/04: Thanks for introduce this source to the CodeIgniter Wiki. I feel a little happy! http://codeigniter.com/wiki/Phplot/ CodeIgniter本家のWikiにこの拙いソースを翻訳して投稿してくれた方がいた。 ついでに本家wiki側ソースの、自動翻訳絡…

CodeIgniterの学習 47 - PEAR :: Var_Dumpを使ってプロファイラにvar_dump情報を整形して吐く俺俺ヘルパを作る

今日は昨日のエントリーの関連。せっかくCodeIgniter上でPEARを簡単に使えるようにしたので、 開発が楽しくなるようにPEAR :: Var_Dumpを簡単に呼べるヘルパを作ってみる。 以下PEARと決別した人には全く不要なエントリー。 俺は現実派のヌルグラマなんで、…

CodeIgniterの学習 46 - CodeIgniter上でPEAR、Zend Frameworkの簡単ロードを実現する(改造版)

ええと、今日は先日の CodeIgniterの学習 44 - PEARをCodeIgniter上で使えるようにする http://d.hatena.ne.jp/dix3/20081118/1226994170 の続き。 (include_pathの追加、ソースの設置等の前提は既に済んでいるものとする。) 先日のエントリーでは、 どっ…

CodeIgniterの学習 45 - ランダムな文字列を生成する

今日はさらに小さなネタ。この日記のリファラを見るとなんか検索上位に引っかかってたので、書いておく。 ランダムな任意の長さの文字列・数字とかパスワードを生成する練習。 答え:文字列ヘルパの random_string() を使うCodeIgniterのマニュアルを見れば…

CodeIgniterの学習 44 - PEARをCodeIgniter上で使えるようにする

今日はPEARをCodeIgniter上で使えるようにする。簡単なネタ。全くの新規開発ではなく、 過去に開発したプログラムを短時間で移植したい場合など、事情によってはPEARを使いたい場合も有るだろう。元ネタは http://codeigniter.com/wiki/PEAR_integration/ だ…

CodeIgniterの学習 43 - ログ出力をZend_Logに置き換える

今日はCodeIgniterのログ出力をZend FrameworkのZend_Logに置き換える作業をする。興味無い人には価値のない作業。 既に学習というより拡張の段階に入ってるかも。(好みで拡張できるのがCIの良いところだと思うけど、 幕の内弁当が大好きな人には向かないか…

CodeIgniterの学習 42 - デバグ用のログメッセージを簡単且つ行番号付きで表示できるようにする

今日はCodeIgniterログメッセージの呼び出し方を楽にしてみる。以下不平不満CodeIgniterのログメッセージは、system/codeigniter/Common.php 内で定義されている function log_message($level = 'error', $message, $php_error = FALSE)を使うのだが、(ちな…

CodeIgniterの学習 41 - CodeIgniterをVersion1.7.0にアップしたら、system/database/DB_utility.phpを修正しないとCSV出力が出来ない

勢いでCodeIgniterのバージョンを1.6.3から1.7.0にアップしたらCSVファイルの出力が出来なくなった。 (関連 CodeIgniterの学習 27 - CSVファイルをクエリから出力してみる。ついでにDB_utility.php内の出力形態の微調整 http://d.hatena.ne.jp/dix3/2008102…

CodeIgniterの学習 40 - テキストヘルパの character_limiter()(指定した文字数の位置での切取) の日本語(マルチバイト)対応をしてみる

今日は簡単なネタ。CodeIgniterのテキストヘルパは日本語(マルチバイト)に対応していないので ちょこちょこ対応させてみることにする。便利なので貼っておく。ありふれているので、既に解決例があるかも知れない(ネタが被っているかもしれない)けどしら…

CodeIgniterの学習 39 - 俺俺改造版csrfライブラリ(ワンタイムトークンCSRF対策)を改良して、一時データをセッションに保持し簡単かつ極力安全に取得消去できるようにする

今日は以前のエントリ CodeIgniterの学習 23 - ワンタイムチケット(ワンタイムトークン)の機能を作って、CSRF対策をちょっとした気分になってみる http://d.hatena.ne.jp/dix3/20081017/1224196292のCSRFライブラリを表題のように改良したので、使う人はい…

CodeIgniterの学習 38 - DB2_SessionとさよならしてCodeIgniter Version 1.7.0のSession.phpに移行しつつ、FreakAuth等既存のdb_sessionと書いているソースを置換しないで済ませる方法まとめ

(08/11/10 5:10全削除) なんか$config['sess_time_to_update']がらみでうまくいかない+あまりいろいろ書くと逆に混乱するので、 このエントリ(CodeIgniterの学習 38)は残さずにあえて削除します。顔洗って深呼吸して出直してくるねん。(08/11/10 5:50復活…

CodeIgniterの学習 37 - DB2_Sessionのこれまでの差分まとめ

いい加減セッション周りを考えるのも飽きたのだが、 DB2_Session改 Db_session にいくつか手を入れたので、現在までのまとめを貼っておく。俺自身は、CodeIgniter1.7.0のSession.phpベースにいずれ移行する予定 (動作の安定が確認されたら移行する。 いきな…

CodeIgniterの学習 36 - HTTPレスポンスヘッダの調整をおこなってブラウザ側でキャッシュされないようにする

昨日のエントリの作業中に、HTTPヘッダを見ていると、 Expires Last-Modified Cache-Control Pragma 系のヘッダを吐いていないことに気づいた。普通のHTMLページ(静的ページ)ならば、キャッシュは別にされても良いけれど、webシステム系だと、ブラウザ側の…