タグ

ブックマーク / kiwanami.hatenadiary.org (15)

  • Nginx Inside Memo (カーネル/VM Advent Calendar) - 技術日記@kiwanami

    この記事は http://atnd.org/events/21910 のために書かれたものです。 一つ前の5日目は @sora_h さんの钱柜娱乐_钱柜娱乐平台_钱柜娱乐777(唯一)官方网站でした。明日は、 @master_q さんの予定です。 nginx の内部の仕組みやモジュールの作り方について簡単に紹介してみます。 最近 nginx のコードを読んでハックを試みました。 nginx のコードについてはほとんどドキュメントがなく、日語でも見かけなかったため(もし書いている人がいたらすみません)、後から続く人にとって多少でも参考になれるようメモをまとめました。(2011/12/06 デバッグについて少し追記) 全部読みきったわけではないので、コードを読む上でのとりかかりぐらいの情報です。もし、間違いがあれば教えてください。 このメモは stable version である Nginx

    Nginx Inside Memo (カーネル/VM Advent Calendar) - 技術日記@kiwanami
    hitode909
    hitode909 2012/03/08
  • DB操作ツール Emacs DBI を作ってみた - 技術日記@kiwanami

    去年からほそぼそと作ってきた、EmacsからDBを操作できるツール Emacs DBI を紹介します。 Emacs DBI の簡単な紹介 このツールの目的は、クロスプラットフォームで便利なDB操作環境を実現することです。 pgAdmin や MySQL Query Browser のようなGUIの良さをCUIで実現してみようとしてみました。すなわち、ぼくのかんがえたさいきょうのDBツールです。ちなみに、このツールにとってEmacsはただの実行環境です。Emacs使わない人でも使うと便利だと思います。 データベース画面 e2wmで3ペインの画面 機能概要 以下のような機能があります。 EmacsとDB接続可能なPerlが動けばターミナルでも何処でも動く DB定義、テーブル定義がすぐ見れる auto-complete によるSQL補完 接続先DBにからキーワード、型名、テーブル名、カラム名など

    DB操作ツール Emacs DBI を作ってみた - 技術日記@kiwanami
    hitode909
    hitode909 2012/03/06
    やばい
  • オライリー:プログラミングC# 第4版 メモ - 技術日記@kiwanami

    プログラミングC#―C#2.0/.NET2.0/Visual Studio2005対応 作者: ジェシーリバティ,Jesse Liberty,鈴木幸敏,首藤一幸,情報技研出版社/メーカー: オライリージャパン発売日: 2006/02メディア: 単行購入: 1人 クリック: 27回この商品を含むブログ (43件) を見る プログラミング C# 第4版を最近スキャンしたのですが、以前読んだ時の付箋がたくさん貼ってありました。読み返してみたら今でも相当面白かったので、メモを淡々と書いてみます。 現在は第6版なので、以下のメモには現在の仕様と異なっている部分があるかもしれません。ご注意ください。 p26 値型(value type)と参照型(reference type)の説明 →地味に各章への伏線がはってある p28 スタックとヒープ コラムでスタックとヒープについての説明 p29 組み込み型

    オライリー:プログラミングC# 第4版 メモ - 技術日記@kiwanami
    hitode909
    hitode909 2012/02/08
  • 非同期と継続と私 - 技術日記@kiwanami

    非同期のプログラミングの解説の中にはよく「継続(渡し)」が良く出てきます。継続といえば Scheme の call/cc ですが、やっぱり JSDeferred のサンプルのページにも出てきます。直感的にはあんまり関係ないような気がしますが、関係があるようです。 さらに、非同期と遅延評価の関係も気になります。非同期は「結果が後で来る」感じですが、遅延評価は「必要になるまで結果を計算しない」ということで、後回しにする感じが似ています。 今回、deferred.el を作った後にこれらについて考えてみたところ、なんとなく自分の中で実用的な結論に達したのでまとめてみました。以下、その過程とまとめです。 あらすじ 継続渡し(CPS)と非同期 CPS変換から非同期化 Deferredで非同期化 遅延評価と非同期 遅延関数のCPS変換から非同期化 Deferredで非同期化 明示的形式と暗黙的形式 継

    非同期と継続と私 - 技術日記@kiwanami
    hitode909
    hitode909 2011/10/07
    この記事異常に気に入ってて定期的に見てる
  • KINESIS Advantage - 技術日記@kiwanami

    コード書きになるとかなり集中するので、体調に合わせたキーボードが必要になる。自分の経験では、指に負荷のかかる大量のキー入力にはRealForce、長時間連続稼働の場合には分離型のエルゴノミクスキーボードを使い分けると、体への負担が少ない。 最近また長時間稼働することが多くなってきたため、肩が痛くなりはじめた。数年前にスーツ族になってから長時間じっとしていることが少なくなったので、分離型のキーボード(Microsoftのエルゴノミックなもの)を手放してしまった。分離型が必要になったので、この機会に KINESIS Advantage を購入してみることにした。 Kinesis Ergonomic Keyboards, Mice and Input Solutions 買う 10年前からかなり気になっていたキーボードだったため、すごくうれしい。(当は指の形に並んだトロンのキーボードを試してみ

    KINESIS Advantage - 技術日記@kiwanami
  • Emacs用カレンダー calfw v1.2 リリース - 技術日記@kiwanami

    もうちょっと早く紹介記事を書くつもりだったのですが、orgmode の家 ML から召喚されて、2週間ほど ML での対応やパッチ取り込み、細かい機能追加などを行っておりました。ということで、 v1.0 から飛んで v1.2 になりました。 calfw ? Emacs 上でふつうに使えることを目指したカレンダーアプリです。こんな感じのよくあるレイアウトで表示します。 画面イメージ 以前の記事もある程度参考になると思いますが、設定方法が変わっていますので気をつけてください。 参考:Emacsでカレンダーコンポーネントを作った - 技術日記@kiwanami 以前(v0.2.1)からの主な変更点 API の整備 カレンダーのネタ提供をグローバル変数をやめて、構築時の引数で指定 cfw:source でスケジュールを構築、複数組み合わせ UIの強化 ビューの追加(月、週、2週、日) ビューの拡

    Emacs用カレンダー calfw v1.2 リリース - 技術日記@kiwanami
    hitode909
    hitode909 2011/07/24
    すごい
  • 献本頂きました:良いコードを書く技術 - 技術日記@kiwanami

    かなり日が経ってしまいましたが、「良いコードを書く技術」の献をいただきました。 良いコードを書く技術 ?読みやすく保守しやすいプログラミング作法 (WEB+DB PRESS plus) 作者: 縣俊貴出版社/メーカー: 技術評論社発売日: 2011/04/09メディア: 単行(ソフトカバー)購入: 46人 クリック: 2,459回この商品を含むブログ (68件) を見る 『良いコードを書く技術』という書籍を執筆しました。 (by 縣さん) 個人的には大変いいだと思っていますので、宣伝もかねて少しコメントしたいと思います。 対象読者 まずは、このがターゲットとしている対象読者についてです。 ブログなどでよく見るようなWeb系企業だけでなくて、ぜんぜん表に出てこないようなSIerも含めたエンジニアの人口分布を考えてみます。自分のこれまでの経験から、以下のような分布になっているのではない

    献本頂きました:良いコードを書く技術 - 技術日記@kiwanami
    hitode909
    hitode909 2011/06/03
  • Emacsへの知の集約 - 技術日記@kiwanami

    Emacsでアプリを作ることについての自分の考えのまとめ。 Emacsの2つの側面 Emacsの可能性を議論する場合に、エディタ・IDEとしてのEmacsと、アプリケーション実行環境としてのEmacsの2つの側面を分けた方が良いかなと思っています。両者がごっちゃになるので、「Emacsは環境だ」→「エディタでメールとか変態だ」→「むきー!!!」という不毛な議論になるのだと思っています。 単純なエディタやIDEとしてのEmacsについては、十分議論が出ていると思いますので、ここでは議論しません。個人的には、趣味なら自由、仕事でやるなら望まれた生産性を満たす好きなツールを使えばいいと思っています。 今回の議論は、アプリケーション実行環境としてのEmacsです。こちらは、 Eclipse RCP や FLEX、JVM系各種スクリプトや、各種Webフレームワーク、GAE や HTML5 といった言

    Emacsへの知の集約 - 技術日記@kiwanami
    hitode909
    hitode909 2011/05/14
  • concurrent.el リリース - 技術日記@kiwanami

    今まで何の説明も無しに自分のアプリで使ってきた謎ライブラリ concurrent.el ですが、一区切りが付いた気がしましたのでリリースしたいと思います。 この記事では concurrent.el の基盤である deferred.el について簡単に紹介して、 concurrent.el の機能と適用例を紹介します。 あらすじ deferred.el復習 concurrent.el紹介 機能一覧、コード例 cacoo.elでの設計解説 deferred.el 紹介 deferred.el の詳しい使い方やAPIなどはREADMEの文書がまとまっていますので、手っ取り早く使いたい人はそちらを参照してみてください。 おそらく、他の言語でDeferredに慣れていればすぐに使えるのではないかと思います。 deferred.el リリース - 技術日記@kiwanami (リリース記事:慣性スクロ

    concurrent.el リリース - 技術日記@kiwanami
    hitode909
    hitode909 2011/04/21
    すごい
  • Emacsで3DなマルチプレイヤーなFPSを作ってみた - 技術日記@kiwanami

    関西Emacsで発表したデモです。 まず、「FPS」は CoD MW のようなシューティングとかではなくて(それは是非やりたかったのですが)、一人称散歩(First Person Sanpo)プログラムです。FPSは釣りです。ごめんなさい。 (2011/05/06 追記: Vimにも出来てました!! 3D in Vim — KaoriYa) 動作風景 所詮テキストエディタのやることですので、期待せず、生暖かい目で見てください。 一人用のムービー バッファで描いた迷路を歩きます マルチプレーヤーのムービー Emacsでサーバーを起動して、3つのEmacsから接続します。あとでtelnetで直接接続してチートします。 動かし方:シングルプレーヤー 必要な物: 64bitEmacs23.x 22でも動くかも知れません 32bitだと整数桁あふれするそうです banner 文字のビットマップを取

    Emacsで3DなマルチプレイヤーなFPSを作ってみた - 技術日記@kiwanami
    hitode909
    hitode909 2011/04/14
    Emacs 3D
  • Emacsのwidgetについて思ったこと - 技術日記@kiwanami

    id-manager.el にて Emacs の widget を使ってみました。その感想などです。 widgetとは widgetはEmacs上でダイアログのようなUIを作るライブラリです。CustomizeなどのUIがこれで出来ています。 最近のEmacs(少なくともEmacs23)には標準で入っています。 widgetの例(Infoのサンプル) どこが良いか 複数の入力項目をユーザーに要求するような場合、widgetを使うことで非常に分かりやすいUIになることが多いです。 grepのUIで具体的に比べてみます。lgrepとezgrepという、Emacsからgrepするプログラムがあります。 参考 lgrep Emacsの検索機能を使いこなす(菅原泰樹) — ありえるえりあ ezgrep http://www.geocities.jp/km_pp1/ezgrep/html/ezgrep

    Emacsのwidgetについて思ったこと - 技術日記@kiwanami
    hitode909
    hitode909 2011/02/24
  • Linux上のJavaアプリでいわゆる「IMEをON」にする方法 - 技術日記@kiwanami

    結論から書きますと、今回紹介する方法で強引にONにはできますが、Javaのプログラム上で一般的に行う方法は無いようです。 きっかけ Java日本語入力を伴う業務アプリを作ると、かならずIMの制御が出てきます。Windowsだと以下のような方法で「たまたま」可能です。(Vista以降は不明) Swingの文字列操作 - Nikunoki SwingTips IME の制御のこと - mshioの日記 なぜ「たまたま」なのかは以下の文章やドキュメントが詳しいです。 JavaでのInputMethodの制御について - ふなWiki Java IMFでは「IMを On/Offする」という概念はありません。 (中略) 言語を日語に切り替えれば日語IMがOnになるし、中国語に切り替えれば中国語IMがOnになるという考え方です。 (中略) On/Off の概念のないJava IMF の仕組みの下

    Linux上のJavaアプリでいわゆる「IMEをON」にする方法 - 技術日記@kiwanami
    hitode909
    hitode909 2011/02/21
  • Emacsでカレンダーコンポーネントを作った - 技術日記@kiwanami

    (2011/07/25 追記: 設定方法などについては最新の記事を参照してください→[emacs][ui] Emacs用カレンダー calfw v1.2 リリース - 技術日記@kiwanami) Emacsで使えるカレンダーが必要だったので作りました。 (追記 2011/01/08 ical連携の設定に足りないところがありましたので修正いたしました。また、Emacs22ではpeccuさんの所の追加設定を参照してみてください。 → CarbonEmacsでかるふわ使っちゃうよ!(ぺっくブログミラー@peccul)) こんな感じ 完成までには近所の人たちから、「カレンダーなら壁に掛かってるだろう」とか、「Google Calendarという無料のカレンダーがありまして」とか、「カレンダーならiPadにもあります」とか、幾多の助言を頂きました。ありがとう。分かってます。自分だって、2年前にPy

    Emacsでカレンダーコンポーネントを作った - 技術日記@kiwanami
    hitode909
    hitode909 2011/01/08
    すごい
  • anythingでPDFファイルをプレビューしながら高速に選びたい - 技術日記@kiwanami

    anything-books.el ? anythingでPDFファイルをプレビューしながら開くプログラムを作りました。 なぜか大量にPDFがあって、PDFの管理方法に困っていて、たまたまEmacsを使っている人向けです。 画面イメージ 動かした方が受けが良さそうなので、今回はスクリーンキャストを用意してみました。 スクリーンキャスト インストール 必要なもの: anything-books.el anything.el deferred.el, concurrent.el ImageMagick PDF変換ツール(evince, convert+gsとか) PDFビューアー(AdobeReaderとか) anything.elはすでに皆さん入っていると思います。まだの人はanything導入のeverything 〜3分で使えるanything.el〜 - http://rubikitc

    anythingでPDFファイルをプレビューしながら高速に選びたい - 技術日記@kiwanami
    hitode909
    hitode909 2010/11/18
    すごい
  • 広くなった画面を有効利用できる、Emacs内Window管理ツール e2wm.el を作ってみた。(旧名称 ewm.el) - 技術日記@kiwanami

    世間が iPad で盛り上がっている中、空気を読まずにEmacsです。 (2010/05/31 追記:バグがあって動かない状態でしたので、修正いたしました。試してみて動かなかった皆さんご迷惑をおかけしました。peccuさんご指摘ありがとうございました。) (2010/06/07 名称変更:名称を変更ましたので、混乱しないように内容をすこし修正しました。既に導入いただいた皆さんすみません。) 図の一覧@Cacoo(2010/07/03追記) 概要 Window分割をあらかじめ決めておいて一発で切り替えたり、ポップアップの出現位置を固定したり、ちょっと便利になるプラグインを追加できるようにする、e2wm.elというEmacsの拡張を作ってみました。Emacs以外の人に分かりやすい表現で言うと、Eclipseの「パースペクティブ」のようなものを実現するものです。 画面概観 近年モニターの解像度が

    広くなった画面を有効利用できる、Emacs内Window管理ツール e2wm.el を作ってみた。(旧名称 ewm.el) - 技術日記@kiwanami
    hitode909
    hitode909 2010/06/01
    すごそう
  • 1