iOSでの開発をするために最低限知っておくべきメモリ管理法です。 iOSにはガベージコレクションがありませんね。僕はJava/PHP/Ruby出身でGCに甘やかされてきたので、オブジェクトの開放を意識しながらプログラミン [...]
Tag Archives: programming
クロージャとはenclosure、つまり同封である
結論: クロージャは、ClosureというよりEnclosureである。 クロージャとは、あるスコープに同封された別のスコープのことである。 クロージャとは、そういう同封を使った関数のことである。 クロージャとは、そうや [...]
Javascriptで型判定
こんな感じでいかが。 var type_of = function(o){ if ((t=typeof o)!=”object”) { return t; } if (t===null) { return “null”; [...]
ruby-debugのちょっとだけ高度な使い方
便利なコマンド ps オブジェクトが配列なら、ソートした上でカラム上に並べて見やすくしてくれます。 irb その場でirbに突入します。後述のautoevalをONにしてればあまり意味はないかも。 Debugger.se [...]
undefined method `rewrite’ for “…”:String
Railsのコントローラで謎のエラー NoMethodError (undefined method `rewrite’ for "http://colinux/sample/":String): a [...]
Javascriptで変数が配列かどうかチェックするには
var isArray = function(that){ return (Object.prototype.toString.apply(that) === "[object Array]"); } [...]
[未解決] JSのrequireで依存関係のロード完了を保証したい
RequireJSでこんなコードを書いてる。 page.html <script> require(["libA"], function(){ libA.foo(); }); </s [...]
FlexアプリケーションのMXML内要素を外部から参照する
Flex 4で、メインのMXML内の要素を他のクラスから参照する方法です。 「Flexアプリケーション」を作り始めると、まるでMXMLの中にコードを書くのがデフォかのようになりますが、<fx:Script>の [...]
Javascriptで手っ取り早く関数をモックする
JsMockitoとかJSMockとか色々あるようですが、変にDSLのようなものを覚えるのも面倒だったのでスパッとモックできるようにしてみました。 機能は任意の関数を、別の関数で一時的に置き換えるだけです。Ajaxを使う [...]
DisplayObjectの基準点を変更する
できません。 つまりscaleXやrotationは必ず(0,0)を基準点として行われる。 別の基準点でスケールや回転をしたい場合はtransform.matrixに新しいMatrixをセットする必要がある。 var m [...]
script/runnerでdebuggerを使う方法
$ rdebug script/runner yourscript.rb 起動すると最初に必ずbreakするけど、contで続行すれば自分が設定したbreakpointまで走る。
Re: CodeIgniterが急激によくなってきた
僕が以前に書いたCodeIgniterに関する記事に対して、CodeIgniterが急激によくなってきた – なんたらノート 第二期というトラックバックをいただきました。 申し訳ないけど、このブログエントリの [...]
Railsでメール受信に反応してコントローラを起動する
PostfixとRailsで、メール受信に反応してコントローラを起動させるにはどうすればいいか。
基本的には、特定のユーザに届いたメールをプログラムへパイプするようPostfixを設定することになる。では何にパイプするか?
RubyでOdd number list for hash
array = {‘Hours should be a number.’} こんなコードを書いていたら怒られた。 Odd number list for hash なんで!?と思ったら{}はハッシュ用でした。配列は[]。 [...]
Antで任意のバッチファイルを実行する
exewrapというソフトを使うと、jarファイルを実行可能な.exeファイルにラッピングしてくれる。 このソフトはコマンドラインで使うのでバッチファイルを書いておくのが現実的なのだが、AntでJavaアプリをJarにパ [...]
Eclipseでデバッグ時の「行番号属性が見つからないため」
Eclipseでブレークポイントを入れてデバッグしようとすると以下のようなメッセージが出た。 行番号属性が見つからないため、ブレークポイントをpackage.SomeClassにインストールできません。行番号属性を生成す [...]
Velocityのログ出力をオフにする
JavaのテンプレートエンジンVelocityは、デフォルトでカレントディレクトリに勝手にログを排出する。ファイル名は「~.log」で、Velocityとは関係のないスタックトレースも何故か勝手に出してくれる。その上アプ [...]
Javaの正規表現でドットを改行にマッチさせる
Javaの正規表現において、ドット(.)を改行文字にもマッチさせるにはどうすればいいか。APIドキュメントが分かりにくくてしばし戸惑ったので解決策をメモしておく。 方法1:Pattern.compile時に指定 Patt [...]
ぬるぽの記録 HttpURLConnection.getHeaderFieldKey(0)
HttpURLConnectionクラスでHTTP接続をし、そのレスポンスヘッダをハッシュテーブルに格納しようとしてぬるぽが出た。 元のコード: // レスポンスヘッダを取得 int i=0; String key, v [...]
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. とメッセージがポップアップし、さらにコンソールで [...]
Flashで物理法則の習作
http://www.oddwit.com/lab/flashminis/20070603solids/ ボールが飛び跳ねるだけの習作。本当はこの二つをつなぐ剛体が作りたかったのだが、それは次回に持ち越し。 最初はボール [...]
Re: Yahoo!がPHPエンジニアを雇う時に聞く質問
Yahoo!がPHPエンジニアを雇う時に聞く質問 20問ほど正解してしまった。 そろそろPHPから離れたほうがよさそうだ。少なくともPHP6が出るまでは。 しかし、こういう質問で採用される職には就きたくないなぁとつくづく [...]
PHPでは配列のキーにbooleanが使える(使いたくないけど)
PHPの配列は、そのままハッシュテーブル(連想配列)として使える。 ふと疑問に思って試してみたところ、true/falseとnullがキーとして使えてしまった。 < ?php $array = array(); $arr [...]
今日学んだJavascriptの細かいこと
イベントの伝播にはcaptureとbubblingがある。 captureが先(親から子)、bubblingは後(子から親)。つまり親divと子spanがあったとして、それぞれのonclickイベントのcaptureとb [...]
Flashで遺伝的アルゴリズムを実装してみた
あらすじ: Flashで、遺伝的アルゴリズム(GA)で巡回セールスマン問題を解くアプリを実装してみた。GAではパラメータのチューニングがかなり重要な要素だということが理解できた。 実行はこちら。ソースもあるよ 巡回セール [...]
CodeIgniterのセッション問題解決
以前から数回にわたって書いてきたCIセッション問題が解決した。 問題というのは、セッションの有効期限を「ブラウザが閉じるまで」に設定できなかった件、そして個別のセッションについて期限を設定できなかった件だ。 CIのライブ [...]
とりあえず解決?CodeIgniterのセッション有効期限
CodeIgniterでセッション有効期限をうまく扱えない問題、ひとまず解決。 実は解決したかに見えて大きな問題が残ってるのだが、とりあえず書いておく。 Sessionクラスを拡張してsess_runとsess_writ [...]
CodeIgniterのセッション有効期限でつまづく
CodeIgniterのセッションが気に入らないという話を先日書いたばかりだが、しばらく放置して戻ってきたらまたつまづいてしまった。 ユーザーをログインさせるときに「次回以降パスワードを省略」できるよう、セッションの有効 [...]
CodeIgniterのProfilerが便利
CodeIgniterの便利な機能を発見した。 実行時のクエリや処理時間をページに出力してくれるProfiler。 コントローラークラスの中で次の一行を書くだけで、初期化と実行にかかった時間、POSTデータ、発行されたS [...]
iPod Shuffleでマルコフ決定過程
iPod Shuffleで目的の曲まで素早くたどり着く合理的な方法をマルコフ決定過程で実現するという、キモチワルーイ記事がありました。 http://norvig.com/ipod.html マルコフ決定過程は最近授業で [...]
CodeIgniterの嫌な部分
追記 2009年10月22日 CodeIgniterで検索するとすごい勢いで上位にこの記事が出てネガキャンのようになっていましたので、タイトルを修正しました。こちらもご覧ください:Re: CodeIgniterが急激によ [...]
foreachで(僕が)よく引っかかる罠
PHPで配列を扱うときは、中身をイテレートしてくれる foreach が必需品だ。 foreach ($var as $key=>$value){ echo $value; } でもあまり無防備にコードを書いている [...]
コードを読む能力
こちらのブログ「/home/siddhi」に、大卒で就職試験に来る志望者たちの実力不足を嘆く記事があった。特にコードを読む能力について書かれているが、下のような簡単な問題を出したところ、まともに答えられる人が少なくて驚い [...]
CSSが無効でも画像を表示するCSS画像置換
FIRというテクニックがもてはやされたのは少し前のことだ。これは<h1>などの文字要素を、見た目をキレイにしたいがためにCSSを使って画像に置き換えるテクニックだ。音声読み上げソフトに読まれない、画像がOFF [...]
DB_DataObjectをとりあえず克服
昨日、いやおとといから格闘し続けていたDB_DataObjectを使ってとりあえずアンケートページが作成できました。 長かった… 何回か無駄につまづいてしまいました。マニュアルの記述がもう少し充実していたら多くの人が助か [...]
DB::DataObjectがうまくいかない
今日もさわやかな風が吹いていますが、僕は引きこもっています。こんにちは、マルコです。 何も考えずにデータベースからのデータの取得ができるようになるという、魔法のようなライブラリPEAR::DB_DataObjectと格闘 [...]