ラベル グチ の投稿を表示しています。 すべての投稿を表示
ラベル グチ の投稿を表示しています。 すべての投稿を表示

2020-05-31

バックアップに Nextcloud クライアントと B2 Cloud Storage を使うのはやめた方がいいかも

サーバー側の Nextcloud と B2 Cloud Storage を合わせるのは多分問題ないと思う。
問題なのは Windows 側に入れる Nextcloud クライアントで、こいつの挙動がもうマジ謎すぎる。

少量のファイルで試している間は何ともなかったけど、
B2 側にドーンともの入れるとなんかもう同期を頑張りすぎてチェックしまくるわなんやでやたら遅い。
Explorer を透過的に扱えるのでまぁいいかと思っていたがさらに面倒な問題があって B2 上にすでにアップロードしたファイルを取得しようとするのがもうマジむり。
初回バックアップなので通信回数も多くなるのはしゃあなしでアップロードのため API のキャパ増やしたりはまぁ許容できる。
できるんだけどなんでダウンロードのキャパ増やす必要があるのかと。
いやー、これはちょっとしんどい。GB データをダウンロードしだしたときに諦めた。

ただ B2 連携せずサーバー上に直接ファイル送ったりする連携はなかなかきれいに動いてくれたので恐らく外部ストレージの扱いがうまくないんだと思う。
重ねて恐らくだけどサーバー側 Nextcloud は外部ストレージをうまく扱えてて、Nextcloud クライアントがサーバー側ストレージ情報を知らずに処理しちゃってる感がすごい。

なので今のところの運用はでっかいバックアップ分は rclone で B2 に飛ばす、
ちょっと頻繁っぽいデータは Nextcloud クライアントから サーバー側 Nextcloud のディレクトリに飛ばすようにした。

あれこれテストしまくったっていうのもあるけどここ1日で $1 は使ったよ。疲れたよ。

2020-05-24

とりあえずメインPCを買った

一旦デスクトップPCを買うことにした。というか買った。
多分今回買ったPCがデスクトップ端末としては最後になると思う。

旧端末はOSがSSDで、それ以外のデータがHDDに入っていたけどなんかHDDも全滅してるっぽくて心折れまくる。
リカバリソフトでデータ見れたから頑張れば復旧できそうな気がしないでもないけど稼働してるノートPCのストレージが500GBしかないから新端末が来たら復元試してみる。

ここ最近NASとかクラウドストレージでデータ管理していこうかなーと思っていたんだけどその矢先にこれはきっつい。

メインパソコンこわれる

ブート領域が壊れたっぽい。

もろもろ手順を試したがダメっぽかったので再インストール中。
この記事はノートPCで書いてるけど、なんかデスクトップでどうこうするのも疲れてきた感ある。

修復の可・不可によらずそろそろメイン端末を買い替えたいと思ってたところではあるし手持ちの機器類を整理しておきたい。

前にも壊れてるし、四年そこらが耐久限界なんかね。五年くらいはいけると思ってたけどなー。

2020-02-29

Pe 0.87.001

致命的にバグってたので緊急リリース。
コマンドライン引数が設定されていない場合に ps1 実行で死んでいた。

しんどい。

2020-02-25

Pe 0.84.0 リリースで分かったこと

  • まぁ動くだろ的なノリで適当にリリースするとやっぱ泣く
  • Nuget から落としてきたライブラリでも依存ライブラリがある
    • CefSharp が Microsoft Visual C++ 再頒布可能パッケージ が必要なのを完全に見落としていた
    • 見落としていたというかまっさら Win7 で動かなかったのを .NET Core のなんかだろと軽視していたツケ
    • VSで開発してるからライブラリあって当たり前でまったく気にならなかった
  • 自環境でダウンロード検証したが、帯域絞るなりしてみた方がよかった
    • 0.83.0付属のアップデート処理機能だと落としきる前にタイムアウトしてるっぽい
      • これに関してはもうどうしようもないが、リリースノートの差し替え差し替えでぐっだぐだ
  • もうまじ💩

2020-02-24

Pe 0.84.0 リリース!

Pe を .NET Framework から .NET Core に変更した。
以下文書は酔っぱらいながら書いてる🍶。

移行に当たり git log を確認すると諸々の流れはこんな感じ
  1. 2017/06/11 0.83.0 リリース
  2. 2018/11/19 バージョンアップに着手
  3. 2019/01/06 バージョンアップ諦め
  4. 2019/03/02 バージョンアップに再着手
  5. 2019/06/08 バージョンアップ再諦め
  6. 2019/08/20 バージョンアップに再々着手しつつ .NET Core に唾を付ける
  7. 2020/02/24 .NET Core にて 0.84.0 のリリース
まぁ色々あった。

.NET Framework から .NET Core への移行

まぁ気になる人はこれだと思う。
基本的には問題ない、と言いたいが対象ユーザー層との相談が必要になると思う。

