2009年01月26日

C→C++

Cの勉強は 「明解C言語 入門編」 を一通り読んだところでとりあえず終わりにして、先週本屋で 「明解 C++」 を買ってきた。

分厚い。200ページくらい多い。「入門編」ってついてないから?それとも「++」分?

今200ページ目を過ぎてポインタに入ってきたあたり。C++はCの拡張だけあってこの辺まではサクサクです。 著者も同じだしほぼCのおさらい。それにC++の方が自然な感じ。面倒なことをあまりやってない。

最初からC++でもよかった気もするけど、Cで一回やってるから、という理由ですぐ飲み込める場所も多い。「Cでは〜」 という記述も割と多いので、まあ、この順番は正解だったと思う。

それで、もうあと80ページほどで「クラス」ってやつの説明に入る。 どうもAmazonのレビューとか見てるとこの本だけだと理解が難しいらしい。さてどうなることやら。

できたら1月中には一通り終わらせたいところ。早く実用的な能力を身に着けたい。

posted by Rion778 at 01:25 | Comment(0) | TrackBack(0) | diary | このブログの読者になる | 更新情報をチェックする
2009年01月24日

「デフォルトって何ですか?」

「デフォルト」という単語は伝わらない場合がしばしばある。

デフォルトという単語をいつ覚えるかということを考えると、

  • PCつかってて覚えた。
  • TVゲームやってて覚えた。
  • 英単語として覚えた。

これくらいじゃない?

テレビとか新聞とかそういうメディアではほとんど使われないし、ちょっとした家電製品の説明書なら「デフォルトで〜」じゃなくて 「初期設定では〜」と書いてあるのが普通。

とかなんとか、そんな話を最初に聞いて「へー」と思ったのがたしか2〜3年前。 もうさすがに浸透してんじゃないかと思っていたけどそうでもない。やっぱ上記の理由で想像以上に使用する人種が限られている。 本当に聞いたことすらない、というような人がいる。「あんまりパソコンとか詳しくないんですよ」 というような人が知らなくても不思議じゃない。

便利な言葉だけど相手が知ってると思い込んで使ってると何かしらの齟齬を生んでしまうかも知れないので、 何か説明するようなときは気をつけないとダメだなと。相手が質問してくれたらいいけど、「知ってて当然」 みたいな雰囲気のことを尋ねるのは誰にでもできることではないだろうし、不愉快な気分にさせても面白くないし。

自分の知識の一般性を知っておくことと、相手の知識の分布をすばやく認識するってことは重要ですね。「常識」 なんてのは存在しないと思ってた方がいい。

posted by Rion778 at 16:29 | Comment(0) | TrackBack(0) | diary | このブログの読者になる | 更新情報をチェックする
2009年01月22日

数式画像の作り方[LaTeX]

Windowsさんむけ。pngとemf。

LaTeXの環境は一通りそろってて、dviが作れて、dvipngが入ってて、dvioutも入ってるとする。

・準備

雛形として、次のような.texファイルを作っておく。

\documentclass[12pt]{jarticle}
\usepackage{amsmath,amssymb,bm}
\begin{document}
\setcounter{equation}{3}
\thispagestyle{empty}
\Large{
\begin{align}
 x = y \notag
\end{align}
}
\end{document}

数式はalignの中に書く。もちろん、equation環境でもおk。利点はないと思うけど。

数式番号がほしければnotagをはずし、setcounterを目的の数式番号のひとつ前にセット。

そうしてdviファイルを作っておく。以下、math.dviというファイルが完成したとして解説。

1. png形式

ブログとかに貼り付けたいとき。

ここ (物理のかぎしっぽ)を参考にコマンドプロンプトで次のように入力

dvipng math.dvi -T tight --freetype0 -Q 5 --gamma 1.1

これでmath.pngが完成。

もしも背景色、文字色などのオプションをつけたいとき、くくるのがシングルクオーテーション「’」ではなくダブルクオーテーション 「"」でなければならないということに注意。

楽にやりたい場合、テキストファイルに上記コマンドを記述しておき、「hoge.bat」 などとしてmath.dviと同じフォルダに保存しておく。hoge.batをダブルクリックするだけで画像が吐き出される。

2. emf形式

