投稿者: zen

  • 真間川の河津桜が咲き始めた(2022/2/22)

    真間川の河津桜がやっと咲き始めた。寒い日々が続き、すぐに咲き始めると思ってからかなり経っての咲き始めだった。

    まだ、1本の木で、2,3輪しか咲いていない。蕾は成長しているので、これからはどんどん咲いていきそうだ。これから散歩が楽しくなる。

  • Google workspaceの無料利用の特権がなくなるので・・・

    とても長いこと無料で使えていたGoogle Workspace(昔はGoogle Appsだったっけ)が、ついに有料化される。これの対応に困っているというのが本音。

    さくらインターネットやGMOのお名前.comの安いメールサービスを契約して乗り換えれば、年間で2000円程度で大量のメールアドレスを維持できる。その分、容量や使い勝手は下がる。安いのにはわけがあるわけだ。

    Google Workspaceで課金するのが一番手っ取り早いが、維持費がなかなか高い。Google Workspaceも値上げされているので、困った。ただ、使い勝手とかを考えると、有料サービスに切り替えるのが最適なんだけれど。今までの無料枠をずっと使えていたことがすごかったのかもしれないとも思う。

  • 読了:インターネットは言葉をどう変えたか デジタル時代の〈言語〉地図

    インターネットだけではなく、言葉がどう変わってきてのかも書かれている。日本語の話し言葉の変わり方もすごいけれど、英語でも同じようなことがある、というのは言語というものが、生き物であるかのようにかわり続けていくというのが面白い。

    「言語は、究極の参加型民主主義といえる。テクノロジー用語を借りるなら、言語とは、人類のもっとも壮大なオープンソース・プロジェクトなのだ」というのが、この本の結論とも言える。時代や使うシーンに応じて、少しずつ変化しているし、略語もできる。ミームもあるし、そうでないものもある。言語の変わり方は面白い。そういえば、昔はネチケットとか言われていたが、最近は聞かないし、いろいろと変わっている。あまり気にしたことはなかったけれど、研究している人がいるというのも面白い。

  • GASからMySQLに接続して、コミットする

    通常は、自動コミットされるので、Update文やInsert文を実行したタイミングで、コミットされる。DBへの複数の書き込み処理を、同じタイミングで行うのは、自動コミットをオフにして、手動でコミットする必要がある。

    自動コミットを無効にするには、DBコネクションの「.setAutoCommit(false)」を使用する。

    手動でコミットするには、DBコネクションの「.commit()」を使用する。

    試してみたところ、オートコミットをオフにした場合、「.commit()」を実行しなくても、エラーにはならない。GASのエディタ上でもアラートを上げてくれないので、注意が必要。

    サンプルコード

    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'; // 接続で使うパスワード
      var databaseName = 'database'; // データベース名
    
      var addr = 'jdbc:mysql://' + connectionIp + '/' + databaseName;
      Logger.log('start mysql con');
      Logger.log(addr);
    
      var connectionInfo = {
        user: userName,
        password: passwd
      }
    
      // DBにコネクションをはる
      var connection = Jdbc.getConnection(addr, connectionInfo);
      Logger.log(connection.getCatalog());
    
      // オートコミットを無効にして、手動でコミットするようにする。
      connection.setAutoCommit(false);
    
      // sqlステートメントをデータベースに送信するためのオブジェクトを作る
      var statement = connection.createStatement();
    
      // Insert文を発行
      var resultInsert = statement.executeUpdate('Insert Into List (id,listname) values ("5","kanagawa")');
    
      // 実行結果が0なら失敗、1以上なら成功
      Logger.log(resultInsert);
    
      // 手動でコミットする。通常はオートコミットされるので必要なし。
      connection.commit();
    
      // ステートメントを閉じる
      statement.close();
    
      // コネクションを閉じる
      connection.close();
    }
  • GASのDB接続で、オートコミットになっているかを調べる

    コネクションの「.getAutoCommit()」を実行することで、DBへの書き込みがオートコミットになっているかどうかを調べることができる。

    「.getAutoCommit()」の結果が、Trueならオートコミット、Falseなら手動コミット。手動コミットの場合には、「.commit()」を明示的に実行しないとDBにコミットされない。

    サンプルコード

      // DBにコネクションをはる
      var connection = Jdbc.getConnection(addr, connectionInfo);
    
      // オートコミットを無効にして、手動でコミットするようにする。
      connection.setAutoCommit(false);
    
      // Trueならオートコミット、Falseなら手動コミット。ログに書き出す。
      Logger.log('オートコミットの設定: ' + connection.getAutoCommit());
  • ASP.NETでChrome対応したらJSでテキストボックスに値が入らなくなったときの対応

    IE用に作られたASP.NETのアプリを、Chrome対応(Chromium Edge対応)しているときに、JavaScriptでASP.NETのパーツのテキストボックス(type=text)に値をいれたところ、値が入らないということがおきた。「getElementById(“ID”).value」に、JavaScriptから値をいれたが、IE11では問題ないのに、Chromeだと値が入らなかった。

    document.getElementById("ID").value = "値";
    // ↑これだと、IE11は値が入るが、Chromeだと入らない。

    PostBackは発生させていない処理なのだが。いろいろと調べていき、Chromeの場合は「.defaultValue」を使って初期状態の値を書き換えれば、画面の表示が変わることを確認できた。

    document.getElementById("ID").defaultValue = "値";
    // ↑Chromeの場合は、defaultValueを書き換える。

    IE11も残しておく必要があったので、ブラウザの種類をみて、IF文でIEとそれ以外で分岐させるようにした。

    サンプル。

        // ブラウザを取得する
        var userAgent = window.navigator.userAgent.toLowerCase();
        if (userAgent.indexOf('msie') != -1) {
            // IEのときの処理を書く
            document.getElementById("ID").value = "aaaa";
        } else {
            // IE以外の処理。ChromeやChromium Edgeの想定
            // document.getElementById.value だと、画面上の表示が変わらないことがわかった。
            // そのため、document.getElementById.defaultValue に変更したところ、うまくいった。
            document.getElementById("ID").defaultValue = "aaaa";
        }
  • ランチ:海南鶏飯のチキンライス

    今日のランチは時間がなかったので、アカサカサカスの海南鶏飯のシンガポールチキンライスにした。赤坂は人が少なくて、ランチ時でも人が少なめだった。(人は少ないのに、ラーメン屋は並んでいるという不思議はある)

    海南鶏飯で、ランチのときはライスのおかわりが1回できるのは知っていたけれど、ソースもおかわりできることを今日知った。ケチケチせず、たっぷりとソースをからめて食べられる幸せ。おいしかった。

  • ウグイスかと思ったらメジロだった

    真間川の桜の木のところで、緑色の鳥がいたので、ウグイスかと思い、ズームで写真をとって確認したところ、メジロだった。写真だと目のところが、くっきりと白い。確認は大事。鶯はまだだろうか。

  • ランチ:長男、もんたいちお

    京成八幡駅の側にあるつけ麺の店、「長男、もんたいちお」に行ってみた。いつも人が並んでいるので、なかなか入るタイミングがなかったのだが、昼時に列がなかったので入ってみた。

    注文したのは、特製つけ麺。ちょっと具が豪華になっている。麺は、極太麺で、ラーメンの麺というよりも、極太うどんな感じで、かみごたえはかなりある。讃岐うどんよりもコシがつよい。麺は冷たい。スープは、めちゃくちゃドロっとした暖かいスープだ。ドロっとしているので、麺一本でもスープが絡む。かなり濃厚なスープで油分も多め。おいしいつけ麺だった。並んで食べるのもわかる気がする。濃厚すぎるので、食べた後、胃が重くなった。あっさり系が好きな身としては、美味しいのだけど、ちょっとつらい。

    それから、麺がとても太いので、茹で時間が長い。注文してから出てくるまでが長いので、客の回転は悪いから、どうしても並んでしまうのだろう。

  • 2023年にGoogle Currentsが廃止される予定とのこと。

    Google Workspaceのブログに、Google Currentsが廃止されると記載された。

    The future of Currents and the next generation of collaboration in Spaces
    https://workspaceupdates.googleblog.com/2022/02/currents-spaces-migration.html

    Google Currentsのコンテンツは、Spaces(Google chatの旧チャットルーム)に統合されていくとのこと。ビジネス向けのGoogle+の系譜も、これでおしまい、ということか。

    Spacesにアップグレードされると、利用の少ない機能はなくなるようだ。Google+やCurrentsのときのような緩いコミュニケーションや通知に使えるようなオプションがSpacesについてくれるといいのだけど。あとは、3カラムになって、スレッドが分かりやすくなってくれると、なおうれしいのだけど。

    Google CurrentsからSpacesへの移行オプションはこれからアナウンスされるようなので、これまた対応が大変なのかもしれない。