全4件 (4件中 1-4件目)
1
掲示板で、UWSCの「CLASS-ENDCLASS」、「MODULE-ENDMODULE」にまつわる議論があったので、思いついたことなどを書いておきます。 UWSCのヘルプでは、「MODULE-ENDMODULE」が正規のキーワードで、「CLASS-ENDCLASS」はおまけのような書き方がされていますが、公式サイトの履歴http://uwsc.info/history.html(今でも閲覧可能)をみると、もともと使われていたのは「CLASS」でした。それを、バージョン4.4bの時点(2008/05/11)で、MODULE-ENDMODULEに名称変更しています。 CLASSといえばOOP。おそらく、作者は当初、UWSCをオブジェクト指向言語として開発していたのが、この時点で方針変更したのではないでしょうか。 この理由は、本格OOPの実装が難しかったからでしょうか? 私はそうは思いません。umiumi屋さんの成果物を見れば、いとも簡単にできたのではないかと想像します。 現状のUWSCのClassでは、OOP言語のクラスとは違い、いきなりインスタンスが生成されてしまっています。しかも生成されるインスタンスはたった一つしかありません。これでは、例えば「複素数のクラス」みたいなものを定義することは困難です。 しかし、いちいちクラスからインスタンスを生成しなくてはならない本格的OOP言語より、ある意味ラクだともいえます。なんていうか、JAVA界隈でいうところの「staticおじさん」(参考1、参考2)にやさしい仕様ってわけ。 今でもそうですが、掲示板を見ると、「手っ取り早くやりたいことをできる方法を教えて」という質問が多数を占めていますよね。こういうユーザー像を考えたとき、本格的オブジェクト指向言語としてUWSCを発展させることは難しいと考えたんじゃないかな。
2018.07.28
コメント(0)