こちらが詳しいです。 以下は私の確認用ですので、いろいろ知りたい人は向こうを参照するといいと思います。)

PowerpointとかWordとか、Office周りのモノに使いたいとき。論文に数式使いたいのに学会の指定がWord……! なんてことありますねたまに。そんなときに。

dvioutでmath.dviを開く。

Option → Setup parameters → Resolution

resolution dpi: を600とかその辺まで上げる。

Save(いらない?) → OK

Display → Region → ON

Shift+左クリックで左上頂点決定、Shift+右クリックで右下頂点決定

File → Save as Image → EMF in clipboard

WordとかPowerpointの貼り付けたい場所で「貼り付け」。

----

論文ならまだいいのかもしれないけど、 学会の要旨なんかは1枚に指定の体裁でおさめる必要があるからLaTeXだとちょっと難しいなぁ。

posted by Rion778 at 23:50 | Comment(0) | TrackBack(0) | PC関連。HTMLとか,Linuxとか,Rとか | このブログの読者になる | 更新情報をチェックする
2009年01月19日

卒論執筆でお世話になったWebサイト・本・ソフトウェア

世間では卒論などが追い込みの時期だろう。昨年の今頃は私もそんな中に。

ここで昨年を思い出しつつ、論文執筆の上でお世話になったリソースをまとめてみようかと思う (ちなみに私は分類で行くと理系だと思います)。

以下、自分が世話になったもののまとめなので、万人に役立つものではないだろうし、 また現在進行形で追い込んでいる学生に役立つものとも限らない。どっちかというとB1〜3、M1などが役に立つんじゃないだろうか。

Webサイト・本・ソフトウェア、それぞれ3つずつ。

Webサイト

東大で学んだ卒論の書き方論文の書き方

もはや説明するまでもない。年に一度、 秋から冬にかけてほぼ確実にはてなブックマークのホットエントリーに浮上してくる風物詩的ページ。

まずはここを読もう。いつでもここに戻ってみよう。

GoogleGoogle Scholar

論文・資料の検索に。

…は当然として、私は英語の表現方法がどうしても分からないときの答え合わせとして使った。 もちろん辞書や例文集は第一に頼るべきだが、その語句、節で検索することで、本当にそのような表現が論文において一般的であるか、 また自分の分野で使われているのかを確認することができる。また、思わぬ論文との出会いのきっかけにもなり、視野を広げるのにも役立つ。

Webcat Plus

キーワードだけでなく、文章でも文献検索ができる。「自分の大学の図書館にあの文献はあるだろうか?ないとしたら、どの大学、 図書館にお願いしたらいいんだろう?」そんなときに。

理科系の作文技術

もはや古典の感は否めないが、それでも論文執筆に当たって第一に読むべき本はこれ。冒頭で紹介した「東大で学んだ〜」と同じく、 執筆の前に読むべきで、執筆に詰まったら読むべきで、見直すときにも読むべき本。

基本的な部分はこの一冊がほとんど教えてくれる。

推計学のすすめ―決定と計画の科学

データ処理にあたって統計学が理解できていないと困るが、統計学はそれほど容易なものでもない。基本的な道具ですら、 少し突っ込むと手に負えない複雑さと難解さを垣間見せる。

そういったあまり見たくない一面を避けつつ、かつ雰囲気として理解しているべき最低限の部分を抑えているのがこの一冊。 統計学が推計学と呼ばれていたころの本だが、基礎部分が対象なので今でも通用する内容。

もちろん、統計学に自信のある人は特に読む必要はない。

卒論執筆に取り掛かってからというより、実験計画程度以前に読んでおくべき本。

統計でウソをつく法―数式を使わない統計学入門

データとはどういう形をしているもので、統計学をデータにどのように適用するか、また、 他人のデータをどのように読み取るべきかということを教えてくれる。 どちらかというとデータの取り扱いに関する哲学みたいなものを扱っていて、具体的な方法が詳細に述べられているわけではない。 それでも一度は目を通しておくべき。長く読まれているものにはやはりそれなりの理由がある。

半世紀もの昔からのロングセラーで、いまだにこの本に書かれているような「ウソをつく法」が使われているのかと思いたくなるが、 残念なことにいまだに使われている場合が多い。

