« 2007年11月 | トップページ | 2008年1月 »

2007年12月

2007/12/31

大晦日

大晦日です。

今日で2007年が終わります。

今年を振り返ってみると、結構充実した1年だったと思います。いくつか挙げてみると、

こんなもんでしょうか。

2008年は更なる飛躍をしなくてはならないので大変です。(進学か就職かを決めなくては)

| | コメント (0) | トラックバック (0)

あれもこれも欲しいのだ

欲しいものがいっぱいあるのです!この時期は年末セールやお年玉セールといったコンシューマホイホイが設置されているので、欲しいものリストは増えていく一方です。

でも、リストに耐えられるほど財布は厚くないので、泣く泣くリストを削りました。

  • 22インチ液晶モニター
  • Microsoft Office 2007
  • ThinkPad X60用8セルバッテリ

今までデスクトップには17インチモニターを使っていたのですが、このモニターをX60につなげてデュアルモニターにしたら便利すぎて元に戻せなくなってしまったのでデスクトップ用のモニターです。(私の場合、作業はノートで、デスクトップはエンタ用なので)

Office2007は持ってても損は無いでしょう(むしろ持ってないほうが不都合なことが多いし)が、如何せんこの値段はいただけないですよね。(Proのアカデミックでも2万7千弱は高い)それに、PersonalとかStandardとかの収録内容を変更できるようにして欲しいです。(PersonalでOutlookの代わりにPowerpointを選択できるとか)使わない機能も込みで買わされるのは釈然としません。

8セルバッテリは4セルバッテリでの駆動時間の短いXシリーズには必携の一品ですが、8セルバッテリよ!せめて1万円まで値下がってくれ!!

| | コメント (0) | トラックバック (0)

2007/12/30

どうしよう・・・

だらだら過ごしてしまった・・・。

| | コメント (0) | トラックバック (0)

2007/12/29

Eclipseの本

Eclipseの使い方を必要最小限しか知らなかったので、本を買ってみました。Eclipse3.3対応の本が出版されていたので衝動買いしたのですが、失敗じゃなかったみたいです。

説明は丁寧でわかりやすいのでEclipse入門にはぴったりかと。

| | コメント (0) | トラックバック (0)

2007/12/28

バッテリー駆動時間が10倍になったら?

従来のリチウムイオンバッテリーの駆動時間を10倍にする技術が発見されたようです。

12月21日のITmediaの記事「バッテリー駆動時間を10倍にする技術、米大学が開発」なんですが、これによるとリチウムイオンバッテリーのアノード(陰極)の材質を従来の炭素からシリコンナノワイヤにすることで駆動時間を10倍にするそうです。

・・・はやく製品レベルまで発展させてほしい。ノートPCのバッテリー駆動時間が10倍になったら、まる一日連続駆動できるってことじゃないですか。(製品によっては2日、3日いけるでしょうし)

発見した研究者は企業を立ち上げるかメーカーと契約すると発言していますから、メーカーの争奪戦とか繰り広げられるんでしょうかね。

| | コメント (0) | トラックバック (0)

日経ソフトウェア2月号

今月号の特集は

1.パソコン甲子園2007レポート

2.Webプログラミング5大基礎知識
   ・HTML
   ・JavaScript
   ・HTTP
   ・Perl
   ・セキュリティ

3.Visual Studio 2008で始めるWindowsプログラミング入門

となっています。

| | コメント (0) | トラックバック (0)

シーザー暗号JavaScript版

このブログ左側のJavaScript PracticeにJavaScript版シーザー暗号を追加しました。英大文字しか入力できませんが、実際に暗号プログラムの動作を見たい方はどうぞ。

---追記---

英小文字にも対応しました。このプログラムで使ったメソッドをまとめておこうと思います。

var str="JavaScript"

■str.charAt(n)・・・n番目の文字を取り出す(先頭は0番)

■str.charCodeAt(n)・・・n番目の文字の文字コードを取り出す(ASCllコード)

■str.charAt(1).toLowerCase()・・・英大文字を小文字に変換

| | コメント (0) | トラックバック (0)

2007/12/27

・・・すげぇなぁ

IT mediaエンタープライズ「井上恭輔―電子工作より生まれし巫女萌えバイナリアン 」を読んでの感想です。