DotnetZipを利用したくて、ネットで情報を集めたところ、マイクロソフトのオープンソースホスティングサイトであるCodePlexから入手できるとあります。 たとえば、マイナビ。でも、示されているリンク先に行くと様子が違う。「Download Archive」というボタンはあるけど、欲しいもののダウンロードにはたどり着けないのです。 CodePlexについてググってみると、https://www.infoq.com/jp/news/2017/04/codeplex-githubCodePlexがサービスを終了し、GitHubへの移行が推奨されるっていうのが出てきました。 そもそも、CodePlexが何なのか知らなかったのですが、Wikipediaなどで調べると、マイクロソフトがオープンソースのために用意したホスティングサービスらしい。でも、現在はプロジェクトの多くがGithubなどに移行されており、CodePlexにはサイト丸ごとのアーカイブが残されたということのようです。 で、「Download Archive」ボタンを押してみると、巨大(そりゃサイト丸ごとだからね)zipが落ちてきました。展開して中を見てもよくわからない。 当たりをつけて、releaseフォルダをのぞいてもなんだかよくわかりません。「0」~「9」の10個のフォルダと「releaseList.json」というファイルがあるだけ。10個のフォルダの中には、暗号のような名前のファイルがあるだけです。 仕方ないので、releaseList.jsonを見てみますが、ちょっと見、何が書いてあるのかわかりません。そこで、https://jsoneditoronline.org/に張り付けてみました。ここでも、1~9の項目があったので、9を開いてみると、なになに、「v1.9.1.8 DotNetZip - Latest Stable」とな。下のほうにはFilesという項目もあるのでそこも開いてみると、今度は0番にありました。「FileName : DotNetZipLib-DevKit-v1.9.zip」。で、こいつのIDが「f8f1b2b3-518d-4802-ab92-ac64f37b6c85」。 なので、先述の10個のフォルダのうち、9のフォルダを開いてみると、「f8f1b2b3-518d-4802-ab92-ac64f37b6c85」というファイルがあります。このファイルを、今のJSONの指示通り「DotNetZipLib-DevKit-v1.9.zip」にリネームして、zipを解凍すると、ありました。いろんなサイトでこれを使えといわれている「Ionic.Zip.dll」が。 同様にchmも4番の「DotNetZip-Documentation-v1.9.zip」の中にあって、powershellでの使い方もちゃんとかかれていました。 これでOK。
2018.07.27
コメント(0)
このページは、マイクロソフトWebサイトで配布しているツールを使用するときに気をつけておかなければならないライセンス周りをまとめました。使うつもりの二つのツールのライセンスが微妙に違ってたのでまとめました。 基本的にいろんなサイトのコピペです。版権的には?かもしれないので、怒られたら消します。 以下コピペ。<PS2EXE-GUI> MS-LPLhttps://gallery.technet.microsoft.com/scriptcenter/PS2EXE-GUI-Convert-e7cb69d5PS2EXE-GUI: "Convert" PowerShell Scripts to EXE Files with GUIOverworking of the great script of Ingo Karstein with GUI support. The GUI output and input is activated with one switch, real windows executables are generated. With Powershell 5.x support.ダウンロードPS2EXE-GUI.zip評価--中略ライセンスMS-LPL<DotNetZip> MS-PLhttps://support.microsoft.com/ja-jp/help/2679832DotNetZip は Microsoft Public License で提供されており、ご自身の責任の範囲において利用することが可能です。<MS-PLとMS-LPL>【まとめ】http://www.catch.jp/blog/opensource/lisence/a20071021.htm具体的には、どのような内容のライセンスになっているんだろうか。これを整理してみたのが、次の表である。ライセンス名Microsoft Public LicenseMicrosoft Limited Public LicenseMicrosoft Reciprocal LicenseMicrosoft Reference License略称Ms-PLMs-LPLMs-RL-OSI認定○×○×日本語訳日本語訳日本語訳日本語訳原文原文原文原文著作権に関する許諾複製、二次的著作物の作成、配布複製、二次的著作物の作成、配布複製、二次的著作物の作成、配布参照目的での複製特許に関する許諾○○○参照のみ条件:商標など除外除外除外除外条件:特許侵害○○○○条件:ライセンスの表示○○○-条件:ソースコードでの配布本ライセンスのみ本ライセンスのみ本ライセンスのみ-条件:バイナリ-での配布本ライセンスに抵触しないこと本ライセンスに抵触しないこと本ライセンスに抵触しないこと-条件:免責○○○○条件:プラットフォーム制限-Windowsのみ--条件:相互許諾--追加部分は、別ライセンス可-という訳で、内容的には、Ms-PLが修正BSDライセンスっぽいものになっている(かな)。ライセンス文はシンプルで短く、使いやすそう。そこにプラットフォーム制限あり(Ms-LPL)、相互許諾あり(Ms-RL)という違いになっている。【PL】https://blogs.msdn.microsoft.com/shintak/2012/09/08/microsoft-public-license-ms-pl/このライセンスでは、被許諾者にはこういった権限と制約があります。著作権および特許権の使用料は両方とも無料ソース コードを商用または非商用の目的で表示、変更、および再頒布できます。ソース コードを変更したり、他のユーザーに開示することができます。利用する場合は、著作権、特許権、商標、出所を表示をアプリ内のどこかに入れておく必要があります。利用する場合は、最後の条文だけ気を付けてください。【LPL】http://www.catch.jp/blog/opensource/lisence/a20071021.htm まとめと同じサイトこのほかに、Ms-PLに「Windows プラットフォームのみに使用を制限するバージョン」 Microsoft Limited Public License (Ms-LPL) がある。プラットフォームの制限があるから、これはオープンソースライセンスではない。
2018.07.25
コメント(0)
test-pathに-isvalidオプションをつけてあれこれ試行錯誤してたら、「何これ」現象に出くわしました。ヘルプにはパスの構文が正しいかどうかを判断します。パスの要素が存在するかどうかとは無関係です。このパラメーターは、パスの構文が正しい場合は TRUE を返し、そうでない場合は FALSE を返します。なんぞと書かれていますが、これが大嘘。「パスの要素が存在するかどうかとは無関係です」、あくまで構文チェックだけですなんと言いながら、 test-path -isvalid a:\folder\filebase.extがFalseを返すんです。おかしいと思ってCドライブで試すとTrueになる。 ま、そりゃ今どきのPCにAドライブは付いとらんわな、とは思うけど、しっかりドライブチェックしてるようです。でも、test-path -isvalid \\nowheresite\folder\filebase.extみたいなのは、サイトの有無をチェックせずTrueを返してくるのはどうしてなのはなぜ?でいろいろググってみたら、だめじゃん、これ。禁止字句が入っているのにtrueになってる…。リンク先が消えるとあれなので、禁止字句が入っているのにtrueになる例をコピペしておくとTest-Path "c:\teho\::::\sdfg^#%&'!?>.txt" -IsValid# trueなんかがそう。同サイトではコロン(「:」)のせいではなかろうかと推量しています。それにしても、isValidなisValidはあるのでしょうか。
2018.07.10
コメント(0)
全4件 (4件中 1-4件目)
1
![]()
![]()
![]()