2013/02/05

WebAPIドキュメント作成サービス apiary.ioを使ってみた

apiary.ioを使ってみました。
WebAPI(REST API)のドキュメントをサクっと書けるサービスです。
http://apiary.io/

去年(2012)年にローンチされたサービスで、何かに使いたいな〜と思いつつ...。
今回、開発中のWebサービスにWebAPIを実装することとなったので使わせていただいております。 (そのドキュメントはまだ公開してないです。すみません(汗;))

以下のように、API Blueprintという簡単な文法で、
"リクエスト"と"レスポンス"の例を記述するだけで
便利なドキュメントができあがります。

HOST: http://api.example.com/
--- ほげほげ API v2 ---
---
Welcome to our API. Comments support [Markdown](http://daringfireball.net/projects/markdown/syntax) syntax.
---
-- Shopping Cart Resources --
GET /shopping-cart
> Accept: application/json
< 200
< Content-Type: application/json
{ "items": [
    { "url": "/shopping-cart/1", "product":"2ZY48XPZ", "quantity": 1, "name": "New socks", "price": 1.25 }
  ] }
(ちなみに、descriptionなどの項目は、Markdownベースの記法を利用できるようになっています。)
作成されたドキュメントページ: http://docs.test0mugifly.apiary.io/
(ドキュメント上に記載されたWebAPIは実在しません。あしからず。)
簡単に使い方を説明しておきますと・・・。
まず...何が便利なのかというと・・・

この記述をもとにして、
テストリクエストを受けるための"Mock Server"を自動で用意してくれます。
このように Mock Serverが自動的に使えるようになる。
このMock Serverはドキュメントに記述したままのレスポンスを返すことができる他、
Proxyとして動作させることもでき、テスト用アクセスを識別するためのHTTPヘッダを自動付加して、productionなWebAPIサーバへアクセスさせる事も可能です。
(つまり、ドキュメント(仕様書)のリクエスト/レスポンスと、実際のクライアントによるリクエスト / 実際のWebAPIによるレスポンスを比較することができるわけです。)

"Inspector"タブでは、全てのリクエストの履歴一覧と詳細確認が行える。
リクエストヘッダ、レスポンスヘッダ、レスポンスボディについて各々、
ドキュメント(仕様書)に記述されたものと、実際の結果との比較が可能。
apiary.ioのドキュメント設定画面。
Cross-Origin Requestのヘッダを付加したり、Mock ServerをProxyにすることが可能。
また、JavaScriptやpythonによるアクセスのためのサンプルコード表示ができたり...
ドキュメントページの"Example"タブでは、
各プログラミング言語によるサンプルコードの表示を行える。
(個人的には...perlによるサンプルコードは用意されていないのが少々不満(笑))
ブラウザ上でXMLHTTPRequestによるテストリクエストを行えたり...
おなじく、ドキュメントページの"Try it"タブでは、
XMLHTTPRequestによるテストリクエストをその場で行える。
また、コメントによるディスカッションもでき...結構至れり尽くせりな気がします。
おなじく、ドキュメントページの"Comment"タブでは、
各resourceごとにスレッドを立ててコメントが書ける。
この手軽さでありながら、大手サービスのWebAPIドキュメントにも引けをとらないレベルといっても良いかもしれませんね。

作成したドキュメントは、一部登録メンバーのみ閲覧可能なように、Privateにすることもできます。
また、GitHubのリポジトリでドキュメントを管理することもでき、プッシュするだけで更新が可能になっています。複数人編集も楽ですね。
(apiary.io上のエディタで編集したほうが、完全なライブプレビューが出来るので便利かもしれませんが。)

"WebAPIドキュメントを書こうと思っても...ふつうのWikiページなどに書くのは面倒くさいな〜"という場合も、使ってみるとかなり便利だと思います。
今のところベータバージョンですが、これで無料ですし、試してみてはいかがでしょうか。

2013/01/30

TeXLive 2012+Vim-LaTeXでてふてふする on Fedora 17

大学のレポート類は基本的にLaTeXなのですが、
これまで、UbuntuのほうにしかTeX環境を整備していなかったため...
今回はFedora17で、TeXLive 2012を用いたTeX環境構築をやってみることにしました。

一昔前とは違い、おかげ様で日本語対応のLaTeX環境がかなり整備されてきていて、
導入がめちゃくちゃ簡単になっています。ありがたい事です...ε-(´∀`*)ホッ
UTF-8もそのまま扱えます。

まずは、TeXLive 2012のインストール。
http://fedoraproject.org/wiki/Features/TeXLive の内容どおりなんですがw

リポジトリを追加するだけで、yumでインストールできるのでなんとも楽です。
(注意: リポジトリを追加しないまま行った場合、恐らく、古いTeXLiveがインストールされてしまいます。)
また、platexを扱うためにtexlive-collection-langcjkも一緒にインストールします。
$ sudo rpm -i http://jnovy.fedorapeople.org/texlive/2012/packages.fc17/texlive-release.noarch.rpm
$ sudo yum clean all
$ sudo yum install texlive texlive-collection-langcjk
これだけです。私の環境の場合、340MB程度のダウンロードとなりました。


次は、Vim-LaTeXのインストール。
一応、仮にも私はVimを使っていますので、ありがたいですw
※ところで...念の為。Fedoraのデフォルトですと、vim-enhancedが入っていなかったりするので、その場合は先に入れておきましょう。

こちらもとても簡単になっています。
以下の手順は、Vim-LaTeX - TeX Wikiの内容どおりにやってみたものです。(感謝♪)

まず、Vim-LaTeXのアーカイブをダウンロードします。
http://sourceforge.net/projects/vim-latex/files/
執筆時の最新版は、vim-latex-1.8.23-20130116.788-git2ef9956.tar.gz でした。

ダウンロードしたアーカイブを展開します。
$ tar vxf vim-latex-1.8.23-20130116.788-git2ef9956.tar.gz

展開されたディレクトリ内の全てのディレクトリを ~/.vim/ 下へコピーします。
$ cd vim-latex-1.8.23-20130116.788-git2ef9956/
$ ls
Makefile     compiler  ftplugin  latextags  plugin
Makefile.in  doc       indent    ltags

$ cp . ~/.vim/ -R

最後に、~/.vimrc に記述を追加します。
$ vi ~/.vimrc
""
"" Vim-LaTeX
""
filetype plugin on
filetype indent on
set shellslash
set grepprg=grep\ -nH\ $*
let g:tex_flavor='latex'
let g:Imap_UsePlaceHolders = 1
let g:Imap_DeleteEmptyPlaceHolders = 1
let g:Imap_StickyPlaceHolders = 0
let g:Tex_DefaultTargetFormat = 'pdf'
let g:Tex_FormatDependency_ps = 'dvi,ps'
let g:Tex_FormatDependency_pdf = 'dvi,pdf'
"let g:Tex_FormatDependency_pdf = 'dvi,ps,pdf'
"let g:Tex_FormatDependency_pdf = 'pdf'
let g:Tex_CompileRule_dvi = 'platex -synctex=1 -interaction=nonstopmode $*'
"let g:Tex_CompileRule_dvi = 'uplatex -synctex=1 -interaction=nonstopmode $*'
let g:Tex_CompileRule_ps = 'dvips -Ppdf -o $*.ps $*.dvi'
let g:Tex_CompileRule_pdf = 'dvipdfmx $*.dvi'
"let g:Tex_CompileRule_pdf = 'ps2pdf $*.ps'
"let g:Tex_CompileRule_pdf = 'pdflatex -synctex=1 -interaction=nonstopmode $*'
"let g:Tex_CompileRule_pdf = 'lualatex -synctex=1 -interaction=nonstopmode $*'
"let g:Tex_CompileRule_pdf = 'luajitlatex -synctex=1 -interaction=nonstopmode $*'
"let g:Tex_CompileRule_pdf = 'xelatex -synctex=1 -interaction=nonstopmode $*'
let g:Tex_BibtexFlavor = 'pbibtex'
"let g:Tex_BibtexFlavor = 'upbibtex'
let g:Tex_MakeIndexFlavor = 'mendex $*.idx'
let g:Tex_UseEditorSettingInDVIViewer = 1
let g:Tex_ViewRule_dvi = 'pxdvi -watchfile 1'
"let g:Tex_ViewRule_dvi = 'advi -watch-file 1'
"let g:Tex_ViewRule_dvi = 'evince'
"let g:Tex_ViewRule_dvi = 'okular --unique'
"let g:Tex_ViewRule_dvi = 'wine ~/.wine/drive_c/w32tex/dviout/dviout.exe -1'
let g:Tex_ViewRule_ps = 'gv --watch'
"let g:Tex_ViewRule_ps = 'evince'
"let g:Tex_ViewRule_ps = 'okular --unique'
"let g:Tex_ViewRule_ps = 'zathura'
"let g:Tex_ViewRule_pdf = 'texworks'
let g:Tex_ViewRule_pdf = 'evince'
"let g:Tex_ViewRule_pdf = 'okular --unique'
"let g:Tex_ViewRule_pdf = 'zathura -s -x "vim --servername synctex -n --remote-silent +\%{line} \%{input}"'
"let g:Tex_ViewRule_pdf = 'qpdfview --unique'
"let g:Tex_ViewRule_pdf = 'pdfviewer'
"let g:Tex_ViewRule_pdf = 'gv --watch'
"let g:Tex_ViewRule_pdf = 'acroread'
"let g:Tex_ViewRule_pdf = 'pdfopen -viewer ar9-tab'
(コードの引用元: http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Vim-LaTeX#f59a6b76 感謝♪
このコードはコメントアウトされている部分が多いですが、設定を弄りやすいですね。)


以上です。

これで、vimを使って.texファイルを開くと・・・Vim-LaTeXが適用されます。
Vim-LaTeXを有効にしたVimで.texファイルを開いたところ。
また、Vimだけでなく、GVIM環境でもきちんと反映されます。
Vim-LaTeXを有効にしたGVIMで.texファイルを開いたところ。
次は...試しにVim上で.texファイルを作って、TeXLiveでtex→PDFにしてみます。
$ vi test.tex
\documentclass[a4j,12pt]{jarticle}
\title{てふてふ}
\author{masanori}
\date{\today}
\begin{document}
\maketitle

\section{\LaTeX なう!}
これはテストです。
\begin{math}
e^{i\theta} = \cos\theta + i \sin\theta
\end{math}

\end{document}
ここで...ESCでインプットモードを解除して、いつもどおりに
: w 
で保存します。

そして、
\ll
を素早く入力することで、LaTeXによるコンパイルが実行されます。

さらに、
\lv
を素早く入力すると、.texファイルと同じディレクトリにpdfファイルが生成され、
evinceなどのビューアでPDFファイルが開かれます。
(dviファイルでのプレビューをデフォルトとしたい場合等は、先ほどの.vimrcに記述したコードをいじるだけです。)


(尚、YaTeXなどと同じで、一度、\lvをしてプレビューを開いている間は、
編集しても、上書き&\ll(コンパイル)するだけで、自動的にプレビューへと反映されます。)

詳しい使い方は、http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Vim-LaTeX#v4639f7b を参照させていただきましょう(>ω<)

以上です♪


余談ですが、GUIなエディタ好みの方は...
TeXMakerが使いやすいみたいですので、そちらも。

http://hgeekooohay.blogspot.jp/2013/01/ubuntu1210tex.html

2013/01/26

Kyoto Tycoonの導入とperlからのアクセス (on Fedora 17 and Ubuntu)

Kyoto CabinetとKyoto Tycoonを試してみました。

以前から気になりつつも、ちょっと今更になってしまったのですが・・・
開発中のWebアプリケーションで使いたい!という動機です(笑)
Fedora 17 および Ubuntu 12.04で以下の手順による動作を確認できました。

まず、必要なパッケージをインストールします。
$ sudo yum install libcurl gcc make zlib-devel
尚...Ubuntuなど(Debian系)では次のような感じです:
$ sudo apt-get install curl gcc make zlib1g-dev libbz2-dev build-essential

次に、Kyoto Cabinetをインストールします。
$ wget http://fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.76.tar.gz
$ tar zxf kyotocabinet-1.2.76.tar.gz
$ cd kyotocabinet-1.2.76/
$ ./configure
$ make 
$ sudo make install
$ ../
その次に、Kyoto Tycoonをインストールします。
(Kyoto Tycoonは、Kyoto Cabinetをネットワークで扱うためのインターフェイスです。)
$ wget http://fallabs.com/kyototycoon/pkg/kyototycoon-0.9.56.tar.gz
$ tar zxf kyototycoon-0.9.56.tar.gz
$ cd kyototycoon-0.9.56/
$ ./configure
$ make 
$ sudo make install
さらに、管理用のコマンドを使えるようにスクリプトをコピーしておきます。
$ sudo cp lab/ktservctl /usr/local/sbin/
$ sudo cp lab/ktservctl /etc/rc.d/init.d/ktserver
(【Ubuntuの場合】 /etc/rc.d/init.d/ → /etc/init.d/ ですので、注意。以下も同様に読み替えてください。)

またこのスクリプトを一部編集しておきます。
$ sudo vi /etc/rc.d/init.d/ktserver
#! /bin/sh

#----------------------------------------------------------------
# Startup script for the server of Kyoto Tycoon
# chkconfig: - 80 20
#----------------------------------------------------------------

〜〜〜
PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin"
〜〜〜
(2行目付近に、このように、chkcondigのための行を追加。 また31行目付近のPATHに、/usr/local/bin を追加しておきます。) [2013/02/10:追記]

共有ライブラリパスに/usr/local/libを含めていなければ、追加しておきます。
$ vi /etc/ld.so.conf
〜〜〜
/usr/local/lib
$ sudo ldconfig
これで完了です。

では...早速、Kyoto Tycoonを起動してみます。
$ sudo service ktserver start
または
$ sudo ktserver 

これで...コンソール上にログが表示されたら、稼働中です。

とりあえず試しに、perlでスクリプトを書いて読み書きしてみることに。
ありがたいことに、Cache::KyotoTycoonというモジュールがあるので、とても簡単に扱うことができます。

まずは、cpan/cpanmで、Cache::KyotoTycoonをインストールします。
$ cpanm Cache::KyotoTycoon
あとは、スクリプトを書いて...実行。
use Cache::KyotoTycoon;

# KyotoTycoonに接続
my $kt = Cache::KyotoTycoon->new(
    host => '127.0.0.1',
    port => 1978,
);

# キー'foo'で 文字列'bar'を保存
$kt->set('foo', 'bar');
# 読み出してみる
print $kt->get('foo') ."\n";

# 時限削除機能もあるので試してみる
$kt->set('foo2', 'bar', 2); # 2sec
# 読みだしてみる
print $kt->get('foo2') . "\n"; # OK
# 2秒〜ほど待つ
sleep(2500);
# もう一度、読みだしてみる
print $kt->get('foo2') . "\n"; # 時限削除されているので空になる。

うーん!とってもシンプルですし、時限削除は便利ですね。
まさに...キャッシュのためにももってこいなKVSだといえます。
ベンチマークの類はまだしてないですが。メモリにも優しいそうです。

また、memcached互換なので既存のモジュールも応用できるそうです。

[2013/03/19 追記]
Cache::KyotoTycoon v0.14で行われた修正にともない、
コンストラクタ(Cache::KyotoTycoon->new)内でdbパラメータを与えると
リクエストがエラーとなってしまうようです。

[2013/05/29 追記]
パッケージ類のインストール手順を追加しました。
また、Ubuntu 12.04でもこの手順で動作を確認しているため、追記 および タイトルを変更しました。


参考にさせていただいたページ (感謝 m(_ _)m♪):

2013/01/09

Raspberry Pi+ModMyPi Caseが届いた

Raspberry Pi (Model B 512MB)+ ModMyPi Caseのセットを
ModMyPiで新年早々に注文しておいたのですが、今日届きました。

ケース色はブラック&オレンジのツートーンにしてみました(笑)

Raspberry Pi (Model B 512MB RAM)+ ModMyPi Case (Black / Orange)
 ModMyPi CaseにRaspberry Piをセットしてみたところ。
ぴったりです。基本的に端子類は外に出ます。(スキマも結構あります。)
天面のGPIO端子部分はカバーされていますが、取り除いてしまうことができます。
ちなみに実は、Raspberry Piが発売される前からRSコンポーネンツで仮予約だけしてあったのですが、
いざ発売が開始されたとき、ちょうどその時の懐具合でポチることができずw
みるみる納期が増えていき...気づけば数ヶ月待ちとかになっていましたねw

そんななかでMobileHackersさんのブログ記事で紹介されていたのがきっかけで知ったのが、RSコンポーネンツ以外の製造元からはもっと早く手に入れることが出来るということ。

それもあって...やっと今回入手に至ることができました(笑)
たしかにModMyPiでケースセットとして注文すると、日本でも納期ちょうど1週間で届きましたよ。

使い道は色々思いついているのですが、またぼちぼち弄って行きたいと思います。

2013/01/01

【10周年】Masanori's WebSiteをリニューアルしました。

2013年、あけましておめでとうございます。

2003年より公開してきましたMasanori 's WebSiteですが、
この2013を持ちまして、
おかげさまで\10周年を迎えました。

「昌紀のHP」として公開して依頼、幾度もデザイン変更、
コンテンツも変わって参りました・・・
そして今回。10周年記念...というと大げさなのですが、
リニューアルを行いました。 http://ohgita.info/

2013年1月1日 - Masanori's WebSite 10周年記念
(ちなみに以前から何やら作成していたProject.MIとは別のものでして...
2日間ほどで急遽作成したのですが...体調を崩しましてww
間に合っていない機能やコンテンツもあります・・・。今後髄時アップデートしていきます(笑) )


今年は大学も3年となり...研究もありますし、
プロジェクトの開発のほうにもこれまで以上に取り組んでまいります。

本年も、そして今後とも何卒宜しくお願い申し上げます。

2013年 元旦 Masanori.

2012/12/17

Sublime Text2を使い始めた

Sublime Text2というエディタを使い始めました。
http://www.sublimetext.com/

私は、WindowsではTeraPadユーザ...
また、Linuxでは、(にわか) Vimmer...(CUIでは専らVimです。一応。)
Eclipse/Aptana Studio ユーザでして....

エディタというのは慣れたもの以外は使いたくならないモノだったりしますが、
そんななかでも気になるエディタなのですw

簡単に言うと・・・
わりと美しいUIで...GUIを適度に活かしていて、
操作がややこしくなく、サクサク軽いということ。
インクリメンタルに結構気持ちよく補完してくれたり。
尚、ファイルは、単体はもちろん、フォルダごとプロジェクト的に開くことも可能。
ファイルの切り替えなんかもインクリメンタル検索でプレビューしながら行えますし、
あと、ミニマップで俯瞰できたり、終了するときは何も表示されず次回起動時に自動復元されるとか...
自分としては...これ面白いな&良いな〜と思うところが色々w


Sublime Text2で perlのファイルを編集しているところ。
Ctrl+Pでこのようにファイルをインクリメンタル検索しながらプレビューできる。
対応開発言語は幅広い。各種ライブラリのための入力補完・サポートなども...Packageで拡張可能。

特に何でも使えますが、私としてはWeb向きのエディタかなーと思います。
シンプルなテキストエディタや、逆にEclipseのようなIDEも良いのですが、
エディタとIDEの中間的なアプリケーション...という感じでしょうか。
ちなみに、Linux/Windows/Macのクロスプラットフォームで動作します。
(有料 59ドルですけど...全機能を制限なしにずっと試せます。払う価値もありそうです。)

基本からシンプルで使いやすいのですが、
Packageのインストールで機能強化できるところがミソですね。

他のブログで特徴や使い方を紹介してくださっているのでそちらを。
例えば、jQueryなどの各種フレームワークのサポートや、
MarkdownやLaTeXのための入力補完とか...。
Gitを組み込めるとか...。簡単に実現できます。

まずは、"Package Control"というPackageをインストールしておくと、
他のPackageをSublime上で楽々インストールしていくことができます。
こちらのページにあるコードをコピーして、[View]メニュー → [Show Console]をクリック、画面下に表示されるコンソールへ入力。

あとは、コマンドパレット(Ctrl+Shift+P)を開いて、
"install"などと入力して、Package Controlを呼び出すだけです。

(参考)私がインストールしたPackage:
  • Abacus - 複数行のコードを整形表示
  • AngularJS - AngularJSのスニペット
  • AutoFileName - ファイル名を自動補完
  • BracketHighlighter - カッコの強調表示
  • CSS Snippets - CSSのスニペット
  • Color Picker - 色ピッカー
  • Dart - Dartのスニペット
  • Git - Gitを扱うためのPackage
  • Gist - GitHubのGistを扱うためのPackage
  • HTML - HTMLのスニペット
  • jQuery - jQueryのスニペット
  • Markdown Preview - Markdownのプレビュー
  • Mojolicious - perlのWAF "Mojolicious" のスニペット
  • SublimeCodeIntel - 各種開発言語の自動補完など
  • SublimeLinter - HTML/CSS/JavaScriptなどなどのLint(構文チェック)
  • Terminal - ターミナルでカレントファイル/ディレクトリを開く
  • Nexus - Theme(テーマ)
  • ...
尚、SublimeLinterなどの一部のプラグインでは、nodeを介してコマンドを実行したりします。その場合は、nodeのインストールが必要です。
(参照: Ubuntu 11.04 Natty Narwhal に Node と npm をインストール - 自分の感受性くらい)

インストールしたPackageは
基本的にコマンドパレット(Ctrl+Shift+P)から呼び出せます。

また関係ないんですが、
設定ファイルがJSONフォーマットということも...
ある意味、今どきのエディタらしいですねw

カスタマイズはかなり効きます。
 参照: Y.A.M の 雑記帳: Sublime Text 2 の設定

私はとりあえずこれだけですが、設定しています:
{
 "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
 "draw_white_space": "selection",
 "highlight_modified_tabs": true,
 "ignored_packages":
 [
  "Vintage"
 ],
 "theme": "Nexus.sublime-theme"
}

ショートカットもある程度は覚えておくと捗ります。チートシートを作ってくださっているので使わせていただきましょう。
 Sublime Text | Periodic table of the Keyboard Shortcuts.
また、キーバインディングは自分好みに変更できます。

「今までのエディタは放り投げろっ!」とも言えませんし...私もそうは思いませんが、
それでも、「お!?」と思えた、なかなか良さそうなエディタです。
しばらく弄ってみたいと思います。

2012/12/03

組み込み(マイコン)、はじめました。

プログラミングというモノを独学&趣味でかじりはじめて...
...気づけば、もう8年にもなるのですね〜・・・。
まだまだ初心者の域を出ませんが(汗;)w

ここ5年間くらいはWebやネットワーク系を独学で遊び・学んできましたし、
大学に入って、C++やアルゴリズムを学びつつ、ちょっとばかり組み込み方面にも触れて...といった感じで過ごしてきました。

そして大学2回生 冬となった今。

昔から「組み込み(*)をやりたいな〜」と思うことが幾度もあったにもかかわらず、これまで結局は取り組んだことが無かったのだと言う事を
友人のおかげで気づかされた...そんな今日このごろです。

(* 組み込み...というかセンサーロボットとかヘリコプターとか(ry) ロボコンとか!!)

やるなら今だっ! (ある意味、私にとっての新境地開拓ですww)

ということで、組み込み(マイコン)を始めました(笑)

最初のテーマは組み込みOSの自作です。
(何年か前にPC向けの自作OSをかじり...かけたこともありました。見事に投げてしまいましたがw)

理由としては・・・
  • 何よりOSの勉強になる!
  • 低階層な組み込みを折角やってみるのだから、
    面白そうですし踏み込んでやってみたいな〜。
というところです。

低階層を理解することが自分にとっての貴重な学びになるのだ...ということを、
友人・知人から教えてもらった、影響を受けた...という理由も大きいです。


Raspberry Piとか、mbed、Arduinoなど、比較的容易に扱えるボードにとても興味があって、
目的に応じてやりたいことを手軽に(そこに注力して)やれるのが良いな〜と思うのですが、
ただ、今のうちにもっと低いレベルにも触れておくことも大事なんだなーと悟ったのですw(

Rasberry Piを使って作りこんだりというのもまた必ずやってみたいです。
また、もっと新しいマイコンでロボットなども近いうちに挑戦してみるつもりです。

参考にさせていただく本は...


です。

これは、H8/3069Fのマイコンボードを使って、シンプルな組込みOSを作る本です。
ブートローダーから、割込み/スケジューリング等々をすべて実装していきます。
まさにこんな事、やりたかった><!
(筆者の方のサポートサイトでは、TCP/IPスタックの実装、Webサーバの搭載まで広げているようです。
私も、実はネットワーク系を志していたりするので、ココは外せないところですねw)


さらに参考にさせていただくウェブサイトとして...
2回目のC言語で『12ステップで作る組込みOS自作入門 』の通りに組込みOSを作ってみた - 三等兵
かなり最近(3ヶ月前)の記事ですが、Mac OS (Lion)を用いてこの本に取り組まれたそうです。私もLinux(Fedora 17)での開発となりますし、詰まった時には特に参考にさせていただこうと思います(><;)ゞ

早速、ボードのほうも調達しました。
ちょっと昔の自分みたいに、半田ゴテを持ち出して(汗;)...とも思ったのですが、
流石にここは大人しく...本の指示どおりに、部品実装済みのボードを購入しました。
秋月のAKI-H8/3049Fネット対応マイコンLANボード完成品 という商品です。

使用するマイコン自体、アーキテクチャ的にはもう古くなってしまっている?感じもするのですが、私にはこれで十分すぎますw
なにせ最初の第一歩なので、本どおりに進めてもつまづきそうですし(笑)


とりあえず...初日の今日は、セルフコンパイルのための開発環境構築から...。
とはいっても、普段使いのFedoraにはgccやその他諸々が入っていて、何かと使っている状況なので、特段やることはなさそうです。

シリアル<->USBケーブルがまだ手元ににないので、この先はお預けです(´・ω・`)w
(家を探しまわれば、どこかに落ちているかもしれませんがw)
尚、今回、シリアル<->USBケーブルは、BUFFALOのBSUSRC0610BSを購入しました。


のんびりでも、確実に取り組んでいきたいな〜と考えています。
友人とのWeb開発や、他にも進めたいプロジェクト・勉強がありますので、
平行になりますが、逐一メモを兼ねて、このブログに進捗状況をアップしていけたらな〜と考えています(><)/
頑張りますっ。

今後、一連の記事は"自作OS"というタグでまとめたいと思います。
こちらから一覧できます。