カテゴリー: 技術系

  • .NET8のアプリで急に動作が遅くなるときがある。

    .NET8のアプリで急に動作が遅くなるときがある。このときは、Dynamic PGOを疑ってみるといい。

    .NET8のDynamic PGOは、基本的にはアプリ実行が早くなる。アプリのサイズが巨大で、ほとんど使われない機能があり、いろいろな機能を呼び出しているときは、一定の閾値をこえると急激に遅くなることがある。これは、Dynamic PGOの特性のようだ。

    Bing on .NET 8: The Impact of Dynamic PGO
    https://devblogs.microsoft.com/dotnet/bing-on-dotnet-8-the-impact-of-dynamic-pgo

  • Let’s Noteのモニタが映らないときにBIOS設定にアクセスする方法

    Let’s Noteのモニタが映らないとき、画面割れでみれないときに、BIOS設定の画面を表示する方法がわかったので、メモ。

    試したのは、Let’s Note SR4。

    1. Let’s Noteに、USBのキーボードを接続する。

    2. モニタを接続する、HDMIでもVGAでもよい。

    3. Let’s Noteの電源をいれ、F2キーを連打し続ける。

    もし、Windowsのログオン画面まで表示されたときは、Shiftキーを押しながらシャットダウンを選択する(完全シャットダウンする)

    4. しばらくすると、接続したモニタ側で、BIOS設定の画面が表示される。BIOS画面のパスワードロックをかけている場合は、パスワード画面が表示される。

    5. あとはBIOSの設定変更を行ったり、初期化を行ったりする。

    これのポイントは、モニタが出力が検出できることと、USBでキーボードがつながっていること、キーボードがつながっていないと、モニタへの画面出力がされないので注意。マウスは、USBで接続してもしなくても影響はなかった。

  • Accessで「.FindFirst」の処理が「コンパイルエラー」になる

    古いAccessのツールを、最新のAccessで使うとき、「.FindFirst」の処理が「コンパイルエラー メソッドまたはデータメンバーが見つかりません」になる。

    対応したときの方法は下記。

    1. Accessのツールを編集できるモードで開く。

    2. 上部メニューの「作成」を選択し、リボンUIから「Visual Basic」を開く。

    3. 「Microsoft Visual Basic for Applications」が開いたら、「ツール」の「参照設定」を選択する。

    4. 参照可能なライブラリで「Microsoft Office 16.0 Access database engine Object Library」を選択して、優先順を上位にする(あげられるところまで上げる)。

    5. 保存する。

    6. もう一度、テストする。

  • .NET FrameworkのASP.NETから、.NET CoreのASP.NETにアップグレードするツールが公開されてる。

    .NET Framework 4.8系のASP.NETのMVCから、.NET Core系のASP.NETのMVCにアップグレードするためのツール(.NET アップグレード アシスタント)が公開された。MVCモデルなので、これは精度よくアップグレードできそうな気がする。

    従来型のASP.NET Framework Web Forms アプリも変換できるようだが、、、こっちはかなり構造が変わるので、どうなんだろうか。

    ■参考

    ASP.NET MVC と Web API から ASP.NET Core MVC へのアップグレード
    https://learn.microsoft.com/ja-jp/aspnet/core/migration/mvc?view=aspnetcore-9.0

    ASP.NET Framework Web Forms アプリを ASP.NET CORE MVC にアップグレードする
    https://learn.microsoft.com/ja-jp/aspnet/core/migration/web_forms?view=aspnetcore-9.0

    .NET アップグレード アシスタントとは
    https://learn.microsoft.com/ja-jp/dotnet/core/porting/upgrade-assistant-overview

  • WSLのUbuntuでapt updateがエラーになる

    Windows11のWSLのUbuntuでapt updateがエラーになる。エラーとしては下記で、外部への接続ができなくてエラーになる。なお、PINGを外部にむけて打つと、ちゃんと返ってくる。

    timed out Could not connect to security.ubuntu.com:80 (185.125.190.83), connection timed out Could not connect to security.ubuntu.com:80 (91.189.91.83), connection timed out Could not connect to security.ubuntu.com:80 (91.189.91.81), connection timed out
    W: Some index files failed to download. They have been ignored, or old ones used instead.
    • 「/etc/resolv.conf」を書き換えて、外部DNS(8.8.8.8)にしたけれど、効果なし。
    • apt updateで使っているディレクトリの「/var/lib/apt/lists/」を消したけれど、効果なし。
    • 「/etc/wsl.conf」も書き換えたけれど、効果なし。
    • 接続先のインターネット回線も変えてみたけれど、効果なし。

    WSLの設定としては、八方ふさがりな状態になった。ふと思いついて、Windows11にインストールされているアンチウィルスソフト(Symantec Endpoint Security)を無効化してみたところ、apt updateが成功した。

    原因: アンチウィルスのファイアウォール機能が通信を止めていた。

    わかってしまえば、とても単純な理由だった。いっそ、WSLからの通信を全部とめてくれたのならば、わかりやすかったのだが、中途半端に止められていたので気が付くまで試行錯誤をしてしまった。

  • Windows11でUSB-RSAQ6を使う

    個別でドライバのインストールの必要なし。接続時に、インターネット上から必要なドライバをダウンロードしてくれる。

    実際、USB-RSAQ6をWindows11に接続して、特に手動での設定は必要なく、Tera Termから利用することができた。

    https://www.iodata.jp/support/qanda/answer/s19680.htm

  • Rakuten WiFi Pocket Platinum が起動しないとき

    USB Type-Cの電源コードをさしていて、電源ボタンを押しても、Rakuten WiFi Pocket Platinum が起動しないときの対処。

    1. USB Type-Cの左横にあるリセットボタンを、ピンを使って、8秒以上押す。
    2. その後、電源ボタンを2秒以上押すと、起動する。

    これで起動すれば、OK。

    サポートによると、ファームウェアの更新でエラーになると、電源が入らなくなるとのこと。そのときは、リセットボタンを8秒以上おして、リセットする。

    なお、リセットボタンを8秒以上おしても、設定は消えなかったので、初期化されるということはない。

  • メモ:GitLab 17.3.1-ceから17.4.1-ceはapt updateアップデートできた。

    メモとして。GitLab 17.3.1-ceから17.4.1-ceはapt updateアップデートできた。

  • メモ:VSCodeをEmacsキーバインドに変えた

    Windows PCを置き換えたので、VS Codeの設定も吹っ飛んだ。いろいろと溜まってサイズも大きくなっていたので、心機一転で再セットアップした。拡張をいくつも入れていた以外は、複雑なカスタマイズはやっていなかったのだけど。

    デフォルト状態で、自分の癖と合わず、生産性に影響を与えるのがキーバインド。普段からEmacsのキー操作でやっているので、Emacs配列にしておく必要があった。前に使っていたものは、なんだったか忘れた。今回は、「Awesome Emacs Keymap」を入れた。

    Awesome Emacs Keymap
    https://marketplace.visualstudio.com/items?itemName=tuttieee.emacs-mcx

    カーソル操作がメインなので、「Awesome Emacs Keymap」を入れて、快適に使い始めている。次に変更するときに何を使っていたのか忘れるので、メモとして残す。

  • 読了:Software Design 2024年10月号

    読了。やっぱり、どこの会社もシステムの設計ドキュメントの課題はあるのか。課題がない方が怪しい。

    開発の運用上、少しずつ仕様が変わっていくところには、ADR(Architecture Decision Records アーキテクチャ意思決定記録)は、良さそう。どうしてその仕様にしたのかを記録し、OK/NG判定で残るので、シンプルでいい。もとのExcelとかの設計を直すよりもいいのかも。テキスト形式で行うので、Gitで管理、Pull requestでワークフロー化して、承認フローにしていく運用をしているところが多いようなので、管理もやりやすそうだ。関係者が多かったり、大きいプロジェクトでも使えそうなのがいいのかも。改修要望のチケット管理に参照を貼るのも良さそうだし。

    あとは、そもそも設計書を作らずパターンもあるのか。コードの冒頭に設計を書いてしまうパターン。改修後の状態を記録していくならば、もしかしてこれが一番楽かも。どうせドキュメントの修正が頻繁に行われないのであれば、詳細設計にあたるような部分は、ソース上に書いてしまい、抽出するか、直接参照したほうが早そう。ソースの肥大化につながるがテキストならば、そこまで大きくないし、PC側のパワーが解決してくれるだろうし。関係者が多くなければ、手っ取り早い手法で良さそうだ。

    それから、設計でつかうツールも多種多様。企画段階はMiro、画面系はFigmaでツールの切り替えが行われていくところが多いのか。それぞれのシーンでの専用ツールも。その工程の生産性をたかめるためだとは思うけれど、使い勝手のよい万能ツールはなさそうだ。あとは、オーソドックスなWord、Excel。

    いろいろと参考になった。読んでよかった。


    Amazon: https://amzn.to/4gMZd17