年: 2021年

  • やっと厄年が終わる

    今日で、メインの厄年が終わる(はず)。来年は、後厄なので、少しはまともな状況になると信じたい。本当に今年はいろいろとあった。特に仕事面は、いろいろとあってひどかった。これでもかってくらい、いろいろとあった。これで終わってくれるといいのだけど。ほんとに、よく耐えたと思う。

    さあ、気持ちよく新年が始まると期待して。

  • TimeRexを試してみた

    企業ユーザ向けの「調整さん」のTimeRexを試してみた。Freeプランで試しているので、検証していないものもあり。

    https://timerex.net/

    使い始める前に簡単に権限まわりや運営を調べてみた。

    • Googleアカウントでログインし、Googleカレンダーの連携が必要。または、Microsoftアカウントでログイン。カレンダー連携のため。
    • カレンダーに対する権限が強く、アプリ上からは連携していないカレンダーの予定も参照できる権限になっている。
    • 運営会社は、リクルートからのスピンオフして作られたベンチャー。ISMS認証は取得している(https://isms.jp/lst/ind/CR_IS_x0020_733830.html)

    Googleカレンダーへのアクセス権限が強力なのが気になるが、実際に使ってみると・・・

    • スケジュール調整用のカレンダーを別に作成して、連携させると、そのカレンダーに入っていない予定の場所は、すべて空きとして、表示される。
    • スケジュール調整用のURLには、アクセス制限なし。ずっと公開される。1回だけの予定調整用のURLも作れるが、ベースのURLは公開されたまま。ここはちょっと怖い。
    • Freeプランだと、1対多の調整はできない。1対1のみ。
    • 視覚的には、スケジュール表示のため、わかりやすい。「調整さん」に比べれば。
    • 予定がウェブ上から入力されると、通知あり。
    • 予定が入ると、設定画面で指定したカレンダーに予定が自動的に入れられる。このときの予定を入力したユーザは自分になる(これもあり、権限強めなのかも)。
    • 予定がキャンセルされても通知あり。カレンダー上の予定も消える。
    • TimeRex上で、日程調整カレンダーのカレンダーは、用途毎か月毎のように小さい単位にして、使い終わったものは消すのがよい。そうしないと日程調整カレンダーが同じURLで表示され続けるため。

    気が付いたところは、こんな感じだ。3人以上の調整には有料プランが必要。ビジネス用途として、ちゃんと調整するには有料プランにする必要あり。1対1の調整が多ければ、フリープランでも困らないのかもしれないが。

    「調整さん」との比較だと、TimeRexの方がインターフェースもイマドキでよい。同じ使い方をしようと思うと、有料プランが必要なので、簡単な予定調整ならば、「調整さん」だろう。

  • スーパーロボット大戦30

    スパロボが30周年なので、何作ぶりかに買ってプレイした。とりあえず、一周目をクリアした。二人目の主人公で2周め中だ。

    ストーリーは、気にしない。とりあえず、今回のテーマっぽいものはわかった。なるほど、よく考えたな、と思う。この作品のおかげで、かなり休みに引きこもりができた。どこも行かないっていうのは、今は、いいことだ。

  • MySQLでユーザを作り、DBの権限を割り当てる

    最初に、「create user」文で、ユーザを作る。その時にパスワードも設定する。

    次に、grant文で、DBの権限を割り当てる。grant文でユーザ作成も同時に行うこともできるけれど、個人的には、2文に分けた方が設定がわかりやすくて安心できる。

    例)DBとユーザを作り、DBにユーザの権限を付ける。

    create database dbname;
    create user 'user_name'@'localhost' IDENTIFIED BY 'password';
    grant all on 'dbname'.* TO 'user_name'@'localhost';
    • dbname は、データベース名を入れる
    • user_name は、ユーザ名を入れる
    • user_name は、ユーザ名を入れる
  • 2022年のヨドバシの福袋 SimフリーiPhoneの夢

    珍しくというか、初めてヨドバシカメラの福袋が当たった。悩んだ末、当たったSimフリーiPhoneの夢を購入した。

    福袋の中身は、iPhone12 Pro 128GBモデルのパシフィックブルー。13 Proが出たので、12 Proは販売終息のモデルだ。Proなので、写真やらなんやらとストレージを使うモデルなのに、128GBはサイズとして小さい。オプションのようなアクセサリーもない。iPhoneだけだ。256GBがよかった。2022年のヨドバシの福袋はハズレだ。昔はもっとよいものが入っていたような気がする。

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

    Google Apps Scripsから、Google Cloud SQLのMySQLにSSL(TLS)で通信を暗号化して接続するコードのサンプル。このとき、Cloud SQLのMySQLは、MySQL 5.7よりも古くないと接続できない。

    DBへの接続は、JDBCを使用する。このとき、JDBCの読み込みは必要なく、GASのエディタ上で直接記述してよい。このサンプルでは、SSL(TLS)を使用するバージョン。接続にPEMファイルを使うため、あらかじめGoogle Cloud SQL側で発行しておく必要がある。

    記載するPEMファイルの中身は、末尾に改行コードを表す”\n”をいれて、さらにコード上の改行を明示的にするために”\”を入れる必要があった。なので、PEMファイルの中身の末尾が”\n\”になっている。

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

    サンプルコード。

    function myFunction() {
      dbConnection();
    }
    
    // --------------------------------
    // SSLで接続する
    // --------------------------------
    function dbConnectionSSL(){
    
      Logger.log('start dbConnection function.');
    
      // 接続先設定
      var connectionIp = 'xxx.xxx.xxx.xxx'; // 接続のMysqlのIPアドレス(ホスト名も可)
      var userName = 'user'; // 接続で使うユーザ名
      var passwd = 'pass'; // 接続で使うパスワード
      var databaseName = 'dbname'; // データベース名
    
      var addr = 'jdbc:mysql://' + connectionIp + '/' + databaseName + '?useSSL=true';
    
      // SSL用の証明書を変数に入れる
      var clientKey = '\
    -----BEGIN RSA PRIVATE KEY-----\n\
    MIIEowIBAAKCAQEAyDuIOE1t/ABFSMIz/2Ni4vIoaNvBkDLaeJdl6KmeK9iexl2D2d\n\
    ~~~中略~~~
    P8B5s7xmSbH4Yv/OeKrw8F6xAmoQmWVlnw686I0QqNHexlwIe3lss2LDEI3d\n\
    -----END RSA PRIVATE KEY-----';
    
      var clientCert = '\
    -----BEGIN CERTIFICATE-----\n\
    MIIDVzCCAj+gAwIBAgIEJD9I+TANBgkqhkiG9w0BAQsFADB7MS0wKwYDVQQuEyRl\n\
    ~~~中略~~~
    QNwLDry8Tk3DwnD07+dkQf+FFFu943GFUlY9d4Rv75S+Vwm2Ci2azIRR2Q==\n\
    -----END CERTIFICATE-----';
    
      var serverCa = '\
    -----BEGIN CERTIFICATE-----\n\
    MIIDfzCCAmegAwIBAgIBADANBgkqhkiG9w0BAB3MS0wKwDELW39xwSDyQ3ZjVm\n\
    ~~~中略~~~
    bfgDM8ARAAqMqECaXYC8+xHviva4ON6weeD/wsdessDP9K3ws3mGKbbjlLmc=\n\
    -----END CERTIFICATE-----';
    
      Logger.log('start mysql con');
      Logger.log(addr);
    
      var connectionInfo = {
        user: userName,
        password: passwd,
        _serverSslCertificate: serverCa,
        _clientSslCertificate: clientCert,
        _clientSslKey: clientKey
      }
      Logger.log(connectionInfo);
    
      var connection = Jdbc.getConnection(addr, connectionInfo);
      Logger.log(connection.getCatalog());
    
      // コネクションを閉じる
      connection.close();
      Logger.log('end');
    }

  • 2021年の仕事納め

    感覚的には2021年はとても早く過ぎていった気がする。2021年の仕事納めが終わった。

    思い返してみると、いろいろとあった。感覚的には、2020年の延長という感じで、2021年という感じがしなかった。たぶん、オリンピックをやっていた所為なのだろう。仕事も波乱万丈だった。去年の今頃では、想像もしていなかったことが多かった。いいことというよりも、辛い一年だった気がする。いろいろと引きずっているので、来年も余波で、そこそこひどいことにはなるだろうけど、今年のようなことにはならないだろう。

    来年は、いい一年で、いい仕事ができる環境であってほしいものだ。

  • 赤坂の炭火焼ステーキ播磨が閉店していた

    つい最近まで気が付かなかったのだが、赤坂の炭火焼ステーキ播磨がいつの間にか閉店していた。ランチでも高いので、いつかはランチを試してみよう、と思って何年も後回しにしているうちに閉店。気になるところは、ちゃんといかないと、無くなってしまうということ。

  • ランチ:金子屋のバラ天丼(2021/12/27)

    今日のランチは、溜池山王の金子屋でバラ天丼。美味しかった。2021年の赤坂ランチ納には、よかったんじゃないかと思う。