Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

C argv[0] equivalent for Java

In C, you can get the name of the binary file called from the shell with argv[0]. In Java, it seems there is no obvious way to get the equivalent: the name of the class that has the entry-point main() class. I made three options, but none …

EDB EnterpriseとOracleの仮想環境での価格比較例ってないのかな

EnterpriseDB EDB Enterprise Plan*1は、仮想環境で使っても、データベースサーバに割り当てた仮想CPUコアのみが課金対象となる*2。 一方、Oracle Databaseを仮想環境上で使う場合、Oracle製品が稼働する物理サーバーの全てのプロセッサーがライセンスカウン…

ノーコードと一言で言ってもいろいろある

ノーコードと言われているツールの中にも、大きく分けてビジュアルプログラミング環境のようなものと、ETLツールとかに近いもの*1があり、それぞれどんな人を救いたいのか?が違うみたい。「ノーコードツールを使いたいんだけど」と言われたら、だれのために…

PowerShell上でgit diff中の日本語が文字化けするのを直す

前提条件 PowerShellから下のようにgit diffを実行する。 PS C:\git\checkstyle> Get-ChildItem -Recurse | Where-Object { $_.Name -like "messages_ja.properties" } | ForEach-Object { $_.FullName.substring(29) } | ForEach-Object { Write-Output "`n…

Quest For Glory: So You Want To Be A Hero Speedrun Commentary

Quest For Glory 1~5通しでのスピードランが実施されていたのだが、中でもQuest For Glory: So You Want To Be A Hero (EGA version)の解法(1分ちょっとでゲーム終了)が見事だったのでメモをまとめてみた。 youtu.be 1:55 最初にストレングスを40、マジッ…

間欠動作するアプリケーションむけActive Directoryアクセストークンの保存方法の検討

OutlookやSharePointのAPI、バックグラウンドのアプリケーションで使おうとするとすぐ管理者の同意が必要なPermissionを求めてくる。 たとえばバックグラウンドアプリから自分のOneDriveへファイルをアップロードしたい場合、Azure Active DirectoryでFiles.…

Quest for Glory Bingoの各マスの解法

「Quest for Glory」カテゴリー「Triple Bingo」クリアタイムは01:07:03でした!カオスなゲームでしたが全員見事に3ラインのビンゴに成功です!配信チャンネルはこちらhttps://t.co/eCuAyh99nF#Q4GHH2jp pic.twitter.com/lnVofnNs6s— JapaneseRestream (@Jap…

EPSON printers show × for JPEG files exported from LibreOffice

Problem Some EPSON printers have a USB port to print JPEG files stored in USB flash drives. When you store JPEG files exported from LibreOffice to USB flash drives, the printers (especially my EP-881AW) show × mark on the JPEG files. Cause…

各種ツールのJava 17への対応状況

Antには、コンパイル環境のJavaバージョンを判定・取得するJavaEnvUtilsというクラスがあるが、このクラスは最新の1.10.12でもJava 12までしか定義がない。 https://github.com/apache/ant/blob/master/src/main/org/apache/tools/ant/util/JavaEnvUtils.jav…

「デジタルディバイド」の用例収集

「デジタルディバイド」が「格差」の意味ではなく「機械オンチ」の言い換えに使われているのでは……?という事例をいくつか観測した。 株式会社ヘッドウォータースの事業計画資料にある「デジタルディバイド向けUI」 https://www.nikkei.com/markets/ir/irftp…

AltCoverでVB.NETのコードカバレッジが取れるか?

結論 OpenCoverがアーカイブモードに入ってしまった。後継として推されていたAltCoverでも、OpenCoverと同じように行単位のC1が取れそう。 手順 QuickStart Guideに記載の通り、テストケースの格納されているプロジェクト中でdotnet add package AltCoverす…

Pythonプログラム中からimport文レベルの依存関係ベースで不要なファイルを除外する

動機 ソースコード調査ツールの中には、調査対象となるソースコードのサイズで価格が決まるものがあります*1*2。そういったツールの利用価格を低く抑えるには、調査対象のソースツリーから不要なファイルはできるだけ除外したいところです。 米国大統領令でS…

情報処理安全確保支援士の共通講習・実践講習の受講要否を取得する

情報処理安全確保支援士は、1年に1度の共通講習(オンライン講習)と、3年に1度の実践講習(実践講習または特定講習)を受講する義務があります*1。この講習を受講するには3年間で14万円かかります*2。企業や組織に所属する情報処理安全確保支援士の場合、こ…

ツールごとのC1カバレッジ取得方法比較

Java ReportGeneratorでは、分岐カバー率50%を超える行は緑色で表示されてしまい、条件網羅を記録するJaCoCoのようなツールでは逆に表示が分かりにくいという問題があることが分かったので、JaCoCoはEclipseの画面をそのまま表示。 JaCoCoはバイトコード単位…

OpenCloverでC1カバレッジが取れるか?

結論 JaCoCoでは行単位のC1カバレッジが取れないのだ、OpenCloverでは行単位のC1カバレッジが取れそう。C1が100%実行されていないのに100%と表示されてしまうといった問題もなさそう。 手順 手元の環境ではなぜかEclipseでOpenCloverを使う手順が上手く動か…

OpenCoverでVB.NETのコードカバレッジが取れるか?

結論 OpenCover VB.NETとかでググってもぜんぜん事例が出てこないので心配になるが、OpenCoverでVB.NETのコードカバレッジも取れる。ちゃんと行単位でのC1 coverage(branch coverage, 分岐網羅)も取れる。Coverletと違って、C1が100%実行されていないのに1…

CoverletでVB.NETのコードカバレッジが取れるか?

結論 https://docs.microsoft.com/ja-jp/dotnet/core/testing/unit-testing-code-coverage では「Coverlet とは、C# 用のクロスプラットフォームのコード カバレッジ フレームワーク」と言っているが、実際にはCoverletでVB.NETのコードカバレッジも取れる。…

How to write records into .xlsx with OLEDB

satob.hatenablog.com satob.hatenablog.com So, how should you write records into .xlsx files with OLEDB? Requirement and Implementation You want to record some data into a .xlsx file with relational database style. In other words, you want …

How to insert a new row with datatype constraints by using Microsoft.ACE.OLEDB

satob.hatenablog.com You can make an Excel file (.xlsx) without Excel by using Microsoft.ACE.OLEDB, but the behavior of INSERT is also a little bit weird. The behavior changes according to the CREATE TABLE is executed in the same connectio…

How to create a new sheet with the desired name by using Microsoft.ACE.OLEDB

You can make an Excel file (.xlsx) without Excel by using Microsoft.ACE.OLEDB, but the behavior of CREATE TABLE is a little bit weird. The behavior changes according to the name of the sheet, suffix of the sheet name ($) in the CREATE TABL…

GitLabのビデオ会議・ビデオ通話のルール

GitLabは「民主主義的な会社でも、合意ドリブンな会社でもない*1」という前提のもとに立った前提なのでので、そうでない会社にどこまで当てはまるかは分からないけど、それでもフルリモート業務の先達として参考になるかと。 ちなみにGitLab社がabout.gitlab…

ソフトウェア開発工程ごとの工数比率

ソフトウェア開発工程ごとの工数比率のデータ。 1979年のNASAのデータで、設計20%、コーディングと単体テスト47.3%、システムテスト15%、受入テスト12%、その他5.7%。*1 1994年のNASAのデータで、設計23%、コーディング21%、テスト30%、その他26%。*2 *1:Mcg…

ソフトウェア再利用の割合に関する数値

ソフトウェア再利用の割合に関する数値で、参考文献が示されていたもの。 見た資料は以下。他にもあれば追加。 Jalender, B., A. Govardhan, and P. Premchand. "A PRAGMATIC APPROACH TO SOFTWARE REUSE." Journal of Theoretical & Applied Information Te…

各ブラウザがmaxlengthを指定したテキストボックスにサロゲートペアの文字を何文字入力できるか

<input type="text" maxlength="5">に対して、各文字をペーストしつづけてみた。 あ 𩸽 か゚ Chrome on Windows11 あああああ 𩸽𩸽 か゚か゚か Edge on Windows11 あああああ 𩸽𩸽 か゚か゚か Edge IE mode on Windows11 あああああ 𩸽𩸽𩸽𩸽𩸽 か゚か゚か Firefox on Windows11 あああああ 𩸽…

EdgeのIEモードはIEなのか?

Windows 11 Pro 21H2 (22000.282)で確認。 Microsoftは何と言っているか? 「従来のサイトには、Internet Explorer 11 (IE11) から Trident MSHTML エンジンを使用します」と言っている*1。IEモードはIE 11であると言える。 WindowsからIE 11をアンインスト…

PleiadesのTomcatにEclipseからアプリをデプロイした際の確認先

EclipseからTomcatにアプリをデプロイしたんだけど、思った通りに動いていないように見える……ちゃんとデプロイされてるんだっけ?などというときに調べるフォルダ。 アプリケーションの展開先 (Eclipseのワークスペース)/.metadata/.plugins/org.eclipse.wst…

「プログラムと機能」にエントリを追加するだけのMSIをWIXで作成する

ISMS準拠などを目的に端末にインストールされているソフトウェアの情報を収集するソフトウェアとして、BigFixやAssetViewといったIT資産管理システムがある。 ここで、管理対象のクライアント端末がWindowsの場合、インストーラを備えていないソフトウェアの…

帰省時に使う私物を実家に置いておけるか

(A) 自分の家庭を持ったあとも、帰省時に使う私物を実家に置いておける。何なら自分の部屋まで残っている。 (B) 自分の家庭を持ったあとは、帰省時に使う私物は実家に置いておけない。帰省するときは自分用の布団を車に積んでいく。 これは土地柄なんですか…

IN clause with 100,001 entries in Oracle

Background You will get the following error when you specify over 1000 entries in IN clause in Oracle: ORA-01795: maximum number of expressions in a list is 1000 This is by design, and the following document says "You can specify up to 100…

OracleでIN句に100,001個のエントリを指定する

背景 OracleでIN句の内容が1000個を超えると以下のエラーが発生する。 ORA-01795: maximum number of expressions in a list is 1000 これはOracleの仕様で、以下のドキュメントに"You can specify up to 1000 expressions in expression_list."と記載されて…