投稿

シェルスクリプトでcutの代わりに配列を使ってみたはなし

久々にシェルスクリプトを書いた。 こんなのを書いたら結構遅かった。 区切り文字がもともとスペースだったので配列にしてみたら大分早くなった。 #!/bin/sh MIN=$1 while read i; do # 入力文字中のスペース区切りのn番目の数値を判定してフィルタリング VAL=`echo $i | cut -d " " -f 11` if [ $VAL -ge $MIN ]; then echo $i fi done #!/bin/sh MIN=$1 while read i; do items=($i) if [ ${items[10]} -ge $MIN ]; then echo $i fi done そっかー、配列かー シェルスクリプトの配列って扱いづらくて苦手の感じある。 分岐をなくせばもっと早くなりそうだけど、、、それはちょっと難しそう。

社内でKnockoutJSの紹介してきたよー

GWあたりに調べて社内でKnockoutJSの紹介をしてきたときの資料貼っときます! KnockoutJSけっこう良さそうなんですけど、個人的には"data-bind"の濫用がどうにもキモくてキモくて。。。 でも(templateじゃなくて)こういう形にしてるおかげでjsなしの状態でデザインを確認できるっていうのは、きっとデザイナーさんと協業するような場合はやりやすい感じなのだろうなぁと感じます。 今日 Sapporo.js でember.jsの話を聞いてきて、ember.jsが目的は違えど、現時点で実現できていることは近いっぽく、プログラマ的には割りとそっちの方が性にあっていそうな雰囲気は感じました! あと、tricknotes氏が"ie8でも動くようにしたよ!"って言ってたから次はember.js試してみる!

[FuelPHP]ORM利用時のvalidation使用方法

Orm¥Modelでのsave時のvalidationの設定がハマりどころだったのでメモ。 Model_Crudを利用する場合とは全く有効化する方法が違うという話。 validationを`$_properties`に指定 参考: http://fuelphp.jp/docs/1.5/packages/orm/creating_models.html#/propperties Orm¥Observer_Validationを`$_observers`に追加 参考: http://fuelphp.jp/docs/1.5/packages/orm/observers/included.html#/os_validation validation内容はValidationルールの項目を見てね http://fuelphp.jp/docs/1.5/classes/validation/validation.html#/rules あと、Observer_Validationはoil create model --ormした時かなにかで見かけたので、気づいたんだけど、、、それがなければわからなかった気がします。。。 Model_Crudの方ではvalidation内容を`$_rule`に記載するのですが、、、 Orm¥Modelを使う場合は全くのムダ知識・・・(白目) そもそもOrm¥ModelとModel_Crudってまるで継承関係ないし、使い方とかも似てるようで全然違っていて、、、ダックタイピングとか・・・そういう概念は、ないの?

[FuelPHP]1.5/masterのBelongs Toでの注意メモ

FuelPHP1.5系のOrm¥Modelでバグ(だよね?)を踏んでハマったのでメモ。 再現方法と事象 Belongs Toのrelationを設定するモデルでkey_fromにそのモデルのPK項目を指定 上のモデルに対してdelete()を実行 `FuelException`(Primary key on model モデル名 cannot be changed.)をくらう いぇーい 対応 1.6系では修正されていたので、ORMパッケージだけ1.6系を使うことにしました。 ちなみにOrm¥Model_Softを使う場合は上の事象は発生しません。

FuelPHPのgit管理にorphanブランチ使ったらどうかねぇ?

イメージ
FuelPHPをgit管理したいなぁって場合にorphanブランチを使ったら割とよいんじゃないかと以前思ったのでメモ。 `oil create ほげほげ`した後に次の手順を実施。 # orphanオプションで他のコミットとのつながりのないブランチを作成できる # ちなみにFuelPHPではmasterという名前のブランチは使用されていない git checkout --orphan master git add . git commit -m"Initial commit" git rm *.md git commit -m"Remove unnecessary documents for application" # 次は必要に応じて実施、この時点で一番新しいstableなバージョンがデフォルトでpullされているはず # "1.5/master"の部分は必要に応じて変更する git submodule foreach 'git fetch' git submodule foreach 'git checkout 1.5/master' # 不要なremote、元々のブランチを削除 git br -D 1.5/master git remode rm origin FuelPHPはgithub上で開発されていて、" FuelPHPドキュメント "の"クイックインストール"の手順とかでインストールするとFuelPHP自体をまるっとgit cloneしてしまう様になっています。 別にFuelPHPの開発履歴はいらない submodule管理されているfuel/coreとかは同じくsubmodule管理したい というのがそもそもやりたかったこと。 で、ぐぐってみるといっぺんgitの管理ファイルを削除してから手作業でgit submodule addするみたいな手順が引っかかって"もやっ"としたのでちょっと解決策を考えてみました。 もやっとした上に実際一回失敗したので解決策を考えてみました。 ・・・というのが背景。 ちなみに"FuelP...

Backbone.jsで今日覚えたこと

最近Backbone.jsをいじっていることが多いのですが、今日気づいた点を2つメモ。 `parse`をオーバーライドするとfetch時のモデルの復元方法をカスタマイズできる `Backbone.Model#parse`もしくは`Backbone.Collection#parse`をオーバーライドすることで`fetch`実施時の復元方法をカスタマイズできるようでー。 ちゃんと公式ページに書いてあったけど今日気づいた! Backbone.View#removeはDOMをdeleteするよ どうやらremoveを行うと`el`として登録していたDOMをdelete(ここはソース見ていないのでdetachの方かも・・・)してしまうようで。ふむふむ。

count-matches覚えた

イメージ
emacsの`count-matches`を使うとバッファ中に出現している単語とかの出現数を調べられる。・・・ことを覚えました。 grepかけてから行数を数えるとかしなくてもいいはずだーとは思ってたんですが、、、見つけたんでメモ。 そういえばEmacs Lispテクニックバイブルをずっと積んでいる。。。