まぁ、私がこの記事の感想をぐだぐだ書くよりも実際に読んだほうが面白いので、読んでください。

「・・・同い年とは思えねぇ」が正直な感想。

[蛇足]
この記事中の「Q7:開発の3種の神器を挙げるとしたら何ですか?」に対してブラックコーヒー(カフェイン)とブドウ糖(糖分)をあげていますが、私はこの2つをコーラで摂取しています。(コーラには大量のカフェインと糖分が含まれている)コーラのシュワッシュワッでリフレッシュです。

| | コメント (0) | トラックバック (0)

2007/12/26

気になる・・・

auのデータ通信カードW05Kが気になります。

P_w05k_image_01

外出先でちょっとネットを使いたいなぁ、ということが結構あるのでデータ通信カードがあれば便利かなぁと。

---au:製品情報---

---追記---

私が活動する地域はエリア外なので断念です。(電波が届かねぇとは・・・)

| | コメント (0) | トラックバック (0)

2007/12/25

VMware PlayerでKNOPPIXを使う

KNOPPIXはCDブートで利用できる便利なLinuxですが、メインOSと同時利用はできません。(←ありがたみ半減です)

VMwareでKNOPPIXを動かせばOKなのでは?と思って調べたところ、意外とアッサリ見つかりました。

その名もVMware/KNOPPIX/mathです。数学ソフトが充実したKNOPPIXのようで、KNOPPIX Eduと同じようなものでしょうか。

最新版が2006年リリースと若干枯れた印象はもちますが、実用には問題ないでしょう。必要なものはこのページからダウンロードすれば揃うので(VMware Playerは別途ダウンロード)、すぐに試すことができます。

VMware/KNOPPIX/mathの紹介ページ

VMware/KNOPPIX/mathダウンロード

VMware Playerのダウンロード

| | コメント (0) | トラックバック (0)

2007/12/24

クリスマス・イブ

今夜はクリスマス・イブです。世間では。

クリスマス(英語:Christmas, Χmas)とは、イエス・キリストの降誕(誕生)を祝うキリスト教の記念日・祭日である。「神様が人間として産まれてきてくださったこと」を祝うことが本質である。12月25日がこれに当たるが、昔の暦では日没を一日の境目としているので12月24日夕刻から朝までをクリスマス・イヴとして祝う。イスラム教徒も、主要な預言者イエスの生誕として、クリスマスを祝う。
[Wikipediaより抜粋]

私の周辺では”クリスマス=男同士で酒盛りの日”と定められておりますので、世間一般のクリスマスとは縁がございません。

私と似たようなクリスマスを過ごす人も世間一般のクリスマスを過ごす人も、よいクリスマスをお過ごしください。

Merry Christmas!

| | コメント (0) | トラックバック (0)

2007/12/23

バッファオーバーフロー

今日もC言語のメモです。なぜ、バッファオーバーフローかというと、私が受講している暗号理論の講義での話になります。

この講義の最初の課題では提出するプログラムの書き方に制限はありませんでした。ですが、2回目以降の課題では教官がプログラムの雛形を作ってきたのです。その雛形はscanfを一切使わず入力はコマンドライン引数のみ、というものでした。(出力にはファイル出力と標準エラー出力)

なぜ、このようなことをしたのかが私には疑問でしたが、全てはバッファオーバーフローでつながるのではないかと思ったわけです。

例えば、行単位の入力でfgets()という関数があります。プロトタイプは

#include <stdio.h>

char *fgets(char *buf, int size, FILE *stream);

です。これと類似した関数にgets()という関数があります。これのプロトタイプは

#include <stdio.h>

char *gets(char *buf);

見てのとおり、fgets()と違ってバッファサイズを示す引数がないので、gets()はバッファの範囲を超えて書き込む可能性があります。つまりgets()は本質的にバッファオーバーフローを防ぐことができません(有名な話ですが)。scanf()もgets()と同じように潜在的にバッファオーバーフローを起こす危険性があるわけです。

バッファーオーバーフローは運がよければOSの保護機構に引っかかるかもしれませんが、最悪の場合はエラーさえ起こらずにデータを破壊する可能性もあるようです。実際、世界初のインターネットワームはgets()のバッファオーバーフローを悪用していたようです。

