Atomのlinter-spellで日本語が指摘されないようにするlinter-spell-cjkを書いた

最近AtomでGoを書いたりなどして、なかなかいいねと思ったので、日本語文書もこのままAtomでいくぞ〜と思ったら、spell checkに使っているlinter-spellが大暴れ。いたるところに下線がひかれ、なにがなんだかわっかんない。

こんな感じよ

https://raw.githubusercontent.com/naota/linter-spell-cjk/master/before.png

 

しかも、何が悪いんだと表示されるtipsを見ても、たとえば「くのがいやでーす」は、英語の辞書にないからだめだよ?ということしか言ってこない。こんなにあちこち線をひかれてもなにもわからん。ぐぐってみると、"spell check pluginを無効にしようね"とかあって、嘘でしょそんな〜っ、英語の部分はきっちりspell checkされたいでしょと思うわけです。

ってことで、日本語とかが指摘されないようにするプラグインlinter-spell-cjkを作った。こんな感じにすっきりしてくれる。これなら"exaciting"ってtypoってたことがわかってしまう。

https://raw.githubusercontent.com/naota/linter-spell-cjk/master/after.png

 

 

とりあえず公開した

 

atom.io

 

画像を見るとわかるように、現状では「Atomを」みたいに英語と日本語をまたがって引かれていた線は消えていない。このへんは将来の課題ということで・・・

 

 

 

しかし、linter-spell側にいろいろ手を入れずにその変更をするのは困難だと思われる。linter-spellは、まずprimary dictionary engineに全文を渡す。primaryは、tokenizeして、spell checkして、スペルミス候補の単語リストを返す。返ってきた単語は、追加辞書がさらにチェックして、「スペルミスではない」とか「追加修正候補はこれだ」とか言ってくる。linter-spell-cjkは、この追加辞書として機能して、渡された単語が全て日本語文字で構成されていたら、「これは辞書にあるOKな単語だ」と返している。

日英交ざった単語が降ってきた場合、1) 英語の部分をとりだす 2) 英語の部分をprimary辞書でcheck 3) 間違ってたら、候補を返す, ということをしたい。(1)はregexでOK。(2)はprimaryの辞書は現状わからんが、English hunspellを呼ぶよ、みたいな感じでよさそう。(3)が問題で、いまのlinter-spellだとrangeを変えられないので「primaryは、ここが単語って言ってきたけど、本当はもっと狭いこの部分が単語で、これが修正候補だよ」ということができない。

ということで、linter-spell側でprimary辞書くれて、rangeを狭めることができるようになるといいなあ。

あと、このpackageでは regexpunicode propertyを使ってて、単純にatomのbabelだと自動でそのへんをtranspileしてくれん(babel pluginが認識されてない?)ので、手でtranspileしてるんだけど、これってなんとかなんないんでしょうか。教えてください、atom packageにくわしい人

 

Gentoo made easy 〜 もしくはパッケージを更新しない自由について 〜

これはGentoo Advent Calendar 12/08分です。日付・・・・?なんのことです?

www.adventar.org

みなさん, emergeしてますか. emergeで困るのは謎のエラーです. たとえば以下のようなものを見たことがありませんか

Total: 35 packages (29 upgrades, 1 downgrade, 5 reinstalls), Size of downloads: 211,908 KiB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

app-text/hunspell:0

  (app-text/hunspell-1.5.3:0/1.5::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (app-text/hunspell-1.4.2:0/1.4::gentoo, installed) pulled in by
    >=app-text/hunspell-1.2.1:0/1.4= required by (app-text/enchant-1.6.0:0/0::gentoo, installed)
                             ^^^^^^^
    (and 1 more with the same problem)

NOTE: Use the '--verbose-conflicts' option to display parents omitted above

It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.

これはどのようなことが起きているのでしょうか? なんでemergeはビルドしてくれないのでしょうか.

sub-SLOT dependency

さっきのエラーを解説する前に, sub-SLOT dependencyという機能について見ていきます.

多くのプログラムはライブラリを使用します. すると, そのパッケージはそのライブラリに依存することになります. より詳しく言えば, 「ビルドした時点でのライブラリのABI」に依存することになります.

たとえば, パッケージXがライブリLを使うとして, L-1.0がある状態でXがビルドされると, XはL-1.0のABIに依存することになります. すなわち, ライブラリパッケージLが, L-1.0からL-1.1にアップデートされると, Xの動作は壊れてしまう可能性があります.

この問題の1つの解決策として, preserved-rebuildという機能がGentooでは提供されていました. これはXがL-1.1に対してリビルドされるまで, L-1.0のライブラリを残しておくという機能です.

しかし, この機能はpreserve-rebuild状態になったパッケージがリビルドされるまで, ライブラリが残ってしまいます.

こうした場合に依存関係を「壊して」, パッケージXをリビルドさせる方法はないでしょうか? ひとつの方法として, パッケージXに明示的に"=xxx-yyy/L-1.0"に依存させるという方法があります. すると, L-1.1にバージョンが上がると, Xの依存が壊れるので, 1) Lのバージョンを上げないか, 2) Xをリビルドするかで解決することになります.

