タグ

2011年7月13日のブックマーク (31件)

  • ASCIIcasts - “Episode 265 - Rails 3.1の概要”

    265: Rails 3.1の概要  (view original Railscast) Other translations: Other formats: Written by Naomi Fujimoto Rails 3.1の最初のベータ版がリリースされました。今回から数回にわたって新機能を紹介していきます。今回のエピソードでは、環境のセットアップ方法について説明し、その後で新機能の概要を見ていきます。 Rails 3.1をインストールする Rails 3.1 beta gemをインストールする前に、rvmを使用してgemsetを作成し、インストールする環境をその他の環境から隔離してRails 3.0のインストール環境に影響を与えないようにします。次のコマンドを実行して、railspreというgemsetを作成します。 $ rvm 1.9.2@railspre --create 次

    kamipo
    kamipo 2011/07/13
  • 2004-06-05

    CRTPについてちまちま書いていたのをまとめてみました. CRTP(Curiously Reccursive/Reccuring Template Pattern)とは以下のように基底クラスのテンプレート引数として自分自身を代入するテクニックのことを指します. template class Base{/*.....*/}; class C : public Base{/*.....*/}; よく見かけるパターンなので,これがどういう使われ方をしているかを適当にまとめてみました. あるクラスの機能の一部を変えてコードの再利用を行う場合,変えたい機能を提供するメンバ関数を仮想関数にしてそれを派生クラスでオーバーライドするのが通常の方法ですが,CRTPを使えば仮想関数を用いずに行うことができます. 自分で何か良さそうな例を書こうと思ったのですが,あんまり適切な例が思い浮かばないので,このCRTP

    2004-06-05
  • 業界最大級のライブチャットDXLIVE

    PC/AndroidGoogle Chrome (グーグルクローム)、Edge(エッジ)の最新バージョン127にて、ビデオ通話がご利用いただけない不具合が起こっておりましたが、修正をリリースいたしました。ご利用されている皆様には大変ご迷惑おかけいたしましたことをお詫び致します。 現在、PC/AndroidGoogle Chrome (グーグルクローム)の最新バージョン127にて、ビデオ通話がご利用いただけない不具合が確認されており、調査中となっております。ご利用の皆様にはご迷惑をおかけ致しますが、ご理解ならびにご協力の程、何卒宜しくお願い申し上げます。 9月14日(水)午前5時~5時30分(日時間)に、サイトのメンテナンスを行ないます。その間は、一時的にチャットが中断される場合がございます。メンテナンス期間は、作業状況により多少前後することもございます。ご利用の皆様にはご迷惑をおかけ

    業界最大級のライブチャットDXLIVE
    kamipo
    kamipo 2011/07/13
  • 開発メモ: 辞書検索システムを作ろう (実装編)

    永続連想配列の一実装であるKyoto Cabinetを用いた辞書検索システム(仮称:kcdict)の機能について前回の記事で説明した。今回は辞書検索システムの内部の実装について紹介する。 データベースの構造 デフォルトでは検索語の前方一致検索を行うので、前方一致検索が高速に行えるデータ構造が求められる。辞書順の比較関数を使ったB+木はまさにその目的に叶うので、それを採用する。 辞書データには同じ検索語を持つ複数のエントリが存在するという、いわゆる重複キー状態が発生するが、KCのB+木は重複キーを許さない実装になっている。そのため、検索語の末尾に識別用の文字列を連結して、各々のエントリのユニーク性を確保する。同一検索語のエントリ同士の順序をユーザが操作できるようにするためにもこの識別用文字列は利用される。各々のエントリにはユーザが任意の数値を付与することができるようになっており、同一検索語の

  • Control Groups (cgroups) - めもめも

    LXC の解説に必要なので、ちょいと cgroups についてまとめておきます。RHEL6.0 前提です。 参考資料: RHEL6 リソース管理ガイド Control Groups(cgroups) の概要 cgroups とは 最近の Linux は、あるプロセスの実行を許可する CPU コアの指定など、プロセスごとにさまざまなリソース制御ができるようになっています。このような制御を複数のプロセスをグループ化したグループ単位でできると便利な場合があります。cgroups は、グループ単位でリソース制御を行うためのユーザ・インターフェースを特殊ファイルシステムの形式で提供します。 cgroups 自体がリソース制御の機能を提供するわけではありません。既存のリソース制御機能(cgroups の用語で『コントローラ』もしくは『サブシステム』と言います)を cgroups のインターフェースを利

    Control Groups (cgroups) - めもめも
  • RHEL6.0 で LXC (Linux コンテナ) - めもめも

    2011/05/29 執筆中。。。 2011/05/31 コンテナの起動まで書きました! 2011/06/06 cgroups の設定例を追加。これでひとまず完成(?) 2011/06/14 cgroups 設定例に /dev/tty* のアクセス権追加 どうも時代はコンテナらしい・・・ということで、RHEL6.0 + LXC でのコンテナ型の仮想化の方法をまとめていきます。 Linux Study Tokyo #2の発表資料「LXCで始めるケチケチ仮想化生活?!」も参考にしてください。 コンテナとは? 概念的というか実装的には、chroot jail の延長と考えると理解しやすいと思います。 chroot jail の場合は、ファイルシステムの見える範囲をプロセスごとに制限することでプロセス間の擬似的な独立性を実現します。ただし、ネットワークソケットなど、ファイルシステム以外のリソースは

    RHEL6.0 で LXC (Linux コンテナ) - めもめも
  • Ethernet LAN - ストレートケーブルとクロスケーブル

    ◆ UTPケーブルの種類 - ストレートケーブルとクロスケーブル UTPケーブルには、ストレートケーブルとクロスケーブルの2種類があります。外観は似ていますが ストレートケーブルはケーブル内の銅線が途中で交差せずケーブル両端で同じピン配列になっており、 クロスケーブルはケーブル内の銅線が途中で交差しておりケーブル両端で異なるピン配列となります。 従って、LANケーブルのRJ45コネクタの先端をみれば、ストレートかクロスケーブルか判別できます。 100Base-TXと1000Base-Tとでは、ストレートは同じですが、クロスケーブルのピン配列は異なります。 LAN接続で、ストレートケーブルまたはクロスケーブルのどちらを使用するかは、ケーブルを接続する 機器の組み合わせで決まります。例えば、PCとスイッチとを接続する場合はストレートケーブルを使用し PCPCを接続する場合はクロスケーブルを使

    kamipo
    kamipo 2011/07/13
  • RVMとCapistranoを組み合わせて使う - ひげろぐ

    デプロイ先のRubyをRVMで入れている場合、そのRubyをCapistranoが見つけてくれないのでうまくデプロイが進まない現象が起こる。 それをうまく動かすためにひと工夫。 rvm capistrano plugin Capistranoを実行するマシンとデプロイ先のマシンの両方にRVMの1.0.1以上が入っている場合は、RVMのプラグインで解決できる。これはデフォルトで入っているので特にインストールしたりする必要はない。 deploy.rbの先頭に以下のコードを追加。 set :rvm_type, :user $:.unshift(File.expand_path('./lib', ENV['rvm_path'])) require "rvm/capistrano" set :rvm_ruby_string, '1.9.2' rvm_typeはRVMをrootでインストールしている場

  • CentOS 5.2でPrimary/Primary構成のDRBD+GFSを組む - なんとなく日記

    ひとまず ext3 で構築はしたのですが,性能的な制約で Primary/Primary 構成をとる必要に迫られて Primary/Primary 構成で組み替えることに.そのために VirtualBox で検証しました.そのログを. 参考 http://cafelounge.net/dev/?Cluster%2FDRBD%2F8 DRBD Primary/Primary using GFS | shaker ~# 準備編 CentOS 5.2 のインストール VirtualBox 上で作ります. Name : Primary/Secondary Memory : 256MB HDD : 8GB CentOS パーティション / : 6000MB swap : 512MB 残りは空き(DRBD 用) インストールタスク : Server 必要パッケージのインストール 両ノードにインストール

    CentOS 5.2でPrimary/Primary構成のDRBD+GFSを組む - なんとなく日記
  • Capistrano with Bundler and RVM | cocoa*life

  • 六目並べを考えた奴は天才 - やねうらお-よっちゃんイカを食べながら、息子語録を書き綴る

    iPhone/iPad用のアプリで六目並べというゲームがある。 iTunes用リンク → 「六目並べ」は交通大学工学部の呉毅成教授が発表したゲームだ。(「六目並べ」は「コネクト6」とも呼ばれる。正確な起源は不明。) 「五目並べ」はみんな知ってると思うが、これは、五目ではなく六目並べるのだ。 私はこのゲームの名前を聞いた瞬間、「うわ、やられた!これはまさに天才の所業だ」と思った。 五目並べに詳しくない人のために、なぜこれが天才の所業なのかを以下にだらだら書いてみる。 まず、五目並べというのは五目並べれば勝ちだ。しかし、「五目並べれば勝ち」というルールだけだと、素人同士ならいざ知らず、中級者以上がやるならば黒(先手)が必勝だ。五目並べで先手番を持って必勝じゃなければそんな奴は初心者だ。 とまあ、五目並べは中級者以上なら先手必勝であるゲームだ。 そこで、公平にする方法がいろいろ考えられた。まず、

    六目並べを考えた奴は天才 - やねうらお-よっちゃんイカを食べながら、息子語録を書き綴る
  • RVM: Ruby Version Manager - RVM with Capistrano

    Using RVM rubies with Capistrano You currently have three options: If your rvm version on the server and locally are recent enough, use the new built in integration. Enable .ssh environment variables using the PermitUserEnvironment option in your ssh configuration file Use the capistrano :default_environment setting Integration via the rvm capistrano plugin If your rvm installs on both sides are r

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    kamipo
    kamipo 2011/07/13
  • TCP 詳細

    応答確認 送信したデータが受信側に正しく届いた時、 受信側からセグメントが正しく届いたことを知らせます。 TCP は、この機能によりエラー等でデータが正しく届かなかったことを認知します。 データが正しく届いていないことが解かれば、データを再送します。 これにより、信頼性の高い通信が実現できます。 送信側は、送信するデータを再送用バッファに保存してから、 データを送信し、タイマを動作させます。 受信側は、データを受信すると、その都度応答確認番号(ACK 番号)を、 送信側に送ります。 送信側では、ACK 番号が送られるのを待って、 次のデータを再送用バッファに保存してから、それを送信します。 もし、適当な時間が過ぎても、ACK 番号が返って来ない場合は、 データが正しく届かなかったと判断し、 送信側は同じデータを再送用バッファから再送します。 フロー制御とウインドウ 送信側ホストから受信側

  • 【前編:バトル!】いろいろチューニングしてパフォーマンスを競うバトルイベント!「Tuningathon」 #tuningathon : ゼロスタートの広報ブログ

    2011年07月13日09:00 【前編:バトル!】いろいろチューニングしてパフォーマンスを競うバトルイベント!「Tuningathon」 #tuningathon カテゴリイベントプログラム Tweet こんにちは! ゼロスタートコミュニケーションズ広報もりのです! 先週末は暑かったですねー! そんな猛暑の中、渋谷では更に熱いチューニングバトルイベント「Tuningathon」が開催されておりましたよ。 ななな、なんと参加率100%!!!!!! 今日は、その様子を写真たっぷりでご紹介したいと思います! イベント参加者リスト(39名)※参加率100%!! イベント当日の様子:準備 イベント当日の様子:オープニング イベント当日の様子:チューニングバトル イベント当日の様子:バトル終了! 【後編に続きます】 はじめに「Tuningathonとは」 いろいろチューニン

    kamipo
    kamipo 2011/07/13
  • 「Rubyの進歩がより速くなることを期待している」 Herokuのチーフアーキテクト就任について、まつもと氏との一問一答

    Rubyの進歩がより速くなることを期待している」 Herokuのチーフアーキテクト就任について、まつもと氏との一問一答 記事「[速報]まつもとゆきひろ氏、米HerokuRubyチーフアーキテクトに就任」でお伝えしたように、Ruby開発者のまつもとゆきひろ氏が米HerokuRubyのチーフアーキテクトに就任すると発表されました。 就任の経緯、今後の役割などについて、まつもと氏にメールでインタビューをしました。 Rubyコアをより高機能に、より高性能にするのがミッション ─── HerokuRubyチーフアーキテクトに就任される経緯などについて教えてください。 まつもと氏 先日、Salesforce.com CEOのMarc Benioffさんとお会いした時、「Rubyの開発を支援したい」との申し出がありました。そこで、Ruby開発に参加している人は、私を別にすると業の合間に開発した

    「Rubyの進歩がより速くなることを期待している」 Herokuのチーフアーキテクト就任について、まつもと氏との一問一答
    kamipo
    kamipo 2011/07/13
  • [速報]まつもとゆきひろ氏、米HerokuのRubyチーフアーキテクトに就任 - Publickey

    サンフランシスコに社を置き、Ruby on RailsのPaaSなどをクラウドで提供しているHerokuは、オープンソースのプログラミング言語「Ruby」の開発者であるMatzこと、まつもとゆきひろ氏が、同社においてRubyのチーフアーキテクトに就任すると発表しました。 まつもと氏以外にも、Rubyの開発コアメンバーの数人がHerokuのフルタイムのスタッフとなる方向で話が進んでいるとのことです。 まつもと氏は引き続き、島根県に社を置くネットワーク応用通信研究所のフェロー、楽天技術研究所のフェロー、Rubyアソシエーションの理事長などの肩書きを持ち続け、これまでと同様にRubyのオープン性と発展にコミットした活動を続けていくことを明らかにしています(まつもと氏のインタビュー記事「「Rubyの進歩がより速くなることを期待している」 Herokuのチーフアーキテクト就任について、まつもと氏

    [速報]まつもとゆきひろ氏、米HerokuのRubyチーフアーキテクトに就任 - Publickey
    kamipo
    kamipo 2011/07/13
  • 第41回レイヤ4 TCP ウィンドウ / 3 Minutes Networking No.41

    ちゃんと「ウィンドウ」という項目がある。 今回は、このウィンドウとシーケンス番号と確認応答番号の3つを使って説明していく。

  • 第42回レイヤ4 TCP 輻輳制御 / 3 Minutes Networking No.42

    自信あふれるネット君などというものは、物理的に存在し得ないものだからな。 「自信あります」などと言われたら、物理法則が捻じ曲がるところだ。

  • Varnish3で多くのオブジェクトを持つサイトを運営するときに注意するべきたった一つのこと(Transient storage) « cat /dev/random > /dev/null &

    一回こんなタイトルで書いてみたかったいわなちゃんです。 別にこれだけ注意しとけ!というわけではないのですが、とりわけドハマリしそうでまず注意しておきたいポイントに付いて解説します。 Varnish3の新パラメータに shortlived というモノがあります。 これは指定TTLより短い秒数しかキャッシュしない場合テンポラリストレージ(Transient storage)に保存するというものです。 これはTTLが短い場合このストレージに保存することでパフォーマンスをあげようというものです(多分) パフォーマンスをあげようというものなのでこいつはメモリストレージで確保されます storage.list 200 Storage devices: storage.Transient =★★ malloc ★★ storage.s0 = malloc 問題 以下の設定の時Transientストレージ

  • config.ruに設定を埋める

    Railsのコードを読んでみてて気付いた。いや、単に知らなかっただけという可能性もあるのだがconfig.ruには起動オプションを埋め込むことができる。 config.ruに一行、「#</tt>」で始まる文字列を書き加える。するとその内容が空白区切りでコマンドラインオプションに加えられる。 # This file is used by Rack-based servers to start the application. #\ --port 3333 require ::File.expand_path('../config/environment', __FILE__) run Nanjamonja::Application これを起動すると次のようになる。 $ ./script/rails server => Booting WEBrick => Rails 3.0.9 applic

  • Capistranoでのエラー処理(ロールバック処理) : \ay diary

    通常、Capistranoではリモートホスト上でのコマンド実行に失敗する(終了値が0以外になる)とそこでタスクを中断します。トランザクションの中でのコマンド実行であり、ロールバック処理が与えられていればそれを実行します。 ここではタスク実行の中断によりコマンド実行されないホストが生じる場合にロールバック処理がどのように行われるかを見てみたいと思います。 ロールバックの基的な動き まず、シンプルな例です。 role :foo, "mike", "tora" task :foo do run "hostname" end これを実行すると次のようになります(以下、動作確認はCapistrano 2.5.19/Ruby 1.8.7で行っています)。 * executing `foo' * executing "hostname" servers: ["mike", "tama"] [tampe

  • SSHでホスト鍵が変わっていても無視する方法 - atsumu-t2の日記

    StrictHostKeyChecking noを指定すると、新しいホストに初めてつないだとき、known_hostsに自動登録されるようになる。(デフォルト値はask) これだけだと、known_hostsにすでに登録されているホストの鍵が変わったとき(OSが再インストールされたとか)、再接続するためにknown_hostsからそのホストのエントリを消さないといけないので面倒。(特に、大量のホストを扱っていて頻繁に再インストールされる環境では) そこで、UserKnownHostsFileを/dev/nullと指定すれば、ホスト情報がknown_hostsに残らなくなるので、ホスト鍵が変わってもわざわざ手動でエントリを消す必要が無くなる。 ただし、ホスト鍵が変わったことを検出できなくなるので、ホストを偽装される可能性がある環境で指定すると危険。 Host x0?? StrictHostK

    SSHでホスト鍵が変わっていても無視する方法 - atsumu-t2の日記
    kamipo
    kamipo 2011/07/13
  • capistranoで繋がらないホストを無視する方法 - atsumu-t2の日記

    capistranoで、下のように:on_error => :continueを指定すれば、繋がらないホストがあっても無視してくれる。 namespace :test do desc 'uptime' task :uptime, :roles => [:test_roles], :on_error => :continue do run "uptime" end end

    capistranoで繋がらないホストを無視する方法 - atsumu-t2の日記
  • ログモジュールのベンチマーク - Perl勉強メモ アルパカDiary出張版

    主要なモジュールでベンチマーク取ってみました。 単純にファイル出力するだけの使い方にしてみました。出力フォーマットも統一しています。 Log::Dispatch Log::Handler Log4perl Log::Minimal バージョン perl 5.14.1 Log::Dispatch 2.29 Log::Handler 0.71 Log::Log4perl 1.33 Log::Minimal 0.08 スクリプト 実行結果(その1) % perl bench_log.pl 30000 Benchmark: timing 30000 iterations of log4perl, log_dispatch, log_handler, log_minimal... log4perl: 2 wallclock secs ( 1.87 usr + 0.19 sys = 2.06 CPU)

    ログモジュールのベンチマーク - Perl勉強メモ アルパカDiary出張版
    kamipo
    kamipo 2011/07/13
  • Arduinoを買った - hide-k.net#blog

    年始から5kgほど減量したのに、先日飲み会で某メガネダンディーなエンジニアに「当に痩せたのー?」と嫌というほど首の肉をつままれ泣きそうになりました。こんばんは。 今更感がとってもありますが栗原さんに触発されて、Arduinoを買いました。 Arduinoとはフィジカルコンピューティングのためのオープンソースプラットフォーム...アラフォー的に一言で言うといわゆるマイコンです。 デジタルIOピンとアナログIOピンを備えていて、ここにフィジカルデバイスをつないで遊べるという代物です。 今風なのがブレッドボードを使ったパッチングでデバイスをつなぐのでハンダ付けがいらないことと、USBポートを備えていて、ここからスケッチと呼ばれるプログラムをアップロードしたり電源を取ることができます。 また、シールドと呼ばれる拡張キットもあって親亀小亀よろしくピンをバイパスして乗っけて拡張することができます。

  • そういえばsshfsが便利な件 - (ひ)メモ

    以前はリモートのファイル編集するのにEmacsでTRAMP使ってたんですが、sshfsの方がシェルでcdとかlsできるし、Emacsでoccurとかもできるしいいよねってんで最近はsshfs使ってます。 で、sshfsしたいホストが多いといろいろめんどくなるんで、↓みたいなヘルパスクリプト書いて使ってましたよって話です。 マウントポイントをまとめておくディレクトリ(~/r/とか)の下に、予めsshfsするリモートホストの名前のディレクトリを作っておきます。sshするときユーザー名が必要なホストはUSERNAME@HOSTNAMEでmkdirしときます。 $ cd ~/r/ $ mkdir host1 $ mkdir foo@host2 あとは末尾のヘルパスクリプトで、sshfsでマウントしたり、sshfsなマウントポイントの一覧を見たり、アンマウントしたりできます。 $ ./m host1

    そういえばsshfsが便利な件 - (ひ)メモ
    kamipo
    kamipo 2011/07/13
  • 開発メモ: UTF-8とUCS-4の変換メモ

    UTF-8とUCS-4の相互変換をC/C++で書いた時のメモ。たぶんまた自分で読むので。 背景 文字のちょっとした正規化などの処理をしたいがiconvやICUなどの巨大なライブラリは使いたくないということがたまにある。嚴密な文字列処理をしたい場合にはそれらのライブラリを使った方が安全だし確実であることは言うまでもないが、ちょっとしたユーティリティを作るのにはちょっとオーバースペックである。 一方で、UTF-8文字列に対してはASCII用正規表現ライブラリを使えば検索や置換などの大抵の操作ができるので、自分でゴリゴリと変換処理を書かなければいけないことはあんまりない。 ただ、たまに自分で書きたくなることもある。ヨーロッパ系言語のアクセント記号を外したり、半角片仮名を全角片仮名にしたり、漢字の異体字表記を常用漢字に統一したりといった処理を一気にやりたい場合とか。そんな場合、各文字が可変長バイト

  • 開発メモ: プレーンテキストデータベースとMapReduce

    お手軽な並列処理のフレームワークとしてKyoto CabinetMapReduce機能をお勧めしまくっている最近のFAL Labsである。今回はプレーンテキストファイルを使ってMapReduceを動かす方法について説明する。 MapReduceの入出力 MapReduceのmapper関数は、key-valueのペアを入力とするので、いわゆるkey-value storeであるDBMを入力として利用するのは率直なアイデアと言えるだろう。しかし、mapper関数に渡す入力はキー毎に整理されている必要はなく、実際には入力データはバイト列の集合でありさえすれば何でもよい。例えば、改行区切りのプレーンテキストファイルでもよい。mapperに渡すデータを作るためにわざわざDBM形式のデータを作らなきゃならないなんて面倒くさい。 とはいえ、KCのMapReduceはDBM形式のデータを前提として実装

  • OpenLDAPサーバ(slapd)のperl backendを使う - たごもりすメモ

    長いよ! 社内Webアプリケーションの認証基盤としてあちこちでデファクトになっているのではないかと思われるLDAPだが、その管理は主に人事部がやっていたりして*1中身に迂闊に手を出せず歯がゆい思いをしているエンジニアに捧げるエントリ。俺得。 社内サービスのために認証をやりたいがパスワードの管理は別途LDAPがあるのでそっちに任せたい。しかしLDAPのディレクトリ構造のままだと権限情報がうまい具合に切り分けられず、ああああパスワードは持ちたくねえが権限情報は管理したり変更したり増やしたり減らしたりしたいよおおおおおお、という思いを抱いている人は多いと思う。 そこである日にOpenLDAPのオンラインドキュメントの目次を上から下までだらだらと眺めていると、なんと Perl Backend というものがあるらしい。サーバに来た問合せを任意のPerl moduleに移譲できるという。なんだって。す

    OpenLDAPサーバ(slapd)のperl backendを使う - たごもりすメモ
  • http:は省略すれば空気読む - komagataのブログ

    こちらでご指摘を貰ってはじめて知ったんですが、 <a href="//example.com">foo</a> こういう風に書けるのね・・・。 RFC 2396にちゃんと書いてあるらしい。 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script> こう書けるのは嬉しいなー。

    kamipo
    kamipo 2011/07/13