2010-01-01から1年間の記事一覧

そういえばCodeIgniterがアップデートされてたけど

12月6日にCodeIgniterが1.7.2から1.7.3へアップデートされてましたね。 CodeIgniter 1.7.3 Released | CodeIgniter - Newssystemディレクトリ内のいくつかのファイルが更新されたようです。 system/codeigniter system/database system/helpers system/langu…

PHPでスクレイピング

PHP

あるサイトのデータを収集したくなったのでHTMLを取得、スクレイピングして情報を抽出することにした。 何を使ってやるか。とは言っても僕に選択肢は少ない。PHPかJava、今だったらnode.js(JavaScript)っていう手もあるかもしれない。Javaもnodeも現時点で動…

Subversionでのソース管理

会社で今のSubversionでのソース管理を見直すべくシステムを再構築することになった関係でSubversionを調査することになった。 ほとんどSubversionというものを知らないところからある程度知識がついたと思うので忘れないようにメモ。 Subversionで頻繁に使…

開発環境をWinからubuntuへ

OSなしモデルのネットブックを購入してubuntuを入れてから少しずつLinux環境に慣れてきたんでそろそろデスクトップの方にもubuntuを入れることにした。(むしろなぜ今まで入れてなかったのか)主に開発用。自宅だったり会社だったりでWin環境で開発したもの…

xyzzy使うことにした

windowsでemacs使いたくなったからxyzzyを入れた。 前までvim使ってたのになんでemacsになったのかっていうと、会社でほんのちょっと使ったから。で、ほんとにちょっと触っただけ(ターミナルでソースを修正)だけどvimよりも使いやすいと感じたから。よさげ…

RockMelt入れたよー

RockMelt入れてみた。通勤電車の中で「えー、今のタイミングで新しいブラウザー?」って多少バカにする感じを含みながら見てたのだけど、いざ入れてみるとこれがなかなか快適なんだな。 描画スピードが異常 まずRockMeltでブラウジングしてみて驚いたのが描…

レスポンスを少しずつ返しながら表示する

PHP

webシステムでネットワーク系の処理をやらしてて、なかなかレスポンスが返ってこない時画面が固まってしまってよろしくない。 利用者は裏で何してるか意識するわけもないので単に「重い」とだけ感じてしまう。こういう時はサーバーがおかしいと思ってページ…

PHP で YUI Compressor を使って JS, CSS ファイルを圧縮

しかも PHP4 縛り(PHP4.3.9)で。PHP で JS や CSS ファイルを圧縮したい時って、これだ!という決め手のライブラリがないような。更に PHP4 っていう制限がつくともう YUI Compressor しか選択肢がなかった。(圧縮率云々の前に)でも PHP の YUI Compressor…

socket.io を少し触ってみた

といっても socket.io のサンプルをちょっといじっただけ。 接続したそれぞれのユーザーのマウスポインタにHTMLオブジェクトを追従させ、座標をサーバーに送信。 画面には他に接続したユーザーのオブジェクトも表示されてて、そのユーザーがマウスを動かせば…

gitコマンド備忘録

git

一番基本的なローカルコミット→リモートコミットの手順を忘れないようにメモ。 毎日使ってれば忘れることないだろうけど。 ファイルの変更をリモートまでコミットする $ git add %FILE_NAME% まずリポジトリにファイルを追加。これはファイルの更新を反映さ…

git?gitHub?gist?

git

gitHub でのソース管理の備忘録…の前にまず git がなんであるかをはっきりさせておこう。 正直な所、ツイッターで git やら gitHub やら gist やらという単語が乱舞しててそれぞれが違うものなのか何なのか分かってなかったので。 git まず git 。これは Wik…

node.jsでファイル操作

