NSArray / NSMutableArray のメモリ管理

配列のメモリはちゃんと管理されてるか知りたかったんで確認がてらサンプル作って確かめてみました.分かったことは以下のルールです. 初期化 : initXXXXのメソッドで指定されたオブジェクトは全てretainされる. arrayXXXはautorelease. 追加 : 追加されるオ…

Safariの位置に関するプロパティまとめ

最近、Safari上でJavascriptを組むことが多く成ってきたのでコレを機に把握しきれていない位置関連のプロパティをまとめてみることにしました. はじめに 単位は全てpxで統一 青字のプロパティはDOM(標準ではない)関連のプロパティ 緑字のプロパティはCSS関連…

Sinatra で content_for を使う.

最近、Sinatraを使い出しました. 凄く手軽です.シンプルだけあってRailsにある機能が欲しいときが良くあります. Railsのcontent_for 知らない人はググってください. でもまー、概要ぐらいは説明します.RailsもSinatraもテンプレートを外枠と内枠で分けること…

[Life] IMO for iPhone まとめ Wiki の検索自動リンクbookmarklet

http://gist.github.com/472351iPhone上で確認するとき、メンドクサイのでbookmarklet化してみました.githubに上げたのでご自由にどうぞ. bookmarklet登録方法 http://gist.github.com/472351 を開く auto_search_link.bookmarklet.jsのrawをクリックしてフ…

コマンドラインでHTTPレスポンスを確認する

HTTPのレスポンスヘッダ情報が期待通りか確認する際に使ったのでメモ wgetの場合 wget --server-response --spider [URL] または wget -S --spider [URL]実行すると、ファイルをダウンロードせずにレスポンス情報が表示されます. $ wget --server-response -…

[Javascript]jQueryで二度押し防止対策のプラグイン

