うっかりmasterリポジトリでcommit

git管理していて、ローカルリポジトリでブランチ切り忘れてmasterブランチで作業、ローカルcommitまでして気付いた。 このままpushしても、当然リモートのmasterブランチにダイレクトにpushはできず、弾かれる。 PRも出せない、と思っていたが。 pushでは、ローカルとリモートの両方のブランチを指定できる。 git push origin <local_branch>:<remote_branch> local_branchにmaster, remote_branchに本来切ろうと思っていたブランチ名を指定し、そのブランチでPRを出す。

<span title='2018-09-13 01:00:00 +0900 +0900'>September 13, 2018</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41

ClosedXMLでWindows7だけレイアウトが崩れる

アホな話です。 ClosedXMLで、一部コードでうっかり以下のようなコード書いてました。 using (IXLWorkbook targetBook = new XLWorkbook(filePath)) { using (IXLWorksheet targetSheet = targetBook.Worksheet(1)) { } targetBook.Save(); } usingの入れ子です。 普通、入れ子になるような階層があれば一番上位のクラスが下位のDispose呼んでくれるっと思いますよね〜。 でも、このときはusing句覚えたてで、とにかく使いたかったんです、using入れ子かっけ〜って思ってたんです… 症状としては、Windows 7の場合のみシートのフォーマットが崩れます。なぜかWindows 10は大丈夫。OSによって症状が違う理由は不明。 sourceを見ると、XLWorksheetのDisposeでrange情報をクリアしてるっぽいから、そこで情報が消えて、そのまま保存すればそりゃレイアウトは崩れるな〜と。 追記) どうも、最新の0.93.1で発生し、0.92.0では発生しなかったようだ。ライブラリのバージョンアップした途端に大量に問い合わせが…

<span title='2018-09-13 00:00:00 +0900 +0900'>September 13, 2018</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41

今日のクソVBAコード

stDocName = ChrW(xx) & ChrW(yy) & ChrW(zz) & ChrW(abc) & ChrW(def) & ChrW(ghi) & ChrW(jkl) & ChrW(mno) & ChrW(pqr) & ChrW(stu) DoCmd.OpenReport stDocName, acPreview ChrWの引数は実際にはコードが入る。 式の右辺をイミディエイトウィンドウに入力すると、日本語のレポート名が表示される… 暗号化?なんのために? あとで見る人への嫌がらせか? ちょっと意味がわからない

<span title='2018-09-10 00:00:00 +0900 +0900'>September 10, 2018</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41

CIの導入について検討

一人で開発していても、テストやデプロイにミスが出る可能性はある。 CIの導入を検討した。 結論としては、CI用途のサーバーを別途導入することはしない。現在主に開発しているC#プロジェクトでは、CIにもWindowsが必要となる。ライセンス費用が必要だし、Dockerでお手軽に再構築できる環境としたいため。 やりたいことは以下の通り リポジトリのPRコードのビルド テスト、結果通知、OKならmerge DBの構成情報に関して、リポジトリと実環境で差異がないかチェック 1,2点目はWindowsを避ける以上、不可能。開発時に自端末でテストを行い、PRのコメントに記載する運用で対応。 3点目は、毎日定時に実行する普通のバッチでなんとかなるレベル。 テストに関して、DBに関連するところは一切やっていない。面倒なので。 一方で内製アプリの殆どはDBのデータを持ってきてそのまま表示し、加工して更新する程度のものがほとんどのため、結果ほとんどテストがない状態。 本番環境に接続する際には専用のクラスを利用しているので、テスト環境用にも同様のクラスを作成し、テスト実行時にはそちらを利用してDB接続するようにしてテストを行うようにする。まずこちらが優先。 Dockerでdumpファイルから空のデータベースを作成するDockerfileを作成し、開発にすぐに利用できるようにする。 その上で、上記の運用で品質をさらに高めていく。

<span title='2018-08-27 01:00:00 +0900 +0900'>August 27, 2018</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41

Docker Container 起動失敗

Docker Hostのスタートアップサービスにて、Docker ContainerをBuild, Upするスクリプトを実行しているのですが、以下のようなエラーが大量に発生してUpしていませんでした。 8月 26 03:07:44 sever-name dockerd-current[864]: time="2018-08-26T03:07:44.615597202+09:00" level=error msg="could not calculate checksum for \"fb1077f711d4fc436c0b6e115f8cdb0c871f46c818ec998efbf489df5e4a4de5\", \"devmapper: Unknown device fb1077f711d4fc436c0b6e115f8cdb0c871f46c818ec998efbf489df5e4a4de5\"" ... 8月 26 03:07:44 server-name dockerd-current[864]: time="2018-08-26T03:07:44.617971873+09:00" level=error msg="migration failed for 866ae31005298fd6f1bb2944418eb34969b16ead2a18ed332fa011a311f3b4b2, err: open /var/lib/docker/graph/60e65a8e4030022260a4f84166814b2683e1cdfc9725a9c262e90ba9c5ae2332/json: no such file or directory" ... ログの内容を見ると、以下のissueと同じように見える。再起動前にDockerのバージョンが1.13.1-74 に上がったようだし… https://github.com/moby/moby/issues/20147 対処方法は記事からは判明せず。 スタートアップスクリプトを手動で実行したところ、普通にupしたので、docker containerが起動していなければスクリプトを再度実行するcronジョブを登録することで暫定対処した。

<span title='2018-08-27 00:00:00 +0900 +0900'>August 27, 2018</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;tack41