node.js使って何か作りたいと漠然と思っているけど、なかなか何を作ろうか、何が作れるのかが浮かんでこないのでとりあえずnode.jsに慣れておこうと思ってまずファイル操作から始めることにした。今回はcygwin環境。(前に入れたportble ubuntuが動かなかっ…

node.jsをwindows環境で動かす

node.js に興味あるけどまだ試したことがなかったんでWindows上で node.js を触るための準備。 portable ubuntu のインストール 現在のところWindows環境で node.js を試す方法は cygwin や portable ubuntu などを利用して仮想的に UNIX 環境を作ってそこに…

さくらインターネットで Python やるよ

さくらインターネットで Python をやろうと思って、とりあえずまず cgi くらい動かそうと思ったけどハマった。 昔Perlでやろうと思った時もハマったことがある気がするんだけど… Python インストール easy_install 使おうと思うとさくらに標準で入ってる Pyt…

JavaScriptのnew

JavaScriptのnewはJavaなどのnewとは挙動が違う。new演算子はprototypeチェーンを継承して新たにオブジェクトを生成する演算子であるため、通常の new Hoge(); と書くよりも、 new(Hoge);*1 と書いたほうがイメージが伝わりやすい。 var hoge = new Hoge; こ…

JavaScript での二重否定

自社コンポーネントとかのソース解析してて「ん?」と思ったから少し調べてみた。 var hoge = {}; var b = !!hoge; 二重否定(!!)を行うことで値の真偽値として取得することができる。Boolean型へ変換するイディオム。一見なにかと思うけど分解すればその挙動…

JavaScript開発の難しさ

大規模サイトを開発する企業だと JavaScript の開発も分業され、複数人で多くのモジュールを扱うことになってくる。 僕が学生のころアルバイトをしてた企業はそれこそサーバーサイドからクライアントサイドまで全て一人ないし二人でこなす。 デザインはほぼ…

wicket で動的にHTML属性追加

wikcet は最初ゴリゴリHTMLのコンポーネント化をどんどん進めていく。とりあえずマークアップだけはしっかり考えて見た目のデザインは置いといてコードを書く。でも進めていくうちにプログラムの方でHTMLをいじりたくなる。ちょっと属性いじりたくなる。そん…

シェルスクリプト覚書

シェルスクリプトはほとんど使うことないけど一応メモ。 オプションのパース getopts: 引数で渡されたオプションを取得。while文等で順次取得する。 if文 z: 空白値(文字列長が0)の判定 rsyncコマンド exclude-from: 指定されたディレクトリを除外する

argments

argments.callee var hoge = function(){ var t = arguments.callee; alert(this.hoge); // undefined alert(t.hoge); // "hogehoge" } hoge.arg = "hogehoge"; argments.callee は自分自身を返す。 この場合 hoge() の中での this は window であるため thi…

Event メモ

Event の stopPropagation() と preventDefault() どちらもイベントの伝播を止めるものだが、stopPropagation() はイベントキャプチャリング方式で伝わるイベントを止め、preventDefault() はイベントバブリング方式で伝わるイベントを止める。イベントキャ…

relatedElement のお話

Event.relatedElement Event の relatedElement は、何かしらのイベントがエレメント A で発生した場合の、発生のトリガーとなったエレメント。例えばエレメント B がエレメント A を内包している HTML ドキュメントにおいて、エレメント A に mouseover イ…

JavaScript - replace()

"hoge".replace() での正規表現とコールバック関数 replace関数の第一引数には正規表現を指定できる。 また第二引数にはマッチした文字列を引数とするコールバック関数を指定できる。コールバック関数の戻り値でマッチした文字列が置換される。 var str = "h…

演算子メモ

if(true || false){... if(true && false){... var hoge = "" || "a"; と && は共に演算子の右側から評価を行っていく。 は最後に評価された true のものが返る。全て false の場合に false が返る。 && は全て true の場合に最初に true と評価され…

関数の参照、undefined と null とか

関数の参照方法 オブジェクトの関数には通常 Hoge.method(); と参照するが、次のような参照方法もある。 Hoge["method"](); undefined と null alert(typeof undefined); // undefined alert(typeof null); // object

JavaScriptファイルのJsDoc化

JavaScript ファイルを JsDoc 化する事になったのでコマンドを忘れないように書き留めておく。 java -jar jsrun.jar app\run.js ファイル名 -d=生成先 -t=templates\jsdoc -p -pはprivate変数・関数もjsdocに含めるオプション

vim コマンド

vim

覚えた vim のコマンド。説明は大体こんなのってのが分かる程度に。 ^ 行頭へ飛ぶ。$ 行末へ飛ぶ。u 一つ前の状態に戻る。Ctrl + r 一つ先の状態に進む。yy カーソル行のコピー。dd カーソル行の切り取り。p 貼り付け。= 選択行の自動インデント。Ctrl + f …