2011/02/15

Rubyの面白いところ Part 9 「ローカル変数の宣言と寿命」

ローカル変数のスコープは、宣言した位置からその変数が宣言されたブロック、メソッド定義、またはクラス/モジュール定義の終りまでです(参考)。

2.times {
  p defined?(v) # 2回ともnilなことに注意
  v = 1
  p defined?(v) # "local-variable"
}

参考: Rubyの面白いところ Part 7 「NameErrorが起こらないとき」

2011/01/08

[小ネタ]特定の文字の文字数を数えるSQL

本年もよろしくお願いします。

DBのちょっとした小ネタ。

テーブルからある文字の文字数を数えるSQL。

例えば文字"a"をhogeテーブルのcolカラムに出現する回数を数えるとする。

select sum(length(col)-length(replace(col, 'a',''))) from hoge;


のようにかける。こうすればcolカラムに文字"a"が2つあった場合でも2とカウントされる。

あんまり用途はないだろうけど、たまたま上記のようなSQLを書くことがあったのでメモ。

2011/01/01

2010年 アクセス状況

2010/01/01〜2010/12/31までのアクセス状況を振り返ってみました。
総セッション数13,886でした。

2010年の人気のあるコンテンツは以下の順位でした。
1. C#のコードを高速化するための方法
2. EnterキーでTabキーのようにフォーカスを移動させるJavaScript(prototype.js使用)
3. Mabinogi on Wine
4. CentOS 4.7のネットワーク設定をDHCPクライアントにする方法
5. MRTGでYAMAHA RT57i/RT58iの転送量を監視
6. C#って遅いのか
7. Windowsタスクマネージャとパフォーマンスモニタの見方
8. VMWare guest OS(CentOS 5)の解像度変更
9. KAKASI - 漢字→かな(ローマ字)変換プログラム
10. 64bit対応Adobe Flash PlayerをIceweaselにインストール
オリジナリティがある程度あるトップ3がぶっちぎりで、そのうち2つが2009年のコンテンツでした。ロングテールと言えば響きはいいが、そういえば今年はあんまり家で生産的なことしてなかったなぁと反省です。来年はもう少し更新しようと思います。

Webページ右に用意しているラベルのクリック率を見ると、Windowsなどが全くクリックされないのに対して、ブラウザ(4.0%)、仮想化(2.2%)でした。旬が何かわかりやすいと共に、Windowsはもう浸透してしまって調べる対象じゃないんでしょうねぇ。

閲覧してくれた方のOSはまだまだぶっちぎりでWindowsが多いです。仕事でMacユーザをメインターゲットにしてる私としては少し複雑な気分です。iPodやスマートフォンも現れ始めました。

検索キーワードは下のようになり、ついに日めくり美人がトップの座を明け渡しました。そろそろ技術系ブログを名乗れそうですwクリックしてもらうとわかりますが、いろんなキーワードでグーグルの上位にサクッと表示されて結構びびります。
1. C# 高速化
2. centos dhcp
3. 日めくり美人
4. javascript enter フォーカス移動
5. vmware 時計が狂う
6. c# 遅い
7. ubuntu マビノギ
8. centos dhcp クライアント
9. c# 共有メモリ イベント
10. ruby nameerror

それでは今年もよろしくお願い致します。

2010/12/31

Cygwin/Xインストールメモ

VMWare on Windows XPを、virtualbox on Debian lenny(5.0)に移行した。
移行にあたり、以前はリモートデスクトップでホストOS(Windows XP)にアクセスしていたのが利用できなくなった。
そのため、クライアントのWindowsにフリーのX Serverが導入できるCygwinをインストールした。

ここからsetup.exeをダウンロードしてインストール。
Install from Internetを選んでネットから直接パッケージをインストールする。



インストールする対象とユーザはデフォルトのまま。


一時ファイル置き場は適当に選ぶ。

ダウンロード元は個人的な好みでiijを選択。

X Serverを起動するのに必要な最低限のパッケージをインストールする。
  • X11/xorg server 1.9.3-1
  • X11/xinit 1.2.1-1
  • X11/X-start-menu-icons 1.0.4-1
  • Net/openssh 5.6p1-2

これでインストール準備完了。

debian上のプログラムをWindows上に表示できるかテストする。
スタートメニューからCygwin-X/XWin Serverを起動。続いて、表示先を指定してリモートにあるプログラムを起動する。

$ export DISPLAY=:0.0
$ ssh -Y username@remote_hostname_or_ip_address
接続できたら、xclockを起動してみる。
$ xclock &
無事起動したらテスト完了。

続いてXDMCPを使ってログインしてみる。
Debianのログイン画面左下のメニューからリモートアクセスを許可できるので許可する。続いて、Cygwin/Cygwin Bash Shellを起動してXWinを起動する。

$ XWin.exe :0 -query remote_hostname_or_ip_address
無事Windows上にdebianのログイン画面が表示されたら成功。

2010/12/29

ライセンス和訳

ライブラリを探すときはライセンスがいっつも面倒です。
参考になる和訳と識別子をメモ。

2010/11/08

これがWikipediaの裏側、知られざる大規模システムの実態「Wikipedia / MediaWiki におけるシステム運用」

これがWikipediaの裏側、知られざる大規模システムの実態「Wikipedia / MediaWiki におけるシステム運用」 @ GIGAZINE
めちゃくちゃ勉強になる。
これが世界トップクラスのサーバか。
Googleの100万台以上のサーバに対してWikipediaが350台で動いているというのが驚き。
徹底的にキャッシュを考えることでここまで減らせられるんだなぁ。

2010/09/11

Windows 7の魅力を伝えたい動画



インタフェースはAppleばかり注目されますが、Win7は微妙におせっかいに使いやすくなってますね。
「Win+左右」と「Win+Shift+上下」と「Win+数字」が気に入りました。