確かに、このようなことを理解している人にとってはscanf()はなるべく使ってほしくないでしょうね。

| | コメント (0) | トラックバック (0)

2007/12/22

C言語の有効範囲(スコープ)

C言語のスコープについてのメモです。

#include <stdio.h>

int a;

void function()
{
   int b;
   static int x;
}

int main()
{
   int c;
   
   for( ; ; ){
      int d;
   }
}

このようなコードがあるとして、変数aはファイル有効範囲を持ち、変数b、c、dはブロック有効範囲を持ちます。

*ファイル有効範囲・・・プログラム全体で有効
*ブロック有効範囲・・・宣言されたブロック内{ }で有効

また、変数xにはstaticという記憶域クラス指定子がついています。このstaticがついていると、main関数を実行する前に生成され、プログラム終了時に消滅します。さらに初期化子が与えられない場合には自動的に0で初期化されます。

変数aにはstaticはついていませんが、静的記憶域期間を持ちます。

| | コメント (0) | トラックバック (0)

2007/12/21

復号を考慮した暗号プログラム

このブログでは以前、シーザー(シフト)暗号とアフィン暗号プログラムを紹介しましたが、このとき作ったプログラムは復号のことを考慮していませんでした。(つまり、暗号化したはいいものの、それを復号できない代物)

復号化を考慮したものは次のようになります。

1.シフト暗号(使用する文字数28の場合)

int angouka(int num, int key)
{
  int angou;

  key = (key + 28) % 28;
  if(key < 0){
    key = key + 28;
  }
  angou = (num + key) % 28;

  return angou;
}

[解説]
この関数の引数のnumは入力した文字に割り振られた番号(別関数によって規格化されたもの、例えばa=0, b=1,.....,z=25)で、keyは(暗号/復号)鍵です。復号するには復号鍵の扱い方を考えなければなりません。(復号鍵=暗号鍵×(-1)としています)
つまり、鍵が-3なら28-3=25というようにします。このとき復号鍵の絶対値>使用する文字数だと復号できないので上のコードのようにすることで鍵の絶対値が28より大きくならないようにする必要があります。

2.アフィン暗号(使用文字数28)

int affine(int num, int key1, int key2)
{
  int angou;
  int check = gcd(key1, 28);
  
  if(check == 0){
    fprintf(stderr, "This Key is incorrect!\n");
    exit(1);
  }else{
    if(mode == 1){
      angou = (num*key1 + key2) % 28;
    }else if(mode == -1){
      angou = ( key1*(num - key2) ) % 28;
      if(angou < 0) angou = angou + 28;
    }
  }
  
  return angou;
}

[解説]
このプログラムでは暗号モード(mode=1)と復号モード(mode=-1)を選んで動作させるようにしてあります。(復号鍵1は暗号鍵1の逆元(mod 28)、復号鍵2=暗号鍵2)ここでも復号するときに注意が必要で、(鍵1+鍵2)>使用文字数になると正しく復号できません。そこで、このコードのように書いたら正しく復号できるようになりました。(動作確認はしましたが、思いつきなので、深く考察していません)

| | コメント (0) | トラックバック (0)

2007/12/20

研究室を訪問してきた

私も来年度から学部4年になれるはずなので、希望する研究室を訪問してきました。

この研究室は私の所属する学科で唯一、流体力学を研究していて、配属されるならここがいいなぁなんて思っています。(他の研究室は量子力学や物性物理の研究室しかないし、分子の運動がどうしたとか考えるのはイヤなので)

准教授が不在だったので、学生部屋にいる院生と4年生に話を聞くことに。

話を聞くと、よく聞くウワサとは違ってなんか面白そうでした。数値計算はC++でやるようなので今のうちからいじっておこうかと思います。

| | コメント (0) | トラックバック (0)

DVIファイル→PSファイルの変換でトラブル[Fedora 8]

この前、Fedora 8でTeXを作成するときの日本語表示の不具合について書きましたが、どうやらDVIファイルをPSファイルに変換するときでも不具合が発生するようです。(ってか、発生しました)

解決しようにも、この不具合に関する情報が少ないので頓挫しています。

