タグ

2009年6月26日のブックマーク (10件)

  • ウノウラボ Unoh Labs: シェルスクリプトでプログラミング

    パワプロよりパワポケが好きなbokkoです。でも最近はPSPで遊んでいます。 今回はシェルスクリプトやコマンドラインでよく使うプログラムとその使用例の紹介です。 シェルスクリプトでは既にあるコマンドを組み合わせてプログラムを書きます。しかし、シェルスクリプトは分岐や繰り返しといった制御構造を持ち、関数や変数を扱ったり、四則演算を行うこともできます。 演算 シェルスクリプトで演算を行うにはexprを使います。 add.sh #!/bin/sh A=1 B=2 C=`expr ${A} + ${B}` echo ${C} ↑のadd.shを実行すると、 $ sh test.sh 3 $ と表示されます。↓のようにexprの引数をスペースで区切らず渡してしまうと、単に1+2と表示されてしまいますので、注意しましょう。 #!/bin/sh A=1 B=2 C=`expr ${A}+${B}` ec

  • ウノウラボ Unoh Labs: 10テラバイトマシンのつくりかた

    「iPodの残り容量が200MBを切った」と社内で発言してから「iPhoneを買おう!」としきりに言われるようになったbokkoです。そんな私は先月、ホコリをかぶっていたデスクトップPCを筐体ごと買い換えました。今ではMacBookからSSHでログインしてコンソール上で快適な生活を送っています。 今月、2TBのHDDを6使ったサーバを立てる機会がありまして、今日はその時のお話です。 HDDの容量とストレージサーバ Webサービスのインフラを構築・運営していると、膨大なデータをどう扱うかといった問題にぶち当たることがあります。仮想化技術の進歩によって複数のOSを1台のマシンで同時に稼働させつつ、物理的なマシンの数を減らすことができるようにはなりましたが、物理的な媒体であるHDDを1台のマシンに搭載できる数には限りがあり、ソフトウェアであるOSの仮想化みたいにじゃんじゃん増やすことができませ

  • ダメなマニュアルの特徴 - まめめも

    めちゃくちゃ遅い反応ですが、「よく言ってくれた!」という話。 現状のRDocはユーザリファレンスに向いてないと思ってる。 RDoc書いただけで「リファレンスは完璧だお!」とか言ってるやつなんなの - Greenbear Diary (2009-06-04) 以下関係あるようなないような話。わが身は振り返らない方向で。 ダメなマニュアルの特徴 rdoc に限った話ではないですが、以下はダメなマニュアルに共通する特徴だと思います。 クラスやメソッドを ABC 順に並べている メソッドの説明が長い サンプルコードがない こういう文書は読み手を普通のプログラマだと思ってません。 なぜダメか ABC 順だと、どこから読めばいいかわからない。砂漠の真ん中で迷子になったような気分になります。早く使ってみたいのに使えない歯がゆさ。 説明が長いのは、メソッドの名前が適切でない可能性や、無駄に全機能を列挙しよ

    ダメなマニュアルの特徴 - まめめも
  • Graphviz に画像を埋め込む; 例. 画面遷移を描く

    昨日、Blogger の歴史年表を描くのに graphviz のドキュメントを読んでいたら、画像を埋め込む方法を見つけた。 Node Shapes -- HTML-like Labels サンプル 画面遷移のサンプルを描いてみた。まずは実行例とソースコードをばご覧あれ。 Ubuntu で slapd をインストールする時の設定画面の画面遷移。 digraph G { node [shape=plaintext]; slapd1 [label=<<table><tr><td><img src="s1.png"/></td></tr></table>>]; slapd2 [label=<<table><tr><td><img src="s2.png"/></td></tr></table>>]; slapd3 [label=<<table><tr><td><img src="s3.png"/>

    Graphviz に画像を埋め込む; 例. 画面遷移を描く
  • How to Mimic the iGoogle Interface

    Unlimited WordPress themes, web templates, graphics & more! Unlimited asset downloads! Get Started

    How to Mimic the iGoogle Interface
  • 2009-02-13

    ほしい情報が別々テーブルにあって引っ張ってくるのが面倒なときには、CREATE VIEWをかつようするとよい。 CODE   NAME PRICE ------ ---------- ---------- ① 101 aaa 1000 102 bbb 1500 NO CODE KOSUU ------ ---------- ---------- ② 1 101 20 2 102 10①と②のテーブルより③の要素を取得したい場合 NO CODE KOSUU SYOUKEI ------ ---------- ---------- ---------- ③ 1 101 20 20000 2 102 10 15000③は下記のようにDBを作成できる。 CREATE VIEW c AS SELECT b.no, b.code, b.kosuu, a.price * b.kosuu AS syouk

    2009-02-13
  • LinuxサーバにおいてLoadaverageが50以上、つまりサーバが非常に重い状態にあるとします。…

    LinuxサーバにおいてLoadaverageが50以上、つまりサーバが非常に重い状態にあるとします。あなたはどこから原因を調査し、どのようにして解決しますか?(サーバを軽くしますか?、解決しましたか?、参考になるページのURLはありますか?(複数URLがある場合のみ回答可能))

  • EmacsWiki: Elisp Cookbook

    This page contains snippets of code that demonstrate basic EmacsLisp programming operations in the spirit of the O’Reilly cookbook series of books. For every task addressed, a worked-out solution is presented as a short, focused, directly usable piece of code. All this stuff can be found elsewhere, but it is scattered about in libraries, manuals, etc. It would be helpful to have here in one spot.

  • Let's make the web faster - Google Code

    Learn Discover best practices that can make your apps faster. Get informed with developments in web performance. What would be possible if browsing the web was as fast as turning the pages of a magazine? We invite you to join us in exploring and innovating across the entire spectrum of performance - from Internet protocols to the browser to website development. Together, let's make the web faster!

  • ネットワークプログラムのI/O戦略 - sdyuki-devel

    図解求む。 以下「プロトコル処理」と「メッセージ処理」を分けて扱っているが、この差が顕著に出るのは全文検索エンジンや非同期ジョブサーバーなど、小さなメッセージで重い処理をするタイプ。ストリーム指向のプロトコルの場合は「プロトコル処理」を「ストリーム処理」に置き換えるといいかもしれない。 シングルスレッド・イベント駆動 コネクションN:スレッド1。epoll/kqueue/select を1つ使ってイベントループを作る。 マルチコアCPUでスケールしないので、サーバーでは今時このモデルは流行らない。 クライアントで非同期なメッセージングをやりたい場合はこのモデルを使える: サーバーにメッセージを送信 イベントハンドラを登録;このときイベントハンドラのポインタを取っておく イベントハンドラ->フラグ がONになるまでイベントループを回す イベントハンドラ->結果 を返す 1コネクション1スレッ

    ネットワークプログラムのI/O戦略 - sdyuki-devel