これもできたら実験計画以前に読んでおくべき本。

ソフトウェア

(基本的にWindowsユーザー向けです。 MacとかLinuxとか使う人は大概が変態なので私よりずっとパソコン関係には詳しいだろうし、そもそも勝手にやるでしょう。)

TeX・ LaTeX

(リンク先はTeXに関する有用な情報源であるTeX Wiki)組版ソフト。特に数式の出力が綺麗。 TeXではHTMLのようなマークアップ言語を処理することで、 DVIやPDFといった形式の文書を作成できる。仕上がりは非常に綺麗で、 出版物に使用される例も多い。

学会によっては論文提出用にTeXのスタイルファイルを配布している場合もあり、覚えておいて損はない。 特に数式を使用する可能性のある人は覚えておくべき。Wordをメインに使う場合でも、 数式の可読性を高めるためにTeXで処理した数式を貼り付けると良いだろう。

綺麗な数式が書けるということ以外の利点は、文章の本体がテキストファイルとなることで、 複数のバックアップを用意に取れるということ、突然のエラーでデータが消失する危険性が減るということだろう。また、 完全に無料であるという点も重要。

欠点は導入と初期設定のわずらわしさにある。 ただし最近は必要なものをまとめてインストールしてくれるインストーラもあるのでそれほどでは無いように思う。また、 HTMLなどに慣れていない場合は覚えたりなれたりするのに多少の時間が必要かもしれない。

それとWeb上にはそれ単体で学習できるようないいリソースがあまり無いような気がする。私は[改訂第4版] LaTeX2ε美文書作成入門 という本を買って勉強した。後に辞書的にも使えるのでいい本だと思うが、 他のLaTeX関係の本を持っていないので比較はできない。まあでも一冊で済んでいるということはいい本なんだろう。

xyzzyというテキストエディタにKaTeXというモノを組み合わせて使うのがお勧め(参考: xyzzy + KaTeX [物理のかぎしっぽ])。

JabRef

(リンク先はJabRefの使用方法などを解説した「JabRefによるBibTeX文献管理とJab2HTML」) LaTeXではBibTeXというツールで文献管理ができる。 BibTeX形式で記述された文献リストのテキストファイルを所定の方法で処理することで、 LaTeX文書の中に自動で引用番号を振ったりできる。

また、BibTeX形式の文献情報提供がサポートされている場合も多い(たとえばGoogle Scholarなんかがそう)ため、 LaTeXとあわせて覚えておいて損はない。

JabRefはこのBibTeX形式の文献リストを管理するためのソフトウェアだが、検索機能はもちろんのこと、 論文ウェブサイトへのリンクを記憶したり、論文PDFをダウンロード・保存したりと文献の管理に有効な機能が多く含まれている。

そのため、たとえばBibTeXを使う気がなくとも文献管理ソフトとしてかなり有効なものである。フリーなのも重要。

R

(リンク先はRjpwiki)統計処理とグラフィックスに特化した言語、環境。

CUIなのでエクセルよりはとっつきにくいが、インタプリタ言語で入力内容を逐一解釈、実行してくれるので、 コンパイルが必要なC言語などに比べたらとっつきやすいだろう。 WindowsならRguiというRの作業を行うのに便利な環境とエディタが標準で付いてきて、 完全なCUIというわけでもなくなるのでとっつきやすさはさらに高い。

Rは多くの統計手法が「関数」の形で最初から用意されているのが特徴。t検定、分散分析、多重比較みたいな簡単なものから、 ブートストラップ、クラスタ分析など本当に数え切れないほどの手法がカバーされている。 テキストマイニングやマイクロアレイの解析だってできるし、画像も扱える。汎用性は極めて高い。

Excelとの連携性を高めた関数も多いので、別にExcelを窓から投げ捨てる必要もない。

最初にベクトルやデータフレームを丁寧に勉強し、次にExcelデータからそれらを作り出す方法を理解し、 その後に統計処理を行う関数の使い方やプログラミングへ進むと、統計に関しては比較的短期間で実用的なレベルの能力が身に付くと思う。

グラフは頑張れば綺麗なものも描けるけど、結構な勉強と慣れが必要。 ExcelやCalcの方が手っ取り早いし少ない労力で綺麗になると思う。