dvipdfmxで直接PDFファイルに変換すれば、問題なく仕上がるようですが・・・(でもdvipdfmxはFedora 3に対応して以降、更新されていないのが気になりますが)

う~ん・・・TeX Live(TeTeXに変わる新TeX)が実装されるFedora 9までFedoraでTeXはあきらめるか、それとも不具合解決に注力するか、迷うところです。

| | コメント (0) | トラックバック (0)

2007/12/19

Javaのクラス

Javaのクラスは、C言語の構造体にプラスアルファしたようなイメージを持っていましたが、構造体よりも使いやすいように思います。(使いやすいというのは私がコードを書くときの敷居値が低いということ)

簡単なコードを書くと、

class Data
{
    String name;
    double height;
    double weight;

    void report()
    {
       System.out.println("名前:"+ name +"\n身長:"+ height +
                                "\n体重:"+ weight);
    }
}

class ClassTest
{
    public static void main(String args[])
    {
       Data data1 = new Data();
       data1.name   = "Student1";
       data1.height = 132.0;
       data1.weight = 105.0;
       data1.report();
    }
}

Cの構造体でもコレと似たようなものが書けますが、Javaのクラスのほうがスッキリしてる気がします。フィールドとメソッドっていうのも小気味いい感じ。

| | コメント (0) | トラックバック (0)

IE7,2008/02/13から自動更新で配布

Internet Explorer 7が2007年2月13日から自動更新で配布されるようです。

IE6を使い続けたい人は注意が必要です。(このブログを閲覧している人はIE6を使っているが大多数ですし)

私はIE6を使っているならIE7に乗り換えたほうが便利になると思います。タブブラウジングのためだけにIE7にする価値はあると思いますが。

Microsoftのサイト、「TechNet」においてアナウンスされています。(ページの下のほうです)

---追記---

IE8も開発されているようです。

Open Tech Press

| | コメント (0) | トラックバック (0)

2007/12/18

シェル・スクリプト

シェル・スクリプトって知ってるとすごい便利な気がします。

ちょっと調べてみようかと思います。(日経Linuxの定期購読を申し込んだら、おまけでシェル・スクリプト入門なるものが送られてきたので)

---追記---

備忘録として、シェル・スクリプトの基本をメモして置きます。

1.シェル・スクリプトはテキストファイルとして作成する。

*記述の例
# !/bin/sh

処理を記述・・・

・先頭の# !/bin/shでは、実行シェルが違っても動作するようにスクリプト内で利用するシェルを指定している
・スクリプトを記述するときはシェルの文字コードと同じ文字コードで記述する

| | コメント (0) | トラックバック (0)

2007/12/17

う~ん・・・

今日気づいたことは・・・・・・ナシ

まったく気づきませんでした。今日は。

このブログを始めてからは毎日1つは何かに気づいたことをエントリーしていましたが、今日はま~ったく気づいていません。

・・・強いて言えば、「双子のパラドックス」で宇宙船に乗ったほうが年をとらないことを説明するときに「ミンコフスキー・ダイヤグラム」を用いるとすっごく分かりやすい!ってことですかねぇ~

「ミンコフスキー・ダイヤグラム」を使うと相対性理論がよく分からなくても、なんか納得してしまいます。(ミンコフスキー幾何では直線が他のどんな曲線よりも長いことになってしまう)

「うわうわうわ~、すっげ!!」といったカンジ。

・・・気づいたことありました。

| | コメント (0) | トラックバック (0)

2007/12/16

Fedora 8 のTeXで日本語が表示できない件

以前、Fedora 8に移行したときにいくつか不具合を報告しました。この不具合のうちの1つに「TeXをplatexでコンパイルした後、dviファイルをpxdviで開いたとき日本語表示ができない」というものがありましたが、この不具合を解決することができました。

原因はsazanamiフォントのパスがFedora 7とFedora 8では違うのですがpxdviのフォントの設定ファイルではFedora 7までのパスのままであるというものです。

調べると解決法が載ったページをいくつか発見しました。その解決法は「設定ファイルのsazanamiフォントのパスをコメントアウトしてIPAフォントのパスのコメントアウトを解除する」というものでした。すぐに実行してみましたが、日本語表示はできませんでした。(恐らくIPAフォントのパスも違っているのだろうと思う。Fedora 8の新規インストールとFedora 7からのアップグレードでは違いがあるのだろうか?)

