トップ «前の日記(12-September-2012) 最新 次の日記(14-September-2012)» 編集

つれづれなるままに

これまでの訪問者人
本日の訪問者人  昨日の訪問者人
月齢27.0

AI | AIきりたん | Ast | Beat Saber | CeVIO | Cn | cover | de | Emacs | En | Es | fr | git | html | iPad | It | Just Dance | misc | MMD | MV | NEUTRINO | OVA | PC | PV | Ru | SF | SKK | stable diffusion | SynthesizerV | tDiary | Th | Vocaloid | VRC | VRChat MMD | Vsinger | Vtuber | was | YuNi | お茶 | アニメ | アメリカ | イラスト | オカリナ | カゲプロ | キズナアイ | テレビ | ノベル | ノーベル賞 | ビートセイバー | フィートセイバー | フランス | ラズパイ | ラノベ | 万葉語 | 世界 | 中国 | 予定 | 即売会 | 台湾 | 台風 | 合成してみた | 同人 | 地震 | 宇宙 | 家電 | 展示 | 描いてみた | 政治 | 旅行 | 日記 | 映画 | 時事 | 書道 | 歌ってみた | 歴史 | 海外 | 演奏してみた | 漫画 | 特撮 | 科学 | 英国 | 訃報 | 語学 | 踊ってみた | 陶笛 | 障害 | 音楽 | 飲み |

13-September-2012 JAVA [長年日記]

_ [PC] JAVA

昨日書いたEclipseですが、exlipse.exeと同じ階層にあるiniファイルの中身をいじることで動作するようになりました。

ちょっと更新内容は憶えてないのですけど、エラーメッセージをググってみたらひっかかったのでそれで対処できました。

ところが、これでどうやってコンパイルすればよいのかわかりません ^^;;

元のソースは1個のファイルだけだったので、凝ったことはする必要がないや、というとで、直接javacをたたくことにしました。

昔JAVAの教科書を見たときは、JAVAはUnicode対応とあったので、てっきりそのまま通るかと思ったら、コマンドオプションで-encoding UTF-8を入れてやらないと駄目みたいです。

で、javacを通すと、foo.javaからfoo.classというファイルができました。

次にこれをjarで圧縮します。

jar cvf bar.jar foo.class

これでアーカイブファイルのbar.jarができました。ただこのままだと元のソースのメインルーチン(?)をたたいてやらないと動かないので、マニフェストなるファイルを作ってjarファイルに追加します。例えばmanifest.mfだったら、

jar uvfm bar.jar manifest.mf

これであとは、

java -jar bar.jar

で実行できるみたいです。

詳しく(?)はこちらを参考にしました。

次はこのソースを元に修正を加えます。

実はJAVAの仕様ってほとんど知らないのですけど、修正前の入出力ファイルの仕様と修正後に望ましい入出力ファイルのフォーマットがわかっていたので、サンプルファイルの中身とソースを突き合わせて解読し、見よう見まねで修正してみました。

で、上記の操作をまたやってみます。

動きました。

どうやら意図したように動いてるみたいです。

まぁ、ファイルを読んで吐き出すだけの数十行程度のプログラムだったので、なんとかなったみたいです。

とてもじゃないけど、最初から作るのはまだ無理だな。

でも、つくづく思うのですけど、こういうのは実際にソースを読んでソースを改変してくことで力が付いていくものなんですよね。

昔からよくプログラミング言語の教科書とかを読んでみることがあったのですけど、大抵身につきませんでした。

でも、Fortranなんて、入社して始めて簡単に教えられたあとで、いきなり大型コンピューターのソースをワークステーションに移植しなくてはいけなくなって、FortranやUnixの教科書やマニュアルと格闘しながら覚えたものでした。いや、あの当時はわけわからない状態でやってましたけどね。

オープンソフトとかの関係でCのソースとかを見る機会はあるのですけど、こっちの方は大抵規模が大きいのとFortranと感覚が違うので、なかなか覚えられないです。

まぁ、Fortranも可読性を考えてコーディングすればわかりやすい処理になるのですけど、チューニングするためにFortranの仕様を駆使して作られたものは難解で読めませんですけどね。LAPACとかはちょろっとしか追えませんでした。

awkは色々と簡単なフィルター処理が必要で使いやすかったから、比較的早いうちに習得できました。

長らくperlは謎だったのですけど、仕事でソースを解読する必要が生じ、そのあとで、実際改修する機会があってそれで結構覚えました。あとは、ネットにころがっている部品を組み合わせればそれなりの機能のプログラムが組めるようになるんですよね。この前モンテカルロシミュレーションするためのプログラムをそれで組んだし。perlも昔から参考書を良く読んだりしていたのですけど、全然頭に入ってなかったんですよね。やっぱり実戦が必要です。

JAVAはver.2だかなんだかのころに参考書を読んだことがあるのですけど、やっぱり訳がわかりませんでした。今回ソースをいじった感想もやっぱり訳わからんというところですけど、こんな感じに元からあるソースを改変していく過程で色々調べながらやれば覚えられるのかなぁ。確か、今はAndroidのアプリ関係でJAVAの需要が増してるらしいからなぁ。

Pascalは言語仕様が簡単だったし、学生のころに基本的な作法は覚えたと思います。でも、Borland Pascalの後継として出たDelphiのガイドを見たときは、Windows APIばりばりで挫折しました ^^;;;

今はFreeのLazarusをインストールしてあることだし、そろそろちゃんと覚えないといけないかなぁ。

というか、その前にいい加減elispをちゃんと使えるようになれよ、とか。

_ [En] To comunicate

I have a chance to comunicate to Chinese.

We use both Chinese and Japanese. Ofcause I understand Chinese a few. But I studied old Chinese lyrics when I was junnior high school student and I know some phrases, so I can get the meaning of the sentence. My Japanese is translated by Google, and the Chinese one is translated by Baidu. Our Chinese and Japansed are very strange but to read both Japanese and Chinse can make us comunicate each other.

I can use this way because we share the same letters, Kanji.

The other country case is differnt. We have few sharing thngs except English. Both of us the English is not native language.

It is hard to understand each other.

Commonly, it is hard to understand among the differnt language.

But we should try it.


【PR】ブログへ記事を投稿して報酬ゲット!アフィリエイトのA8.net