情報源として本を頼るのもいいけど、基本的なことならR-tipsでほとんど間に合う。 ありがたいことです。あと青木先生のWebサイトも同時にチェックしておきましょう。

フリー。驚くべきことにフリー。

----

これらは特に印象に残っているし、ほとんどは今でもお世話になっている。

あとはカフェインとブドウ糖とBGM。中毒にならない程度にほどほどに。

posted by Rion778 at 23:35 | Comment(0) | TrackBack(0) | 勉強ノート | このブログの読者になる | 更新情報をチェックする
2009年01月18日

Resucue and Recoveryのバックアップコピーと削除

ようやくバックアップのコピーが終わった。

なんかソフトのエラーというより熱暴走で止まってただけのような気がする。昨日はもう終わりそうになかったので、 ワインのコルクを縦半分に切ったものを下に置いて廃熱を良くして寝たんだけど朝には無事コピー終了してた。

ただ、コピーしても自動で削除してくれるわけではないので手動でローカルのバックアップを削除しないといけない。

削除のコマンドはResucue and Recoveryのメニューから探せばすぐ見つかるけど、日付しか選択できない。 どうもローカルとネットワークと双方のバックアップが同時に削除されるっぽい感じがする。それでは困るので手順を踏んだ。

  1. 保存先を一旦ローカルに変更
    • 変更時に「他のコピー消す?」って聞かれるけどもちろん断る。
  2. バックアップを削除する
    • 部分的に削除するとやたら時間かかる上、どうも一部が別の日付のバックアップに移行されるらしくあまり容量が空かない。 なんか複雑なバックアップしてるんだろうか。
    • なのでローカルのバックアップは一度に全部消した。
  3. 保存先をネットワークに戻す

これでようやくバックアップが外部媒体へ完全に移った。Cドライブの空き容量は40GBくらい増加。

あとはNASのバックアップを取れば完璧だろうと思う。バックアップのバックアップが必要かどうかはともかくとして、 普通にストレージとしても使いたいのでHDのバックアップはしたい。LS-C500LにはUSBポートが付いていて、 そこにUSB接続のHDDをつないでおけば中身をバックアップしてくれるらしいのでまた金銭的に余裕があるときにやる。

posted by Rion778 at 14:00 | Comment(0) | TrackBack(0) | PC関連。HTMLとか,Linuxとか,Rとか | このブログの読者になる | 更新情報をチェックする
2009年01月17日

PCのバックアップ×2

昨年家のPCのHDがお亡くなりになられて、そのうえバックアップをろくに取ってなかったものだから大変苦労をした。 それでいいかげんにバックアップ用の記憶媒体を買わないといけないとずっと思ってて、先週くらいに BUFFALOのLS-C500L というやつを買った。

LAN接続の外付けHDD。いわゆるNAS(Network attached storage)というモノ。

家用とモバイル機と2台のバックアップを一台で簡単に済ませたかったので、NASは初めてだけど手をだしてみた。

設置&一台目の接続は特に問題なし。CD入れて2〜3回クリックしただけ。問題なさすぎて逆に不安になる。 セキュリティとかどうなってんのかよく分からない。

セットアップ終了後、付属のバックアップソフトで自宅機のバックアップをやってみることにした。

これは別にHDのイメージを丸ごとバックアップするとかそういうのではないらしい。フォルダを選択してバックアップの周期を決める。 完全バックアップか増分バックアップか選べるけど、家のPCには特に重要なデータもないので増分にした。要するに同期とってるだけ? ルーター介しているからなんだろうけどボチボチな時間がかかった。

それで次にモバイル機のThinkPad X61のバックアップ。

まずはNASの認識から。WebからBULLALOのNAS Navigatorをダウンロードしてきてネットワークドライブに割り当てるだけだった。ただファイヤーウォール切らないと認識しないし、 認識後にONにするとしばらくして認識しなくなる。特にウイルスバスターのファイヤーウォールと相性悪いみたい。 Windowsのファイヤーウォールならなんとかいけそうに見える。何が原因なんだろう。バスターだから?2台目だから?Vistaだから? (2009/01/18 19:32 ウイルスバスターのメイン画面からパーソナルファイヤーウォールを選択、プロファイルを 「家庭内ネットワーク」などに変更することで解決)