イライラしながら設定ファイルを見ていたとき次のことに気づきました。

  • 要は、sazanamiのパスが間違っているのなら直せばいい
  • 必要なのはsazanami-mincho.ttfsazanami-gothic.ttfのパス

というわけで設定ファイルのパスを書き換えます。

まず、設定ファイルは/usr/share/texmf/pxdviにあるvfontmapというファイルです。デフォルトではsazanamiフォントのパスが/usr/share/fonts/japanese/True-Type・・・となっていますが、Fedora 8では/usr/share/fonts/japanese内にTrue-Typeディレクトリはありません。実際は次のような場所にあります。

sazanami-mincho.ttf
  → /usr/share/fonts/sazanami-fonts-minchoの中

sazanami-gothic.ttf
  → /usr/share/fonts/sazanami-fonts-gothicの中

設定ファイルのパスを上の正しいパスに書き直してpxdviを実行したところ、ちゃんと日本語も表示できました。

---(参考)修正後のvfontmap---

---追記---

Fedora 8 の日本語TeX関係のトラブルはあらかた片付きました。

| | コメント (0) | トラックバック (0)

2007/12/15

bashのまま複数端末間で履歴(history)を表示するには

GNU Screenなどで複数の仮想端末を同時に操作するときにコマンド履歴が端末間で共有できないと不便です。bashからzshに変更すればすぐに解決(zshならデフォルトで対応していたと思う)ですが、bashのままでこの問題に対処する方法を探していたらこのようなページが見つかりました。

iandeth:bashにて複数端末間でコマンド履歴(history)を共有する方法

説明どおりにやってみたところ、確かに履歴が共有できました。

| | コメント (0) | トラックバック (0)

JavaScriptの本が届いた

JavaScriptの本はいろいろ出版されていますが、これからJavaScriptを始めるという人には最適だと思います。構成は次のようになっています。

JavaScriptの概要
JavaScriptの基本言語仕様
オブジェクト
DOM(Document Object Model)
イベント処理
各種処理
JavaScriptの今後
練習問題、章末問題の解答

JavaScriptの文法はC言語に似ているのでC言語をやったことのある人はスラスラ読み進められるのではないかと思います。試しに九九を表示するコードを書いてみます。

var i,j,ans;
document.write("<pre>");
for(i=1;i<10;i++){
  for(j=1;j<10;j++){
   ans=i*j;
   if(ans<10)
    document.write(ans+"   ");
   else
    document.write(ans+"  ");
  }
  document.write("<br>");
}
document.write("</pre>");

これを実行すると、

こんなカンジになります。(IEよりFirefoxのほうが自然に表示されるような気もしますが・・・)それと、気づいたことがあるんですが、JavaScriptのコードは空白などをなくす傾向にあると思うんですが、そういうスタイルなんでしょうかねぇ?

| | コメント (0) | トラックバック (0)

2007/12/14

Visual Studio 2008 日本語版

Microsoftは2007年12月14日にVisual Studio 2008 日本語版の開発を完了したと発表しました。同日から「MSDN Subscription」会員向けにダウンロード提供が開始されています。気になるパッケージの販売は2008年2月8日に開始されるようです。

VS 2005のアカデミック版はStandard Editionでしたが、VS 2008のアカデミック版はProfessional版になります。価格は1万3440円とVS 2005アカデミックの倍以上ですが、Proの通常版は17万3250円なので得としかいいようがありません。

| | コメント (0) | トラックバック (0)

SP1

Office 2007のSP1は正式版が公開され、VistaのSP1はRC(Release Candidate)版が発表されています。

RC版はテスト目的のプレリリース版ですが、私の知る限りではインストールした人がちらほら現れていますね。

主な改良点は

  • exFAT(最大ファイルサイズ制限を解除したFAT)に対応
  • SuperFetch/ReadyBoostのパフォーマンス改善
  • Direct3D 10.1のサポート
  • その他、安定性や互換性の向上

以上のようになっているようです。はやくSP1正式版が出て欲しいです。

ダウンロードセンターから利用可能になっています。

| | コメント (0) | トラックバック (0)