だが, しかし, それは, Gentoo ではないんだなあ

Gentooは選択なので, パッケージXをL-1.0に対してビルドするか, L-1.1に対してビルドするかを選択できるべきです.

そこで, sub-SLOT dependencyという機能が導入されています. この機能はGentooのSLOT機能を拡張し, ABIに関する依存関係を記録できるようにしたものです. この機能が特徴的なのは, 依存関係がビルド時に書きこまれる, ということです.

たとえば, パッケージXに"xxx-yyy/L:0="と書くと, ビルド時に"xxx-yyy/L:0/1.0"(/の後はsub-SLOT)があれば, 依存に"xxx-yyy/L:0/1.0"が書きこまれます. 同様にビルド時のパッケージが"xxx-yyy/L:0/1.1"であれば, 依存に"xxx-yyy/L:0/1.1"が書かれます.

なぜemergeが文句を言うのか

それでは, sub-SLOT dependencyが分かったとして, なぜemergeが文句を言うのか見ていきましょう. エラーを再掲すると

app-text/hunspell:0

  (app-text/hunspell-1.5.3:0/1.5::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (app-text/hunspell-1.4.2:0/1.4::gentoo, installed) pulled in by
    >=app-text/hunspell-1.2.1:0/1.4= required by (app-text/enchant-1.6.0:0/0::gentoo, installed)
                             ^^^^^^^
    (and 1 more with the same problem)

こういうエラーです. なにを言っているのかちゃんと見てみましょう.

ここでは, "app-text/hunspell"が"app-text/hunspell-1.5.3:0/1.5"にupdateしようとしているのに対して, "app-text/enchant-1.6.0"が">=app-text/hunspell-1.2.1:0/1.4="と, hunspellのsub-SLOTに依存しているため, enchantの依存関係が壊れるのでemergeを行なうことができないよ!!と言っています.

Portageは現状, sub-SLOTによるリビルドを自動的に実行しません. これは, ある種パッケージのバージョン固定(ここではhunspell)を守るためと言うことができます.

いや, でも, 実際のところ, わりとどうでもいいこと多いよね. 自動的にやってほしくない?

autoemergeによる解決

っということで, こうしたコンフリクトを見つけて, 自動的に解決するスクリプトを書きました.

ここにあるよ. https://github.com/naota/emerge-wrapper/

この autoemerge スクリプトは, 以上のようなエラーを自動で解決します. しかも, この解決はemergeに"--reinstall-atoms="を自動的に追加して, 指定したatomにマッチするパッケージをrebuildしていいよ〜とPortageに伝えることで, 依存の解決を目指し, emergeの機能に閉じているので, 安心して使うことができます.

では, さきほどのケースではどのように使いどのように動くのか見ていきましょう. 中心となるのは"autoemerge"というスクリプトです. 以下のようにしてautoemergeを動かします. emergeと同じ引数を認識します. (というか, そのままemergeに渡していきます)

$ sudo python3.5 ./autoemerge -uDN -j2 world --keep-going --with-bdeps=y

するとemergeが依存を解決し, 以下のエラーを出します.

dev-lang/ocaml:0

  (dev-lang/ocaml-4.04.0:0/4.04.0::gentoo, ebuild scheduled for merge) pulled in by
    >=dev-lang/ocaml-4.04_beta:=[ocamlopt?] required by (dev-ml/camlp4-4.04_p1:0/4.04_p1::gentoo, ebuild scheduled formerge)
    ^^               ^^^^^^^^^

  (dev-lang/ocaml-4.03.0-r1:0/4.03.0::gentoo, ebuild scheduled for merge) pulled in by
    >=dev-lang/ocaml-3.12:0/4.03.0=[ocamlopt] required by (dev-ml/sexplib-113.33.00:0/113.33.00::gentoo, installed)
                         ^^^^^^^^^^
    (and 4 more with the same problem)

autoemergeはこれを解析して, 以下のようなログを出して, 適宜"--reinstall-atoms==dev-ml/sexplib-113.33.00"などをつけて再度依存関係を解析させます

reinstall (dev-ml/sexplib-113.33.00:0/113.33.00::gentoo, installed) for (dev-lang/ocaml-4.03.0-r1:0/4.03.0::gentoo, ebuild scheduled for merge)
reinstall (dev-ml/ocaml-re-1.7.1:0/1.7.1::gentoo, installed) for (dev-lang/ocaml-4.03.0-r1:0/4.03.0::gentoo, ebuild scheduled for merge)
reinstall (dev-ml/pcre-ocaml-7.2.3:0/7.2.3::gentoo, installed) for (dev-lang/ocaml-4.03.0-r1:0/4.03.0::gentoo, ebuild scheduled for merge)
reinstall (dev-ml/pcre-ocaml-7.2.3:0/7.2.3::gentoo, installed) for (dev-lang/ocaml-4.03.0-r1:0/4.03.0::gentoo, ebuild scheduled for merge)
reinstall (dev-ml/ocaml-re-1.7.1:0/1.7.1::gentoo, installed) for (dev-lang/ocaml-4.03.0-r1:0/4.03.0::gentoo, ebuild scheduled for merge)

この作業は再帰的に実行され, 全ての依存が解決された時点で, exec()システムコールでemergeが実行され, あたかも最初から適切な--reinstall-atomsをつけていたかのように, emergeが実行されます.

その他, emergeによってUSEフラグが更新された時に自動的にdispatch-confを呼びだして, emergeを再実行するなど, 手動でemergeを実行する様々な手間が省略されています.

さあ, みなさんautoemergeを使ってらっく〜にGentooを更新していきましょう. (バグが出たら, 笑って報告してね)

sub-SLOTを認め, ビルドしない自由を持つのがGentooなのだ

この後は特に読まなくていいとこです

そもそも, sub-SLOT dependencyが必要なのは, パッケージに"=xxx-yyy/L-1.0"などと書けないためです. ところがこれは, 世の多くのパッケージマネージャでは問題になりません. なぜでしょうか.

なぜなら, そうしたパッケージマネージャは基本的に, 1つのパッケージに対してひとつのバージョンしか提供せず, パッケージリポジトリが規定するライブラリとアプリケーションとの組み合わせをある種強制する, いわば「帝国主義的パッケージマネージャ」であるからです

だがしかし, そのような帝国主義的パッケージマネージャでは生きてはいけないのだ. たとえばお持ちのプログラムがPerl-5.20に依存すればどうなるか? ほしいパッケージが最新のディストリビューションリポトリにはあるが, そのリポジトリではperl-5.22がふってくるならどうすればいいのか. リポジトリに屈して, Perl-5.20および全てのそこに依存するパッケージを自分でビルドするのか? はたまたお手持ちのスクリプトをがんばってPerl-5.22に対応させ, リポジトリ内の最新のもろもろのパッケージに対応させるのか? どちらかを行わせる, これが帝国主義リポジトリの限界なのだ.

だが, われわれGentooには自由がある. お望みであれば, 好きにperlを5.20に留め, それでいて関係ないパッケージは最新にする, それがGentooの自由だ. 帝国主義リポジトリは打倒されるべきではないか? 立ち上がれ, 市民よ. Gentooの光を世界に広めるのだ.

#自宅サーバの思い出 Advent Calendar 一日目

www.adventar.org

みなさん, 自宅サーバは好きですか. ぼくは好きです. 自宅にサーバある! かっこいい!! うっとりしてファンの音を聞いたりなどしていたものですが…でももう自宅にサーバはないです.

そんな人もまだ自宅にサーバがある人も思い出を書くのが, このAdvent Calendarです. とりあえず自分の自宅サーバ設置時の思い出をてきとーに書きます. ゆったりとした気持ちのカレンダーなので, ざっと読んでください.

最初のサーバの話

中学に入り, 技術家庭の教科書を読んでみてプログラムに感動したぼくは「マイコン部」の門を叩きます. マイコンって言ってるけど, Windows 98の環境でF-BASICやVisual Basicが行われていました.

そんなマイコン部でプログラムを作っていると, HTMLも書きたくなるので書いて自分のホームページを作りました〜とかしました. infoseek的なレンタルスペース使ってた気がする.

さて, 太古の話なのでふぁぼられや多分はてブもないので数を数えるためにはカウンターというものを設置するのが一般的でした. CooooooolでいけてるカウンターCGIを探していると, なぜか"Red Hat"というものを見つけました. これはなんとCGIではなく, Linuxというオペレーティングシステムだったようです.

OSを自分で入れられるの? 無料で!? などに感動し, 余っていたマシンにRed Hatをインストールしました. コマンドは, このへんの本で覚えた. これら, 様々基本的なところが一通りまとまっていてとてもよかった…

 

RedHatLinux逆引き大全500の極意 基本操作編

RedHatLinux逆引き大全500の極意 基本操作編

 

 

Linux逆引き大全500の極意コマンド編

Linux逆引き大全500の極意コマンド編

 

 

あと、この2冊もバイブル. これらでよい下地がついた

 

LinuxサーバHacks―プロが使うテクニック&ツール100選

LinuxサーバHacks―プロが使うテクニック&ツール100選

 

  

Unixパワーツール

Unixパワーツール

 

 

とりあえずApachePerlCGIが動く〜掲示板が動く〜などとしてました. やがてメールサーバもやるぞ〜とかしてましたね. qmail, 立ててたよ. あとドメインとるような金や支払い方法はなかったので, Dynamic DNSなどしてがんばっていた.

その後の話

その後, いろんなディストリビューションがあると聞いたのでいろいろやってみました. Fedora Coreが出て, うおっと思ったり, Vine Linuxにしたらコンソールが日本語でかっちょええやん?と思ったり, Fedoraでも日本語コンソールしたいよと思ったりなどしていました. んで〜これはUniconというパッチをカーネルに当てればよい & userland daemonも必要と…わかったのだけれど, なんかFedoraではうまくいかなかったんですね…

そんな中, 高一の時にイギリスで買ったLinux MagazineにGentooが出てきました. めっちゃかっこいいやんこれと思ったわたしは帰国即Gentooインストール. そして, uniconを試すとするっとぬるっと動く!!! このへんの見通しの良さや扱いの良さにほれこみすっかりGentooラブになりました. いまではわたしがGentoo開発者.

Gentooを入れてからは, PHP変愚のスコア検索サイトを作ったりしてました. elisp.net とかいうやばいドメインをとったのもこのへんか?

自宅サーバの終焉

VPSがやってきました. 終焉です.

確かに自宅サーバの方がまだもう少しスペックは良かった. だけれど, 回線事情とか, 電気あたりのメンテとか, たまに部屋にいる時のファンの音など考えているとVPSが良くなってしまった. それにVPSというものを使ってみたかったのだ…

自宅サーバで動かしていたコンテンツは, まるっとVPSに移された. qmailはやめた. IMAPサーバもやめた. メールはpostfixで転送していくだけにした. さくらVPSはべんりだった.

いまVPSでは, GenTwooというものが主にCPUとメモリをmogmogしている. 一番安いプランでやってるから, とてつもなく限界で時々mysqlがOOMで死ぬ. そろそろプラン上げるかな〜〜〜と思っていたら, Amazonからおもしろいの来ましたね. そっち試してみるかな…

…と, 最後はVPS話になりましたが, 自宅サーバはくすぐるロマンがあってかっこよかった. 自宅でLinuxがずーん!とあるのに心が踊った. 自宅サーバのおかげで, Linuxを覚え, viを覚え, Gentooを覚え, カーネルを覚えた. 自宅サーバへのインストールの中でいろんなファイルシステムを知った. 結局, 自宅サーバに心をくすぐられて踊ってるうちに, Gentoo開発者になり, Linuxカーネルの連載をし, ファイルシステムのpatchを書く人間になった. 自宅サーバは少年の心に極めて輝いていた. その機体は実家のクローゼットの片隅で眠っている.

Emacsの描画がおかしくなってつらかったけどdouble bufferingでサイコーになった

i3wm上でEmacsを使っているんですが、描画がときどきおかしくてつらかったんですよ

具体的には、window sizeが変わっても変わった部分が描画されなかったりした。つまり、たとえば幅が画面の左半分->画面全体、となった時に右半分は描画されず黒くなっていたということがおきていた。

他にもC-vでbufferを一気にスクロールすると上半分だけが更新され、下半分は昔の内容のままだったりした。あとは文字の上下に削した文字のなごりなのか、ちょいちょい線が出ることがあって気持ちわるかった・・・

なにが起きているのかはよくわからなかったが、とりあえずdouble buffering patchを当ててたみたらうまくいくんじゃない?ってことで当ててみた

Buttery Smooth Emacs

patchそのものは25.1には奇麗には当たらないので、NEWSとsrc/Makefile.inを編集する必要があった。結果はこんな感じ。

gist.github.com

Gentooのみんなは、このpatchを/etc/portage/patches/app-editors/emacs-25.1/emacs-double-buffer.patchとかに置いて、emerge -1 emacsするだけで簡単にpatchが当たるね。他の人はがんばってね。

さて、このpatchを当ててみると悩んでた問題がすっきり解決した。描画もどことなくきれいだし、スクロールバーがちかちかしてたのも解消した。double bufferingで彼女もできた。これはもうGentooをインストールしてdouble buffering patchを置いてemarge emacsするしかないですね。

誕生日

28歳の誕生日となりましたので今日からサバンナに行ってきます。せっかくだから「お前それサバンナでも同じ事言えんの?」ってことを言ってこようと思います

ほしいものリストからなにかぽちってくれるとサバンナから生還した暁に喜びます。では

http://www.amazon.co.jp/registry/wishlist/1L7MBLZGS6AA/ref=cm_sw_r_tw_ws_x_k9XfybK6A8KPC

寄席に行った

先日寄席に行った。通算3回目。浅草演芸ホールは今回初めて

一応、お目当ては神田松之丞さん。渋谷らくごで一度見てあっというまに覚えてしまった。講談というとどうにも固くよくわからない昔のことを語ってはい〜いところでぶつりと切ってしまうというイメージがあったがそれを一変させてくれた。ほんと毎回よいんですな・・・。ぜひ独演会などにも行ってみたい。

今回は講談あるあるネタ?をマクラに江戸時代の剣術名人のお話. いつも通り大変におもしろかった……

www.matsunojo.com

 

今回は昼の部全部いるつもりだったので、お弁当を買った。寄席の外にもドンキやらお弁当屋さんがあるし、中でもお弁当を売っている。外のお弁当屋さんは安い&かなりヘビーな感じだった。今回は中でお弁当を購入。助六寿司

適当に印象に残った方を紹介

最初は神田 みのりさんの講談からだった。宮本武蔵の話

www.geikyo.com

 

鯉ん(こいん)さん、名前のインパクトで完全に覚えてしまった

www.geikyo.com

 

古今亭 寿輔師匠. 「小言念仏」がほんっとおもしろかった。 「小言念仏」自体は以前別の人で聞いたことがあったのだが、その時はまあいまいちで。人による違いを実感できた。

www.geikyo.com

 

鏡味 味千代さんの太神楽。

鏡味味千代プロフィール / 太神楽曲芸協会

五階茶碗という芸で、こんな感じで茶碗をのせた台を棒やら鞠やらでささえていく芸。単純に見てわかってすごい。なかでも、この画像の鞠のところに扇子をはさんで、手をつかわずにとりだす(身体を横にふって扇子を落とす)のに驚いた。

http://www.daikagura.org/_src/sc196/gigei_gokai.jpg

 

他にもよくある桝を傘でまわすやつなど、初めて生で見てよいものであった。

この方、おもしろいな〜と思ってふとぐぐってみると、トリリンガルだったり、元OLで30歳でこの道に入っていたりとおもしろい経歴の方でした。

www.huffingtonpost.jp

 

東京太・ゆめ子さんの仲のいいw夫婦漫才。夫婦漫才ってなぜこんなに安定してるんですかね・・・。

東京太・ゆめ子 - Wikipedia

 

 

P.S. 落語芸術協会さんは画像をmetaにいれておくと上の方のインラインがいい感じになると思います

今週読んだ本 (9/11-9/17)

今週は本を4つ、コミックを33読み終わっていた。

 

開発現場のストレスを減らすアサーティブ会話術 キッチリ上達する7日間講座 (エンジニア道場)

開発現場のストレスを減らすアサーティブ会話術 キッチリ上達する7日間講座 (エンジニア道場)

 

こんなふうに話していくと楽なのかなと学べてよかったですね。実践したいところだ。 

 

やっぱり変な漫画だった。サイコー。まだ2巻ないようなので続きに期待している。 

 

出会って5秒でバトル(1) (裏少年サンデーコミックス)

出会って5秒でバトル(1) (裏少年サンデーコミックス)

 

主人公の能力が結構おもしろくってこれからに期待している。楽しみ。 

 

銃夢(GUNNM) 3 (ヤングジャンプコミックス)

銃夢(GUNNM) 3 (ヤングジャンプコミックス)

 

舞台が変わってしまったがどうなるのやら。アクション性が上がった気がして, それはよい 

 

にこやかだけどなにか違和感のある心臓を掴んでくるようなプレッシャーのある顔の父親がこわかった。ビジネスのような顔で家族に語りかけてくる. 見ていて違和感をかきたてられるいやな顔. みなさんのバックグラウンドが少しずつ出てきて楽しみですな 

 

ソフィーの世界は何度か読んでるのだけど、いつも分かったような分からんような気持ちになって終わる。ところが、いまのところは大体分かったような気になっていて、これは多分下巻でわけわからなくなるフラグなんだな

 

がきデカ 自選集1

がきデカ 自選集1

 

昔、これ大丈夫だったんだなあ・・・ 

 

この巻、映画を見にいくってやつがあって最近のシンゴジラとからめて読むとめっちゃおもしろい感じになる. 

 

彼女はろくろ首(3) (週刊少年マガジンコミックス)

彼女はろくろ首(3) (週刊少年マガジンコミックス)

 

ろくろ首なだけのラブコメかと思ってたけどだんだん背景が出てきた? ちょいと気になるあたりで終わってしまった 

 

 いやー, ついに清算しちまいましたね. どうするのかな. どうなるのかな.

 

トラウマイスタ 4 (少年サンデーコミックス)

トラウマイスタ 4 (少年サンデーコミックス)

 

最後、おま・・・おまえーっ!って感じだったけどいっきに特別感が出てきた。よかったぞ。 

 

穴殺人(3) (マンガボックスコミックス)

穴殺人(3) (マンガボックスコミックス)

 

 人殺してくだけかと思っていたら, いつのまにかキャラ立った人増えてきましたね. 変人殺人者バトルみたいな感じになってきていいぞ

 

ハルノクニ(4)

ハルノクニ(4)

 

昔最初だけ読んでてどうなったのかと思ってまたいま読んでたが…最後なあ…演説バトルになってしまってどうも…. 昔そのまま読んでたらまだよかったかな. 

 

アシガール 1 (マーガレットコミックス)

アシガール 1 (マーガレットコミックス)

 

最近のタイムトラベルは展開がはやい!みたいな感じになってる. ところどころ演出が昔っぽいのはこれは…なんでなんだ? 

 

菜の花の彼─ナノカノカレ─ 1 (マーガレットコミックス)

菜の花の彼─ナノカノカレ─ 1 (マーガレットコミックス)

 

 わ・・・わかいー・・・って感じでした・・・・。 ういういしさではなく, わかい〜な感じの出来事が高速で起きていくのでちょっとわたしにはきつい…. イベントがおこりすぎて, いまいち余韻が…

 

 

  

 

 

スラムダンク (11) (ジャンプ・コミックス)

スラムダンク (11) (ジャンプ・コミックス)

 

 

僕はビートルズ(7) (モーニング KC)

僕はビートルズ(7) (モーニング KC)

 

 

のぞき屋

のぞき屋

 

 

短期集中!ネットワークスペシャリスト教本

短期集中!ネットワークスペシャリスト教本

 

 

実験人形ダミー・オスカー 8

実験人形ダミー・オスカー 8

 

 

狂人日記

狂人日記

 

 

殺し屋1 第2巻

殺し屋1 第2巻

 

 

釣りバカ日誌(7) (ビッグコミックス)

釣りバカ日誌(7) (ビッグコミックス)

 

 

14歳 (2) (小学館文庫)

14歳 (2) (小学館文庫)

 

 

華麗なる食卓 34 (ヤングジャンプコミックス)

華麗なる食卓 34 (ヤングジャンプコミックス)

 

 

 

 

ぽっかぽか 4 (クイーンズコミックスDIGITAL)

ぽっかぽか 4 (クイーンズコミックスDIGITAL)

 

 

ブッダ 1

ブッダ 1