K's cool blog

写真付きで日記や趣味を書くならgooブログ

zLog for Windowsのソースコードが公開された!(4)コンパイル

2019-08-27 | zLog
早速、LQKさんが、コンパイルしていたが、いきなりは無理である・・・。ので、アマゾンで、ふる~いDelphiの本を買った、Hi。
猿でもわかるDelphiで検索したら、以下がtopに。
http://www.w-frontier.com/delphi/index.html
VCL : Visual Component Library(?)
DPR : Delphi PRoject
DPK : Delphi PacKage
らしい。コンポーネントは、Winのコントロールの概念らしい。2019年時点で、今のところDelphiはサポートされている。
コメント

zLog for Windowsのソースコードが公開された!(3)Delphiとは?

2019-08-27 | zLog
ソースは、2004年で最後なので、Delphi(デルファイ) 7.1(Win32版が生成出来る最後)だと思われる。Delphiは元々ボーランドが開発していた、Turbo Pascalを源流とする。Pascal自体はApple ][時代(古る~~、Hi)に少々触っていたが、元々教育用言語なので、表現が冗長で有り、面倒臭くってそれ以降触っていない。ただし、Object指向言語の原理は「A PIE」(Abstraction:抽象化、Polymorphism:多相性、Inheritans:継承、Encapsulation:カプセル化)であり、原理を理解していれば、Delphi(Object Pascal), Java, C#, C++等どの言語が来ても全部同じである。抽象化、多相性、継承、カプセル化をそれぞれ実際に実装してるに過ぎない。(ので、どんな言語も同じに見えるのである。)
ソースの説明書が無いみたいだが、ニクラウス・ヴィルト 「アルゴリズム+データ構造=(PASCAL)プログラム」(これ既に絶版らしい、大学時代に読んだ。手元に無し。) の言う通り、データ構造から探っていけば、解読出来ると思う。
実は、zLog for Windowsのソースが無いと聞いていたので、スクラッチから作るかと考えていたのだが、.cfgファイルのパーサーを作るにしても、帰納的に仕様を解読するのは膨大な時間がかかり、ほぼ諦めて(ゼロから作った方が速い)いたのだが、ソースから演繹的に仕様書を作るのは比較的簡単である。
ので、まずやることは、ソースコードのコンパイル・リンク、データー構造(とユーザー・マニュアル)から仕様書の作成である。
コメント

zLog for Windowsのソースコードが公開された!(2)MITライセンスとは?

2019-08-27 | zLog
公開された、zLog for Windowsであるが、ライセンスは、MITライセンスとなっている。これは、GNUより緩いライセンスで、極端に言えば、バイナリーで有料で配布し利益を得てよいというライセンスで、条件はコピーライト表示だけである。とは言え、常識ある運用を願う。
コメント

zLog for Windowsのソースコードが公開された!

2019-08-27 | zLog
GitHubのここで、zLog for Windowsのソースコードが公開されていた(知らなかった!)。これは、少々説明が必要かもしれない。まず、zLog for Windowsであるが、JA1ZLO(東大駒場:教養課程で京王井の頭線駒場東大前の北側、渋谷の西側に位置する。ちなみに南側には駒場野公園が有り、おそらく目黒区で唯一の田んぼのケルネル田圃がある。渋谷の直ぐ近くに田んぼがあるんです。もちろん、目黒区産のカエル・イモリ・ザリガニも居るはず)が開発したコンテスト時のログソフトで、特徴は.cfgファイルによる各種ローカルコンテストに対応、USB対応、マルチマルチのサーバーに対応等です。で、開発が2004年度に止まってしまいます。その後Win10対応など、改良されないのは、ソースコードの紛失が噂されていた。で、15年程潜伏してた訳だが、今年2019年5月にGitHubで公開されたみたい。で、JR1LQKさんだが、JARLのコンテスト委員(長のはず)で、提出ログのフォーマットが、なかなか改善されない(古いフォーマットのままの局が多いと思われる)ので、作者に連絡を取られて公開となったと思われる。で、GitHubのGitって何じゃ?だが、これは、Linuxを開発した、リーナス・トーバルズがスクラッチから作ったファイルのバージョン管理システム(以降SCM:Source Code Managementと略)である(GNUライセンスで無料)。2005年に初版なので、まだ歴史が浅いが、過去のSCMであるRCS/CVS/SVNはほぼGitに置き換わってしまっている。なぜ、Gitを車輪の再発明みたいに、スクラッチから作ったかというと、もちろんLinuxのソースコード管理のためである。昔のSCMはロックモデル(一人が修正していると、他の人が修正出来ない)で、World Wideで非常に非効率だからである。この意味は、アメリカ・ヨーロッパ・アジアの三か所で開発すれば、それぞれ8時間ずつ、24時間開発しっぱなしに出来るのだが、もしロックモデルを採用していると、アメリカでロックしたたまま開発者が寝てしまうと、ヨーロッパ・アジアで修正出来なくなり、16時間遊んでしまうという非効率が露わになるから(単にロックモデルの非効率性の例です)。ので、ロックモデルでは無いSCMを、作った訳。じゃ、GitHubは何かというと、Gitのホスティングサービス(ファイル保存場所:通常使用は無料、だがマイクロソフトに2018年に汚染される、Hi)で、これは、リーナスがやってる訳ではなく、別の法人がやっている(汚染されたが、一応信用出来る人たち)。で、Gitだが、ソースコード用に作られていて、zipファイルのようなバイナリーを登録するようにはなっていない(ファイルのハッシュ値を計算して、編集されたかどうかを検出しているため)。ので、できるだけソースで登録する方が良い。

2020/04/25 追記:
既にコンパイル・リンクされ、バイナリーになった物が公開されています
(2020/02公開)
コメント