Lazy Diary @ Hatena Blog

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

Entries from 2021-01-01 to 1 year

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

「デジタルディバイド」が「格差」の意味ではなく「機械オンチ」の言い換えに使われているのでは……?という事例をいくつか観測した。 株式会社ヘッドウォータースの事業計画資料にある「デジタルディバイド向け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."と記載されて…

セキュリティ対策を発注元に断わられたことを記録する方法は?

背景 要求仕様にセキュリティ対策の記載がない場合でも、十分に認知されているリスクはベンダが対策を行う必要があるとした東京地裁平成26年1月23日判決(平23(ワ)32060号)*1が出て以降、この点についてソフトウェア請負開発を行うベンダの立場は弱く、また…

CyberChefではANSIエスケープシーケンスの削除はできない

Eclipseのコンソールの内容をクリップボードにコピーしようとした際、ANSIエスケープシーケンスが付いてくることがある*1。テキストエディタなどでは^[[2mのようにに表示される(最初の^[ はASCIIのESC)。ANSIエスケープシーケンスについてはTeraTermのペー…

バイナリファイルをアップロードするときのエンコーディング

Q: ブラウザからバイナリファイルをPOSTリクエストでアップロードするとき、HTTPリクエストボディ上ではどういう見た目になるんだっけ? URLエンコードされる?Base64になる? A: バイナリがそのまま渡される。ChromeのAdvanced REST Clientで確認。こんな感…

Spring Frameworkのmax-file-sizeによるアップロードファイルサイズ制限のまとめ

satob.hatenablog.com application.propertiesにspring.servlet.multipart.max-file-size=100のように設定することでサイズ制限設定可能。 Spring Frameworkのファイルアップロード機能は、Webコンテナが持っているmultipartリクエストの処理機能をそのまま…

Spring Frameworkのアップロードファイルサイズ制限のテスト

spring.servlet.multipart.max-file-size=100を設定した状態で、以下のようなControllerに様々なmultipart/form-dataリクエストを送信して結果を比較した。 @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile fi…

Validate memory consumption in a JUnit test case

For load test If you want to run a load test in a JUnit test case and get maximum memory consumption or GC count as a Java variable, the way to do it doesn't seem to be. For memory consumption of whole Java VM If you want to run some tests…

文化的まちがいさがし - 上棟式の餅まき有無

(A) 上棟式(建前)のときに餅まきをする。 (B) 上棟式(建前)のときに餅まきをしない。 有無には地域差が確実にあるはずで、国交省から新設住宅着工戸数も数値が出てるからどこかで集計とかしてないかな……と思ったんだけど、そもそも国交省のデータは県ご…

テストデータに使う電話番号の作りかたの案

ダメだぞ、03-1100-xxxx とか 03-1199-xxxx みたいな番号を例に使ったら。 https://t.co/BEAaGJatJZ— AoiMoe a.k.aしお兄P (@AoiMoe) 2021年9月23日 example.com のような例示用番号というのが明確には存在しないようなので。テストエース*1とかどうしてるん…

マークアップ言語に対する静的解析

JSPやXMLなどのマークアップ言語に対して、たとえば JSPで<form:password>タグのshowPassword属性はtrueにしたらダメ JETTでxlsxファイルに<jt:comment>タグは使ったらダメ Apache FOPで<fo:external-graphic>タグのsrc属性に#や%や空白が入っていたらダメ myBatisのMapper XMLでLEFT OUTER JOINのOUTERを省略</fo:external-graphic></jt:comment></form:password>…