タグ

tettsyunのブックマーク (1,308)

  • みかん箱

    2024.07«12345678910111213141516171819202122232425262728293031» 2024.09 2010年10月23日に、六木ヒルズにあるGoogleオフィスで開催された「Google日本語入力Tech Talk 2010」に行ってきました。Google Developer Day 2010の基調講演でTech Talkの存在を知り、興味がわいたことと、ちょうど東京出張の間に開催されることもあって応募、参加しました。以下に、その際に自分がとったメモや、Tech Talkに参加された方のレポート、その他参考文献から文章にまとめました。 文章をまとめる際に私がとった方針は次の通りです。まず、私自身はMozcの開発に興味があるというよりも、Mozcの仕組みや開発手法に興味がありました。そのため、前述の部分を中心にまとめ、Mozcを改良する部

    tettsyun
    tettsyun 2011/05/13
    mozc
  • SCons入門(1) - Pashango’s Blog

    SConsとは? Python製のMake代替ツール。 中でPythonコードを書けるので、複雑なMake処理を簡単に書ける。 C言語の依存関係などを自動に調べる機能などがあるらしいが、使った事はないので詳しい事はわからない。 自分の場合はプログラムのビルドではなく、ゲームデータのビルドに使用した。 (プログラムのビルドならVisualCやEclipseなどの専用ツールに任せた方が楽だったりする) C言語などのビルドでは依存関係を調べる関係上、大規模開発では速度が出ないという意見もある。 しかし、自分が使っている限りでは、ゲームデータなどのコンバートであればかなりの数のデータを処をしているが、実用十分な速度が出ていると思う。 ■SCons公式 http://www.scons.org/ 使い方 ビルドしたいプロジェクトディレクトリに「SConstruct」というファイルを作成する。 SCo

    SCons入門(1) - Pashango’s Blog
    tettsyun
    tettsyun 2011/05/12
    ビルドツール
  • CscopeとSilentBobによるソースコードの解析 | OSDN Magazine

    よく知らないプロジェクトのソースコードは、プログラムの構造や、そのプロジェクト独特の関数、クラス、ユニットの意味を知らないまま見ていくことになる。タグを使ってそれぞれの定義を参照できるものの、すべての定義をひとつひとつ検分していくだけで全体像を把握するのは難しい。こうした馴染みのないソースコードの解析に役立つのが、CscopeとSilentBobという2つのツールだ。 両ツールは、シンボル定義の検索、特定の関数が使われている箇所や関数間の呼び出し関係の確認、コードベース全体からの文字列やパターンの検索に活用できる。また、ソースファイル群に対して手作業でgrepをかけるよりも、目的とする検索を迅速に行えるため、時間の節約にもなる。 Cscopeを使用する Cscopeはよく知られたユーティリティで、最近のディストリビューションにはたいてい含まれている。もともとCscopeはC言語のコードで使

    CscopeとSilentBobによるソースコードの解析 | OSDN Magazine
    tettsyun
    tettsyun 2011/05/11
  • ソースコードを読むための技術

    $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: 柳川さん、まつもとさ

    tettsyun
    tettsyun 2011/05/11
  • cscopeでlinuxカーネルソースを読む | Inside ASCADE

    色々なツールが存在しますが、その中の1つにcscopeがあります。特にemacsのようなエディタと組み合わせて使用すると、大変快適にソースをブラウズすることができます。 実際にlinuxカーネルのソースを読む時のcscopeの使用方法については、ここが参考になりますし、他にも色々と書いている人はいるのですが、最新のソースではディレクトリ構成も異なりますし、emacsから利用する場合の設定も幾つかまとめておきたいので、書いてみました。

  • Google Code Archive - Long-term storage for Google Code Project Hosting.

  • LinuxカーネルHack: 1ヶ月の活動の振り返りとこれからの展望 - 佐野デジタル研究所

    Linuxカーネルの探索をはじめて1ヶ月が経過したので、今回はその振り返り。こうやってまとめてみると、1ヶ月あれば結構いろいろできるなぁと思った。 やったこと ビルド UMLカーネル UML(User Mode Linux)を使うことで、GDBを使いながらカーネルを効率よく解析できるようになった。最近のトレンドは、KVM(Kernel-based Virtual Machine)になりつつあるので、KVMを試したいけど、手元のマシンではIntel VT未対応で断念。 UMLによるはじめてのLinuxカーネルHack カーネルビルドの高速化 カーネルをいじりだすと、何度もカーネルをビルドすることになるので、ビルド時間はできるだけ短縮しておきたい、ということで実験した。最近はカーネルをビルドする時はmake -j 3でやってる。 LinuxカーネルHack: ビルド時間の短縮を求めて 特定ファ

    LinuxカーネルHack: 1ヶ月の活動の振り返りとこれからの展望 - 佐野デジタル研究所
    tettsyun
    tettsyun 2011/05/09
  • Code documentation - btrfs Wiki

    Kernel and Utilities As much as possible, code is shared between the kernel and the utility programs. The major place they differ is the code used to start and track IO. Any new projects inside of Btrfs should try to keep the kernel and the utilities up to date, and try to keep the code common between them. A crucial part of understanding Btrfs is understanding how keys and items interact, and how

  • MITのOS講義で、Unix Version6に出会った - akachochinの日記

    先日藤原博文氏の「パソコン初心者の館」掲載の http://www.pro.or.jp/~fuji/pasocomlife/2009-09-12.html という記事を読んだ。 そこでは MIT OpenCourseWare というのがあり、非常にたくさんのコースが用意されている。特別講義がちょろっと公開される日と違って、実際の講義、それも20コマ、30コマある講義が全部ビデオで公開されている。 という紹介があった。 なので、早速コンピュータエンジニアリングの講義を眺めてみた。 自分は脳みそがアルコールで腐っていても一応OS屋。なので、OSの講義を覗いてみることにした。 http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-828-operating-system-engineering-fall

    MITのOS講義で、Unix Version6に出会った - akachochinの日記
    tettsyun
    tettsyun 2011/05/09
  • LinuxカーネルHack: GDBでBtrfsをデバッグする - 佐野デジタル研究所

    はじめに 今回は、UML+GDBでBtrfsをデバッグできるようにしてみる。途中で失敗して多少遠回りになったけれども、デバッグはできるようになった。なお、Ubuntu 10.10でのUMLの開発環境がまだ整備できていないので、これまで使ってきたUbuntu 8.04のUMLの環境を使うことにした。 準備 Btrfsは、カーネルビルド時にmake defconfigしただけだと、デフォルトでは組み込まれない。そこで、make menuconfigからBtrfsを組み込むようにする。File systems -> Btrfs filesystem (EXPERIMENTAL) Unstable disk format を選択する。Mだとカーネルモジュールになって面倒なので、*を選択し、カーネルに完全に組み込んでしまうことにした。 これで、ビルドしたlinuxにbtrfs_*な関数にブレークポイ

    LinuxカーネルHack: GDBでBtrfsをデバッグする - 佐野デジタル研究所
  • LinuxカーネルHack: Btrfs開発最新動向(2010/10/31) - 佐野デジタル研究所

    タイトルはちょっと大げさだけど、btrfs-unstableブランチとメインラインに動きがあったので、今回はその紹介。 実は、Btrfsの開発ブランチである git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable は今年の7月中旬頃から全然更新されない状況が続いていた。Btrfsのメーリングリストには、日々様々なパッチが投稿されている。Btrfsの開発者のChris Masonさんはメーリングリスト上では返事もしている。にも関わらず。 コミュニティからは、btrfs-unstableブランチはかなり古いので、別のツリーがあるのか?といった質問をされる始末。ちなみに、これに対して誰も返事していない。僕も誰か返事してくれるかな、と期待していたのだれども。 Re: Inode to bdi issue? Tomasz

    LinuxカーネルHack: Btrfs開発最新動向(2010/10/31) - 佐野デジタル研究所
  • UMLによるはじめてのLinuxカーネルHack - 佐野デジタル研究所

    はじめに これまでにLinuxカーネルの解説やカーネルのソースコードを読んでみたものの、 実際にカーネルをビルドしてブートする、という基的なことを避けてきた。 Linuxカーネルをいじれるようになる(なりたい)、という観点で真剣に考えると、カーネルの ビルドとビルドしたカーネルをブートするという行為は避けて通れない。 いじった結果を観測できないから。フィードバックが無ければやる気も維持できない。 何が障壁になっているのだろう?と考えると、自分でビルドしたカーネルを Linuxにインストールして、ブートできなくなったらどうするの?面倒すぎる。 というのが一番の障壁になっていることがわかった。 この障壁を解決するいい方法は無いだろうか?と考えると、ちょうどいいのがあった。 それがUML(User Mode Linux)だった。 UMLを使えば、ビルドしたカーネルが何らかの原因でブートできな

    UMLによるはじめてのLinuxカーネルHack - 佐野デジタル研究所
  • カーネル挙動を追尾する「DTrace」の実力

    Solaris 10の強化機能としてクローズアップされることが多い「DTrace」。さまざまなサービスが並列稼働する基幹サーバでは、カーネル挙動によってボトルネックを判断することも多い。DTraceは、解決するための打開策となるのか? 実例サンプルで検証していく。 Solaris 10の目玉となる機能のひとつに、実行中のサーバ情報をいつでも取得できる「DTrace」がある。DTraceは、稼働サーバ上で思うようなパフォーマンスが得られなかったり、トラブルが生じた際に原因究明するのに役立つ機能だ。この「OS選択の新常識」Solaris特集では、DTraceを使うと具体的にどのような情報を取得でき? どのようなシーンで役立つのか? その実例を解説していくことにしよう。 DTraceの仕組み まずは簡単に、DTraceの仕組みから説明する。 Solaris 10の内部には、「プローブ」と呼ばれる

    カーネル挙動を追尾する「DTrace」の実力
  • otool: objdump provided for Mac - Yuji Kosuga's Blog

    objdump is a program from GNU binutils, which displays information from binary object files and is often used to examine compiled binaries. I had often used it on my Linux around 5 years ago for disassembly, with the “-d” flag, but haven’t used it since then because of the change of my interest on security. Disassembly with “-d” option: $ objdump -d a.out Today I came to need to see the disassemb

    tettsyun
    tettsyun 2011/05/07
    objdump otool
  • SettingUpNFSHowTo - Community Help Wiki

    TL;DR A much shorter guide is available in the Ubuntu Server Guide If you need more info, read below. Introduction NFS (Network File System) allows you to 'share' a directory located on one networked computer with other computers/devices on that network. The computer where directory located is called the server and computers or devices connecting to that server are called clients. Clients usually

  • macbookをSSDに換装してからやった事 - sugarballの日記

    先日はmacbookのHDDをSSDに換装しました。 では、今回はその続きというかMac OS Xのインストールとか、どんな設定をしたかをメモメモ。 SSDMac OS X Leopardをインストールする SSDに換装した後は、macbook付属のOSインストールディスクを入れて、電源を投入します。するとDVDからブートして、インストーラが起動します。 それから以下の手順を行う。 メニューバーの「ユーティリティ」→「ディスクユーティリティ」を選択 タブ「消去」を選択し、ボリュームフォーマット「Mac OS 拡張(ジャーナリング)」を選択する。名前は適当に入れる。「MacSSD」とか。それから「消去…」ボタンをクリック。 フォーマット?が終わったらディスクユーティリティを終了する 上記の手順が終わるとパーティションが作成されるっぽい。これをやらないと、購入直後のSSDにLeopardをイ

    tettsyun
    tettsyun 2011/05/06
    SSD 換装
  • ブロックアルゴリズムとB-Treeアルゴリズム

    ext2とext3は、「ブロックアルゴリズム」を採用している。ブロックアルゴリズムとは、例えばディスクを4Kbytesなどの単位(ブロック)に分けて管理する方法である。ext2にジャーナリング機能を追加したものがext3である。ext2、ext3以外のファイルシステムで用いられているB-Treeとそのバリエーションは、バランス木(Balanced Tree)をベースとしたアルゴリズムである。 拡張機能としては、今回紹介する「動的iノード」と「エクステント」方式が挙げられる。「エクステント」は、ブロックアドレスの代わりに「論理セット」と呼ばれる「開始アドレス」「サイズ」「オフセット」を渡すことでアドレッシングを効率化する方式である。「動的iノード」はiノードを動的に付与する方法で、これまで存在していたiノード数の制約を解決するものとして期待されている。ReiserFSやJFS、XFSはこれら

    ブロックアルゴリズムとB-Treeアルゴリズム
  • 進化し続けるReiserFS

    Linux用ジャーナリングファイルシステムとしては古参ともいえるReiserFS。そのアルゴリズムや新バージョン「Reiser4」の機能について解説する。(編集局) ReiserFS概要 RiserFSは、Hans Reiser氏率いる開発チームにより1996年から開発が開始されたファイルシステムで、カーネル2.4.1から標準カーネルに取り込まれた。カーネル2.5からは機能強化されたバージョン4(Reiser4)が取り込まれている。 B*-Treeアルゴリズム NAMESYS(http://www.namesys.com/)の紹介の序文に、「ReiserFSは従来のデータベースで実装されてきたB-Treeアルゴリズムをファイルシステムに実装する試み」と書かれているように、ReiserFSは開発当初よりB-Treeアルゴリズムを効率よく実装することを目指していた。 Reiser氏を中心とする

    進化し続けるReiserFS
  • Amazon.com: The Linux Programming Interface: A Linux and UNIX System Programming Handbook: Kerrisk, Michael: Books

    Amazon.com: The Linux Programming Interface: A Linux and UNIX System Programming Handbook: Kerrisk, Michael: Books
  • Amazon.com: Linux Kernel Development (Developer's Library): Love, Robert: Books

    Amazon.com: Linux Kernel Development (Developer's Library): Love, Robert: Books