タグ

2009年8月19日のブックマーク (20件)

  • Note - ソケットバッファのチューニング

    Overview ADSLや光回線などの充実によって,ここ数年でネットワークの回線速度もかなり進歩してきました.ですが,Linuxの バージョンによっては,一昔のネットワーク速度を基準としてパラメータの設定を行っているためにネットワーク帯域を フル活用できていない場合もあります(特に,1Gbpsを超えるような場合はその可能性が高い).そこで,今回はボトルネック の一つとなりやすいバッファサイズのチューニング方法について記述します. sysctl変数の設定 Linuxにおいてシステム全体のバッファサイズを変更する場合には,sysctlコマンドを使用します.設定する項目は, 下記の9種類です( Manpage of TCP参照). net.ipv4.tcp_window_scaling RFC 1323のTCPウィンドウスケーリングを有効にします.この機能を用いると,(接続先が対応していれば)

  • いっぱい接続したいの - (ひ)メモ

    とあるホストに、TCP接続を張っては切るという処理をぐるんぐるん繰り返すベンチマーク的なプログラムを書いて動かしました。 最初のうちは期待した通りの動作をしてるんですが、途中から対向のホストにTCP接続できなくなってエラー出まくり。 $ netstat -tna | grep TIME_WAIT | wc -l 28230これが原因ぽい。 KERNEL_SOURCE/Documentation/networking/ip-sysctl.txt によれば、 ip_local_port_range - 2 INTEGERS Defines the local port range that is used by TCP and UDP to choose the local port. The first number is the first, the second the last loc

    いっぱい接続したいの - (ひ)メモ
  • tree コマンドが便利 - IT戦記

    今までは ls -R とか find でファイルを探してたんですけど もっと直感的に(あまり考えずに)、探せるコマンドはないのかなあと思って tree コマンドを使ってみた。 で めっちゃ使いやすい! ~/jquery/trunk/jquery/test $ tree . |-- data | |-- cow.jpg | |-- dashboard.xml | |-- json.php | |-- json_obj.js | |-- jsonp.php | |-- name.html | |-- name.php | |-- test.html | |-- test.js | |-- test.php | |-- test2.html | |-- test3.html | |-- testrunner.js | |-- testsuite.css | |-- text.php | `--

    tree コマンドが便利 - IT戦記
  • LimeChat for Macを透過させる - (ひ)メモ

    Contents/Resources/appcontroller.rbのapplicationDidFinishLaunchingの末尾にwindow.alphaValue = 0.8を加える。 bagel[~]$ diff -u /Applications/LimeChat.app/Contents/Resources/appcontroller.rb {,.orig} --- /Applications/LimeChat.app/Contents/Resources/appcontroller.rb 2007-12-14 00:04:30.000000000 +0900 +++ /Applications/LimeChat.app/Contents/Resources/appcontroller.rb.orig 2007-12-13 21:09:11.000000000 +0900 @

    LimeChat for Macを透過させる - (ひ)メモ
  • 自分そっくりのコピーロボット開発に世界仰天!石黒浩|【Tech総研】

    常識破り、型破りの発想をもった“クレイジー”な技術者を紹介する第15回は、人間そっくりの動作と外観を持ったアンドロイドの開発者として知られる石黒浩氏。2006年7月には、遠隔操作可能な自分自身のコピーロボット「ジェミノイド」を開発、さらに世の中を驚かせた。世界が注目するロボット科学者の仕事観とは。 研究室には女性がモデルになったという大人のアンドロイド「Replee Q2」があった。イベントなどで“座って”いると、普通の人間が座っているものだと思いこんで通り過ぎてしまう人もいるという。もちろん、じっと見ると、それはロボットであることに気づく。だが、見れば見るほど、そのリアリティさには驚かされる。骨格に沿って走る肌のライン、皮膚の質感や色、目の輝き……。 アンドロイドを動かしてもらうと、リアリティさはさらに高まる。一瞬のまばたき、うなずくときに微妙にかしげる首、同時に静かに動く肩……。まだ課

  • Apacheのログを活用しよう

    Apacheのログは情報の宝庫だ。サイトの不具合や不審なアクセスを見つけたり、閲覧者の移動経路などからサイトを使いやすくする手掛かりを得ることができる。そのためには、ログの見方やカスタマイズ方法を知る必要がある。 アクセスログ 通常、「ログ」といえばこのアクセスログを意味する。アクセスログは、Webブラウザがサーバ(Apache)に何かをリクエストし、それにApacheが応えるごとに記録される。簡単にいえば、だれかが何かにアクセスするたびに、その結果が記録されるのだ。 詳しくは後述するが、このログに「何を記録するのか」「どのファイルに記録するのか」といったことは、管理者が自由に定義できる。細かな設定を可能としていることは、ログを活用しようと思う管理者にとって大きなメリットである。 エラーログ エラーログは、リクエストの結果がエラーになったものだけが記録される。また、アクセスログと違い、エラ

    Apacheのログを活用しよう
  • mod_usertrack - トラッキングクッキーの発行

    [Apache] mod_usertrackモジュールを使用すればクッキーを自動的に埋め込むことができます。埋め込んだクッキーはアクセス解析などに活用することができます。ただしこのモジュールはデフォルトでは有効になっていません。モジュールを利用するには以下のようにしてください。 [httpd.conf内にある以下二つのコメントを外す]

  • LimeChatを業務で使うなら知っておきたい基礎的なショートカット - 雑想空間

    LimeChat を使用しています。 業務でもプライベートでも。 IRC便利。 [Ctrl+Space] 次の未読があるチャンネルへ移動します とりあえず、これは必須。 IRCでマウスを使う機会はほぼないです。 バルーンが出たら、とりあえず、 [Ctrl+Space] 作業効率が上がりますよ。 [Alt+↑][Alt+↓] チャンネル移動 これも必須ですね。 [Ctrl+↑][Ctrl+↓]でもOKです。 [Ctrl+←][Ctrl+→] ログイン済みのサーバ間移動 仕事とプライベートや、プロジェクトによって、サーバを分けている人は、これも便利です。 自分も仕事用とそれ以外でサーバは分けてます。 [Ctrl+数字] そのサーバの数字の番号のチャンネルへ移動します 知っていれば便利かな。 たまに使う。 [Ctrl+Alt+数字] そのサーバの数字+10の番号のチャンネルへ移動します 同上 結

    LimeChatを業務で使うなら知っておきたい基礎的なショートカット - 雑想空間
    kamipo
    kamipo 2009/08/19
    なんかmacのlimechatだと色々ちがったけどメモ。
  • mixiアプリでcss,js,img などの外部ファイルを使用するときの注意点をメモ - 雑想空間

    mixiアプリでcssを使うときには気をつけなきゃいけないことがあったので、メモ。 1.キャッシュを無効化する方法 opensocial には大きく別けて、4つのキャッシュが存在します。 ガジェットXMLのキャッシュ makeRequestでアクセスされる外部APIのキャッシュ featureを固めたJavaScriptのキャッシュ JavaScriptCSS、imgなどHTMLからリンクされたリソースのキャッシュ この4つです。 今回は、一番下の 『JavaScriptCSS、imgなどHTMLからリンクされたリソースのキャッシュ』 の回避方法をメモ。 cssを読みこませるには、絶対パスで指定すればいいです。 <link href="http://sample.com/sample.css" rel="stylesheet" type="text/css">こんな感じ。 しかし、mi

    mixiアプリでcss,js,img などの外部ファイルを使用するときの注意点をメモ - 雑想空間
  • mixiアプリなどの opensocial で jQuery を使うには - 雑想空間

    opensocial-jquery使えばいいらしい opensocial-jquery とは、『open social 向けに改造された jQuery』 ぐらいに意識すればいいらしい。 正確に言うと、『open socialガジェット開発をスムーズに行うことを目的とした、jQueryベースの javascript ライブラリであり、カスタマイズした jQuery とプラグインをパッケージングしたもの 』です。 通常 <script type="text/javascript" src="http://sample.com/jquery.min.js"></script>とする部分を <script type="text/javascript" src="http://sample.com/opensocial-jquery.min.js"></script>とするだけで、open soci

    mixiアプリなどの opensocial で jQuery を使うには - 雑想空間
  • mixiアプリで、OWNERの永続化がまだサポートされてなかった・・・。 - 雑想空間

    mixi アプリを作ろうと思って、色々苦心している。 とりあえず、HTML表示や、jsでアラート表示なんかはできようになった。 あと、友達一覧とかも出せた。 OWNERの情報を永続化したい・・。 OWNERが入力した情報を、訪れたマイミクに公開するようなものを作りたかった。 そのためには、OWNERの情報として永続化したかったのだが、それがなぜかできない・・。 VIEWERの情報として永続化保存&取得 保存 var request = opensocial.newDataRequest(); var data = "test"; request.add(request.newUpdatePersonAppDataRequest( opensocial.IdSpec.PersonId.VIEWER, "key", data)); request.send();取得 var request =

    mixiアプリで、OWNERの永続化がまだサポートされてなかった・・・。 - 雑想空間
  • 堀愚霊瑠の指摘で気付いた、はてなスターの静的ファイルとか想像以上にアレな件 : にぽたん研究所

    id:HolyGrail (堀愚霊瑠氏) の「はてなブックマークが重い件について、Page Detailerというツールを使って調べてみる - id:HolyGrailとid:HoryGrailの区別がつかない日記」とか見てて、色々問題点が指摘されてて、うん、まぁそうだねーとか色々と思いつつ、YSlow は、有用なツールである反面、減点基準が必ずしも全てのサイトに適合しないというか、ハッキリ言ってしまえば Yahoo! Inc. 基準すぎるので、鵜呑みにし過ぎるのもどうかなーとか思ってた。 で、気になったのは 13. Configure ETags ETagsっていうのはサーバ上のファイルとブラウザのキャッシュが一致しているかどうかを検証するためのものなのですが、正しく利用できていないのであれば、ETagsは無駄なだけなので取り除いてやりましょう、という項目です。 http://s.hat

    堀愚霊瑠の指摘で気付いた、はてなスターの静的ファイルとか想像以上にアレな件 : にぽたん研究所
  • blog.katsuma.tv

    GmailやLDRなどもそうですが、最近はWebアプリケーションでも「起動させっぱなし」を基路線に置いているものも増えてきています。そういうときにポイントとなるのが「(サーバ側で変更が発生したときに)サーバからの通知をブラウザにどうやって知らせるか?」ということ。ブラウザでページを開かれている場合だと、変更箇所を専用のボックスエリアを設けて、適当に目立たせておけばいいのですが、別タブで開かれている場合などには、タブをユーザが切り替えるまでは、その変更を通知することができません。そんなときに、「差分の大きな複数のfavicon(*)を動的に変更させることで通知と同等の効果が期待できないか?」という話。(全然違うfaviconをアニメーションさせることで目立たせられないか?という狙い) faviconの変更は割と単純 まずfaviconが動的に変更させることができないか?の検証ページを作って

  • LWP::UserAgent で長いヘッダを受け取る方法 - Ceekz Logs (Move to y.ceek.jp)

    Simple FON Maps を改良していたときに発生した問題。現在の FON Maps では、座標情報を X-Json というヘッダに格納して通信しています。 my $ua = LWP::UserAgent->new(keep_alive => 1); my $data = $ua->head($url)->header('X-Json'); このコードで概ねデータを取得できていたのですが、たまに、データを取得できていませんでした。 warn($ua->head($url)->status_line); 通信で何らかのエラーが発生している可能性があり、デバッグ用にコードを追加。 500 Line too long (limit is 4096) どうやら、ヘッダの長さが長すぎるようです。 The "500 Line too long (limit is 4096)" is genera

    kamipo
    kamipo 2009/08/19
  • ファイルだけじゃなくてディレクトリも監視できます - (ひ)メモ

    inotifyはファイルだけじゃなくてディレクトリもウォッチできて、配下にファイルが作られたり消されたりなどなどを監視できます。 $ watch-it.pl ~/tmp (ls) tmp - IN_ISDIR IN_OPEN tmp - IN_ISDIR IN_CLOSE_NOWRITE IN_CLOSE (echo test > foo) tmp/foo - IN_CREATE tmp/foo - IN_OPEN tmp/foo - IN_MODIFY tmp/foo - IN_CLOSE_WRITE IN_CLOSE (echo test >> foo) tmp/foo - IN_OPEN tmp/foo - IN_MODIFY tmp/foo - IN_CLOSE_WRITE IN_CLOSE (touch foo) tmp/foo - IN_OPEN tmp/foo - IN_AT

    ファイルだけじゃなくてディレクトリも監視できます - (ひ)メモ
  • livedoor Techブログ : tracerouteの仕組み

    ネットワーク事業部 コアネットワークグループ所属の市川です。普段は、広域ネットワークの管理をしていて、端末に向かっていても頭の中は、1都3県を飛び回っています。 好きなポートは何番ですか? 入社後エンジニア部隊に配属され、隣に座っていた同僚に挨拶をした時の返しの第一声が忘れられません。 「好きなポートは何番ですか?」 これって自己紹介なのでしょうか...それとも好きなポート番号から僕の性格が分かっちゃったりするんでしょうか?ところで、みなさんの好きなポートは何番でしょうか?ちなみにボクは、23番が好きでした(笑)。さて、私は現在ネットワーク事業部でネットワーク管理の仕事をしております。ネットワークにトラブルが発生した場合、状況調査に利用するツールでもっともメジャーな物に、ping/traceroute(windowsではtracert.exe)があります。 このtracerouteの仕組み

  • subtech - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - Ruby で、メソッドがどこで定義されたか外から知る方法

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    subtech - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - Ruby で、メソッドがどこで定義されたか外から知る方法
    kamipo
    kamipo 2009/08/19
  • Kazuho@Cybozu Labs: Perl で並列処理 (using マルチプロセス)

    « DBI::Printf - A Yet Another Prepared Statement | メイン | DBIx::Printf と LIKE 式 » 2007年10月02日 Perl で並列処理 (using マルチプロセス) Shibuya.pm で牧さんが Gungho の話をされたそうで、スライドを拝見しました。Pathtraq への言及もあってうれしい。 で、スライドを読んでいて、HTTP アクセスと HTML 解析/保存処理を分離すべき、となっている点が気になりました。実は Pathtraq (のうち奥が書いている部分) では、Gungho と HTML の解析/保存処理を分離することはしていません。そのかわり、複数のワーカープロセスを駆動することで、スループットを確保しています。分離モデルとマルチプロセスモデル、どちらの手法を採るべきかは、解析/保存処理の重さやエラ

    kamipo
    kamipo 2009/08/19
    ちなみに、わざわざ Proc::Wait3 を使っているのは、perl の wait や waitpid だとシグナルを受け取っても制御が返ってこないためです。
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • CFStringRefをSVに変換 - とほほのN88-BASIC日記

    追記: id:tokuhirom先生に添削してもらった。 malloc使うべからず -> NewXX()系でアロケート、SafeFree()で解放すべし(そういえばid:hirose31さんも言ってた) newSVpvの第二引数(STRLEN)は明示的に指定すべし -> 0で自動計算は\0 終端前提 SV * getString(CFStringRef var) { char *buf; SV *sv; CFIndex len = CFStringGetLength(val); CFIndex max = CFStringGetMaximumSizeForEncoding(len, kCFStringEncodingUTF8); buf = Newxz(max + 1); CFStringGetCString(val, buf, max + 1, kCFStringEncodingUTF8

    CFStringRefをSVに変換 - とほほのN88-BASIC日記
    kamipo
    kamipo 2009/08/19