カテゴリー: 技術系

  • Google Apps Scriptのスクリプトの権限

    スクリプトの権限は、3つ。「オーナー」「編集者」「閲覧者」の3つ。「オーナー」と「編集者」の違いは、プロジェクトの公開をできるかできないかのみ。スクリプトの実行は「閲覧者」に指定されていないと、実行できない。

    スクリプトのオーナー権限は、無料のGoogleアカウントや異なるドメイン間では譲渡できない

  • キャメル記法とスネーク記法

    キャメル記法は、単語を連結する場合に、2つ目以降の単語の頭文字を大文字にする記法。大文字の部分がラクダ(Camel)のコブのように見えるのが由来。

    スネーク記法は、単語を連結する場合に、アンダースコア( _ )で連結する記法。

    変数はキャメル記法、定数はスネーク記法が一般的。

  • Windows 10 April 2018 Updateの提供開始&インストールした

    (タイトルと一部変更。Spring Creators Updateではなくて、April 2018 Updateという名前が正式なので、それに合わせて変更。)
    日本時間的には、5月1日からWindows 10の2018年春の大型アップデートが提供された。

    早速、2台ほどインストール検証してみた。April 2018 Updateは、Windows10上でWindows Updateを手動実行したところ、アップデートの中に、Version 1803が見つかった。バージョン的には、これなので普通にWindows Updateで提供されている。それで、インストールしてみると、ダウンロードでだいたい30分。そのあとの再起動を何回か行うインストールでは、30分ちょっと。4回ほど、再起動があった。時間はかかったが、無事にアップデートは完了した。

    とりあえず、アップデートしたけれど、いまのところの不具合はなし。新機能も試していない。そういえば、デスクトップにブラウザのEdgeのショートカットが追加されていた。これは、IEを切るという布石なのだろうか。いまのところ、そのくらい。

  • GASの制限事項

    GASは、Googleのサーバ上で実行されるため(クラウド上で実行されるため)、一部のユーザによって過負荷をかけられないようにスクリプトの実行に際して制限がある。

    スクリプトの実行時間やメールの受信者数、カスタム関数実行時間などを制限するハード制限。スクリプトの実行中に制限を超えると、スクリプトはエラーで終了する。

    ドキュメントの作成やカレンダーイベント作成など、一日あたりの実行回数を制限する容量制限。容量制限は、ユーザーごとにカウントされており、太平洋標準時(PST)の0時にリセットされる。だいたい日本だと、16時か17時で、サマータイムなどで変わる。

    ハード制限の例

    • スクリプト実行時間: 1回あたり6分
    • カスタム関数実行時間: 1回あたり30秒
    • メールの受信者件数: 1メッセージあたり、50件

    容量制限の例

    • カレンダーイベント作成数: 1日あたり、10,000件
    • ドキュメント作成数: 1日あたり、1,500件
    • JDBC接続: 1日あたり、50,000件

    GASの制限が書かれたページ

    https://developers.google.com/apps-script/guides/services/quotas

  • GASのスクリプトとスクリプトエディタ

    GASのスクリプトは、プロジェクトという単位で構成される。GASのスクリプトの拡張子は「.gs」。プロジェクトには、今のところ、GASスクリプトファイルとHTMLファイルのみ含めることができる。

    GASのプロジェクトは、「スタンドアロンスクリプト」と「コンテナバインドスクリプト」の2種類がある。「スタンドアロンスクリプト」は、Googleドライブにプロジェクトファイル自体を保存する。一方「コンテナバインドスクリプト」は、スプレッドシートやフォームなどに紐づき、それぞれのアプリ上から作成する。

    イメージとしては、「コンテナバインドスクリプト」は、ExcelなどのVBAみたいな感じである。

    スクリプトエディタの開き方

    スタンドアロンスクリプト

    1. Google ドライブを開く
    2. 「新規」→「その他」→「アプリを追加」を選択する
    3. ダイアログの中から、「Google Apps Script」を探し、「+接続」をクリックする 「アプリを追加」の作業は一度だけでよい。
    4. 「新規」→「その他」→「Google Apps Script」を選択する
    5. スクリプトエディタが開く。

    コンテナバインドスクリプト

    (スプレッドシートの例)

    1. スプレッドシートを開く
    2. 「ツール」→「スクリプトエディタ」を選択する
    3. スクリプトエディタが開く
  • GASのスクリプトエディタのデバック機能

    GASのスクリプトエディタにも、デバック実行と、ブレークポイント設置ができるデバック機能がついている。

    ブレークポイント

    ブレークポイントは、スクリプトエディタのスクリプト部分のライン表示の数字の横をクリックするとブレークポイントを設置できる。ブレークポイントが設置されると、ライン表示の横に赤い丸がつく。

    ブレークポイントを外すときは、ブレークポイントの丸をクリックする。これで、ライン表示から丸が消える。

    デバック実行

    GASのスクリプトエディタの下にあるツールバーにある「虫マーク」をクリックすると、デバック実行になる。ブレークポイントが設置されているときは、ブレークポイントで、止まる。デバック中は、さまざまな値や状態がスクリプトエディタ上に表示される。

  • GASでログを出力する

    スクリプトの動作確認のために、ログ出力機能がある。

    Logger.log() を使うことで、GASでログを出力することができる。

    function myFunction() {
      Logger.log('write log'); // ログに出力される
    }
    

    出力されているログは、スクリプトエディタで、「メニュー」→「表示」→「ログ」で表示するか、「Ctrl」+「Enter」(Macは「リンゴ」+「Enter」)でログが表示される。

    なお、Loggerクラスは、GASのBASEサービス。

  • GASとは何か?

    GASは、Google Apps Scriptの略で、Googleが提供するGoogle Apps(G Suits)で使用できるJava Scriptベースのプログラミング言語。

    GASは、Java Scriptをベースにしているが、一般的に使われるJava Scriptと同じではない。Java Scriptの基本部分である基本構文、制御構文、演算子、関数、組み込みオブジェクトのみが対象となる。これらに加えて、Google Appsを操作するための拡張機能で構成される。

    ベースに使用しているJava Scriptは、ECMAScriptではなく、JavaScript1.6~1.8の機能。そのため、新しいバージョンで追加された機能はGASでは使用できない可能性がある。

    なお、GASは、Googleのサーバ上で実行され、実行環境もGoogleの環境に依存する。

  • Windows Server で同時にオープンできるセッション数を増やす

    Windows Serverでオープンできるセッション数が足りなかったときに、オープンできるセッション数を増やす方法。

    ■コマンド

    netsh int ipv4 set dynamicport tcp start=XXXX num=range

    ■MAXまで広げる場合

    netsh int ipv4 set dynamicport tcp start=1025 num=64511

    startは、ウェルノウンポートの後のである「1025番」を指定。

    numは、65535から、ウェルノウンポートの1024を引いた64511。

    なお、デフォルトで動的ポートの開始である49152番は、自由に割り当て可能なポート範囲として規定されているポートの開始番号。

  • Windows Server でオープンできるセッション数の調べ方(クライアントも可)

    Windows Serverでオープンできるセッション数の調査は、コマンドで行う。

    調査コマンド:

    netsh int ipv4 show dynamicport tcp

    IPv6を調査するときは、「ipv4」の部分を「ipv6」に変更する。UDPを調べるときは、「tcp」の部分を「udp」に変更する。

    なお、Windows Server 2003以前のサーバは、レジストリ値を参照して調べる。

    C:\Users\hoge>netsh int ipv4 show dynamicport tcp
    
    プロトコル tcp の動的ポートの範囲
    ---------------------------------
    開始ポート      : 49152
    ポート数        : 16384
    
    
    C:\Users\hoge>
    C:\Users\hoge>netsh int ipv4 show dynamicport udp
    
    プロトコル udp の動的ポートの範囲
    ---------------------------------
    開始ポート      : 49152
    ポート数        : 16384
    
    
    C:\Users\hoge>
    C:\Users\hoge>netsh int ipv6 show dynamicport udp
    
    プロトコル udp の動的ポートの範囲
    ---------------------------------
    開始ポート      : 49152
    ポート数        : 16384
    
    
    C:\Users\hoge>
    C:\Users\hoge>netsh int ipv6 show dynamicport tcp
    
    プロトコル tcp の動的ポートの範囲
    ---------------------------------
    開始ポート      : 49152
    ポート数        : 16384
    
    
    C:\Users\hoge>
    

    参考; https://docs.microsoft.com/en-us/biztalk/technical-guides/settings-that-can-be-modified-to-improve-network-performance?redirectedfrom=MSDN