ThinkPadにはRescue and Recoveryっていうバックアップソフトが入っていて、 これは多分HDのイメージを圧縮とかした上でバックアップしてくれる。いざって時には便利だろう。 ただバックアップ先はデフォルトだとローカルなので、物理的に壊れたらおしまいな上に結構な容量を圧迫する。

でも保存先にはちゃんとネットワークも選択できて、多少手間取ったけどちゃんと認識してくれた。

それでバックアップ開始。

残り時間 … 3012分

んな

いや、こういうのは最初にすごく長い時間が出るけど実際は短い時間で終わるはずだ。

と思ったのが昨日の夕方。

終わったのは今日の昼過ぎ。

まあ3000分(≒2日)よりは大分短かったけど。

なんか上にも書いたとおり圧縮みたいな作業をするのでそれにずいぶん時間がかかっていたらしい。 あと無線LANで飛ばしてるので転送にもそれなりに時間がかかる。

それで、ローカルに溜まっているバックアップも移動させてしまいたいので、バックアップのコピーとやらを実行。

残り時間 … 1056分

えー

いや、こういう(ry

それで昼から開始して現在に至ると。

なぜかは分からないけど作業の途中で停止してコピー不能になる。それで完全にダメだというのならあきらめも付くけど、 再起動して再度コピーを試みるとどうも途中からコピーが再開されるらしい。残り時間が前回より少ないところからカウントされる。

残り時間 … 374分

posted by Rion778 at 23:11 | Comment(0) | TrackBack(0) | PC関連。HTMLとか,Linuxとか,Rとか | このブログの読者になる | 更新情報をチェックする
2009年01月14日

雪でCの勉強が進みません

気が付いたらPCの前で寝てた。起きたら大変足がダルイ。

なぜかと今日一日を振り返ってみると…

今日は雪が大変積もっていた。帰りには止んでいたけど、路面がところどころアイスバーンで非常に歩きづらかった。その上、 一見するとそれと分からない薄い氷が張っている場所があってかなり神経と体力を消耗した。 なんかこの見た感じ普通の路面なのに凍っている状態はブラックアイスバーンとかブラックアイスとか呼ぶらしい。

そんなこんなで今日もCの勉強が進まない進まない。今日は10ページほど。もちろん雪のせい。間違いなく雪が悪い。寒いし。

ポインタの内容がどうも頭に入ってこない。いや、入るんだけど残らない。

とりあえず書いてまとめる。

  • &演算子を変数名に使うと、変数の中身が格納されているアドレスが得られる
  • アドレスはポインタに入れられる
  • ポインタに*演算子を使うと、ポインタの指すアドレスに格納されている中身を取り出せる
    • ポインタを宣言するには、宣言時に*演算子を付ける
    • ポインタの宣言時には型名も必要で、 代入するアドレスに格納されているものと同じ型で宣言しなければいけない
#include <stdio.h>
int main(void){
int n1, n2;     /* int型の宣言         */
int *n1p, *n2p; /* int形ポインタの宣言 */

n1 = 10; n2 = 20;
n1p = &n1; /* ポインタにはアドレスが代入できる */ n2p = &n2; /* アドレスは&演算子で得られる   */
printf("n1のアドレス: %p\n", &n1); /* ポインタの変換指定は%p */ printf("n1pの中身: %p\n", n1p);
printf("n2の中身: %d\n", n2); /* ポインタの指す先に入っているものは */ printf("n2pの指す先の中身: %d\n", *n2p); /* *演算子によって参照できる */
return 0; }

実行結果:

n1のアドレス:      0012FF60
n1pの中身:         0012FF60
n2の中身:          20
n2pの指す先の中身:  20

でもこのくらいならうっすら前回前々回の挫折時の記憶が残っているので、問題はこの先。

posted by Rion778 at 00:36 | Comment(0) | TrackBack(0) | diary | このブログの読者になる | 更新情報をチェックする
2009年01月12日

ThinkLight

X61を購入したのが4月ごろ。今さっきコレにキーボードライトが付いてるのに気が付いた。

ThinkLight

ここにライトっぽい刻印がされてるのは気づいてたけど、てっきり明るさセンサだと思ってた。 適当にショートカット押して遊んでたら突然付いてビビった。

WikipediaによればThinkPadを特徴づける機能の一つっぽいよ。

それでこれ、すごく小さい。小さい白色LEDが一灯だけ。

こんなもんで手元が見えるようになるのかと試してみたくなったので部屋を真っ暗にして実験。

ThinkLight OFF

↑OFFの状態。

↑ONの状態。

部屋は真っ暗、液晶の明るさは最低にしてある。カメラは三脚に固定し、露光時間を2秒にして撮影。 まぁ所詮は写真なので実際の感じを正確に伝えるのは無理だけど、比較的近い雰囲気で写っていると思う。

液晶からの明かりのみではたとえ輝度を最大にしてもちょっと目を凝らさないと見えないキーがいくつかあるのだけれど、 ライトを付けるとかなり楽に視認できるようになる。

写真では右奥のキーまで照らされていないように見えるが、 実際は右上に配置されたDeleteキーなどが特にライトの恩恵を受けるように感じる。液晶からの光が届きにくい場所なので。

あとこれ、ONにするための操作がFn+PgUpなのだけど、Fnキーは左下角、PgUpキーは右上角にあるため、 余計なキーを押すことなく手探りでONにできるようになっている。

暗い場所で作業するときには大変便利でカッコいい。まー当分使わない気がするけど。

posted by Rion778 at 22:27 | Comment(0) | TrackBack(0) | diary | このブログの読者になる | 更新情報をチェックする
2009年01月10日

それで、昨年の目標はさっぱり達成してないんで

今月の目標:Cの基礎

来月の目標:Java or C++

「今年中」とかヌルいこと言ってるからダメなんだ!

それで、とても気分が晴れなくて大学サボった(建前上は大学の営業開始してないけどさ)一昨昨日、がんばって本屋にだけ出かけて 「明解C言語 入門編」 というCの教科書を買ってきた。

その日は1/3終わらせた。

翌日は1/6終わった。

次の日は1/10。

今日は昼ごろから学会の準備もそっちのけで東大生の平均勉強時間くらいがんばって1/5。

というわけで残り2割だ。われながら驚異的なペース!

しかしここから「ポインタ」だ。

で、過去3回、ポインタに差し掛かった時点で挫折している。

ということはー

別に4日かけて新しいこと覚えたわけじゃなくて復習しただけってことですねー

ただ、今回の教科書は極めてよくできているのでいけそうな気がする。Amazonの評価が高いのも頷ける。

説明が丁寧で分かりやすい、なんてのは当然のようにクリアされているとして、 ストレスなく読める構造に組まれているのが大変ありがたい。

たとえば図や表を参照する必要があったとして、その図や表はほぼ間違いなくページをめくらずに参照できる位置に配置されている。

また、新しい概念を天下り式に導入しなければいけない場所があるとして、 その概念が以降のどこで解説されるのかが必ず書いてあるので安心して読める。逆にこれまで出てきた概念を再度使うとき、 1行程度の簡単な説明が書いてあるのでページを戻す回数も少なくてすむ。

練習問題は時々歯ごたえのあるものがあって立ち止まってしまうが、絶妙なレベルのものが出題されるように思う。

ポインタも難しけど割とテンポよく読めそうなので今月中とかヌルいこと言ってないでこの連休中くらいを目標にしてみようかと思う。

posted by Rion778 at 00:38 | Comment(0) | TrackBack(0) | diary | このブログの読者になる | 更新情報をチェックする
2009年01月01日

BRGSp50.sys

正月早々ブルースクリーン連発。

原因は何かと調べたら、 どうも昨日使えるようになって喜んでいたGW-US54GXSの関係でインストールされたBRGSp50.sysという通信関係のドライバらしい。

結局安かろう悪かろうと。そういうことでしょうか。

でもAmazonで売れてる割に同じ種類の報告が少ない。あるにはあるけど。あとなんか英語でSP3を見直せって言ってる人もいた。 なんか条件重なると起こりやすいのかも。

で結局解決策は見つからない。他の探すしかない。しかしこのメーカーの製品ばっかでどれがいいのかさっぱり。

posted by Rion778 at 18:22 | Comment(0) | TrackBack(0) | diary | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。