カテゴリー別アーカイブ: CodeIgniter

macのsedコマンドでカラー出力ができない場合の対処法

ハマったので書きます。

別ドメインのe2esound.netで、CodeIgntierのlogをカラー出力させる方法
書きました。使用した場合は下記のようにtailできます。

カラー表示した場合

sedコマンドで色を変えたい箇所をキャプチャし、カラーコードで挟んで処理を行っていたのですが、
どういう訳かmacの環境ではカラー出力されませんでした。具体的には下の画像のように…

カラー表示できなかった場合

症状の確認

  • サーバ上だと問題なく使える
  • macでだけどうにもならない
  • sed以外のコマンドはカラー出力してる

なんだろーと思いながら、しばらくローカル環境で使う用事も無かったので放っておきました。
今日時間ができたので調べてみました。ググッても何も見つからず。

ターミナルの設定がおかしいのか?zshの設定が何かおかしいのか?としばらく悩んでいたんですが、
「sedコマンド怪しいんじゃないかな?」と思い、

ここで brew search sed したところ、gnu-sedがあることが判明。

対処法

  • Homebrewで gnu-sed 入れる
  • gsedコマンドが入るので、’which gsed’で場所確認
  • /usr/bin/sed に gsed のシンボリックリンクを貼る

これで解決しました。

無駄にはまって恥ずかしかった。。。

e2esound.netにCodeIgniter,seezoo用のblogを作りました

掲題のとおり。http://e2esound.net/

CodeIgniterやseezooネタをお気軽な閾値で、軽々しくblogに上げる、それだけのサイトです。

サーバーはさくらVPS+Ubuntu

今回はサーバーにさくらVPS512を採用しています。実は、basic認証下で他のCMSパッケージやアプリのテストをしたりと、開発用に作ったんですが、ついでにサイトも作ってみました。

久しぶりのUbuntuでしたが、相変わらずお手軽に使えて便利です。ufwには感動しますね。

構築には約2日かかりました。主に初めて入れるRubyでハマり、redmineのgem周りでハマっていました。redmine難しいですね。。。その他については、昔いじっていたことがあるので比較的楽にできました。(メールの設定忘れてたけど)

このblogとの関連

これから、こちらのblogにはその他技術的なことやRuby周りのことだったり、CodeIgniterとseezooを除いた部分を扱っていこうと思います。話題が無くなりそうだったら、また何か考えます。

とり急ぎ、seezooにRSS/Atom配信機能を付けたので、ご興味のある方はRSSリーダーへ登録してみてください。

RSS2.0:http://e2esound.net/blog/feed

Atom:http://e2esound.net/blog/feed/atom

MY_Controller.phpでよりDRYなコードを書く

面白いHackがTwitterで流れてきたので紹介してみたいと思います。

元ネタ:MY_Controller – The CodeIgniter Swiss Army Knife

書いているのは2.0用にFacebook、bit.lyのライブラリを開発・公開しているエリオットさんです。

Controllerの拡張を書く

ご存じのとおり、CodeIgniterはcoreからライブラリから拡張することが可能です。

参考:コアシステムクラスの作成 / CodeIgniter ユーザガイド 日本語版

元ネタの記事はこの方法でControllerクラスを拡張したMY_Controllerクラスを作成し、Modelの呼び出しを簡単にしています。

続きを読む

CodeIgniterカンファレンスで入門編を話してみた!

2/19(土)に行われたCodeIgniterカンファレンスで入門編の話をしてきました。会場はいつものところでお馴染みの大田区産業プラザ。

CodeIgniterカンファレンス

資料

・CI-SNIPPETS(サンプルコード) : https://github.com/e2esoundcom/ci-snippets

続きを読む

CodeIgniter 2.0に追加されたCSRF保護オプションの挙動

さて、今週土曜日はCodeIgniterカンファレンスですね。
カンファレンスに向けて、サンプル用のアプリを作ったり資料を書いたりとバタバタしています。

アプリを作る中で、2.0から搭載されたCSRF保護オプションの挙動について調べたので忘れないうちにメモです。

これまでのCSRF対策

CodeIgniter1.7系までは、以下のようにワンタイムチケットを生成してCERF対策を行っていました。

  1. controllerでワンタイムチケットを生成
  2. sessionクラスを使って、ワンタイムチケットをsessionに保存
  3. viewの中でformのhiddenフィールドにワンタイムチケットをセット
  4. ユーザーによるform処理
  5. $_POSTで送られてきたワンタイムチケットとsessionに保存してあるワンタイムチケットを照合
  6. TRUEであれば処理継続、FALSEであれば処理中止

