Lazy Diary @ Hatena Blog

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

Xから始まる名前の人の割合

知人が「Xから始まる名前の人っていったらだいたい中国人だよ」と言っていたことがあって(その人も中国出身)、いや他にもいるでしょギリシャの人とか、と思ったんだけど、じゃあ具体的にどれくらい「だいたい中国人」なのか。 すっごく雑に Xで始まる名前…

日本国内キャリアのSIMスワップ耐性調査ってないの

大手キャリアのeSIMで出そろい、電話番号を乗っ取る「SIMスワップ」がいよいよ対岸の火事では済まなくなってきました。SIMカードは、本人から直接盗む、店頭でなりすまし再発行、住所変更+再発行、中の人に協力者など乗っ取りのハードルが高かったのですが…

「本当にコンピュータに向いている人は50人にひとり」の出典

Knuthが何かで言ってた「本当にコンピュータに向いている人は50人にひとり」という話、ここに記載があった。 https://www.informit.com/articles/article.aspx?p=2213858&WT.rss_f=Article&WT.rss_a=Twenty%20Questions%20for%20Donald%20Knuth&WT.rss_ev=a …

Amazon RDSのマイナーバージョン自動アップグレード機能の有効・無効はDBMSエンジンごとにデフォルト値が異なる

Amazon RDSのマイナーバージョン自動アップグレードについてググると「デフォルトだと有効」という記載をしているページがいくつか見つかる*1*2。 実際にAmazon RDSのメニューから[データベースの作成]-[追加設定]-[マイナーバージョン自動アップグレードの…

SupabaseのPostgres-WASM環境にDBの初期データをロードする

やりたいこと SupabaseのPostgres-WASM環境に、PostgreSQLの教育用DBを構築したい。 問題(1) DDLを含むSQL文をPostgreSQL-WASM環境のコンソールにコピー&ペーストしようとすると、ある程度の分量(100kBくらい?もっと少ない?)までは問題なく実行できる。…

無線接続ヘッドフォンの再生周波数帯域

昔はヘッドフォンやイヤフォンのパッケージに必ず再生周波数帯域が書いてあったと思うんだけど、最近のヘッドフォンではこれが書かれていないケースがけっこうあるみたい。 そこで、手持ちのヘッドフォン・イヤフォンの再生周波数を動画を使って確認してみた…

コンボボックスとかドロップダウンリストとかプルダウンリストとか

コンボボックスとかドロップダウンリストとかプルダウンリストとか言われるものが何を指しているか、ドキュメントごとに違うように見えるので調べてみた。 ドロップダウンリストの例 Windows User Experience Interaction Guidelines *1 "standard list box"…

LINEの応答に句読点をつけないマニュアル

これ、けっこう深刻な問題で、自殺相談のような十代向けの対応をする機関では、「ツールはLINE」で、かつ、「親近感を出すために句読点をつけない」のがマニュアル化されていた。それくらい句読点に対する(年長者への)忌避感が若い世代にはある。 https://…

Parasoft DTPでソースの変更点にだけ静的解析をかける方法

ソースの変更点にだけ静的解析をかける機能ってないのかな?と思っていたんですが、あるんですね。 parasoft.techmatrix.jp ただし、ソースコードはGitリポジトリ上に格納されている必要あり。リポジトリの場所の指定方法は以下でいいのかな? docs.parasoft…

Parasoft DTPで指摘を抑止するコメントの構文

Parasoft DTP Engine 10.3.3だと// parasoft-suppress ALLというスタイルのコメント*1以外に、/* parasoft suppress item * line 10 */というスタイルのコメント*2がマニュアルに書いてある。 ところが、Parasoft DTP Engine 10.4.1だと// parasoft-suppress…

相談窓口にLINEを用いる根拠が示されてる資料がほしい

これ、けっこう深刻な問題で、自殺相談のような十代向けの対応をする機関では、「ツールはLINE」で、かつ、「親近感を出すために句読点をつけない」のがマニュアル化されていた。それくらい句読点に対する(年長者への)忌避感が若い世代にはある。 https://…

SQLite: Get the information of all tables as HTML

You can get the information of all tables as HTML with headers with a one-liner like this: for i in `sqlite3 AdventureWorks.db ".tables"`; do echo "<h3>$i</h3><table>"; sqlite3 -html -header AdventureWorks.db "PRAGMA table_info('$i');"; echo "</table>"; done Note…

SQLite: Count the number of records in multiple tables with a shell script

Background In SQLite, you can list the name of tables with the .tables command or the following SQL: SELECT name FROM sqlite_master WHERE type = 'table' and name NOT LIKE 'sqlite_%' Problem You can't list the number of columns of multiple …

Postgres-WASMの環境に日本語を入力できない

問題 Postgres-WASMをオンラインで試せるサイト、たとえばSupabaseのPostgres-WASMやCrunchy DataのPostgres-WASMを使ったチュートリアルでは、コンソールから日本語を入力しようとすると文字化けしてしまう。たとえば、Linkedin LearningのSQL基本講座の内…

EdgeのIEモードだとJavaScriptでCtrl-Nの入力をキャプチャできない

IEではCtrl-Nの入力に反応する処理をonkeydownイベントで実装できたんだけど、EdgeのIEモードではそれが使えなくなっているらしいので実験した。 準備 ReplitでこんなHTMLとJavaScriptを用意しておく。 <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>replit</title> </meta></meta></head></html>

Get a deep copy of an object with non-serializable fields with Jackson

Background When you want to get a deep copy of an object, you can use ObjectOutputStream/ObjectInputStream and serialize/deserialize the target object *1 ((Note that SerializationUtils.clone() in Spring Framework requires the class of the …

姓名の分割が行える形態素解析器

前提 姓・名にJIS第1・第2水準外の文字が含まれている日本人はどれくらいの割合でいるか?を調べるときのサンプルとして、国会議員名簿が都合がいい(PCで表示できない文字はその旨書いておいてくれているから)。 問題 姓名が区切りなしで書かれている場合…

参議院サイトの議員名簿と衆議院サイトの議員名簿の違い

スクレイピングするときにつらい…… 参議院: https://www.sangiin.go.jp/japanese/joho1/kousei/giin/210/giin.htm 衆議院: https://www.shugiin.go.jp/internet/itdb_annai.nsf/html/statics/syu/1giin.htm # 違い 参議院 衆議院 1 ページのまとめかた 全議…

DevRelとかCCoEとかOSPOの存続

企業内においてDevRel*1とかCCoE*2とかOSPO*3とかの部門を設けているケースはけっこうある。では、それらの部門はコスト部門となっている場合と、プロフィット部門となっている場合のどちらが多いのか?またプロフィット部門の場合、コスト部門の場合のそれ…

PostgreSQLがORDBMSってどういうこと?

GAITの試験問題サンプル*1を見ていて気付いたんだけど、PostgreSQLのオフィシャルサイトではPostgreSQLはobject-relational database systemだと謳っている*2。これってどういうことなの?Wikipediaにあるとおり*3普通のrelational databaseなのでは?と思っ…

GAITの試験問題サンプル

GAIT*1の試験問題サンプルを自分でも解いてみたんだけど、問題の品質がちょっと気になったのでメモしておく。英日翻訳時に題意が読みとれなくなっちゃうパターンかと思いきや、どうも日本語版がオリジナルみたいだし。 以下の画像は https://www.gait.org/sa…

Vulnerabilities/Troubles in the Java applications on OWASP Vulnerable Web Applications Directory

# Category Problem EasyBuggy OWASP VulnerableApp OWASP Security Shepherd Vulnerable Java Web Application OWASP WebGoat 1 Troubles Memory Leak (Java heap space) ✓ 2 Memory Leak (PermGen space) ✓ 3 Memory Leak (C heap space) ✓ 4 Deadlock (Ja…

方言と書き言葉について

地方では、自営業のお店の張り紙が手書きで書かれていて、その日本語がなんだか変になっているのをよく見る。だけど、これは別に地方だから日本語の扱いが下手とかいう意味ではなくて、書き言葉の正しい・正しくないを理解できない人はどんな土地でも一定数…

アジャイル型開発プロセス前提の入札で工数過少見積を防ぐ方法

米国国防総省ではソフトウェア受託開発の調達は原則アジャイル型プロセスというルールで(これは本当)、その際に「金額と人数で別々に調達がかかる」と聞いたことがあって(これは真偽不明)、いったいどういう意味だ?と思っていたんだけど、もしかして 発…

ブラウザのスクリーンショット取得を禁止する調達仕様の例

ブラウザでスクリーンショット取得を禁止しているシステムってどんなものがあるんだろう?と調べていたところ、ちょっと古いが、「厚生労働省LANシステムの更改整備及び運用・保守業務」で、iOSおよびAndroidでスクリーンショット取得を禁止する仕様が盛り込…

Difference of way to get Java version at runtime

# JDK Way to launch SourceVersion.latestSupported() Runtime.class.getPackage().getImplementationVersion() Runtime.version() System.getProperty("java.version") System.getProperty("java.specification.version") 1 JDK8 java RELEASE_8 1.8.0_312…

ファイルダウンロードを中断すると何が起こるか

Spring Boot 2.7.0で組み込みTomcatでアプリケーションを起動した場合、ファイルダウンロードがブラウザから中断(キャンセル)されるとClientAbortExceptionが発生する。 以前はSocketExceptionが発生していたように思うのですが、Servletコンテナによって…

Way to shutdown Windows

There are so many ways to shutdown Windows: # How to shutdown What is executed Wait for HungAppTimeout 1 shutdown from Start Menu RuntimeBroker.exe Yes 2 shutdown from the lock screen winlogon.exe No 3 execute SlideToShutDown.exe SlideToSh…

著作権法のコーナーケースに関する理解の度合い

たとえば「次のうち、『やっちゃいけないよ』と他の人に言ったほうがいいのはどれでしょう?」「次のうち、『やっちゃいけないよ』と他の人に言えないのはどれでしょう?」と言われて正しく答えられる人がどれだけいるか、みたいな調査って行われてるんだろ…

Merits-demerits of password hashing methods with Java SE / Spring Security API

# Method PBKDF2 bcrypt scrypt Argon2 1 Implementation SecretKeyFactory(PBKDF2WithHmacSHA256) BCryptPasswordEncoder SCryptPasswordEncoder Argon2PasswordEncoder 2 prerequisites JDK 8 or later Spring Security*1 Spring Security + Bouncy Castle…