タグ

linuxとprogrammingに関するdlive1のブックマーク (9)

  • vimで効率的にコードを書くための小技 - bonar note

    vimは使いこなしている人は超人のように使いこなしているのですが、「たまにconfファイルいじる時だけ使うよ。まあ、普段はemacsだけどね」という人は、vi時代の機能のみ使っているのをたまに見かけます。 そこで、通ぶって恐縮なのですが、僕が普段vimを使っていてとっても便利で効率が上がると思う操作を紹介したいと思います。また、僕自身が Mac OS X な環境なので、「外部コマンドとの連携」などでWindowsだと再現できないものがあるかもしれません。ごめんなさい。 用語の使い方や理解が間違っている部分があるかもしれませんがその場合はご指摘いただければと思います。あと、「これ抜かしちゃ駄目でしょ!」みたいなのがあればアドバイスお願いします〜。 それでは、 [あとで読む] vimの基操作 (知っていると思うので省略) 超概略 挿入モードと編集モード キー操作 内容 i 挿入モード突入(文

    vimで効率的にコードを書くための小技 - bonar note
    dlive1
    dlive1 2007/05/10
    viでなくvimの話。基礎から応用まで抜粋され綺麗にまとめ。詳しくは英語だがvimtutorを。//使わないと忘れていくので、時々使わなければ。vimrcまで手を加えるともっと使い勝手UP。ゴリゴリ書くならMODEを入れる。
  • prefork サーバーと thundering herd 問題 - naoyaのはてなダイアリー

    Catalyst を POE で動かす Engine の Catalyst::Engine::HTTP::POE という実装が CPAN にあります。"Single-threaded multi-tasking Catalyst engine " だそうです。"Single-threaded" と言いつつも実装を覗いてみると環境変数 CATALYST_POE_MAX_PROC を 1 よりも大きく設定することで prefork する実装になってます。POEシングルスレッドではアプリケーション内で発生するブロックを避けることが難しいのでそのための実装じゃないかなと思います。 ところでこの Catalyst POE エンジン、prefork の実装はどのように行っているかというと POE から prefork と名の付いたイベントが発生するとおもむろに子プロセスを生成する、というのもの。複数の

    prefork サーバーと thundering herd 問題 - naoyaのはてなダイアリー
    dlive1
    dlive1 2007/03/14
    内容:CatalystをPOEで動かすEngineの実装がCPANに。Single-threadらしいが、子プロセスを作成してMulti-taskにしてるとか。しかもシリアライズしてない。特定のアーキテクチャでSINGLE_LISTEN_UNSERIALIZED_ACCEPTをONにしてたら大丈夫とか
  • ITmedia エンタープライズ:あるWebプログラマーの作業環境――豪傑の三種の神器【前編】 (1/2)

    春は出会いと別れの季節。入学や就職で、新しい生活を始める人も多いだろう。それを機にPC環境もそろそろ大人への階段を上ってもいいかもしれない。ここでは、はてなという企業でプログラマーとして働くあの人の開発環境を紹介することで、プロが好む作業環境を考える。 わたしははてなという企業でプログラマーとして働いています。はてなは、ブログやソーシャルブックマークなどWeb上のサービスを提供する会社ですが、それらのほとんどはPerlで書かれており、LinuxやApache、MySQLをはじめとするオープンソースソフトウェアの上で動作しています。そんな理由から、開発環境も自然とオープンソースのツールを使うことになります。今回から2回に分けて、そんなわたしの開発環境を簡単に紹介させていただきたいと思います。 ノートPC1台で開発する 題のツール類の話に入る前に、開発に使っているハードウェアの話を先にしてお

    ITmedia エンタープライズ:あるWebプログラマーの作業環境――豪傑の三種の神器【前編】 (1/2)
    dlive1
    dlive1 2007/03/08
    一台でWebAppliの開発に便利なものの話。coLinux等でLinuxを。開発にはEmacs、GnuScreen、Zsh。Emacsの拡張はElScreen、Kill-summary,Session.el,minibuf-isearch.el、W3m。Screenは確かに便利。ターミナルだらけは嫌だが、二つぐらいある方がいいかも
  • Geekなぺーじ:UNIX哲学の基本原則

    「Basics of the Unix Philosophy」でUNIX哲学の基原則がまとめられています。 UNIXの設計思想として紹介されていますが、多くは普通のソフトウェアを設計する場合にもあてはまると思われます。 1. Rule of Modularity(モジュール性): きれいなインターフェースで接続された、簡潔な部品を書きましょう。 2. Rule of Clarity(明瞭さ): 明瞭さは賢さよりも良いです。 3. Rule of Composition(構成): 他のプログラムと接続できるようにプログラムを設計しましょう。 4. Rule of Separation(分離): ポリシーとメカニズムを分離しましょう。エンジンとインターフェースを分離しましょう。 5. Rule of Simplicity(単純性): 単純化された設計をしましょう。複雑さは必要な時だけ追加しま

    dlive1
    dlive1 2007/03/06
    モジュール性、明瞭さ、構成、細分化分離、単純性、節約、透明性、頑健性、知識をデータに、LeastSurprise、沈黙、なるべく修理、時間をかけない、自動生成、最適化、多様性、拡張性。
  • TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと

    TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと 目次 この文書について C10K 問題 関連サイト まず読むべき I/O フレームワーク I/O 戦略 1. 各スレッドが複数のクライアントを受け付ける. そしてノンブロッキング I/O と レベル・トリガ型の完了通知を利用する. 伝統的な select() 伝統的な poll() /dev/poll kqueue() 2. 各スレッドが複数のクライアントを受け付ける. そしてノンブロッキング I/O と 変更型の完了通知(readiness change notification)を利用する. kqueue() epoll リアルタイム・シグナル fd 単位のシグナル (Signal-per-fd)

    dlive1
    dlive1 2007/03/06
    ちょっと前から問題となっているクライアント10K問題のまとめ
  • .NETアプリ互換開発環境「Mono」にVisual Basicコンパイラを追加

    米Novellは米国時間2月20日,.NET FrameworkアプリケーションをLinuxやその他OSに移植できるオープンソース・ソフトウエア開発プラットフォーム「Mono」で,「Visual Basic」による開発を可能にするためのコンパイラを発表した。 「Mono Visual Studio compiler」により,開発者はコードを変更することなく,WindowsLinuxMac OSなどさまざまなOSで実行可能なアプリケーションを,使い慣れたVisual Basic/Visual Studio環境で開発できる。 米Forrester Researchの調査によると,企業の37%が社内アプリケーションの開発や保守にVisual Basic.NETを使っている。また,.NETユーザーの59%がVisual Basic.NETのみでプログラミングを行っているという。「広く利用されて

    .NETアプリ互換開発環境「Mono」にVisual Basicコンパイラを追加
    dlive1
    dlive1 2007/02/23
    .netFrameworkのAppliをLinuxへ移植できる開発環境MonoでVBのコンパイラが!出来次第だが、期待大。Monoって使い勝手はどうなんでしょう?
  • ソースコードを読むための技術

    $Id: readingcode.html,v 1.13 2003/12/06 00:01:08 aamine Exp $ 2006-05-02 gonzui 追加。thanks: 冨山さん 2003-12-03 ltrace と sotrace を追加 2003-12-03 ツールのところに DDD を追加。thanks: 和田さん 2003-05-27 VCG, SXT などについて追加。thanks: 梅沢さん 2003-05-27 これもすっかり忘れていた strace, ktrace, truss, etags などについて追加 2002-08-30 すっかり忘れていた ctags を追加 2002-07-07 匿名希望さんからメールでいただいた情報を追加 (動的コールグラフ) 2002-06-13 日記経由でいただいた意見をもとに文章を追加。thanks: 柳川さん、まつもとさ

  • http://www.advancedlinuxprogramming.com/

    dlive1
    dlive1 2007/02/20
    タダのlinix programming book
  • Makefile は簡潔に書きましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -

    仕組みが判ってしまえば Makefile は簡潔に書けます.$(CC) とか $@ とか $< なんて変数は使ったら負けです. 基(その1) ソースコード hoge.c から 実行形式のバイナリ hoge を生成するMakefileは,以下のように書きましょう all: hogeこれだけです.これで $ make all とすると hoge が生成されます 重要な点は,間違っても all: hoge hoge: hoge.c $(CC) hoge.c -o hogeのようなMakefileを書かないことです.このようなMakefileでは #!/bin/sh CC=gcc $CC hoge.c -o hoge というようなシェルスクリプトと同程度の使い勝手しかありません. 基(その2) ここで例えば-O3 を付けてコンパイルしたい場合や,-lm を付けてリンクしたい場合は以下のようにし

    Makefile は簡潔に書きましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -
    dlive1
    dlive1 2007/02/18
    複雑でなければ、シェル的にしなくてもいいよという話
  • 1