この方法だと、controllerの中で、照合を書かなければいけませんでした。

続きを読む

CodeIgniter Reactor Dict for Vim/GVimを公開しました

ci_reactor_dict : https://bitbucket.org/yterajima/ci_reactor_dict

以前から何かにつけて1人でいそいそと辞書ファイルを作り公開してきましたが、Reactor版が公開されたので隙を見てDICTファイル作ってみました。以前紹介したguthubのものはちょっと内容が足らない状態でした。

この辞書ファイルは、日本CodeIgniterユーザ会が公開しているユーザーガイドに基づいて制作しています。人力で片っ端から目を通して必要なキーワードを抜き出し、重複するものは削除をしています。

これまでのファイルを用いて、vimで補完機能を使いながら作っているので精度はある程度上がってきている気がします。

続きを読む

CodeIgniter Con 2011, Tokyo Japanで話します

来月2/19(土)に行われる、Codeigniterカンファレンスで入門編の講演を行わせていただくことになりました!

内容は、ちょっとしたsnippet管理ツールの構築をしながら、CIの使い方、ライブラリの特徴等々基礎編に重心を置いて話したいなと思います。

snippet管理ツール自体は、DBにデータを入れて出して、syntax hilighterで表示させる程度のものです。元々は自分の手元で管理しているsnippetをどこかで一括で管理しておきたいなぁと思い計画していたものです。これを講演に併せて簡素なものにして話す予定です。

コード自体はgithubかbitbucketで講演の前には公開する予定です。(その後にver upしていく可能性も。認証とか。)

ここ数日、CI-Conが行われます!というニュースを見る度に胃がキュッとしていますが、貴重な機会ですので有意義な時間にしたいと思います。

それでは皆さん当日会場でお会いしましょう。見つけたらお気軽に声をかけていただくと嬉しいです!

USBフラッシュメモリで高速Webサーバーnginx+PHP5.3.3+CodeIgniter2.0

PHPカンファレンスのLTの中で、nginx(エンジンエックス)という軽量・高速なWebサーバーがあることを知りました。

本        家:http://nginx.org/
日本語wiki:http://wiki.nginx.org/NginxJa

Webサーバーというと、これまでApacheしか使ったことがありませんでしたが、試しに使ってみることに。軽量・高速ということはローカルで開発をする場合には重宝するかなぁと期待。とりあえず余っているUSBフラッシュメモリで試してみました。

続きを読む

ci-2.0.0.dict::CodeIgniter2.0.0辞書ファイル for Vim/GVim

ci-dict_head

CodeIgniter2.0.0のvim用辞書ファイルを作成しました。最新版はgithubにあります。

CodeIgniter Reactorが出たので、新しく作り直しました。管理もgithubからbitbucket.orgへ移行しています。
https://bitbucket.org/yterajima/ci_reactor_dict/

github:ci-2.0.0.dict http://bit.ly/bDyKXl

注意

この辞書ファイルは、CodeIgniter2.0.0の本家版ドキュメントを元に、クラス、関数、引数に関してまとめたものです。

本日現在のbitnucketにある最新版CodeIgniter 2.0.0のドキュメントは十分でなく、新たに追加されたjQuery ClassやCapcha Helper等に関してはドキュメントがありません。ドキュメントに追加が行われた場合、または私本人のモチベーション次第で随時辞書データを追加していきます。

作業方法は内容を確認しながらの手作業です。手作業で行っている為typoが含まれる可能性があります。ご利用の際にはその点にご注意ください。また、typoや不足を発見された場合には、githubでforkしていただき修正いただくか、当blogへのコメント、辞書ファイル内のメールアドレスにご連絡頂けると助かります。

辞書ファイルの扱いについては、”AutoComplpop vim”や”neocomplcache vim”で検索をかけると見つかると思います。

続きを読む

Forrst -開発者&デザイナー向け情報共有サービス-

forrst

日本語の紹介ページが見当たらないので、自分で書いてみる流れです。紹介するサービスはForrst。開発者(プログラマー)とデザイナーの為の情報共有サービスです。(読みはフォレストで良いと思う)

サービス内容はサイトTopそのまま。

Forrstはデザイナーや開発者が思いついたコード、スクリーンショットやリンクを仲間たちと共有する場です。

続きを読む