Lazy Diary @ Hatena Blog

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

組織内でのAPI認証にOAuth2 Client Credential flowを使うメリット募集

内閣官房が政府CIOポータルで公開してる標準ガイドライン群では、APIテクニカルガイドブックで、API認証をする際は「APIキー又はOpenID Connect」による認証を推奨しています。 ただ、調達の受注者としては「政府CIOポータルで推奨されている方式に従いまし…

ID生成方法の評価観点(主にエンタープライズアプリケーションの視点から)

発端 https://www.asahi.com/articles/ASN5N5VR4N5NULFA01F.htmlwww.asahi.com こんな話がありました。 アプリの開発者に対して「こうやってIDを採番したら、処理が競合したときにIDが重複しますよ」という説明をしたときに、「そんなことが起こる確率は低い…

Read from .xlsx in PowerShell (x64) without using Excel

This article shows how to read .xlsx in PowerShell without Excel. In Windows 10 (x64), you will have to do additional work. You have to install Microsoft Access Database Engine 2010 Redistributable (AccessDatabaseEngine_X64.exe) when you u…

Launch PowerShell process in non-default culture (locale)

In PowerShell on Windows 10, you cannot change the current culture (locale) with chcp command. If you want to launch a new PowerShell process in another culture, once run cmd.exe from PowerShell, execute chcp, and launch powershell.exe fro…

pgbenchでINSERT中心のトランザクションのTPSをできるだけ高くする

動機 DBのチューニング方法なんかの書籍を見てみても、性能向上方法として語られているのはSELECTのチューニングが主で、INSERTに関する記載はあまり見当たりませんでした。ですが、大量のデバイスから飛んできたデータをMQTTやらHTTPやらで受けて、それを生…

常用漢字表を新旧漢字変換の根拠資料に使う場合の制約

文化庁の出している常用漢字表 *1 には康煕字典体と常用漢字の対応が記載されている。ただ詳しく調べてみたら、対応の記載自体に以下のようなコーナーケースがあるみたい。 「著しい差異のないものは省」かれているので「頬⇄頰」のような対応は記載がない。 …

You cannot set CPU affinity of PostgreSQL instance started through pg_ctl with Start-Process and Process.ProcessorAffinity

Background: In Windows, you can set the CPU affinity of an user process with Start-Process PowerShell cmdlet and System.Diagnostics.Process.ProcessorAffinity property like this: $app = Start-Process -FilePath C:\Windows\System32\mspaint.ex…

An error in pgbench: invalid command in command "setrandom"

Background: I tried to run the following transaction script on pgbench contained in PostgreSQL 12: \set nbranches 1 * :scale \set ntellers 10 * :scale \set naccounts 100000 * :scale \setrandom aid 1 :naccounts \setrandom bid 1 :nbranches \…

RDBMSに対する考えかた(レコード内での整合性)

