人生ずっと勉強。
ITを軸としたT型人間になりたい人のブログ。
10 | 2017/11 | 12
S M T W T F S
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -

スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

引越し
はてなブログへ引越しました
http://kiyotakagoto.hatenablog.com/
スポンサーサイト
計算機科学体系を一覧表にしたデニング図
cs.png

図解雑学 コンピュータ科学の基礎 (図解雑学シリーズ): 河村 一樹: 本 http://amzn.to/y0Pu6F より。

元ネタはComputing as a disciplineみたい。

こうやって体系だった表と照らしながら学習を進めると、
頭に残りやすい。
今何を勉強しているのかわからなくなって迷子になることもなくなる。

プロセス、子プロセス、スレッドの関係
プロセス・子プロセス・スレッド

・OSから見れば、プロセスもスレッドも概念的に違いは殆ど無い。スケジューリングはおんなじように行われる。
・ただスレッドの場合は文脈切り替えの際にコストが低い。
・スレッドは、ユーザレベルで実現することも可能。コルーチン使うとか。
・これって結局、プロセスAのスレッド1→プロセスBのスレッド1→プロセスAのスレッド2
ってスケジューリングされちゃったらスレッドといえど文脈切り替えコストかかりまくるってことよね。
その辺スケジューリングアルゴリズムがうまいことやってくれるのかなぁ。

【 perl 】Text::MeCabのインストールがうまくいかない
mecab をインストール後、CPANモジュールの Text::MeCab を
cpan -i Text::MeCab

でインストールしようとしたら、
Failed to load or import from ExtUtils::ParseXS (version 2.21).
Please check that ExtUtils::ParseXS is installed correctly and that the newest version will be
found in your @INC path: "report_error_count" is not exported by the ExtUtils::ParseXS module

というエラーが出た。
@INC を見てもちゃんとパス通ってるし、@INC の中でカレントディレクトリは最後だったし、
ParseXS.pm を確認するとバージョンは 3.04 だし、@EXPORT_OK に report_error_count もある。

なんぞこれと思って、Text::MeCab に同梱されてる ExtUtils::ParseXS を確認してみると
バージョンが 2.21 で、@EXPORT_OK に report_error_count もなかった。
やはりなぜかこっちが使われてるっぽい。

@INCにパスが通ってる方を使わせる方法がよくわかんなかったので、
CPAN の Text::MeCab のページから
tarボールを持ってきて展開後、展開されたディレクトリ内にある
inc/ExtUtils
以下をすべて削除して、
perl Makefile.PL
make
make install

してとりあえずインストール完了。

なんかもっとまともな対象方法がある気がするけど一応メモ。
【node.js】 Error: Cannot find module 'jsdom/browser/domtohtml' が出たのだが解決方法がよくわからん
Error: Cannot find module 'jsdom/browser/domtohtml' 

node も npm も一般ユーザのホームにインストールした状態で、
npm で jsdom をインストール後、 jsdom/browser/domtohtml を使おうとしたら
上記のエラーが出た。

npm でグローバルインストールすると、
~/local/node/lib/node_modules
にモジュールがインストールされる。
tree コマンドで ~/local/node/lib/node_modules/jsdom のディレクトリ構成の一部を見てみると、以下の感じ。
~/local/node/lib/node_modules/jsdom/
├── benchmark
│ ├── (略)
├── changelog
├── example
│ ├── (略)
├── lib
│ ├── jsdom
│ │ ├── browser
│ │ │ ├── domtohtml.js
│ │ │ ├── htmlencoding.js
│ │ │ ├── htmltodom.js
│ │ │ └── index.js
│ │ ├── level1
│ │ │ └── core.js
│ │ ├── level2
│ │ │ ├── core.js
│ │ │ ├── events.js
│ │ │ ├── html.js
│ │ │ ├── index.js
│ │ │ ├── languages
│ │ │ │ └── javascript.js
│ │ │ └── style.js
│ │ ├── level3
│ │ │ ├── core.js
│ │ │ ├── events.js
│ │ │ ├── html.js
│ │ │ ├── index.js
│ │ │ ├── ls.js
│ │ │ └── xpath.js
│ │ └── selectors
│ │ ├── index.js
│ │ └── sizzle.js
│ └── jsdom.js
├── LICENSE.txt
├── node_modules
│ ├── (略)
├── package.json
├── README.md
├── status.json
└── test
├── (略)
├── LICENSE.txt
├── runner
├── sizzle
│ ├── (略)

どうも、
~/local/node/lib/node_modules/jsdom/lib/ 以下の .js ファイルを読み込んでるみたい。
ところが、 jsdom.js は
require('jsdom')
とすれば読み込めるのに対し、domtohtml.jsはなぜか
require('jsdom/lib/jsdom/browser/domtohtml')
としないと読み込めなかった。
環境変数は
NODE_PATH = ~/local/node:~local/node/lib/node_modules、
PATH =~/local/node/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:~/bin

という状態。

うーん・・・。

ちなみに、 NODE_PATHに
~local/node/lib/node_modules/jsdom/lib
を追加すると、今度は jsdom.js が見つからなくなるという現象が起こる。

~/.npmrc にはとくにPATHに関する設定はしていない。



うーん・・・。



わたくし

いろいろリンク

カテゴリ

月別アーカイブ

最新記事

最新コメント

最新トラックバック

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。