2007/12/13

JFrameのお勉強

Swingの勉強1日目、まず「JFrameクラス」についてです。

このクラスはJavaアプリケーションの外枠となるフレームを作成するためのクラスです。

詳しい解説は、私が参考にしているこのサイトを読んでください。(説明できるほど理解してないです。私は、まずどう書けばどう動くのかを体で覚えてから、突っ込んでいくタイプなので)

このサイトを参考に作ったアプリケーションのスクリーンショットがコレです。

Jframe_4

import javax.swing.*;
import java.awt.FlowLayout;

public class JFrameTest extends JFrame
{
    public static void main(String args[])
    {
	JFrameTest frame = new JFrameTest();

	//---Xボタンを押したときの動作を設定---
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	//---フレームを表示する座標と大きさを指定---
	frame.setBounds(10, 10, 300, 200);
	//---タイトルを設定---
	frame.setTitle("JFrameのお勉強");
	//---フレームを表示する---
	frame.setVisible(true);
    }

    JFrameTest()
    {
	//---メニューバーを表示する--------------
	JMenuBar mbr = new JMenuBar();
	setJMenuBar(mbr);
	JMenu menu = new JMenu("Menu");
	mbr.add(menu);
	//---------------------------------------
	
	//---ボタンを表示する--------------------
	JButton button1 = new JButton("Button1");
	JButton button2 = new JButton("Button2");
	JButton button3 = new JButton("Button3");
	//---レイアウトマネージャ---
	setLayout(new FlowLayout());
	getContentPane().add(button1);
	getContentPane().add(button2);
	getContentPane().add(button3);
	//---------------------------------------
    }
}

フレーム内にはメニューバーやボタンが配置されていますが、クリックしたときの動作は設定されていません。(そういうのはまだ勉強していないので)

このソースをコンパイルしたクラスファイルをコマンドプロンプトで

$ java JFrameTest

と入力して(javaコマンドはJREがインストールされていれば使用可能)実行すると、他のOSでもちゃんと動作します。

Jframe_vista

| | コメント (0) | トラックバック (0)

2007/12/12

日経Linux2008年1月号

日経Linux2008年1月号が届きました。特集はFedora 8がメインです。Fedora 8関連の記事としては

1.Fedora 8のSpinsやIcedTea、Compiz Fusionの紹介記事

2.GNOME Online Desktopの使い方を解説

3.環境整備(Flashやコーデックの導入)

このようになっています。この特集のうち「3」ではJavaアプレットの日本語表示ができないことや、Fedora 8標準のページャ「less」が日本語の文字コードによっては文字化けすることへの対処法も解説されています。

特集は他にも

・Mac OS X Leopard:

  • 新機能のレビュー
  • VMware Fusionのインストール
  • 障害発生時にコマンド操作でログを見る

・Googleドキュメント徹底ガイド

・RubyでWeb APIを自作する

・カーネル開発から学ぶコミュニティ参加のススメ

などがあります。

| | コメント (0) | トラックバック (0)

2007/12/11

ソート

ソートもいろいろあるようですが、思いつきなので簡単なものを。

for(s = 0 ; s < box.length-1 ; s++){
  for(t = s+1 ; t < box.length ; t++){
    if(box[t] > box[s]){
      temp  = box[t];
      box[t] = box[s];
      box[s] = temp;
    }
  }
}

ソートは最も大きい要素を先頭にはじき出していくものです。(こういうのバブルソートって言うんでしたっけ?)イメージとしては「ループが一回処理されると先頭には最大値が入っているはずだから、先頭を除外した配列でまたループ処理をしよう」という感じですかね。

| | コメント (0) | トラックバック (0)

Norton Internet Security 2008

X60にバンドルされていたNorton Internet Security(以下NIS)の更新サービスが切れたのでNIS2008をインストールしました。(X60はNIS以外のセキュリティソフトだと指紋認証装置に不具合が出る可能性があるので)

このNIS2008、今までのNortonさんより動作が軽く感じます。

それに1ライセンスでPC3台にインストールできるので去年ほどセキュリティソフトに出費せずにすみそうです。

| | コメント (0) | トラックバック (0)

2007/12/10

入門本の不思議

