-
merikonjatta
京都の大学生。プログラミングとジャズが好き。 I'm a university student in Kyoto, Japan digging programming and jazz. Categories
- HowTo's, Tips and Tricks (39)
- Ideas and Products (14)
- Things I Made (5)
- Books (3)
- Whatnot (23)
-
RSS Links
Category Archives: HowTo's, Tips and Tricks
クロージャとはenclosure、つまり同封である
結論:
クロージャは、ClosureというよりEnclosureである。
クロージャとは、あるスコープに同封された別のスコープのことである。
クロージャとは、そういう同封を使った関数のことである。
クロージャとは、そうや [...]
Javascriptで型判定
こんな感じでいかが。
var type_of = function(o){
if ((t=typeof o)!="object") { return t; }
if (t===null) { [...]
undefined method `rewrite’ for “…”:String
Railsのコントローラで謎のエラー
NoMethodError (undefined method `rewrite' for "http://colinux/sample/":String):
[...]
Javascriptで変数が配列かどうかチェックするには
var isArray = function(that){
return (Object.prototype.toString.apply(that) === "[object Array]") [...]
vimにちょっと慣れてきた頃に覚えた操作
h,j,k,l,i,a,y,o,uあたりを考えずに使えるようになってきました。というわけで最近覚えてベンリィなキー操作。
cw
カーソルの下の単語末尾までを置き換える(削除してインサートモードへ)。wは移動なのでcf [...]
FlexアプリケーションのMXML内要素を外部から参照する
Flex 4で、メインのMXML内の要素を他のクラスから参照する方法です。
「Flexアプリケーション」を作り始めると、まるでMXMLの中にコードを書くのがデフォかのようになりますが、<fx:Script> [...]
PuTTYがCtrl+Sでフリーズするのを防ぐ
たまにvimを使ってると、保存したいのか知らんが間違ってCtrl+Sを押してしまうことがあります。するとターミナルがフリーズしますね。Puttyに限らずターミナルエミュレータ全般の話のようですが。
Ctrl+Qを押せば復 [...]
DisplayObjectの基準点を変更する
できません。
つまりscaleXやrotationは必ず(0,0)を基準点として行われる。
別の基準点でスケールや回転をしたい場合はtransform.matrixに新しいMatrixをセットする必要がある。
var [...]
技術ドキュメントに何を書くか
テクニカルなドキュメントを書くなら何を書くべきか、という記事。
Writing great documentation: what to write.
チュートリアルを作れ
素早いのを:使い手が20分以内に何かしら達 [...]
RailsをApache+FCGIでサブディレクトリで動かす方法
config/environment.rbにて
config.action_controller.relative_url_root = "/subdir"
via RailsBaseURI not working with Rails 2.2.2 routes? – Phusion Passenger Discussions | Google グループ.
Heartbeatの使い方
こないだ、バイトでHeartbeatを実験セットアップしました。
しかしHeartbeatの公式ドキュメントは情報が散り放題リンク切れ放題で悲惨なものでしたので、耐えきれず勝手にGoogle Docsにまとめてしまいまし [...]
Vimでペースト時にやたらとインデントされない方法
Puttyとかを経由してvimを使っているとき、クリップボードの中身をペーストするとものすごい勢いでインデントされて途方に暮れる。
そんなときは:set pasteする。この状態でインサートモードに入って貼りつければ綺麗 [...]
Wordpressのメモリ消費を節約する
Wordpressを動かしてるこのサーバが重くてどうしようもなくなってきたので、メモリを節約するようチューニングしてみました。試してみたことをメモ。
サーバ環境:
メモリ256MBの軟弱VPSです。
Ubuntu 9. [...]
script/runnerでdebuggerを使う方法
$ rdebug script/runner yourscript.rb
起動すると最初に必ずbreakするけど、contで続行すれば自分が設定したbreakpointまで走る。
Railsでメール受信に反応してコントローラを起動する
PostfixとRailsで、メール受信に反応してコントローラを起動させるにはどうすればいいか。
基本的には、特定のユーザに届いたメールをプログラムへパイプするようPostfixを設定することになる。では何にパイプするか?
UbuntuでWindowsのホスト名を解決する方法
Ubuntuからリモートデスクトップなどを使う場合、いちいちIPアドレスを入力するのは面倒だし、そもそもIPが分からない場合がある。というわけで、Windowsのホスト名(コンピュータ名など)をUbuntuから解決する方 [...]
RubyでOdd number list for hash
array = {'Hours should be a number.'}
こんなコードを書いていたら怒られた。
Odd number list for hash
なんで!?と思ったら{}はハッシュ用でした。配列は[]。 [...]
Ubuntu 7.10でVMWare 6.0.2の共有フォルダが使えない
問題
VMWareに入れていたUbuntu Desktopを7.04から7.10にアップグレードしたところ、VMWareの共有フォルダが使えなくなっていた。
vmware-config-tools.pl を実行すればvm [...]
Antで任意のバッチファイルを実行する
exewrapというソフトを使うと、jarファイルを実行可能な.exeファイルにラッピングしてくれる。
このソフトはコマンドラインで使うのでバッチファイルを書いておくのが現実的なのだが、AntでJavaアプリをJarにパ [...]
Eclipseでデバッグ時の「行番号属性が見つからないため」
Eclipseでブレークポイントを入れてデバッグしようとすると以下のようなメッセージが出た。
行番号属性が見つからないため、ブレークポイントをpackage.SomeClassにインストールできません。行番号属性を生成 [...]
Velocityのログ出力をオフにする
JavaのテンプレートエンジンVelocityは、デフォルトでカレントディレクトリに勝手にログを排出する。ファイル名は「~.log」で、Velocityとは関係のないスタックトレースも何故か勝手に出してくれる。その上アプ [...]
Javaの正規表現でドットを改行にマッチさせる
Javaの正規表現において、ドット(.)を改行文字にもマッチさせるにはどうすればいいか。APIドキュメントが分かりにくくてしばし戸惑ったので解決策をメモしておく。
方法1:Pattern.compile時に指定
Pat [...]
ぬるぽの記録 HttpURLConnection.getHeaderFieldKey(0)
HttpURLConnectionクラスでHTTP接続をし、そのレスポンスヘッダをハッシュテーブルに格納しようとしてぬるぽが出た。
元のコード:
// レスポンスヘッダを取得
int i=0;
String key, v [...]
Windows上のApacheでオレオレSSLするメモ
正当性云々を抜きにして単純に自分用サーバをSSL対応させる方法のメモ。
事情あって今回はWindows上でApacheを動かしているので、手順の中にはもしかしたらWindowsに依存する部分があるかもしれない。
手順概要 [...]
CodeIgniterのファイル名はCase-Sensitive
久々にCodeIgniterでハマったのでメモ。
ローカルのWindowsで開発していたアプリを運用のためにLinuxのサーバにアップしたところ、訳のわからないところでエラーが出てまったく動かない。潜ってみると、原因はあ [...]
EclipseでJavaコードを実行すると「Could not find the main class. Program will exit.」
症状
EclipseでJavaのプログラムをビルド・実行しようとすると
Could not find the main class. Program will exit.
とメッセージがポップアップし、さらにコンソールで [...]
WindowsでDNS伝播前にサイトをチェックする
ドメインを共用ホスティングに登録した直後などは、DNSが反映されるまでサイトを見ることができなくてとてもじれったい。特に海外のホスティングだと日本へ伝播するのにはすごく時間がかかることがある。
今すぐにでもサイトをチェッ [...]
DreamHostにTracをインストール
DreamHostにTrac 0.10.3を入れて動かす方法のメモ。
主に参考にしたサイトはこちら。
Natmaster.com – Installing Trac 0.10
基本的にここの解説に従う。
完成 [...]
PHPでは配列のキーにbooleanが使える(使いたくないけど)
PHPの配列は、そのままハッシュテーブル(連想配列)として使える。
ふと疑問に思って試してみたところ、true/falseとnullがキーとして使えてしまった。
< ?php
$array = array();
[...]
今日学んだJavascriptの細かいこと
イベントの伝播にはcaptureとbubblingがある。
captureが先(親から子)、bubblingは後(子から親)。つまり親divと子spanがあったとして、それぞれのonclickイベントのcaptureとb [...]
CodeIgniterのセッション問題解決
以前から数回にわたって書いてきたCIセッション問題が解決した。
問題というのは、セッションの有効期限を「ブラウザが閉じるまで」に設定できなかった件、そして個別のセッションについて期限を設定できなかった件だ。
CIのライブ [...]
とりあえず解決?CodeIgniterのセッション有効期限
CodeIgniterでセッション有効期限をうまく扱えない問題、ひとまず解決。
実は解決したかに見えて大きな問題が残ってるのだが、とりあえず書いておく。
Sessionクラスを拡張してsess_runとsess_writ [...]
CodeIgniterのセッション有効期限でつまづく
CodeIgniterのセッションが気に入らないという話を先日書いたばかりだが、しばらく放置して戻ってきたらまたつまづいてしまった。
ユーザーをログインさせるときに「次回以降パスワードを省略」できるよう、セッションの有効 [...]
CodeIgniterのProfilerが便利
CodeIgniterの便利な機能を発見した。
実行時のクエリや処理時間をページに出力してくれるProfiler。
コントローラークラスの中で次の一行を書くだけで、初期化と実行にかかった時間、POSTデータ、発行された [...]
foreachで(僕が)よく引っかかる罠
PHPで配列を扱うときは、中身をイテレートしてくれる foreach が必需品だ。
foreach ($var as $key=>$value){
echo $value;
}
でもあまり無防備にコードを書い [...]
CSSが無効でも画像を表示するCSS画像置換
FIRというテクニックがもてはやされたのは少し前のことだ。これは<h1>などの文字要素を、見た目をキレイにしたいがためにCSSを使って画像に置き換えるテクニックだ。音声読み上げソフトに読まれない、画像がOFF [...]
大きさ優先で表示されるCDカバーサーチ
CD/Album Cover Art Search
僕はCDをパソコンに取り込むたびに、ネットでジャケット画像を探してきて同じフォルダに入れています。これまでGoogleイメージ検索で探していたんですが、最近発見したこ [...]
DB_DataObjectをとりあえず克服
昨日、いやおとといから格闘し続けていたDB_DataObjectを使ってとりあえずアンケートページが作成できました。
長かった…
何回か無駄につまづいてしまいました。マニュアルの記述がもう少し充実していたら多くの人が助か [...]
TortoiseSVNのオーバーレイアイコンが更新されない時