GitBookでフッターを変更する方法、目次にページ数を記載する方法がわからない
最近、マニュアル等を単体ではmarkdown、複数文書をまとめる必要がある場合はGitBookで作成している。
GitBookで出版、のような記事も見受けられるため、かなりのことができるのかと思っていたのだが、タイトルにある以下の2件がどうしても解決できない
- フッターのカスタマイズ([現ページ]/[総ページ数]のような表示)
- 目次でページ数を表示
1点目は、book.jsonにカスタマイズを加える方法、
[GitBook] GitBookから生成されるPDF・HTMLのデザインを変更する方法 - Qiita
及び、_layouts/ebook/pdf_footer.htmlを作成する方法
How to get custom footer and header for pdf (ebook) ? · Issue #1661 · GitbookIO/gitbook · GitHub
いずれもフッターは変更できなかった。
2点目は、ページ数が表示されてほしいところになぜか1.1のような表示がされてしまい、GitHubで掲載されている、表示自体を消す方法しか見つからなかった。
Windows 2016のWindows Update
今年に入って稼働を始めたWindows Server 2016で、原因不明の再起動が発生。 Hyper-Vホストでも発生するため、ゲストOSが未起動の状態で朝を迎え、利用者から問い合わせを受けていた。
原因はタイトルの通り。 信じられないのだが、Windows 2016ではどのように設定しても一度Windows Updateを動かすとactive hourの後で勝手に再起動するらしい...
Windows Server 2016 automatically restart
上記記事の最後に、荒っぽいタスクを30分おきに起動して再起動を止める、というworkaroundが紹介されていた。
Command: schtasks Arguments: /change /tn \Microsoft\Windows\UpdateOrchestrator\Reboot /DISABLE
うちはそれほど社員数もおらず、夜間にサーバー使えないと困るという人はいないので再起動は止めず、再起動後にゲストOSを自動起動するよう設定した。 併せて、以下の記事を参考に再起動後にメール、LINE通知するようにした。
改めて、Windows奥が深い
特定PCから特定サーバのみホスト名でUNCアクセスできない
社内情シスには常について回る、ファイルサーバーアクセスできない問題。 私も過去何度も経験しているし、WINS, SMBなどの知識もあるのでそんなに悩むことはここのところありませんでした。
しかし、今回は様子が異なり、以下のような症状。
\\SVRNAME
でアクセスできない。\\SVRNAME.domain.name
のようなFQDNでもダメ- 他のサーバに対しての
\\SVRNAME2
のアクセスは可能。ダメなのは1台のサーバのみ(?) ping SVRNAME
は通る(!?)\\IPアドレス
であれば該当のサーバでもアクセスできる- NetBIOS over TCP/IPは有効になっている
- %WINDIR%\system32\drivers\etc にあるhosts, lmhosts にエントリはない
上から見ていって、1,2番目まではよくあるNetBIOSの名前解決エラーかと思ったのだが、3,4番目あたりからどうも様子が違う...
結果は、Windowsのコンパネ-[ユーザーアカウント]-[資格情報マネージャ]に、サーバー名で認証情報が登録されており、指定されたアカウントが無効となっていたため。 こんなところで指定しなくてもADログインすれば自動で認証するので、登録情報を削除したところアクセス可能となった。
Windows は奥が深い #いい意味ではない
COM経由でのExcel操作は地獄?
VBAでExcelを操作するプログラムをC#に移行。 印刷に使用するActiveXオブジェクトを含む雛形ファイルを対象とするため、Managedな操作をするClosedXMLやNPOIではうまく動作せず、Interop.Excel経由で行った。
ClosedXML等と比較して圧倒的に動作が遅いのは当然として、シートをある程度(10枚以上?)コピーするとtmpファイルを書き込めない旨のエラーが発生する。 タイミングは実施するたびに違い、運が良ければエラーが発生しないこともある。
同様のエラーを探したが、結論としてはエラー時にリトライする処理を追加するくらいしかないらしい...
こういった対処方法は、仕方ないとしても凹みますね。 機械があればネックとなっているActiveXオブジェクトをManagedな操作で置き換えていきたい。
AccessにOleDbアクセス時、日付型のパラメータを使用する場合は型を明示する必要あり
C#でのDbTransaction.Rollback
C#のTransactionにて、DbTransactionをusing句で使えば、Disposeの際にRollbackされるので、明示的なRollbackが不要とあったのだが、どうもそのように記載しているサイトのほうが少ないように見える。
MSDNで確認したところ、そうあるべきではるが、ベンダー依存のため前提とするのはだめらしい。
Dispose should rollback the transaction. However, the behavior of Dispose is provider specific, and should not replace calling Rollback.
https://msdn.microsoft.com/ja-jp/library/bf2cw321(v=vs.110).aspx
SqlTransactionだけならいいかもしれないが、OleDb(Access)やMySQLも共通化している今のコードでは駄目なようだ。try catch使うしかない。
iPad(9.7)でMicrosoft Remote Desktop使用時の注意事項
会社で支給されたiPad Pro 9.7inchで、Microsoft Remote Desktopを利用してWindows 10にアクセスしたところ、その後Windows10にローカルアクセスした際に英語キーボードの設定になっていた。
iPad Pro 9.7inchはSmartKeyboardを使用していて、英語キーボードしかないモデル。おそらくこの設定をMicrosoft Remote Desktopが設定してくれたのだろう。 賢いと言えば賢いのだが...
Windows 10の設定を見ても日本語キーボードとなっている。一旦英語キーボードに変えようとするとサインアウトを促されるので、キーボードレイアウトの変更はサインアウトをしないと反映されないのだろう。 今回も一旦再起動することで日本語キーボードに戻った。