一般的なエンタープライズアプリケーションアーキテクチャの考えかたでは、 RDBMSの1レコードはそのまま現実世界の状態をモデル化したもの 画面に表示されているデータの内容と、DB上のデータとは整合しているべき レコードを更新するということは(たとえ部…

HDMI接続の外部モニタで色がおかしい

症状 PCと外部モニタをHDMIで接続した際、写真のように外部モニタの色がおかしくなる。 色がおかしい場合の表示(HDMI接続) 黒で表示されるはずの箇所が緑色で、白で表示されるはずの箇所が紫色で表示される。 OSDの色は問題なく表示されるので、パネルの異…

「外字」の示す範囲の認識の多様性

このエントリ、いったい誰をターゲットにした内容なんだろうな?というのが第一印象です。 https://blogs.windows.com/japan/2020/02/20/about-windows-and-japanese-text/ 「お前のところのIMEが外字を入力させてるんじゃないか、いい加減にしろ」って言う…

Rethinking Productivity in Software Engineering Part I: ​Introduction to Productivity

Now I am reading Caitlin Sadowski, Thomas Zimmermann "Rethinking Productivity in Software Engineering", Apress, 2019. Rethinking Productivity in Software Engineering発売日: 2019/05/08メディア: ペーパーバック Now I have read through Part I:…

Microsoft Office 365 TeamsとStreamを使った操作説明動画の作成

Office 365 Business EssentialsかBusiness Premiumが使えるなら、製品の操作説明動画を簡単に作れることがわかった。自分宛にTeams会議を開催→画面操作をデスクトップ共有&マイクで喋った説明をTeamsで録画→Streamに保存された動画をダウンロードして提供す…

一度に扱える情報量を測る指標

PISAとかPIAACでは、ある能力をもとに「できるかできないか」を調べてると思うんだけど、一度に扱える情報量を測る方法ってあるのかな? たとえば未就学児向けの科学的な読みもの(「こどものとも」とか)の内容に対して、 読めない字はない 一冊二冊なら読…

抽象的な概念の操作能力を測る指標

抽象的な概念を理解できなくて、五段階欲求説みたいなことを言われても訳が分からない、という人がいる。 こういう、知識そのものじゃなくて、知識を得るために必要なメタ知識、たとえば 人の言うことを信じられるか? 人の言うことを棄却できるか? 形而上…

関連付けは悪くないけど前提が間違ってる誤謬

「熱中症には牛乳が効果的」という話 *1 「釈迦が悟りを開く前にスジャータから牛乳の施しを受けた」という話 *2 の両方を鵜呑みにして、それが合体した結果 釈迦はヘトヘトになっていたのではなく、熱中症でフラフラになっていたところ牛乳を飲んで助かった…

エンタープライズアプリケーションの開発ドキュメント作成で気をつけていること

エンタープライズアプリケーション*1を開発するときに、開発方針(従うべきアプリケーションアーキテクチャの説明から、ライブラリ的なプログラムの使い方までいろいろ)を文書化する役目がよく回ってきます。 「このライブラリにはどういう機能があるの?」…

Parasoft Jtest can't ignore Lombok-generated methods/fields

Problem: When you execute static analysis Java sources with Lombok by using Parasoft Jtest, you have to delombok the sources because of Jtest can't handle Lombok's compile-time generated methods/fields. Additionally, Jtest raise alerts wit…

「プログラミングできるのが普通の若者たち」のレベル感

UR都市機構 Open Smart URのコンセプトブック「UR 2030」*1では、「プログラミングできるのが普通の若者たち」という2030年の若者像を示しています。 では、この「若者たち」とは、具体的にどういう人たちから構成されるのでしょうか? SSP*22030(階層と社…

「詳細設計書」の目指すところと戸籍情報システム標準仕様書

日本の各自治体で行われている戸籍事務は法定受託事務です。ですから、各自治体で実施する事務の内容がバラバラでは困ります。 そのため、戸籍情報システムを開発するベンダー向けに、法務省が「戸籍情報システム標準仕様書」(標準仕様書)という資料を公開…

Amazon Kindle Paperwhiteが4G回線で見られるのはWikipediaだけ

Amazon Kindle Paperwhite (4th Gen)は 内蔵のブラウザでWebサイトが(いちおう)見られる 4Gモデルの通信料はAmazon持ち と聞いていたので、「TwitterとかをKindleで見るようにすれば通信料が節約できるかも!」と思ったのですが、そうではありませんでした…

標準レベル未満のメンバーを開発プロセスの工夫で救えるか

開発プロセスを工夫することで、標準レベル未満のメンバーを救えるのか?という話。 satob.hatenablog.com satob.hatenablog.com 少なくとも、開発プロセスは「標準レベル未満のメンバーを救うこと」が主目的ではないよなぁ、とは考えています。そういう救い…

Use Enum defined in classes from PowerShell

If you have an enum like this: namespace Foo { public class Bar { public enum Baz { A = 0, B = 1, C = 2 } } } You can use this enum from PowerShell with [FQCN+Enum] notation like this: Add-Type @" namespace Foo { public class Bar { public …

Change culture (locale) of current PowerShell process

You can change culture (locale) into English with chcp 437 in Windows 7. In contrast, You cannot change culture with chcp in Windows 10. In Windows 10, if you want to execute single PowerShell script in another culture, you can execute the…

Import assemblies for C# embedded in PowerShell

You can import assemblies (.NET DLLs) in PowerShell like this: [void][reflection.assembly]::LoadWithPartialName("System.Drawing") New-Object System.Drawing.Drawing2D.GraphicsPath But you will get an error when you tring to use these assemb…

Understandability of decision table depending on the countries

In software testing, decision table is an useful tool to identify and list up test cases and what you should check in those test cases. In Japan, there is a standard for decision table: JIS (Japanese Industrial Standard) X 0125:1986. ... B…

オブジェクトの変換にコンストラクタを使ったときの問題

背景 MyBatisのSqlSession#selectOne()で、クラスAのオブジェクトaを取得している。SELECTの結果が0件だった場合はnullが返る。 オブジェクトaを、別のクラスBのオブジェクトbへ変換したい。 問題となる設計 クラスBのコンストラクタが、引数にクラスAのオブ…

mvn command results in error in Windows

You will get error when you run following Maven command from Windows PowerShell: PS C:\workspace> mvn -B archetype:generate -DgroupId=com.example -DartifactId=hajiboot -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quicksta…

「大規模システム」の指す範囲

「100万行オーバーのモノリシックRailsアプリをマイクロサービス化したクックパッドの手順」*1では、100万行弱のコード(うちテストコードが約51万行、実行環境で動作していたのは約41万行)をもって「世界一のモノリシック」「巨大すぎる」と形容している。…

Difference of Invoke-Expression and '&' in PowerShell

# Command Result 1 Invoke-Expression 'Get-Process' OK 2 & 'Get-Process' OK 3 Invoke-Expression 'Get-Process explorer' OK 4 & 'Get-Process explorer' NG #4 causes the following error: & : 用語 'Get-Process explorer' は、コマンドレット、関数…