Lazy Diary @ Hatena Blog

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

できない

VB.NETのMy.Application.Logにはログローテーション機能がない

.NETでは標準でロガーインタフェース(ILogger)が定義されている。処理系組込みの実装としてConsole, Debug, EventSource, EventLogがある*1が、ローカルストレージ上のファイルにログを出力する実装はデフォルトでは提供されていない。 一方で、VB.NETには…

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>

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…

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

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

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

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

fdisk(1)ではGPTパーティションに名前を指定できない

GPTパーティションにはパーティション名(72バイトまで)を指定できる。 parted(1)ではnameコマンドを使ってparted name 2 "Partition Name"のようにすればよい。一方fdisk(1)ではGPTパーティションに名前をつける方法がない。fdiskを使いなれている場合は、…

rbashでディレクトリトラバーサルは防げない

satob.hatenablog.com で挙げた # cat authorized_keys command="ls /$SSH_ORIGINAL_COMMAND" ssh-rsa AAAAB.... $ ssh root@xxx.xxx.xxx.xxx -i ~/.ssh/com "tmp;hostname" ls: /tmp;hostname: No such file or directory みたいなケースで$SSH_ORIGINAL_CO…

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

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

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

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

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' は、コマンドレット、関数…

There is no way to show SSL certificate in Safari on iOS

Problem: There is no way to show SSL certificate in Safari on iOS. Reason: It seems to be by design. Solution: Use Chrome for iOS. Note: You can view SSL certificate on https://www.digicert.com/help or other SSL diagnostics services, only …

家庭用Wi-Fiルータで同一サブネット上の別マシンに接続できない

最近の(といってもここ10年くらいの)家庭用Wi-Fiルータには「プライバシーセパレータ」という機能がある。この機能では、ルータ上のLANポート同士の通信を禁止できる。この機能を有効にしておけば、他人に自宅のアクセスポイントへアクセスを許可する際に…

iOS 11ではリマインダーに保存したツイートのURLからTwitterのアプリを開けない

iOS 10.3では、リマインダーに保存したツイートのURLはTwitterのアイコンで表示される。また、TwitterのアイコンをタップするとTwitterのアプリが起動し、対応するツイートが表示される。 iOS 11.0では、リマインダーに保存したツイートのURLはアイコンなし…

外部.ps1ファイルの呼び出しができない

PowerShellをインストールした直後は、外部.ps1ファイルの内容を読み込むとエラーが発生する。PowerShell_profile.ps1すら読めない。 対策としては、Set-ExecutionPolicyコマンドレットを実行して、外部ファイルの実行を許可してやればよい。

diff -r相当のコマンドレットがない

UNIXでいうところのdiff -r -q before/ after/ができないか調べたが、これに該当するコマンドレットはない模様。Compare-Objectでは、まずディレクトリの比較ができない。 対策は現状不明。Get-ChildItemとForEach-ObjectとGet-ContentとCompare-Objectの組…

引数なしのcat相当のコマンドレットがない

テキストの重複排除をするために、UNIXを使ってるときはよくcat | sort | uniq として、コンソールへテキストをコピペするのだけれど、PowerShellではこの最初の「引数を取らないcat」に対応するコマンドレットがないみたい。 対策としては、クリップボード…

proxycfgコマンドでプロキシのユーザーIDとパスワードは設定できない

Windows XPではproxycfgコマンドでシステムがデフォルトで使うプロキシサーバを指定できるが、ユーザーIDとパスワードが設定できないため認証つきプロキシは使用できない。 プロキシのホスト名とポート番号を指定する時にid:password@hostname:port形式で指…

WScript.Argumentsで空白を含む248(260?)文字以上のパスを扱う

WSHスクリプトに、空白を含む248(260?)文字以上のパスを持つファイルをドラッグ&ドロップすると、ファイル名が空白の前と後で2つの引数として扱われてしまう。 空白を含むパスでも、上記の制限より短いパスなら問題なく1つの引数として扱われる。回避方法は…

一定桁数に満たない数値のゼロ埋め

Excelには、「数値をゼロ埋めしつ表示」という書式設定はないようだ。 (printfで言うところの"%03d"のような書式指定ができない) 必要であれば、マクロで同様の機能を実装するしかない模様。

ExcelでUnicode CSVをインポート

Unicode(たとえばUTF-8)で保存されたCSVを、ダブルクリックしてExcelで開こうとすると、文字コードが正しく認識されなかったり、区切り文字が正しく認識されなかったりする。SJISのCSVと完璧に同じ、たとえば ダブルクリックで開いてもメニューから「開く…

段落番号を振り直すと予期しない動作をする

MS Word 2007で「見出し 5」なんかのスタイルに段落番号を設定している場合、上位の見出しが繰り上がったにも関わらず、段落番号がリセットされない場合がある。 例えば、「3.3.1(4)」の次が「3.3.2(5)」になってしまう等(本当は「3.3.2(1)」になってほしい…

図表番号を相互参照できない

Word 2000以降でテキストボックス等の描画オブジェクトを右クリックして表示されるメニューから図表番号を追加できるが、この図表番号は「相互参照」ダイアログに現れないため相互参照できない。図表番号が図形として追加されてしまい、相互参照用のフィール…

「文字列の折り返し:しない」と「次の段落と分離しない」は両立しない

MS Word 2007で、スタイルの[書式]-[レイアウト枠]-[文字列の折り返し]を「しない」に設定すると、[書式]-[段落]-[改ページと改行]-[次の段落と分離しない]を有効にしても、次の段落と分離されてしまう。ちょっと調べたけれど、対策方法はなさそう。

描画キャンパスと段落前の空白は相性が悪い

MS Word 2007で、段落前に空白を設けるスタイルを描画キャンパスに対して適用すると、改ページ後のページ先頭に描画キャンパスが配置された場合に表示がおかしくなることがある。 具体的には、段落のベースラインが段落前の空白分だけ上方向にずれてしまう(…

Macで8cm CDを読めない

スロットローディング方式のMacでは、8cmのCDを読むことができない。 読ませようとして故障すると、保証外となってしまうので、要注意。 http://support.apple.com/kb/HT2446?viewlocale=ja_JPなんだけど、別のページには「iMacは8cmのCDなら読めるよ」って…

Siセンサーコンロでは炭をおこせない

最近のガスコンロには必ずセンサーがついているが、こういうコンロでは炭に火が着くまえにセンサーが働いてしまい、炭をおこせない。豆炭こたつもダッチオーブンも使えません。

PowerPoint 95以前で作成したファイルをPowerPoint 2007で開けない

「指定されたファイルは、有効なMicrosoft Office PowerPointファイルではありません」と言われる。 PowerPoint 2000などの古いバージョンを使って変換する必要があるみたいだけど、もうサポート期限切れなんだよね……

本家のYukiWikiで複数行に渡るセルを持つ表を作成できない

http://www.hyuki.com/yukiwiki/wiki.cgi?WritingTestableCodeFlaw1ConstructorDoesRealWork の翻訳をしているので、 http://misko.hevery.com/code-reviewers-guide/flaw-constructor-does-real-work/ から表を引っ張ってきてYukiWikiに載せようかと思った…