サーバーサイドならなんも考える必要はないけどデスクトップ界隈ならば、
  • 対象端末に .NET Core ランタイムはあるか
  • ランタイムがないのであれば自己完結型で💩レベルに膨れ上がるバイナリを許容できるか
なのでこれを解決する必要がある。

Pe の場合、これは自己完結型でユーザー許可を取らずにぶち込んだ。
ただこれも見映えの話で、自己完結型だと DLL が山ほど出力されるのでユーザーがなんも考えず EXE を起動できる必要がある。
(ユーザー目線で見ると .NET Core 自己完結型の EXE 探してダブルクリックとか結構な無理がある)
Pe では自己完結型の出力先を <Pe>\bin\ にして必要な諸々を bin ディレクトリに委譲したうえでユーザー操作では <Pe>\Pe.exe (と互換性保持用の PeMain.exe)だけに限定した。
起動順序として Pe.exe -> bin\Pe.Main.exe となる。
せっかく .NET Core(C#) で作ってるのにこの起動アプリケーションを C で作るというなんかもう何してんのか分からないことになっているしコマンドライン引数の再受け渡しでさらに何してんのか分けわからんことになってる。
プログラマー様に渡すならどうでもいいけど配布プログラムになるとこうするのが妥協案として一番まともだと思う。

ちなみに UI 系のものはことごとく捨てた。
UI 系ライブラリの .NET Core 対応を待つのもバカっぽいのですてた。
※ .NET Framework 版の .NET Core 上での再使用はなんとなく嫌だったので除外
これに関しては現行(.NET Framework)版の UI 充実度に左右されると思うので .NET Framework ライブラリ を .NET Core 上で動かすのが最適解だと思う。

ていうかサーバー用途じゃなけりゃ .NET 5 になっても MS が互換レイヤー用意するだろうから Windows だと無理くり .NET Core 自己完結型 にする必要ないと思う。

ブラウザに関して .NET Core に移ってまで WebBrowser に心ポキポキ折られると心が持たないので CefSharp を入れたがこれもまたサイズがでっかい。
まぁ .NET Core 自己完結型の中だと誤差だよ、誤差。

リリースに関して

これもうアップデート処理が出来たからリリースしましたとしか言えない。

.NET Core だと 1 exe で MB 単位の EXE 出来上がるのでこれのためにアップデート用 EXE に切り分ける選択肢はなし、本体側で実行できないと💩状態。
.NET Framework でもそうだったけど、 EXE を殺すのはどうでもよくて依存 DLL があるとなんもできなくなるのでこれを実現するためにいろいろ考えた結果 Pe.exe(Pe.Main.exe) から powershell を呼び出して呼び出し先で渡された Pe の PID 終了を待つようにした。

正直一番ましな方法だと思ってる。
ちなみに pwsh を優先して、なければ powershell を呼び出すようにしてるから多分どこでも動く。
これに関しては bat でも何でもよかったけど、 win10 なら bat でも ps1 でもなんでも動くだろっていう安直な想い。

PowerShell

  • Pe の可動部分(アップデート周り)では PowerShell の命令に限定している。
  • ビルドスクリプトは .NET の処理使ったり好き勝手やってる。
ビルド環境(おおよそ CI 環境)は開発者側で何とでもなるのでどうでもいいが、
アップデート環境 = リリース版 = 知らない人 の環境なのでここで動くシェルスクリプトっぽくでコマンドプロンプトより高機能で bash よりどこでも動くとなるともう PowerShell しかないのでこれでやるのが現状最強だと思う(ver 5 だけに限定するなら特に)。

.NET Core(3) への移行について

  • .NET Framework から移行するのは簡単
    • ただし移行だけに専念して .NET Core にまつわるロジック変更以外は何もしない方がいいと思う
    • Pe の場合、組み直し中の .NET Core 移行だったのでかなりしんどかった
  • (非プログラマの)ユーザーがクッソ重いバイナリを許容してくれてクッソ多いファイルから EXE を見つけてくれるなら .NET Core に移行してもいいと思う。無理なら何かしら解決策を提示する必要はある
  • プログラム組む側の人間なら移行していいと思う。たのしい!
  • プログラム組まない人間であれば情シスが .NET Core って言って来たら工数を要件と確認した方がいいともう。さらに言えば 1.5 倍にした方が安全だと思う(はまると死ぬ)

結論

うちは好きにしたけど君はまぁ頑張れ。

2020/02/25 12:00 追記

0.83.0 -> 0.84.0 の自動アップデートがたぶんタイムアウトかなんかで無理な可能性あり。
俺んちではできたけど会社ではだめだった。
0.83.0 までは軽量だったから問題なかったんだろうね、手動だ手動。


2019-10-08

avastをアンインストールした

前々から誤検知が多すぎた。
昔は無料版で使って世話になったし有料版を3-4年使ったけどさっすがに誤検知がしんどくなってきた。
特に適当なプログラムを組んでデバッグ実行したらそのプログラムを検知するのがクソ鬱陶しい。

あとインターネットが追跡されてます!的なくっそどうでもいいポップアップが四六時中自己主張するのがアンインストールの引き金。

いままでありがとう さようなら avast こんにちは Windows Defender

2017-08-15

MnMn 0.81.0, 0.81.1

最近緊急リリースが多いというかリリース後に不具合発覚が頻発してる。
検知自体はクラッシュレポートもらえるから早いうちに対応できるけどかなんなぁ。

この状態であれこれ機能実装・修正するのもリスクあるし次の 0.82.0 は .NET 4.7 に移行するだけに留めたい。

2017-07-08

脳細胞の劣化

課題を書こうと思って課題ページで新規作成画面開いたら書こうとしていた課題内容を忘れている。

これが最近多い。
脳みそ死んでんね。

2017-03-11

Visual Studio と Visual Studio Code に対する感想

私の端末環境だと VS(2017) と VSC の起動時間って3秒くらいしか変わりないんよね。

この程度の時間なら VSC 使わずともサクラエディタや vim でも別に問題ないなぁと思う今日この頃。
なんだったら慣れ親しんだサクラエディタで十分ですん。
そもそも IDE 以外のエディタってのはいかに標準のまま使用するかであってそれなら Windows 操作の及ぶサクラエディタに軍配が上がるから Ctrl+C で意図しないモード切替とかいらないんです、コピーしたいんです、 yy とか Windows 標準外の挙動いらないです。

サクラエディタじゃあれやこれが出来ない?
そういう時ってほんの数秒待って VS 使うから別に。。。

2017-02-22

bitbucketのダウンロード先URIが変わってた

今まで https://bitbucket.org/sk_0520/mnmn/downloads を指定してたんだけどいつからか最後に `/` を付けないと 404 になるようになってた。

なのでブログとかプロジェクトサイトのトップページを https://bitbucket.org/sk_0520/mnmn/downloads/ に書き換えた。
こういうのあせるよね。

2017-02-01

永続ライセンスを円でください!

dotMemory がほしいのですよ。
でも ReSharper Ultimate が $399 ってきつくね? しかも年かよ、趣味じゃ無理っすよ。

2017-01-08

MnMn-Setup 1.0

もうね、なんで私が PC 操作の問い合わせ受けないといけないのさ。

というわけで Web インストーラを作成した、あとはこの子が何とかしてくれるはず。してくれてほしい。

.NET Framwork 4.6 必須だったりするワケのわからないインストーラだけどもう疲れたから勘弁してくらさい。動作も適当に組んだからよくわからんけどたぶん大丈夫。デバッグ中に Avast がうるさかったけど大丈夫大丈夫。

C, C++

MnMn の簡易インストーラを作るために単独実行可能な実行形式作ろうとした。
なんでひっさびさに C と C++ でどっちがいいかなーと思ってカチャカチャ組んでみた。

C# になれた身だと C も C++ も GUI 作るのもう駄目だわ。
書けないわ。

文字列のコピーとかメモリ操作とかは別にいいんだけどメッセージループとそれに付随する Windows API の嵐がきっつい。
非同期処理とかもまじ吐きそう。

昔は、こんなん余裕っすよーとか言ってたけど今はもう金もらわなきゃ無理だわ。

2016-12-14

忘年会

いつも思うんだけど、どうせ年明けに新年会で酒飲むのに忘年会する意味あるんかね。

酒飲むのはいいんだけど飲んだ日はさすがに実装できないからなー。
(できないことないけど変な実装になる)

2016-11-30

取り調べ可視化を要求します

β版でフルスクリーン処理のチェックしようとしたらAvast様に連れていかれた。





うちの子、たぶん無罪なのに尋問受けてボロが出始めてるって自白強要以外の何物でもないと思うんですよ。





2016-10-30

ゲームおわた

ダークソウル3 の DLC 終わったからそろそろ MnMn の実装再開しようと思ったけど中途半端に作業止めてると再開するとこわっかんねーなぁ。

2016-10-25

DataGridっていつも使い難い

FormsでもWPFでもDataGridってなんでこうも使い難いかね。

アクティブにしてから編集するって理念はよくわかるんだけど自分らで出してるエクセルのUXがデファクトスタンダードになってるんだから同じような操作性を実装してくれないですかね。

2016-10-08

MnMn のUI について

UI をあれやこれやさわってる。
UX は今回目についた部分以外さわってないからまぁある程度は UI のみに切り分けた問題なんだけど、
わたくしですねー、デザインセンスないわ。

2016-09-23

歯医者

会社終わってダッシュで 歯医者いってきた。
虫歯ないけどかみ合わせが地味に悪くて神経死にかけてるかもって言われた。

やだねぇ。