タグ

PROGRAMMINGとunixに関するmatsutakegohan1のブックマーク (10)

  • Bash&シェルスクリプトを極めるテクニックまとめ | OSDN Magazine

    UNIXやLinuxのエキスパートになるのに避けて通れないのが、Bashに代表されるコマンドラインシェルによる操作だ。そこで記事では、「Bashのカスタマイズ」「シェルスクリプトの高等テクニック」「Bash以外の高機能シェル」の3つについて、SourceForge.JP Magazineで過去に掲載された解説記事を紹介する。 Bashをカスタマイズして使いこなす Bashは非常にカスタマイズの幅が広く、またちょっとした改良や簡単なシェルスクリプトの利用により、大きく作業効率が改善する。ここでは、Bashのカスタマイズテクニックを解説する記事を紹介する。 コマンドラインでシェルのエイリアスと関数を使って作業を効率化する GNU/Linuxシステムを最大限に活用するには、やはりコマンドプロンプトとシェルスクリプトへの習熟が欠かせない。とはいえ、そうした処理はなるべく手早く済ませたいものだ。

    Bash&シェルスクリプトを極めるテクニックまとめ | OSDN Magazine
  • これからemacsを使い始めたい人へ送るチュートリアル 第2回 - UNIX的なアレ

    さて、前回に引き続き、第2回目のエントリーとなります。 第1回の様子を見てみると、emacsに興味がある人はやはり多いんだなと感じました。今回は実際に立ち上げて、emacsで文章を編集する操作まで行きたいと思います。 emacsを操作する際に使用するキー emacsでは、CTRLキーとMETAキーとの組み合わせを利用して様々な機能を利用します。CTRLキーは馴染みのあるキーです。METAキーはALTキーもしくはESCキーで使用しましょう。私自身は、METAキーは、ALTキーで代用しております。 それでは、それぞれのキーの組み合わせの記述について説明をします。emacsのコマンドはよく以下のような記載をします。まずはこれをみて操作内容を理解できるようにしましょう。 機能 コマンド コマンド解説 左へ移動 C-b CTRLキーを押しながら、アルファベットのbを押す 1単語右へ移動 M-f ME

    これからemacsを使い始めたい人へ送るチュートリアル 第2回 - UNIX的なアレ
  • GNU Emacs Manual

    はじめに 配布 GNU Emacs一般公的使用許諾 コピーに関するポリシー NO WARRANTY イントロダクション 画面構成 ポイント エコー領域 モード行 文字,キー,コマンド Emacsの文字セット キー キーとコマンド Emacsの起動と終了 Emacsの終了 コマンドスイッチと引数 編集の基的なコマンド テキストの挿入 ポイントの移動 テキストの消去 ファイル ヘルプ機能 空白行 継続行 カーソル位置の情報 数引数 変更の取り消し(Undo) ミニバッファ ファイル名用のミニバッファ ミニバッファでの編集 入力補完機能 補完の例 補完コマンド ミニバッファコマンドの繰り返し コマンド名によるコマンドの実行法 ヘルプ機能 キーの説明 コマンド名や変数名によるヘルプ機能 Apropos---入力した文字列を含むコマンドの探索 他のヘルプコマンド マークとリージョン マークの設定

  • ホワット・ア・ワンダフル・ワールド glibc malloc は素晴らしい

    The 67th kernel reading party : Google Video (via glibc malloc) 非常に良かった.僕はまだ坊やなので,大きなお兄ちゃんたちの話にあんまりついていけなかったけど,みんな楽しそうで素晴らしかった.僕もこういう素敵な大人たちみたいになりたいと思いました. 以下,見ながら取ったメモなので,時系列にはなってない (1 時間半は長いけど,見る価値アリーナ). ・ 小崎さんは髪サラサラちょーイケメンスマートお兄さん mixi の紹介文などから,なんとなく軍曹系でマッチョでアフロなイメージがあったので,非常に意外だった (これ系の AA (゚Д゚)y-~~ のイメージが強かった). ・ 会場のつっこみが濃すぎる ・ 観衆が凄すぎる (その中で発表している小崎さんも凄すぎる) K&R malloc なんかはもうわかりきっていること前提 この時点で

  • バイナリアン度チェックの仕組み - bkブログ

    バイナリアン度チェックの仕組み 先日公開した バイナリアン度チェックは JavaScript で実装されています。たいしたものではありませんが、ここではその仕組みを説明したいと思います。 JavaScript で診断テストを作る主なメリットは、ページ遷移なしでテンポよく採点ができること、サーバに負荷をかけないこと、です。 ページのソースを見るとわかるように、診断テストの部分はすべて http://0xcc.net/binhacks/quiz.js で行われています。 printQuestions() では document.write() で安易にHTMLを出力して問題を表示しています。問題は次のような JSON データです。 questions =[ { "question": "nmで表示されるシンボルの前の文字(シンボルクラス)として使われていないのはどれでしょうか?", "cand

  • selectよりkqueue,epoll(apache2のススメ) - 最速配信研究会(@yamaz)

    最近3人ほどのエンジニアと話したのだがapache2に対して割とネガティブな意見を持っていた. 曰く「既存モジュールが使えないから」 曰く「スレッドベースってちょっと。。」 曰く「WEBでいい話聞かないから」 3人しか話してないんだけど,3人とも「apache2はスレッドでしか動かない」と思いこんでたようでちょっとおどろいた.apache2でも StartServers 5 MinSpareServers 5 MaxSpareServers 64 MaxClients 100 MaxRequestsPerChild 10000 という設定をすることで今までどおりpreforkモデルで動かすことはできる.preforkモデルだと各種ハンドラもスレッドセーフに無理にすることはないので,わかってて使う分には問題ない. 私がapache2を勧める1番の理由はapache2ではリクエストの多重化処理

    selectよりkqueue,epoll(apache2のススメ) - 最速配信研究会(@yamaz)
  • C++と Pthreads でミニマルなHTTPサーバを書く - いやなブログ

    C++と Pthreads でミニマルなHTTPサーバを書く 『UNIXネットワークプログラミング』を読んでいると、自分でも何かネットワーク系の小さなプログラムを書いてみたくなりました。そこで、ミニマルなHTTPサーバを C++と Pthreads で書いてみました。 同じ著者の「詳解UNIXプログラミング」もそうだったように、今回のもほとんどすべてのページに、重要なことが書かれています(最後のほうのXTIの部分は例外かもしれませんが)。 たとえば、27章ではネットワークサーバの実装として、次の設計方針がそれぞれ検討され、実際のコード付きで解説されています。 クライアントごとに fork 事前に fork - 各プロセスで accept 事前に fork - ファイルロックで accept を保護 事前に fork - Mutex ロックで accept を保護 (PTHREAD_PRO

  • mixi Engineers’ Blog » Linux Programming、epollの話

    お久しぶりです、初めての日の夏に圧倒されているトールマエサカです。 今日はLinuxにおけるネットワークプログラミング関連のネタです。分散データベースサーバの開発過程で最近よくLinuxのepollというイベントハンドリング機能を使っています。これがまた優秀な機能なので紹介します。 このContextでいうイベントハンドラーはサーバがクライエントのリクエストを処理するためのメカニズムです。イベントの感知と通知は大雑把にいうと以下の三つの処理で構成されています: 一つもしくは複数のディスクリプタを監視 ディスクリプタの準備が整うまでハチ公のごとくひたすら待ち続ける 準備が整ったディスクリプタの通知 アプリケーションでの実装は一昔までselect(2)、もしくはpoll(2)というシステムコールで行われていました。二つとも役目は同じですがselect(2)の場合、kernelをいじらない限り

    mixi Engineers’ Blog » Linux Programming、epollの話
  • *BSD で kqueue・kevent を使ってみよう

    *BSD で kqueue・kevent を使ってみよう select() の欠点 select() は複数のディスクリプタをポーリングできる便利なシステムコールです。 しかしパフォーマンスはよくありません。理由は以下の通りです。 ユーザプロセスは、監視対象のディスクリプタ一覧をユーザ領域からカーネル領域にコピーする必要がある。 カーネルがポーリング結果をユーザ領域に返す際もコピーしなければならない。 カーネルは、ポーリング対象のディスクリプタを知るために、配列の全要素を調べなければならない。 ユーザプロセスも、入出力可能なディスクリプタを知るために、配列の全要素を調べなければならない。 上記の作業は、select() を発行するたびに毎回行わなければならない。 select() のパフォーマンスが悪いことは広く知られていたので、 各 OS でいろいろな取り組みが行われてきました。 Sol

  • Super Technique 講座〜シグナルとコールバック

    この文書ではまず、関数ポインタとその型チェックについて述べた後で、UNIXのシグナル機能について解説する。そして、ウィンドウシステムのプログラミングで多用される「コールバック」について解説する。 ちなみにシグナルの機能は質的には UNIX に固有である。他のOSにもないわけではないが、その異同については筆者は関知しない。また、UNIXでのシグナルの実装については Linux を基準に解説をしていく。UNIX シグナルは、実は具体的な実装において大変差がある機能なのだが、一応 POSIX で「こう実装しなさい」という風に決まってはおり、後発の Linux は比較的マジメにそれを実装しているので、まあ、Linux を基準にするのが無難というものであろう(ユーザ比の問題を別にしても)。勿論、伝統的に重要ないわゆる「SysVシグナル」「BSDシグナル」についてもしっかりと解説しているが、もはや「

  • 1