そんなに難しくないので自分で書いてみた. Gistに公開しているのでご自由にどうぞ.jquery.singleclick.js · GitHub (function($) { var lockKey = 'clickLockedId'; $.fn.releaseClickLocked = function(){ var tid = this.data(lockKey); if(tid!==undefine…

[Ruby] Railsのエラー管理ツールのHoptoadを使ってみた

Railsのエラー管理がラクに出来るらしいので試しに設定してみました.この手のツールは見てて楽しいので. 苦になりやすいエラー対応も気分良く出来そう.導入方法やハマったこと等をまとめてみました. Hoptoadとは Hoptoadの仕組みは、Railsの例外等をキャッチ…

Railsでエラーページを表示する.

いつもpublic/404.htmlとか編集してる程度だったので、Railsの仕組みを使ったエラーページを作ろうかと色々試行錯誤してみた. 因にエラーページは通常はProductionモードでHTTPアクセスをローカルホスト( localhost / 127.0.0.1 )以外でアクセスしたときに確…

[Java]JTableの選択状態をトグルにする

普通、テーブルの行選択にCtrlを押しながらクリックすると選択をトグル式に選択したり選択を外したりできる. 普段PCのUIに慣れている人は当たり前だけどCtrlを押しながらクリックは知らない人には使いにくい(っという人がいる)個人的にはそれくらい覚えと…

[Git][Mac] MacでGitのサブコマンドのタブ補完をする方法

MacPortsでgitとbash-completionをインストール $ sudo port install git-core $ sudo port install bash-completion .bashrcを修正 if [ -f /opt/local/etc/bash_completion ]; then . /opt/local/etc/bash_completion fi if [ -f /opt/local/share/doc/git…

ARで論理削除する為のモジュールを作ってみた.

Railsで論理削除が必要になったのでとりあえず調べてみた.希望としては プラグインに頼らず手軽に使いたい ARの機能そのままで使いたい 調べてみると以下の二つがでてきた. acts_as_paranoid SkipEmbedded::LogicalDestroyable acts_as_paranoidがググってみ…

Rails2.3でerror_message_onのi18n対応

なぜかRails2.3のerror_message_onはi18n対応されてないのでしてみました. 対応前 before error_message_on(:user, :name) => "を入力してください。" 対応後 after error_message_on(:user, :name) => "名前を入力してください。" コード プラグインなり、…

jpmobileでsession_keyが空のときがある気がする.

自分の環境だけかもしれないけど、request.session_options[:key]がnilの時があったのでとりあえず、対応してみた.元の実装よりも判定を増やした程度なのでこのままでもいい気がするけど様子見. Index: trans_sid.rb ======================================…

RailsでプロジェクトのSVNバージョンを表示する

今作ってるシステムでSVNのバージョンを表示させようと思いって書いてみました. config/environment.rbを編集 config/environment.rbに以下を追加 APP_CONFIG = {} APP_CONFIG[:admin_email] = "MyApp <admin@example.com>" APP_CONFIG[:site_name] = "MyApp" APP_CONFIG[:major</admin@example.com>…

[Ruby]Passengerのrestart.txtが再起動後削除されないので調べてみた.

Passengerでtmp/restart.txtを作ってやると再起動してrestart.txtが削除されるってどこかに書いてあったと思うけど、再起動後に削除されないので調べてみた. 結果、restart.txtは削除されません. touchするだけでOK以下はPassengerのユーザズガイドに書いて…

SQLiteでSQLをワンライナー実行

ちょこっとした確認とかこれでいい感じコマンドラインで以下の様に実行する $ echo "select * from users;" | sqlite3 db/development.sqlite3 上よりも以下のやり方の方が短くてすてきです. $ sqlite3 db/development.sqlite3 "select * from users;"指摘あ…

Rails2.3のTLS認証メール送信

今日も凄く躓きました. 開発環境でメールサーバをgmailにしてみようと思ったらできない! smtp_tls.rbプラグインを使う いろいろ記事を読むとsmtp_tls.rbなんてプラグインを自作して対応させるって方法が載ってました.ただ、smtp_tls.rbのプラグインだとRuby…

Rails2.3のNested Attributesを試してみた.

Nested Attributesを使うと更新がネストしたモデルでもできるとか。詳しくはhttp://webtama.jp/series/railstips/articles/31を見てください. では早速、表示させてみる has_many throughでもできるかが気になったので試してみた Event EventsUser User こん…

コンボボックスのポップアップ幅の自動調整

仕事で作ったけど必要なくなったので記録としてエントリーしました.通常のJComboBoxのポップアップはJComboBoxの幅に合わせて表示されます. 以下のコードは表示幅が狭い場合などポップアップ内のアイテムの文字が切れてしまうのを防ぎます. // コンボボック…

リポジトリ作成

Git

気がつけば、またしばらくエントリしてなかった。 今更ながらGit触ってみました設定だけならsvnより楽でした。 リポジトリの作成 share $ cd sandbox.git/ sandbox.git $ git --bare init Initialized empty Git repository in /var/www/vhosts/example.com/…

日本語メール送信

perl-users.jpのメールの送信 - モダンなPerl入門を手本にメール送信してみたらGMailで文字化けしたので添削。(あとでSVNにコミットするかなしました。) attributesにcharasetを指定して文字化け対策をしたら直った。 #!/usr/local/bin/perl use strict; u…

MacOS X 10.5のPerlのライブラリは古い。

家で使ってるMacを再インストールして、プロジェクトをSVNリポジトリからチェックアウト。 っで走らせてみたら、今まで動いてたはずのプロジェクトがメソッドがないって怒られてる。 単純に、ライブラリがサポートしなくなったのかと思ったけどCPANでドキュ…

MySQL5(MacPorts経由)とcpanのDBD::mysqlをインストール

Mac上でDBD::mysqlを入れるときにハマったのでメモ。 症状 MySQL5をMacPortsでインストールしたときに、cpanからDBD::mysqlがインストールできない。 原因 MacPortsのMySQL5のコマンドがmysql5とか、普通の名前と違う! 対処 以下のようにcpanでoを使うとい…

DBIx::Classで普通のSQL

別件で調べてたら分かったのでメモ。DBIx::Class使ってても普通のSQLが使える、 DBIx::Class::Storage::DBIを使えばできる。 my $schema = $c->model('Xxxxxx')->schema; my $dbh = $schema->storage->dbh; my $sth = $dbh->prepare("UPDATE files SET conte…

CatalystでURL最適化

Catalyst::DispatchType::Chainedを使うとスッキリしたURLで組める。似たような事はRegexやLocalRegexでも出来るけどこっちの方が重複するようなコードが軽減できる。 Chained属性に指定したPrivate Names(コントローラーのメソッド名)を使って処理をつなげ…

DBIx::ClassとSQLiteで複数のカラムをDISTINCTするとエラーする

DISTINCTで複数のカラムを指定するとエラーした。以下のようにして、複数のカラムをDISTINCTするコード $c->stash->{employees} = [$schema->resultset('Employee')->search( {'name' => {'LIKE' => '%hoge%'} }, { select => {distinct => [qw(me.name, me.…

[Flash] FlashLite2.0のloadVariablesの制限

loadVariablesとは 指定したファイルから変数を読み込む関数 Flash CS3 ドキュメンテーション loadVariables 関数 loadVariables(url:String, target:Object [, method:String]) : Void パラメータ url:String 変数が存在する絶対 URL または相対 URL。呼び…

Flash Lite 初めてやってみた。

Flash自体は2年に1回くらい触ってるくらいで、ほとんど知らない俺がFlash liteなんてやってみました。普通のFlash感覚で作ってハマった。 Flash liteをDocomo端末で見るにはインライン再生とインタラクティブ再生なんて言うのがあるんですねー。 知らんか…

クロージャ

Perlのクロージャってこうやるのか、 Rubyのブロックのほうがシンプルで好きだな。 sub aaa { my ($args, $method_ref) = @_; $method_ref->($args); } aaa('hogehoge', sub { print @_, "\n"; });

今時風の継承

PerlでのOOPで古くないと思われる実装を調べてみました。 こんな感じかなー。問題なく継承できてるはず。 package Org::Zeon::MS::Dom; use strict; use warnings; use utf8; # Cloneを継承 use parent qw(Clone); sub new { my $class = shift; $class = re…