投稿者: zen

  • 迷惑メール確定

    “rain_dream_5654@docomo.ne.jp”という連絡先に登録されていないところから、SMSが届いた。とても怪しいので、名乗ってくるまで放置したところ、同じような時間帯にメールがくる。それで、検索エンジンで調べてみたところ、同じメールアドレスからメールを受けている人が多数いた。よほど、同級生が多いフィッシングアカウントのようだ。

    日付をみると、去年くらいから出回っているようで。それから、季節性のものっぽい印象を受けた。年末のこの手のものがきそうな時期を狙っているようだ。

  • GASからCloud SQL(MySQL)に接続するコード

    Google Apps Scripsから、Google Cloud SQLのMySQLに接続するコードのサンプル。このとき、Cloud SQLのMySQLは、MySQL 5.7よりも古くないと接続できない。

    DBへの接続は、JDBCを使用する。このとき、JDBCの読み込みは必要なく、GASのエディタ上で直接記述してよい。このサンプルでは、SSL(TLS)を使わないバージョン。通信経路が暗号化されないので、注意が必要。

    接続のチェックのため、コンソールログに、いろいろと書き出すようにしている。Logの部分はなくても、問題なし。

    function myFunction() {
      dbConnection();
    }
    // --------------------------------
    // SSL 接続なしで接続する
    // --------------------------------
    function dbConnection(){
      Logger.log('start dbConnection function.');
      // 接続先設定
      var connectionIp = 'xxx.xxx.xxx.xxx'; // 接続のMysqlのIPアドレス(ホスト名があれば、ホスト名も可)
      var userName = 'user'; // 接続で使うユーザ名
      var passwd = 'password'; // 接続で使うパスワード 変数名をpasswdにしているのは、コネクションInfoの作成時にキーワードと変数が同じになるのを避けるため。
      var databaseName = 'dbname'; // データベース名
      var addr = 'jdbc:mysql://' + connectionIp + '/' + databaseName;
      Logger.log('start mysql con');
      Logger.log(addr);
      var connectionInfo = {
        user: userName,
        password: passwd
      }
      var connection = Jdbc.getConnection(addr, connectionInfo);
      // 接続できたことを確かめるために、ログにDB名を出力。
      Logger.log(connection.getCatalog());
      // コネクションを閉じる
      connection.close();
      Logger.log('end');
    }
  • 暴風雨の音がうるさくて寝不足

    昨夜の暴風雨がすごくて、特に風のうなる音がうるさくて、寝不足。荒れた天気だったので、早めに寝たのだが、夜中に風の音と揺れで起きてしまった。とりあえず、何もなかったが、自然の力には驚かされた夜だった。

  • MySQL Workbench をインストールしようとしたら、Visual Cのランタイムがなくてエラーになった

    MySQL Workbench 8.0CE をインストールしようとしたら、Visual Cのランタイムコンポーネントがなくてエラーになった。

    MySQL Workbench requires the Visual C++ 2019  
    Redistributable Package to be installed. Click the 
    Download-Button on the next page to open a web 
    page containing further instructions.

    下記のMicrosoftのサイトから、「Microsoft Visual C++ Redistributable for Visual Studio 2022」のパッケージをダウンロード。

    https://visualstudio.microsoft.com/ja/downloads/

    ダウンロードができたら、実行して、インストールする。パッケージには、Visual C++ 2015~2022までが入っているので、2019が含まれている。

    Visual C++のランタイムのインストールが終わってから、MySQL Workbenchのインストールを再実行し、インストールに成功した。起動もできるし、無事に使えている。

  • お名前.comのVPSメンテナンスにハメられた話

    お名前.comのVPSを利用しているのだが、ここ数ヶ月でメンテナンスが多発している。VPSの基盤を入れ替えているためのようだが、このメンテナンスがなかなかひどい。

    最初のメンテナンスで、平日の日中に長時間の停止が発生した。そのあとは、VPSに接続できなかったりすることが多発していた。とても、パフォーマンスが悪く、ひどい有様だった。

    そして昨日に行われた緊急メンテナンスも、ひどかった。当然のように日中に行われているし、停止時間は30分で再起動が発生するという告知はあった。サーバとの疎通が切れてから、数時間がたっても、疎通がとれない。メンテナンス時間の間なので、待つしかない。メンテナンスの終わりの時間になっても、VPSとの疎通はとれず。管理コンソールから確認すると、OSは起動していた。だが、ネットワークに繋がっていない状態だった。それで確認すると、DHCPでアドレスが取れない場合があるとのこと。とりあえず、OSを再起動したが状況は変わらなかった。

    1つ1つ、OSの状況を確認していくと、ネットワークインターフェース(NIC)の認識されている名前が変わっていることを発見した。そんなことは、通知には書いていなかった。NICが変わっているので、ネットワークの設定が有効にならず、ネットワークから切り離されていた。VPSの管理画面をみても、NICのことは書かれていない。仕方無いので、NICのem0を消して、ifconfigで表示されたvtnet3に対して、割り振られているIPアドレスの設定をした。これで、VPSがネットワークに接続できるようになった。

    結局、ダウンタイムは6時間以上になった。メンテナンスにしても、サーバOSを扱っているわけで、このメンテナンスはひどい。お名前.comのVPSは品質悪い。別のVPSに乗り換えることも検討しないといけないと感じた。

  • ランチ:赤坂 武蔵のしゃぶしゃぶ(2021/12/15)

    2021年12月15日のランチ。寒くて、体調も優れなかったので、温かいしゃぶしゃぶにしてみた。

    武蔵の昼の混雑も復活しており、結構、ならんでいる人がいた。おいしかったのだけど、待っている間に頭痛がひどくなり、なかなか大変だった。体調のよいときに、もう一度行こう。

  • Log4Jの脆弱性はNHKニュースでも取り上げられたのね。

    Log4Jの脆弱性(Log4Shell)は、NHKニュースのおはよう日本で取り上げられたようだ。

    https://www3.nhk.or.jp/news/html/20211214/k10013387051000.html

    これをみて、慌てて指示を出す会社の上層部とか多そうだ。日頃は関心のない層がみることで、いい方向で変わるといいのだけど。逆に現場をせめて、愛想つかされて、技術者が退職するというパターンもありえそうだが。

  • 新しくインストールしたUbuntuでNginxが起動しない

    新しくUbuntuをインストールして、NginxやPHPをインストールした。Nginxを起動させようとしたところ、エラーで起動せず。

    zen@dev:/etc/nginx/sites-available$ sudo service nginx start
    Job for nginx.service failed because the control process exited with error code.
    See "systemctl status nginx.service" and "journalctl -xe" for details.
    zen@dev:/etc/nginx/sites-available$
    zen@dev:/etc/nginx/sites-available$ sudo systemctl status nginx.service
    ● nginx.service - A high performance web server and a reverse proxy server
         Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:>
         Active: failed (Result: exit-code) since Wed 2021-11-17 16:13:11 JST; 2min>
           Docs: man:nginx(8)
        Process: 294747 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_pro>
        Process: 294758 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; >
    Nov 17 16:13:08 dev systemd[1]: Starting A high performance web serve>
    Nov 17 16:13:08 dev nginx[294758]: nginx: [emerg] bind() to 0.0.0.0:8>
    Nov 17 16:13:09 dev nginx[294758]: nginx: [emerg] bind() to 0.0.0.0:8>
    Nov 17 16:13:09 dev nginx[294758]: nginx: [emerg] bind() to 0.0.0.0:8>
    Nov 17 16:13:10 dev nginx[294758]: nginx: [emerg] bind() to 0.0.0.0:8>
    Nov 17 16:13:10 dev nginx[294758]: nginx: [emerg] bind() to 0.0.0.0:8>
    Nov 17 16:13:11 dev nginx[294758]: nginx: [emerg] still could not bin>
    Nov 17 16:13:11 dev systemd[1]: nginx.service: Control process exited>
    Nov 17 16:13:11 dev systemd[1]: nginx.service: Failed with result 'ex>
    Nov 17 16:13:11 dev systemd[1]: Failed to start A high performance we>
    zen@dev:/etc/nginx/sites-available$

    エラーを見ると、ポートのバインドに失敗している。もしやと思って調べると、Apacheがいて、ポート80で起動していた。Apacheを終了させると、無事にNginxを起動させることができた。

    aptでいろいろとインストールしていると、いつのまにかapache がいて邪魔をする。初歩的なミスだけど、よくやらかす。

  • .NET6で、gitignoreを生成する

    .NET6SDKがインストールされていれば、コマンドを実行するだけでgitignoreを生成できる。

    プロジェクトの状況を見ているわけではなく、テンプレートを生成してくれるだけなので、後から実態に合わせて編集する必要はある。それから、空のフォルダ上でも、”.gitgnore”は生成できる。

    PS C:\Dev\test> dotnet new gitignore 
    .NET 6.0 へようこそ! 
    --------------------- 
    SDK バージョン: 6.0.100 
    テレメトリ 
    --------- 
    .NET ツールは、エクスペリエンスの向上のために利用状況データを収集します。データは Microsoft によって収集され、コミュニティと共有されます。テレメトリをオプトアウトするには、好みのシェルを使用して、DOTNET_CLI_TELEMETRY_OPTOUT 環境変数を '1'  または 'true' に設定できます。 
    .NET CLI ツールのテレメトリの詳細をご覧ください: https://aka.ms/dotnet-cli-telemetry 
    ---------------- 
    ASP.NET Core の HTTPS 開発証明書をインストールしました。 
    証明書を信頼するには、'dotnet dev-certs https --trust' (Windows および macOS のみ) を実行します。 
    HTTPS の詳細については、https://aka.ms/dotnet-https を参照してください 
    ---------------- 
    最初のアプリを作成するには、https://aka.ms/dotnet-hello-world を参照してください 
    最新情報については、https://aka.ms/dotnet-whats-new を参照してください 
    ドキュメントを探索するには、https://aka.ms/dotnet-docs を参照してください 
    GitHub で問題の報告とソースの検索を行うには、https://github.com/dotnet/core を参照してください 
    'dotnet --help' を使用して使用可能なコマンドを確認するか、https://aka.ms/dotnet-cli にアクセスしてください 
    -------------------------------------------------------------------------------------- 
    テンプレート "dotnet gitignore ファイル" が正常に作成されました。 
    PS C:\Dev\test>

    初回のみ、いろいろと表示された。コマンドの実行の2回目からは、「テンプレート “dotnet gitignore ファイル” が正常に作成されました。」とだけ表示される。

  • VS Codeの困ったところ

    Visual Studio Codeでプレーンテキストモードにしてあるのに、テキスト消したりしているうちに、勝手に、”ini”とか”Docker”とかにモードが変わってること。急に色が変わったり、別のプラグインを追加しようとしてくるので、作業が止まる。明示的に選択したんだから、そのままでいてほしい。

    対策として、VS Codeのエディタの言語の自動検出をオフにしてみた。

    1.VS Codeで設定を開く。

    2.「ワークベンチ」の「エディタ」にある「Workbench > Editor:Language Detection」を探し、チェックを外す(オフにする)。非常に探しにくいので、検索で、「Language Detection」を探したほうが早い。

    これで解消されるか、しばらく様子見する。