タグ

ブックマーク / wota.jp (9)

  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

  • ヽ( ・∀・)ノくまくまー(2006-10-25) - postfix でメールのバックアップ

    ● postfix でメールのバックアップ 今どこらへんかと言うと、Pマーク取得がマイブームの上司から、会社で利用する受信メールのバックアップ依頼が来た。要件および背景はこんな感じ。 ● 要件 全てのユーザの受信メールをバックアップする バックアップの目的はデータの二重化でなく、会社の記録としての受信メール保管 会社は各ユーザを信じないものとする (=各ユーザは都合の悪い私用メールを消しうる) 特定の管理者は各ユーザの過去全ての受信メールをチェックできる 過去メールのチェックはユーザ単位で指定することができる (管理者ごとに参照できるユーザが決まる) 保存期間は5年とか10年とかの結構長いスパン 各ユーザが利用するMUAは Outlook 系 この要件6およびメールの退避と復元を容易にするためにも、 Mailbox 形式でなく Maildir 形式にする という要件も必然的に追加されるだろ

  • ヽ( ・∀・)ノくまくまー(2007-06-05)

    ● 1. 一戸建てタイプ そのアプリ用に専用のマシンを準備できるケース。例えば、アクセス数が少ないβリリース時などは mongrel を直接80ポートで運用することもあるだろう。そして、負荷の増加、またはマルチコアを活かすという次の段階で、cluster 化した mongrel を扱う必要に迫られた場合、このタイプになる。この場合、フロントの仕事はバック(Rails)への割り振りだけだが、そのためにわざわざ Apache2 を持ち出すのは仰々しいと感じるかもしれない。そんな人にお奨めしたいのが Pound サーバだ。いきなり Apache から話が逸れてしまうが、このケースだとリアルでお奨めである。 Pound + mongrel Pound はリバースプロキシ用のWebサーバであり、特化しているだけあって、必要最低限かつ直感的で簡単な設定で済むため、敷居が低いのが魅力だ。それでいて、デジ

  • ヽ( ・∀・)ノくまくまー(2007-05-20)Rails勉強会@東京#18 後半: 今だからこそ運用環境を考える

    ● [Rails] Rails勉強会@東京#18 前半: QueryCache / MMC 後半: 今だからこそ運用環境を考える に参加。 ● 前半: QueryCache / MMC QueryCache とは、AR.find の結果を memcached を用いてキャッシュする plugin。(rakuto 作) rakuto式 QueryCache の課題 with_scope どうする? memcache のキー 削除戦略 1は、AR.find の引数だけを見てキャッシュのキーを作成しているため、with_scope と混ぜるな危険。解決策の1つは「キャッシュするレイヤーを select_xxx まで引き下げる」こと。そうすると find_by_sql まで対象に入るという嬉しい副作用もある。ただその場合、キャッシュの対象も同レイヤーにするとARオブジェクトでなく生の結果セットにな

  • ヽ( ・∀・)ノくまくまー(2007-03-23) DB勉強会 〜 大規模ソースコードの読み方 〜

    ● [Rails] DB勉強会 〜 大規模ソースコードの読み方 〜 内輪で集まってDB与太話をやるのかと勝手に想像していたら、ミラクル・リナックスのCTOの吉岡さん(参考1)がいらっしゃって軽く引いた(いい意味で)。前半は吉岡さんのプレゼンで「大規模ソースコードの読み方」。動的なソースコード解析で役立つ profiler や tracer の紹介が勉強になった。これらを使うと、ソースコードを全く読まないどころか、そのアプリケーションを初めて使った場合でもすぐにボトルネックを見つけ出すことができるらしい。実際、Ruby歴3時間の吉岡さんがgc.cのボトルネック解消パッチを作れたとか。(参考2)。素晴らしい。後半はDB周りの雑談から殆どがRailsネタに。吉岡さんすいません。 ● メモ printf デバッグは有益無害 基は -g でコンパイルしてgdbで実際に実行しながらソースコードを追う

  • MySQL 文字化け問題を本気で直す

    mysql> status; -------------- mysql Ver 14.7 Distrib 4.1.20, for redhat-linux-gnu (i386) using readline 4.3 Connection id: 36 Current database: staff2006 Current user: maiha@localhost SSL: Not in use Current pager: lv Using outfile: '' Using delimiter: ; Server version: 4.1.20 Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client char

  • ヽ( ・∀・)ノくまくまー(2006-09-07) CSSでポップアップ

    CSSでポップアップ ちょっとした説明文をポップアップするには "title" 属性が便利であるが、複数行表示がブラウザに依存し、画像を含んだコンテンツには対応できない。かと言ってJSを持ち出すのも面倒だと思っていたら、CSSのみで実現できるらしい。そのまとめ。(via RailsChat) CSS .popup .tips { display : none; position : absolute; } .popup a:hover { position:relative; } .popup a:hover .tips{ display : block; top : 30px; left : 20px; white-space : nowrap; text-decoration : none; border : 1px solid black; color : black; back

  • ActiveRecord

    Introduction 第1章: for Ruby users (4) ・CRUD operations ・Assocations 第2章: for Rails users (15) ・With Scope ・Scoped Access 第3章: for Rails developers (17) ・Acts As View ・Finder Query CRUD : ActiveRecord Pattern require 'rubygems' require_gem 'activerecord' ActiveRecord::Base.eatablish_connection( :adapter=>"sqlite3", :db=>"db/users.db" ) class Member < ActiveRecord::Base # "members" e

  • LiteSpeed

    (注意: 印はくまくまー調べなので鵜呑みにしてはいけません) [開発] Apache上での開発はまず無理である。WEBrick は Ruby標準な上に最低限の機能・スペックは満たしているので未だに愛用者は多く、Rails初学者には十分である。WEBrickの速度に限界を感じたユーザは Lighttpd(愛称 lighty)を利用する。速度も十分でや設定も容易だが、起動時の引数でポートを指定できないなど若干使いづらい面もある。lighty ユーザは Mongrel に進むという予言もある。 [運用] Webサーバのデファクトはやはり Apache で、Rails的には生CGIは無理だが、FastCGIなどのモジュールと併用することで速度的な問題はなくなる。RailsはLighttpdなどの開発向けのサーバで動かし、リバースプロキシを利用する手もある。完全に Rails のみで運用されるサイト

  • 1