前々からプログラミング入門本で不思議に思うことが・・・、

配列x[n]の要素数を調べるときには例えば、

C言語だと sizeof(x) / sizeof(x[0])

Javaだと x.length

で要素数が分かるわけですが、入門本のサンプルプログラムって既に配列の要素数が分かっているのに上のようなことをして要素数を調べているんです。

上のようにして要素数を調べるのは配列の要素を動的に確保したときとかに使えばいいのでは?(動的確保のときでも要素数を入力するわけだから、入力を受ける変数をそのままにしておけばわざわざ要素数を調べる必要ってないのではないだろか)

こうやって要素数を調べる方法はどこで威力を発揮するのでしょうか?(Javaの方が活用範囲が広いように思いますが)

| | コメント (4) | トラックバック (0)

2007/12/09

Swingを

前々からGUIプログラミングにあこがれてWin32APIとかに手をだしては挫折している私ですが、今度はAWTやSwingに手を出してみようかと。(AWTはアプレットとしてすでに手をだしていますが)

試しにCodeZineの記事を参考にして動かしてみました。

import java.awt.*;
import javax.swing.*;

public class Sample extends JFrame {
    private static final long serialVersionUID = 1L;
    private JLabel label;
    
    public Sample(){
        this.setSize(new Dimension(300,200));
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        label = new JLabel("Hello");
        label.setFont(new Font("Serif",Font.PLAIN,28));
        this.add(label,BorderLayout.CENTER);
    }

    public static void main(String[ ] args) {
        new Sample().setVisible(true);
    }
}

コレを実行するとこんなカンジになります。

Screenshot_4

今後はこのサイトを参考にSwingを勉強してみようかと思います。

| | コメント (0) | トラックバック (0)

N粒子系の分子動力学計算

が分からない!

速度ベルレ法も用いて数値計算するんだけども、2粒子系では発生しない分子間の相互作用をどのように記述したらいいかが全くわからないです。

どうすれば・・・

[未来の自分からコメント]

粒子はアルゴンとして、2体間相互作用で近似するんだよ。

| | コメント (0) | トラックバック (0)

2007/12/08

JavaScript練習帳

JavaScriptを手軽に勉強しようと思ってブログの左下にJavaScript Practiceを作ってみました。外部JavaScriptファイルを読み込むようにしてあるので、エディタにはJavaScriptを書くだけになってハッピー!という魂胆です。

静かに増えたり減ったりするので見かけたときに実行してやってください。

| | コメント (0) | トラックバック (0)

IT技術者セミナーに行ってきました!

サイボウズのIT技術者セミナーに行ってきました。

amachangさんのエンジニアに対する熱い想いがひしひしと伝わってきましたね。

改めて、「プログラマーになりたい!」と決意しました。

あと、少々目的が違いますがamachangサインをもらってきました。

他にもサイボウズの田縁さんの講演があり、とても有意義な2時間だったと思います。

(う~ん、感動をうまく伝えられない・・・)

| | コメント (0) | トラックバック (0)

2007/12/07

いよいよ明日は

いよいよ明日はサイボウズのIT技術者セミナーです。

amachangさんの講演、楽しみだなぁ~。

どんな人がくるのかも楽しみですね。

| | コメント (0) | トラックバック (0)

2007/12/06

いざ!

サイボウズ説明会に行くために東京へ!

説明会は土曜日ですが、なにぶん遠いもので。

まぁ明日出発しても十分間に合いますが、せわしないのもアレだし。

金曜日には講義がありますが、どうせ休むならゆとりを持って行こうかと思いまして。(でも金曜には暗号の講義があるから休みたくないですけど)

なんにせよ木曜が全休でよかったです。

| | コメント (0) | トラックバック (0)

2007/12/05

Fedoraもそろそろ

そろそろFedora 7からFedora 8に完全に移行しようかと思います。

今のFedora 7はJREとかNautilusの問題が解決しないですし、Fedora 7をインストールしなおすくらいならFedora 8に乗り換えるほうがいいかなと。

サイボウズの説明会に行く前にFedora 8への移行作業は済ませておこうかなぁ。

---追記(12/06)---

