最近、Gateronの白軸キーボードを買いました。Cherry MXの白軸はクリック感のあるスイッチですが、Gateronはクリック感のないスイッチです。その代わり、キーが非常に軽い。35gなので、無接点方式と同じぐらいです。 それまでは青軸や黒軸を使っていました。…
めっちゃ期間空いてました。自分でもびっくりするぐらいです。 何をしていたかといえば、体を壊してダウンしておりました。病名的には頸肩腕症候群です。しかし一番悪かった時期には、線維筋痛症なのかな?と思うほど全身が痛み、日がな一日ベッドの上でした…
体調はまだ万全とは言い難い状態ですが、だからといって別にプログラミングがしたくない訳ではなく、「Karabiner(Macアプリ)の代替としてHammerspoonが使える」という記事を巷で見たら「Lua勉強するべきかなあ」と思う程度には興味が残っていたりします。 …
例によってまた超久し振りだったりします。あーそういや前回(1年以上前)はRoRについてやってたっけなーと読み返してしみじみしてしまう程度には時間が空いてしまいました。そのRoRはといえば、2ヶ月そこらでプロジェクトが解散してしまいまして。それ以降…
というか、まあ比較しながらじゃないと私が分からないだけなんだけど。 catchとthrow Rubyにおいてcatch・throwはループ処理のメソッドで、例外処理とは全く関係ない。例外処理はraise・rescueメソッドを使う。 catch ループを抜け出す為のラベルとして使う…
前も使ってたんだけどいざもう一度使おうとしたら思い出せなくて、きっとまた忘れると思うのでメモっておく。JavaScript: $(function(){ $(".notice").fadeOut(6000); }); HTML: <p class="notice">ほげほげ</p> こんな感じで書いておくと、HTMLファイルロード時にnoticeクラスを指…
iPhoneのメモアプリはSimplenoteを使っています。ちょっと前までWriteRoomを使ってたんだけど、SimpleText.wsと同期すると濁点つき日本語がおかしくなるので今は様子見中。SimpleText.wsすごく好きなので直ればいいんだけど、マルチバイトのお話だし海外サイ…
しばらく音沙汰有りませんでしたが、お仕事でRubyをいじりはじめました。ということでメモメモ。 gem list インストールされているパッケージを一覧表示 gem install xxxxxx (-v=X.X.X) 指定パッケージのインストール(-vでバージョン指定) gem uninstall x…
ということでRails。 CakePHPにもRoRのようなscaffold機能があったけど、いかんせん会社のカラム命名規則がおかしかったせいで自動作成周りの美味しい機能は全く使用しなかった(できなかったともいう)。 ということで、このへんの機能を触るのはほぼ初。実…
RadRailsを起動 Ruby エクスプローラー上で右クリック>新規>Rails プロジェクト プロジェクト名に「ToDo」あとはデフォルトでOK。「プロジェクト作成後にサーバーを自動開始」にチェックを入れておくと自動実行されるのでチェックに便利。 新規プロジェク…
ウィンドウ>ビューの表示>ジェネレーター を選択し、「ジェネレーター」ビューを画面に表示する 生成プログラムに「scaffold」パラメーターに「Category category:string」を指定して右端の緑三角ボタンをクリック script/generate scaffold Category cate…
CakePHPと同様、RoRもCRUD(Create, Read, Update, Delete)なディレクトリ構成でアクセスする。 RESTfulとはなんぞやについてはこちらを参照。もしくは資料のP.12〜13辺りに詳しい。RoRの場合はrakeコマンドを使用することでアプリケーションのメソッドに対…
db/models/category.rb を開き以下を記述。 class Category < ActiveRecord::Base # 未入力チェック validates_presence_of :category, :message => "が未入力です。" # 文字数チェック(20文字以内/半角全角共通) # 末尾のif文は「categoryが未入力ではな…
Rails 2.2以上の機能らしい。実行環境を2.1にバージョンダウンしたら使えなくて涙目。 i18nによる日本語化 - challenge Ruby on Rails i18nによる日本語化についてはこのページにまるまる書いてある。CakePHPの場合は国際化が結構面倒で結局日本語ベタコーデ…
資料のP.23を参考に、次はitemテーブルを追加。先のcategoryテーブルとの関係は「多対1」となるので、モデルにもその辺りを設定しておく必要がある。この辺はCakePHPと同じくHABTM(hasOne, hasMany, belongsTo, hasAndBelongsToMany)なのでそんなに悩まな…
script/generate scaffold item done:boolean priority:integer description:string due_date:date category_id:integer note_id:integer private:boolean exists app/models/ exists app/controllers/ exists app/helpers/ create app/views/items exists a…
Model.find(:all) と Model.all は同じこと。 なので、 Model.find(:all, :order => :category) は Model.all(:order => :category) と書いても動作する。 CakePHPでもfindとfindAll、saveとsaveAllとかあったっけ。
<%= h category.category %> hをつけると自動的に内容をHTMLエスケープしてから出力してくれる。 <%= link_to "Destroy", category, :confirm => "Are you sure?", :method => :delete %> link_toに:confirmをつけると、選択リンクの処理を実行する前に確認…
<% @heading = "データ一覧" %> とするだけで、<title>タグと<h1>タグに指定した文字列を出力してくれる。</h1>
layouts/application.html.erb <% if flash[:notice] %> <p class="notice"><%=h flash[:notice] %></p> <% end %> controllers/xxxxxx.rb # リダイレクト先で表示したいメッセージをセット flash[:notice] = "処理が完了しました。" # リダイレクト先を指定 format.html { redirec…
app/helpers/application_helper.rb にこんな感じに記述。 module ApplicationHelper # HTMLで書けない文字の実体参照と改行コードのHTMLへの置換を行う def hbr(target) target = html_escape(target) target.gsub(/\r\n|\r|\n/, "<br />") end end 使用時は <%=h…
リンクを作成する。 <%= link_to t("link.New_note"), {:controller => "notes", :action => "new", :id =>@item.id} %> リンクをクリックするとコントローラにidが渡されるので、それをセッションに格納する。 # 渡されたIDを格納する session[:item_id] = …
問題:Subclipseを入れてもSVNが使えない。 具体的には SVNリポジトリに追加 ツリーを開こうとクリック 「unable to load default svn client」と怒られる ウィンドウ>設定>チーム>SVN>SVNインターフェースが「javaHL not avaiable」 libsvn-javaを入れ…
"postgres", "connect" => "pg_connect", "host" => "localhost", "port" => "5432", "login" => "(ユーザ名)", "password" => "(パスワード)", "database" => "(データベース名)", "prefix" => ""); ?> "driver" => "postgresql" として「なんで動かんのじ…
ActionScriptで a = b とした場合はシャローコピーとなり、bがaを参照する形になる。 参照ではなく完全にコピー(ディープコピー)したい場合は、 import flash.utils.ByteArray; function clone(source:Object):* { var myBA:ByteArray = new ByteArray(); …
最近Flexと格闘している。だいぶ勉強したけどまだまだエラーが意味不明でギギギ。 特に意味不明だったのが、表題の通りXMLの属性取得時に出るワーニング。 Unable to bind to property "prop" on class "XML" (class is not an IEventDispatcher)具体的には…
「表示する文字列の幅に合わせて下のオブジェクトの幅を可変にしたい」という希望はまあまあよくあると思うんだけど、文字列の幅取得ってどうやるの?と行き詰った。 最初は lengthで文字数を取得 一文字の幅を適当に決めて、固定の幅×文字数 で指定する と…
データベース連携している場合の話。 add/subscribeコマンドでメールアドレスを登録した際には、1アドレスに対して file = "members" file = "actives" の2行が必ず作成される。ドライバ(おもちゃのモデルをベースにして作成するファイル)でいじってればそ…
/var/spool/ml/(ML名)/cf の一番下(LOCAL CONFIG)に以下を追加。 ## 携帯電話用設定 $HEADER_ADD_HOOK = q{ &DELETE_FIELD("Received"); &DELETE_FIELD("X-Mail-Count"); &DELETE_FIELD("X-ML-Info"); &DELETE_FIELD("X-MLServer"); &DELETE_FIELD("List-I…
まずフッタ用のファイルを作成。文字コードはJISで。 -- メールマガジンの解除 : (MLのメールアドレス)?body=byeまあ中身はお好みで。 これを/var/spool/ml/(ML名)の下に配置。今回はファイル名を「footer」としました。 その後、例によって/var/spool/ml/(M…