Lazy Diary @ Hatena Blog

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

API GatewayからLambdaに渡される入力パラメタの形式

API GatewayからLambdaを呼び出す場合、プロキシ統合(API Gatewayでメソッドの[統合リクエスト]に[Lambda プロキシ統合の使用]を設定した場合)、以下のURLにある形式でLambdaへパラメタが渡される。リクエストのパラメタはqueryStringParametersに入ってく…

API Gatewayでオーソライザーの実行結果がGET/HEAD/OPTIONSで変わるように見える

背景 API Gatewayで同一リソースに対するGET/HEAD/OPTIONSを作成している。 どのメソッドにも同じオーソライザ(Lambda関数)を設定している。 事象 GETメソッドの[統合リクエスト]-[マッピングテンプレート]-[リクエスト本文のパススルー]を[リクエストの C…

Edgeのapplication modeの動作について

まず、Edgeのコマンドラインオプション一覧のようなページはmicrosoft.com内に見当たらなかった。ある程度まとまっているのは、kioskモードの説明*1と、プロキシの設定の説明*2くらい。 application mode自体はもともとChromiumにあった機能で、--appという…

エンジニアのレゴブロックとドイッチュ限界のはざま

日本国内では情シの地位が低くてシステムをベンダに背負わせている企業が多いと聞く。そんな中でGoogle WorkspaceとMicrosoft Power Appsがスプレッドシートを取り込んだ。これまでマネージドサービスは「エンジニアのレゴブロック」*1だったが、これでブル…

What curl can do and Invoke-WebRequest can't do

curl can show the raw request header and body with --trace option*1. There is no way to get the content of the request with Invoke-WebRequest. curl can show the body of 5xx response. Invoke-WebRequest returns null when a server responds wi…

Determine whether you are behind a proxy or not with .NET

You can get the default proxy setting for a specific url with System.Net.WebRequest.GetSystemWebProxy().GetProxy(). The result is System.Uri object, and its OriginalString property will be the same the parameter if you are not behind a pro…

JDBCドライバがサーバとの1回の通信で取得する行数のデフォルト値

Oracle 11.2は10行。*1 By default, when Oracle JDBC runs a query, it retrieves a result set of 10 rows at a time from the database cursor. This is the default Oracle row fetch size value. Oracle 21は10行。*2 By default, when Oracle JDBC run…

Test-NetConnectionの不思議な挙動

最近はICMP Echoに応答しないサイトも多い(たとえばlogin.live.com)。そんなときは、TCPでポートを指定して接続確認が行えるTest-NetConnectionコマンドレットが便利に使える。 ただこのTest-NetConnectionコマンドレット、ネットワーク接続が確立していな…

You cannot identify platforms of an application that is about to authenticate

Background You are trying to write an authentication logic for an application that calls a Microsoft Graph API. When you retrieve an authentication token, you have to pass client secret if the application is registerd with "Web" platform c…

OneDriveにMicrosoft Graph APIでアクセスする

OAuth2のトークンを取得する際にtenantを指定する*1のだが、これはOneDriveのURLのhttps://XXXXX-my.sharepoint.com/のところに入るテナント名とは別で、commonかorganizationsかconsumersを指定するとある。commonを指定しているドキュメント*2を参考にして…

GitLabの在宅勤務のルール

常時ビデオONで会議を行っている*1と「ネットワーク帯域が……」となることもあるだろうに、GitLabはどうしてるだろう?と思って調べてみたら、インターネット接続の月額費用を経費精算可能にしてた*2。 在宅勤務で必要な机・椅子・モニタなども経費精算可能な…

Windowsをシャットダウンする方法いろいろ

Windowsをシャットダウンする方法には スタートメニューから「シャットダウン」を選択(内部的にはC:\Windows\System32\RuntimeBroker.exeが呼ばれているみたい) デスクトップでAlt+F4を押して「シャットダウン」を選択 ロック画面から「シャットダウン」を…

JaCoCoのデータから行単位のbranch coverage (C1 coverage)は復元できない

JaCoCoはC1 Coverageが取れると言っておきながら実際に取れるのはC1(分岐網羅)でなくC2(条件網羅)という問題がある。 この問題に対して、JaCoCo組込みのReportGeneratorを改造するか、またはReportGeneratorを改造するかして、コードカバレッジのデータ…

Java用SSHクライアントライブラリの比較

背景 JavaによるOLTP処理の中で、「別サーバのauthorized_keysに指定されたコマンドをパスフレーズなしのSSH鍵でキックし、その戻り値を確認する」という処理を行いたい場合、外部コマンドとしてSSHを起動するのはいかにも手間がかかる。 そこで、Javaで実装…

タスク スケジューラからPowerShellを起動するとき-Commandオプションのパラメタをシングルクォートで囲んではいけない

前提 タスク スケジューラで作ったタスクで、操作に「プログラムの開始」でpowershell.exeを指定し、「引数の追加」で-Commandオプションと実行したいスクリプトを指定すれば、タスク スクリプトから任意のコマンドを実行できる。 参考: https://www.netspi.…

PowerShellはまり道

github.com この処理を書くときに久しぶりにいくつかはまったのでメモ。 .ps1ファイルの文字コードをBOMなしUTF-8にすると日本語コメントがあったときに誤動作する。たとえばAdd-Typeの後のヒアドキュメントが正しくヒアドキュメントと認識されずに単一行文…

PowerShellでHashSetのForEachメソッドを使う

$map = New-Object System.Collections.Generic.HashSet[string]; $map.Add("ABC") > $null $map | Get-Member とすると出てこないが、PowerShell ISEなどでオートコンプリートを使うとHashSetにForEach()というメソッドが生えていることが分かる。 このForE…

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。企業や組織に所属する情報処理安全確保支援士の場合、こ…