年: 2020年

  • 第7世代のモバイル用Core i5じゃウェブ会議はつらい

    第7世代のモバイル用Core i5でウェブ会議を行うとCPUの負荷がひどい。Google Meetで背景ぼかしか、バーチャル背景を使うと、論理CPU4つ全部をほぼ100%で稼働させてしまう。そのうえで、GPU(HD Graphics 620)の負荷もあがる。発熱のため、ファンもフル稼働なので五月蠅い。

    第7世代のCore i5で、こんな状況なので、i3やCeleronなPCじゃまとも会議はきついのでは。CPUのコア数も増えているけれど、使うツールも大量のリソースを求めるようになっているので、なかなかに厳しい。

  • ゲーム上ではフルマラソン走破

    ゆるゆると行なっているリングフィットアドベンチャー上で、フルマラソンの距離を走破した。もちろん、1日というわけではないが、塵も積もれば山となるという感じだ。なんというか、すごい達成感がある。

  • GASのGoogle ChatのChat Botを作成して公開する手順

    久しぶりにGASで書いたChatbotのテストをしようとしたら、デプロイ方法が変わっていたので、書き直し。

    作成フェーズ

    1. Chat Bot のサンプルプロジェクトのファイルを開く
    2. プロジェクト名をつけて保存する
    3. GASのコードを書く

    デプロイ1(スクリプトエディタ側)

    1. GASのスクリプトエディタで、「公開」→「マニフェストから配置」の順にクリックする。
    2. どのバージョンをデプロイするのかを聞かれるので、「最新」を選び「Get ID」をクリックする。
    3. 表示された「Deployment ID」の値をコピーしておく(テキストに張り付けておくとよい)。
    4. 「Close」をクリックして閉じる。

    デプロイ2(Google Cloud Platform側)

    1. GASのスクリプトエディタとは別のタブで、Cloud Platformを開く。( https://console.cloud.google.com/ )
    2. Cloud Platformにログインする。
    3. 上部のメニュー部分のプロジェクト選択の部分をクリックして、ポップアップされた画面で、「新しいプロジェクト」を選択する。
    4. プロジェクト名などを入力して作成する。
    5. 左上のナビゲーションメニュから「APIとサービス」を選択する。
    6. 「+APIとサービスの有効化」をクリックする。
    7. 検索で、「chat」を入力する。
    8. 「Hangouts Chat API」を選択する(ここは、まだ古い名称のままだった)。
    9. 「有効にする」をクリックする。
    10. 左のメニューから「認証情報」をクリックする。
    11. 「+認証情報を作成」をクリックする。
    12. 「サービスアカウント」を選択する。
    13. サービスアカウントの名前などを入力して、作成する。
    14. 権限をクリックする。
    15. 「アクセスを許可」をクリックし、作成したサービスアカウントに「Project」の「オーナー」の権限をつける。
    16. (IAMの画面になっている場合は)左上のナビゲーションメニュから「APIとサービス」を選択する。
    17. 表示されているAPIの中から「Hangouts Chat API」をクリックする。
    18. 左のメニューから「設定」をクリックする。
    19. ボットの名前を入力する
    20. アバターのURLを入力する(https://goo.gl/yKKjbw)
    21. 説明を入力する。
    22. 機能を選択する(用途に合わせて選択する)
    23. 接続設定で、「Apps script project」を選択する。
    24. デプロイIDに、上記で取得した「Deployment ID」の値を入れる。
    25. 権限を選択する。
    26. 保存をクリックする。

    以上で、公開は完了。

    あとは、Google Chatからボットを検索して利用する。

  • PowerShell 7.1をインストールした

    PowerShell 7.1がMicrosoft Storeから入手できるようになったので、インストールした。Microsoft Storeで、PowerShellと検索して、Microsoft Corporationが公開しているものを選択して、入手をクリックするだけ。Powershell 7.0が自分でインストーラーをダウンロードしてインストールしていたのに比べるとかなり便利。これで、新しいバージョンの配布もされるだろうから、先々を考えると、ストアからの配信はありがたい。

    Microsoft StoreからPowerShell 7.1をインストールしたところ、Windows 10上には、最初からインストールされていたWindows PowerShell、手動でインストールしたPowerShell 7.0、ストアからインストールしたPowerShell 7.1の3つが混在するようになった。使うときに間違えないようにしないといけない。

    あと、どこかでPowerShell 7.0のアンインストールをしないと穴になってしまう。

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

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

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

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

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

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

  • 色違いのエレブー

    色違いエレブー 赤っぽいオレンジ色

    Pokemon GOで、色違いのエレブーをゲットした。色は、赤っぽいオレンジ色だった。なかなかかっこいい。

    1匹しか色違いに出会わなかったけれど、進化させてエレキブルにしてみた。

    色違いエレキブル

    進化させたら、普通な感じのエレキブルになった。これは、進化させないほうがはっきりとしていてよかったパターンだ。

  • 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が対応していないとは。

  • Google Driveのストレージ使用量にカウントされるのはPhotoだけじゃない

    Androidユーザの界隈では、Google Photoの容量が個人のGoogle Driveの容量を使うと話題だ。Photoは使っていないから関係ない、と思っていたのですが、Google Driveの容量カウントの仕様変更を見ていると、それだけではなかった。

    今まで次のものはドライブの使用容量としてカウントせず

    • ドキュメント
    • スプレッドシート
    • スライド
    • フォーム
    • Jamboard
    • 図面
    • Google Photo

    今後は全部、容量カウント対象になります。2021年5月末までに保存されたデータについてはカウント対象外ですが、更新が入ると、カウント対象になる。

    企業向けのGoogle Workspaceでは、1か月くらい前にブランド変更とともに、容量無制限だったものに、容量制限が追加されました。それに加えて、もともとカウント対象外だったドキュメント類が、容量カウントの対象になる。もともとのプラン構成変更は、これを睨んでことだったのだろう。

    Google Driveをメインのストレージとして使っている企業にとっては、頭が痛い仕様変更だ。状況によっては、対策検討が必要になるはず。こういう仕様変更があるので、クラウドサービスは怖い。牛耳ったあとの変更ですから。独禁法で睨まれるわけだ。

    https://workspaceupdates.googleblog.com/2020/11/changes-to-google-workspace-storage.html

  • 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 認証」を有効にし、「匿名認証」を無効にした。その後、デバック実行して確認したところ、正常にログオンユーザが取れた。

  • 来年5月(2021年5月)にGoogleの検索ランキングのアルゴリズムが大きくかわる

    Googleが来年の5月(2021年5月)に、検索ランキングのアルゴリズムを大きく変えると発表した。

    今までは・・・

    • ページのロード時間(早く表示されるほうが有利。ユーザの画面上に表示されないコンテンツは、遅延読み込みさせるテクニックの普及の元)
    • 応答性(まぁ、上と大差ない。)
    • 見た目の安定性(見やすいものが有利。フォントの大きさとか、コンテンツの区切れとか)

    の3つをCore Web Vitalsといっていた。当然、これに内容も入るわけだが、内容以外でも評価されて、ランキングに影響があった。最近のSEO対策は、キーワードとかだけじゃない。

    これに加えて、以下のことが重視されるようになる。

    • モバイルフレンドリー(いわゆるスマホ対応。画面サイズにあった表示が有利。レスポンシブデザインとか)
    • HTTPSでのアクセス(SSL通信。あとは、経路の暗号化強度。SSL3だめとか)
    • サイトの安全性(HTMLの参照先に、危険なJavaScriptがないか、変なスクリプトがないかなど)
    • 煩わしい表示がないか(情報にユーザがたどり着きやすい画面構成か。いちばん、Google Adsenseの自動広告がこれに該当するんだが・・・)

    普通にウェブサイトを作っていたら、問題はないはず。たとえば、Wordpressのデザインでも、いまは、レスポンシブなものがほとんど。古いサイトだと、そういうわけにもいかず。そういったところの資料は、見つかりにくくなる傾向になりそうだ。

    参考: https://webmasters.googleblog.com/2020/11/timing-for-page-experience.html