カテゴリー: 技術系

  • VS2008のアプリをVS2019で開いて、デバック実行したら「Assembly.csが見つかりません」が表示された

    VS2008のアプリをVS2019で開いて、デバック実行したら「Assembly.csが見つかりません」が表示された。「Assembly.cs」を探したが見つからず。元のプロジェクトはVB.NETで書かれている。

    VS2019上には、逆コンパイルで作成も選択できたので、実行してみたが失敗した。

    失敗したので、今度は、Assenbly情報を再作成した。

    1. ソリューションエクスプローラーでプロジェクトを選び、右クリックからプロパティを開く。
    2. 「アプリケーション」を選択する。
    3. 「アセンブリ情報(Y)」をクリックする。
    4. ウィンドウが立ち上がるので、確認してOKをクリックする(なにも変更しなくてもよい)
    5. プロジェクトのリビルドを行う。
    6. デバック実行して、同じエラーにならないかを確認する。

    これでエラーが出なくなった。

  • GASからJDBCでCloud SQLに接続しようとすると接続が確立できない

    GAS(Google Apps Script)から、Cloud SQLに接続をJDBCから行ったのだが、下記のエラーが出て接続できない。

    Exception: データベース接続を確立できませんでした。接続文字列、ユーザー名、パスワードを確認してください。

    接続先の環境は、Cloud SQL(Google Cloud Platform SQL)上で新しく作ったインスタンスで、第2世代で、MySQL8.0のインスタンス。

    GASのソースコードとしては、下記。

    function dbConn() {
      var dbConnectName = "プロジェクト名:us-central1:インスタンス名"; // GCP上で表示される接続名
      var user = "ユーザ名";
      var password = "パスワード";
      var dbName = "DB名";
      
      var conURL = "jdbc:google:mysql://" + dbConnectName + "/" + dbName;
      Logger.log(conURL);
      
      var dbCon = Jdbc.getCloudSqlConnection(conURL, user, password);
      Logger.log(dbCon.getCatalog());
      
      return dbCon;
    }

    いろいろと調べて、JDBCの`Jdbc.getConnection`でも試したが、接続できず。

    原因として、わかったことは、GASから呼び出されるJDBCは、MySQL8.0へのインスタンスへの接続に対応していないということ。MySQL5.7で新しくインスタンスを作り直して、`Jdbc.getCloudSqlConnection`を行ったところ、あっさりと接続できた。

    まさか、JDBCが対応していないとは。

  • VS2008のソリューションをVS2019に変更したら、Request.ServerVariables(“LOGON_USER”)で値がとれなくなったら

    Visual Studio 2008のソリューションを、Visual Studio 2019の形式に変換した。.NET Frameworkも3.5から4.8に変更した。Visual Studio 2019でデバック実行したところ、ログインユーザの値が「Request.ServerVariables(“LOGON_USER”)」でとれなくなった。

    言語のバージョンか、.NET Frameworkのバージョン違いか、調べたが、ちゃんと残っていた。

    変わっていたのは、Visual Studio 2019上での開発サーバー(IIS)の設定値だった。プロジェクトのプロパティを開いたところ、開発サーバーの設定があり、そこの設定では、「Windows認証」が無効で、「匿名認証」が有効になっていた。これだと、LOGONしたことになっていないので、「LOGON_USER」の値は、空になる。

    開発サーバーの設定を、「Windows 認証」を有効にし、「匿名認証」を無効にした。その後、デバック実行して確認したところ、正常にログオンユーザが取れた。

  • Cisco ASAで現在のコネクション数を確認する

    リモートワークでほぼ使っていないはずのネットワークで、外部アクセスが遅いという。ウェブ会議などで、コネクション数が異常にふえていないかどうかを確認してみる。

    Cisco ASAにCLIで接続して、現在のコネクション数をカウントする。enableモードで、show conn count すると、現在の接続数がわかる。これは、そのからのVPN接続も、内部からのウェブなどのアクセスも含めたコネクション数になる。

    show conn count
    

    ■実行してみたところ

    ciscoasa# show conn count
    994 in use, 1701 most used
    ciscoasa#
    

    最大のコネクション数などを確認したい場合は、show resource usageで確認する。これで、最大数やピーク時の接続数などを一覧で確認できる。

    show resource usage
    

    ■実行してみたところ

    ciscoasa# show resource usage
    Resource                 Current        Peak      Limit        Denied Context
    Telnet                         1           1          5             0 System
    SSH Server                     0           1          5             0 System
    Syslogs [rate]                93        1137        N/A             0 System
    Conns                        983        1701     100000             0 System
    Xlates                      1016        2301        N/A             0 System
    Hosts                        427         720        N/A             0 System
    Conns [rate]                  27         478        N/A             0 System
    Inspects [rate]               12         477        N/A             0 System
    Routes                        56          69  unlimited             0 System
    ciscoasa#
    

    コネクション生成レートは、show perfmonコマンドで確認できる。

    ■実行してみたところ

    ciscoasa# show perfmon
    
    PERFMON STATS:                     Current      Average
    Xlates                                8/s          0/s
    Connections                          18/s          1/s
    TCP Conns                             7/s          1/s
    UDP Conns                            10/s          2/s
    URL Access                            0/s          0/s
    URL Server Req                        0/s          0/s
    TCP Fixup                             0/s          0/s
    TCP Intercept Established Conns       0/s          0/s
    TCP Intercept Attempts                0/s          0/s
    TCP Embryonic Conns Timeout           0/s          0/s
    HTTP Fixup                            0/s          0/s
    FTP Fixup                             0/s          0/s
    AAA Authen                            0/s          0/s
    AAA Author                            0/s          0/s
    AAA Account                           0/s          0/s
    
    VALID CONNS RATE in TCP INTERCEPT:    Current      Average
                                           100.00%         100.00%
    ciscoasa#
    

    参考
    https://community.cisco.com/t5/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3-%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/asa-%E3%82%B3%E3%83%8D%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E6%95%B0%E3%81%AE%E7%A2%BA%E8%AA%8D%E3%81%A8-%E8%86%A8%E5%A4%A7%E3%81%AA%E3%82%B3%E3%83%8D%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E7%99%BA%E7%94%9F%E6%99%82%E3%81%AEip%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E7%A2%BA%E8%AA%8D%E6%96%B9%E6%B3%95/ta-p/4082463

  • GitLab CEのデフォルトのブランチ名を変える

    GitLabo CEでデフォルト設定を変えないと、プロジェクトを作った時のGitリポジトリのイニシャルブランチ名が「master」のままになってしまう。SVNなどから移行するときに、ブランチ名が「Main」だと別ブランチになってしまうので、今後に備えて、デフォルトのブランチ名を変えておく。

    1. GitLaboの管理画面に入る
    2. 設定からリポジトリを選択する(Settings からRepositoriesを選択する)
    3. 「Default initial branch name」を展開する
    4. ブランチ名を入力して、変更を保存する
  • git svn initを実行したらエラーになった

    Windows10で、git svn initを実行して、SVNのリポジトリをGitのリポジトリに変換しようとしたところ、perlでエラーになった。

    C:\Users\hoge\Documents\SVN>git svn init -T http://svn.xenos.jp/svn/app1/Trunk/ -t http://svn.xenos.jp/svn/app1/Tags/ --username=hoge
    svn: E235000: In file 'subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c' line 1666: assertion failed (get_current_pool_cb != NULL)
          1 [main] perl 1052 cygwin_exception::open_stackdumpfile: Dumping stack trace to perl.exe.stackdump
    C:\Users\hoge\Documents\SVN>
    C:\Users\hoge\Documents\SVN>git --version
    git version 2.27.0.windows.1
    C:\Users\hoge\Documents\SVN>
    

    バージョンを確認したら、新しいGitのバージョンが出ていたので、2.29.2にアップデートして、もう一度、試したら、成功した。

    参考: https://teratail.com/questions/266878

  • Google Cloud SQLでネットワーク接続制限を解除する

    Google Cloud SQLで、接続元のIPアドレスを固定できず、どこからでも接続できる設定にする。基本的にセキュリティがゆるゆるになるので、開発のときか、確認のための一時的な設定にした方がよい。

    1. GCPの管理画面で、Cloud SQLを開く。
    2. サイドメニュから「接続」を選択する。
    3. 接続の「パブリックIP」にチェックを入れる(もしくは入っていることを確認する)。
    4. 「+ネットワークを追加」をクリックする
    5. ネットワークに「0.0.0.0/0」を指定して、完了をクリックする。
    6. 次に「保存」をクリックする(保存しないとネットワークに反映されない)。

    これで、外部からCloud SQLのDBに接続できるようになる。

  • Windows10の大型アップデートをあてると、復元ポイントが消える

    Windows10の大型アップデート(October 2020 Update)を実行する前に、手動で復元ポイントを作成した。

    大型アップデートを適用して、Ver.20H2になったWindows10で復元ポイントを確認したところ、復元ポイントがなくなっていた。大型アップデートを適用してから、日が浅いので、以前のバージョンに戻して、復元ポイントを確認したが、前に作成した復元ポイントはすべてなくなっていた。

    つまり・・・

    • 復元ポイントを使って、大型アップデートの適用前には戻せない。(前のバージョンに戻せる期間を過ぎると戻せなくなる)
    • 大型アップデートを行うと、手動で作成した復元ポイントも消される。

    いろいろと不具合が起きても、過去のポイントには、Windows10の機能では戻れなくなるので、注意が必要。

  • Magentoのインストールでハマったところ

    インストールのときの「Username」と「Password」がわからない。

    ubuntu@ip-172-31-45-120:/var/www/html$ sudo composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /var/www/html/
    
    Do not run Composer as root/super user! See https://getcomposer.org/root for details
    Creating a "magento/project-community-edition" project at "./"
    Warning from repo.magento.com: You haven't provided your Magento authentication keys. For instructions, visit 
    https://devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html
        Authentication required (repo.magento.com):
          Username:
          Password:
    Warning from repo.magento.com: You haven't provided your Magento authentication keys. For instructions, visit 
    https://devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html
    Warning from repo.magento.com: You haven't provided your Magento authentication keys. For instructions, visit 
    https://devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html
    Warning from repo.magento.com: You haven't provided your Magento authentication keys. For instructions, visit 
    https://devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html
    
    In RemoteFilesystem.php line 746:
    
      Invalid credentials for 'https://repo.magento.com/packages.json', aborting.
    
    
    create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--add-repository] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--ignore-platform-reqs] [--] [ [ 
    []]]
    
    ubuntu@ip-172-31-45-120:/var/www/html$
    

    この「Username」と「Password」は、MangentのMarketplaceで、「Create A New Access Key」で発行するAccess Keyがこれにあたり、Public KeyとPrivate Keyがユーザ名とパスワードにあたる。(いや、これ、わかりにくい)

    Username = Public Key
    Password = Private Key

    参考: https://qiita.com/yutahonaga/items/bfb09205ca16c20aa44d

  • Cisco Catalyst 2960-Lの後継は、Cisco Catalyst 1000。

    Cisco Catalyst 2960-Lの後継は、Cisco Catalyst 1000とのこと。慣れ親しんだ2960の番号じゃなくなるのは、ちょっと寂しい。

    Catalyst 1000では、「Single IP management」で複数のエッジスイッチをまとめて1台かのように扱えるのでいい。むかしH3Cのスイッチで同じような構成を使ったけれど、リング構成にできるので、経路の冗長構成もふくめて、なんだかんだで便利。

    しかし、悲しいかな、これを使える機会がない。

    参考: https://cloud.watch.impress.co.jp/docs/topic/special/1283227.html