Fedora 8への移行があらかた済んだのですが、「TeXのpxdviでの日本語表示ができない」、「VMware Tools(VMware Player 2.02のもの)をインストールしたのにホスト~ゲスト間のファイルの移動ができない」、「Emacsのフォントがでかい」といった問題が発生しました。少し情報を集めてみないと・・・。

なんか、焦って地雷を踏んじゃったかなぁ。でも標準でJavaアプレットをブラウザ上で実行できるのは嬉しいですね。IcedTea(オープンソース版Java開発キット)のおかげかな?(相変わらず日本語は文字化けしますが・・・)

---追記(対策)---

・Emacs→xorg-x11-fonts-ISO8859-1-75dpi.noarchをインストールすればOKらしい

・TeX→どうやらpxdviのサザナミフォントのパスが間違っているらしい

・Tools→今日(12/09)になって突然ファイルのシームレス移動ができるようになった。・・・なぜ?

| | コメント (0) | トラックバック (0)

2007/12/04

Webアプリケーション構築入門1日め

きのうは開発環境を構築したので、今日からお勉強です。

最初はHTMLを使ってWebページを書いてみようというもの。この本の著者は将来性を考慮してXHTML 1.0 Strictを採用しています。「今ではHTMLとXMLと混ざったものを使うのか~」と思いながら読んでいます。

結論はHTMLやXHTMLってタグを書くのがとっても面倒・・・。一度にこんなに覚えられませんよ。(必要になったときに逐次覚えていこう)

次はTomcatを使ってデータ送信のテスト。(なんでTomcatをインストールしたフォルダのことをCATALINA_HOMEって呼ぶのでしょうかね?)データ送信の方法にはGETとかPOSTという方法があって日本語を送信する場合にはPOSTを使うらしいです。

これができたら「Eclipseの動的Webプロジェクトでダイナミックなページ生成をしよう!」という章で、JSPを作ったあとサーバー(Tomcat)で実行するのですが、本の図だとhttp : //ローカルホスト:8080/プロジェクト名/に作ったJSPファイルの一覧がでているのに私が同じ操作をしてもエラーが・・・。(http : //ローカルホスト:8080/プロジェクト名/作ったファイル.jspみたいに直接指定すると実行できるのに)

本のEclipseとTomcatのバージョンと違うからでしょうか。とりあえず実行できるので問題ありませんが、スッキリしません・・・。

| | コメント (2) | トラックバック (0)

2007/12/03

Webアプリケーションのために

今日は開発環境を構築してみました。

1.Firefoxのアドオンをインストール

  • HTML Validator
  • Web Developer

2.JDK5.0をインストール(XAMPPのAdd-OnsのインストーラがJDK6.0に対応していないようなので)

3.XAMPP 1.6.4をインストール

  • ApacheとMySQLをサービスとしてインストール

4.Tomcat Addon 6.0.13をインストール

  • MySQL Connector/Jがなかったので後でダウンロード

5.Eclipseをインストール(WTPを使う)

  • HTMLの関連付け
  • 文字コードの設定
  • Tomcatを登録
  • XHTML 1.0 strict用のHTMLとJSPのテンプレートを作る

始めて触るものが多かったので手間取りましたが、これで明日からお勉強に集中できるというものです。

| | コメント (0) | トラックバック (0)

2007/12/02

サーバーに挑戦!

サーバーの構築なんていうことはした事がなかったのですが(初心者はないことだらけです)、最近は機会があれば手を出したいと思っていたところこんな本が発売されていたので早速Amazonに注文しました。Fedora 8を使ってというなんともタイムリーな本なので、届いたらサーバー構築に挑戦です!

・・・このごろ本を見つけては買いあさっているような。

| | コメント (0) | トラックバック (0)

2007/12/01

もう12月です。

今日で12月です。はやいもので、このブログを始めて3ヶ月めに入りました。(実際は9月下旬に始めたので2ヶ月ちょっと)

よくよく考えてみると、現在の状況があるのはThinkPad X60のおかげですね。プログラミングやブログの作成など、ほとんどの作業はX60でやっています。

9月の上旬に東京にいた私が中古のThinkPadを買わずに、予算をオーバーしてまでX60を買ったことを褒めてやりたいです。

| | コメント (2) | トラックバック (0)

« 2007年11月 | トップページ | 2008年1月 »