blog

Profile

mewlist
mewlist
寄り道する
音楽バカ
  • mixi
  • friendfeed
  • twitter

  • 28
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3

Categories

Discography

  • Unities_128 UNiTiES
    2009
  • Human_128 HUMAN
    2005
rask version up to version 0.0.3

Raskをバージョンアップ
英語ドキュメントも簡単に追加した。


そろそろ、実用に耐えられるようになったはず。考えてみると、巷で大人気の MIXI アプリ系の農業系ゲームの土台として有効に使える気がしてきた。信頼性と高速化の側面から永続化の手法として将来DBストレージへの対応があれば、活用の幅が広がりそうだ。

 


rask versionUp(0.0.1) The Terminatable Task Engine

rask version 0.0.1

処理の中断ができるタスクエンジン

本運用が始まったシステムで、それが何らかのバックグラウンド実行するジョブとかタスクとかを持つようなサービスの場合、ちょっとだけコードを変更したいんだよなーってことは良くあるが、実際変更したものに差し替えるとなると心臓に悪いものだ。


   rask を使うとこっそり止めて、上司に怒られないうちに復帰させるバックグラウンド処理を記述することができる。
 本来バックグラウンド実行のためにタスク処理は必須ではないのだが、いわゆるタスク処理として、処理を細分化するように設計すれば、本当の意味でいつでも止められるようになる。タスクの粒度を下げれば下げるほど中断開始から中断されるまでの時間は短縮される。


使えるケース

最近のwebアプリとかだと、外部サイトから裏でごそごそ何か集めてきて結果を返すみたいなことが多いと思うのだけど、通信相手の応答速度なんて気まぐれなので、ブラウザがタイムアウトして、プロセスが中断されてしまい「あれ、どこまで宿題やったっけ」みたいなこと、よく起こる。おまけに、ユーザーも怒る


   そんなときに、バックグラウンドに処理を引き渡して、web には、「処理が完了するまでお待ちください」ってやっておけば、とりあえず安心だ
 ステートマシンなので、実行状態を監視できるというのもメリットだ。何%進んだか? なんてのを状態として仕込んでおけば、良くあるプログレスバーみたいなのをリアルに表現できる。タスクが終わったかどうかも、webでリロードするたびに確認できるようになる。 

 

ちなみに、rask上に記述したコードのバグでとまって状態が飛んだら
それはテスト不足ですYell


ruby タスクライブラリ Rask

webで時間のかかるバックグラウンド処理を動かそうとすると、httpのタイムアウトに間に合わず、処理が完了しないみたいな問題を解決するために、タスクのライブラリを作った。

http://github.com/mewlist/Rask

gem install rask

で、インストールできます。

ノンブロッキング用途のみではなく、タスク処理を扱うための基本的な機能を備えているので、ほかの用途でも使えるはず。

できることがドキュメント以上にあるのですが、まとまった時間ができたときにでも、また話題に。

 


レスラー

レスラーをレンタルして見た。

映画のテーマとミッキーローク自身が重なって妙なリアリズムがあった。


passenger を毎回リスタートする

passenger を毎回リスタートする

Passengerつかってrails動かしている場合、毎回リスタートしなきゃいけない状況 (pluginのデバッグとかで直接pluginのコードいじるときとか)で、apacheの再起動していたのだけど、調べてみたらやり方載ってた。

tmp/always_restart.txt を置くことで毎回コード読み直してくれる

 


mac book 液晶修理を自分でやる

クラッシュ!

ノートパソコンの液晶割れは大変ショッキングです。
何がショックって修理代金がべらぼうに高いことに尽きる。そんなんで、しばらく放置していたノートですが、http://noah0x00.blog103.fc2.com/blog-entry-37.html
こんなエントリを見つけたので、チャレンジしてみました。

パネルが届いた

これが、購入した液晶パネル。これを先ほどのサイトを参考にしながら分解、交換していきます。


交換して映りを確認

うつったー!Laughing



自分でやると修理代が安く済む

今回かかった金額はネットショップで購入した液晶パネル、16,000円ほど。
修理を断念したときに提示された金額は10万に届く位のもので、見積もりすらあきらめる始末。
安く済むけど、さらにぶっ壊す可能性もるので、あくまで自己責任でYell

ネジが小さすぎて、手が痛くなった。


松屋のねぎ玉牛丼

松屋

松屋でねぎ玉牛丼を豚汁卵セットで頼んだら、
「タマゴ二個になりますよ!?」
と店員に突っ込まれた。 恥ずかしいEmbarassed

同窓会行ってきた

写真は昨日高校の同窓会が行われたお店。酸化防止剤無添加のワインがおいしかった。頭いたくならない。
みんな酔っ払ってた。
話す内容が30代になっていたSealed

今日こそFF13やるぞ。

正しい日常会話シリーズ

ねぎ玉牛丼、豚汁タマゴセットで。


TinyMCE を外側から操作するには

昼飯

今日もプログラムして帰ってきた

仕事だ。30歳だ。えい、くそっ!

寒くなるってテレビで昨日言っていたけど、たいして寒くなかったぞ。家帰ってきたらクソサムイ!部屋の中が!
ゆたぽんつくった。
ああ~鍋したいFoot in mouth


話は変わって、TinyMCE を外側から操作するには

どうしてもサーバ側のロジックが必要なときにTinyMCEを外側から操作する。
画像のリストからクリックした画像をTinyMCEの編集領域に自動的にぶち込むとかできるようになる。

javascript で onclick イベントとかに仕込めばよい。

if ( !tinymce.EditorManager.activeEditor.selection.isCollapsed() ) {
tinymce.EditorManager.activeEditor.getDoc().execCommand('Delete', false, null);
}
tinymce.EditorManager.activeEditor.execCommand('mceInsertContent', false, '挿入したい文字列');
正しい日常会話シリーズ

そんなものをつけて今まで戦っていたというのか!?


仕事はじめ

仕事はじめ

気分も新たに気合入れるため朝はカフェでEmbarassedモーニング。
php と ruby のコードと格闘する毎日がまた始まるのでした。

くそ寒いのにアイスコーヒー飲んじまったYell

今年の目標

今年も、ひとつアルバム作りたいなーと欲張ってみます。手付かずだったことたくさんやっていきたいですね。あと、ダイエットしたい。腹がヤヴァイ。あと、写真を上手に取れるようになりたい。

明日は東京めちゃくちゃ冷え込むらしいので、あったかくして寝ましょう。
また、明日Tongue out

 

 


ブログ移転しました

ティラミス

ブログのリニューアル

ちょっと前からホームページ全体を rails をベースに置いて製作するようになったので、正月休みの時間もあるので、ブログを自前で作って組み入れてみた。


  • トラックバックはいらないので未実装
  • 記事を書くところは tinymce を使って自由なレイアウトができるように
  • 業務で再利用できるように、複数ブログを管理できるように
  • ファイルブラウザで簡単に画像を挿入できる

といった機能を実装。

将来的には、携帯のサポートなんかもやりたい。
rails はすごくて、三日ぐらいあればこういうものがあっという間にできてしまう。
CMSをチョコチョコカスタマイズするよりも、rails でいっきに作ってしまったほうが早い現場もあるだろうなぁと思います。