As rookie

ルーキーインフラエンジニアがインフラのこと以外も結構書いてしまうブログ

Google Keepだけを使って、文字を含む画像から文字を抽出する(テキストにする)方法

前提

f:id:shigeru-mokicks:20210526013239p:plain

この画像から文字を抽出します。

方法

Google Keep にアクセス

keep.google.com

画像を貼り付ける

f:id:shigeru-mokicks:20210526013305p:plain

画像を選択する

f:id:shigeru-mokicks:20210526013316p:plain

補足:

クリップボードに保存した画像も直接貼り付けできます。 Macだと「Shift + Ctrl + Cmd + 4」で部分スクショしてペーストすれば楽です。

メニューから「画像のテキストを抽出」を選択

f:id:shigeru-mokicks:20210526013559p:plain

f:id:shigeru-mokicks:20210526013628p:plain

抽出完了

f:id:shigeru-mokicks:20210526013732p:plain

まとめ

かんたんですね。

Google Keepだけで抽出できるし楽ちんです。

何故かコピーできないエラーのポップアップとかをGoogle 翻訳とかするのに使えます。

【PEPを読もう】Purpose and Guidelines【PEP 1】

PEPを読もう

PEPにまとめられている情報により設計や思想を知れます。
Pythonを深く知りたいなら読んだ方が良さそう。ということで読んでいきます。

日本語に翻訳されているPEP一覧 というページを見つけました。
PEPIndex - Python Japanese Environment Wiki - Python Japanese Environment - OSDN

PEP 1

PEP 1 -- PEP Purpose and Guidelines | Python.org

PEP 1 はPEPの目的とガイドラインです。Process PEPです。

PEPのガイドラインである。Pythonに対して提案などを行いたい場合に参照するのが良い。開発ワークフローで対応できる改善提案やパッチは issue tracker にパッチを送ろう。

PEPとは

  • Python Enhancement Proposal の略
  • Pythonコミュニティに情報を提供したり、Pythonまたはそのプロセスや環境の新機能を説明したりする設計ドキュメント
  • Pythonに取り入れられた設計上の決定を文書化するための主要なメカニズムになることを意図している。

PEP Type

  • I
    • Informational PEP
    • Python の設計上の問題を記述したり、Python コミュニティに一般的なガイドラインや情報を提供したりしますが、新しい機能を提案するものではありません。Informational PEPは必ずしもPythonコミュニティのコンセンサスや勧告を表しているわけではないので、ユーザーや実装者はInformational PEPを無視するか、彼らのアドバイスに従うかは自由です。
  • P
    • Process PEP
    • Pythonを取り巻くプロセスを記述したり、プロセスへの変更(またはプロセス内のイベント)を提案したりします。Process PEPは Standards Track PEPのようなものですが、Python言語以外の領域に適用されます。これらは実装を提案することはできますが、Pythonのコードベースに対しては提案しません。例としては、手順、ガイドライン、意思決定プロセスへの変更、Python開発で使用されるツールや環境への変更などがあります。どんなメタPEPもProcess PEPとみなされます。
  • S
    • Standards Track PEP
    • Standards Track PEP は Python の新しい機能や実装を記述します。また、後続のPEPが将来のバージョンで標準ライブラリのサポートを追加する前に、現在のPythonのバージョンで標準ライブラリの外でサポートされる相互運用性の標準を記述することもあります。

ワークフロー

ワークフローはPEPに提案を行いたい場合に参照すると良い。 メモを簡潔にまとめる。

登場人物

  • Pythonの運営評議会
    • PEP13に記載された選出された運営評議会のメンバーに承認・拒否の権限がある。
  • Python コアデベロッパ
    • PEP13で説明されているアクティブなPYthonコアチームメンバー
  • PythonのBDFL(優しい終身の独裁者 - Wikipedia
    • このPEPの以前のバージョンでは、PEPの意思決定者に「BDFL-Delegate」というタイトルが使用されていた。
    • 現在は PEPの意思決定者が意思決定を行っている。

メモ

  • 1つのPEPには1つの提案だけを含めるようにするのが良い。
  • PEP作成者(提案者)はチャンピオンと呼ばれている
  • PEPとして提案する前に、アイディアを共有するメーリングリストに投稿して意見をもらったほうが良い。
    • "Just because an idea sounds good to the author does not mean it will work for most people in most areas where Python is used."
  • PEPの著者がコア開発者かどうかでフローが変化する。
    • コア開発者でない場合は、スポンサー(メンターのようなもの)が付く
  • GitHubのプルリクエストを介して提案をドラフトのPEPとして提出する。
    • PEPスタイルでプルリクエストを作成する必要がある。
  • Travis CIによってフォーマットチェックされる
  • PEPを拒否する理由には以下のようなものがある。
    • 作業の重複
    • 技術的に不健全
    • 適切な動機づけを提供していない
    • 下位互換性に対処していない
    • Pythonの哲学に沿っていない。
  • PEP承認の最終的な権限は運営評議会(Steering Council)
    • 最終決定を下すのに適切な経験があるコア開発者は代理人として役割を果たすことができる。
  • PEP-Delegatesは評議会から辞任を求められる可能性がある(そういうフローがある。)
  • 最後に、提案された拡張機能は、運営評議会によって受け入れられるために「pythonic」でなければなりません。
    • (ただし、「pythonic」は不正確な用語です。SteeringCouncilに受け入れられるものとして定義される場合があります。このロジックは意図的に循環しています。)
  • PEPのステータスは画像の通り。 f:id:shigeru-mokicks:20210526011514p:plain

その他

  • 成功しやすいPEPの特徴についてまとめられている。
  • 各PEPは、RFC822スタイルのヘッダープリアンブルで始まる必要がある。
  • 変更をどこに送信するかについて疑問がある場合は、最初にPEP作成者またはPEPエディター(あるいはその両方)に確認するのが良い。
  • PEPの所有権を譲渡することができる。
    • GitHub で フォークして所有者を変更してPRを出す
  • PEP Editorの責任とワークフローについては別途記載されている。

感想

給料ほしいってなりそう。すげぇ。

【PEPを読もう】Index of Python Enhancement Proposals【PEP 0】

PEPを読もう

PEPにまとめられている情報により設計や思想を知れます。
Pythonを深く知りたいなら読んだ方が良さそう。ということで読んでいきます。

PEP 0

PEP 0 -- Index of Python Enhancement Proposals (PEPs) | Python.org

PEP 0はタイトルの通りIndexです。PEPの番号とPEPのタイトルが一覧化されています。

リンク先のインデックスの一列目にには1文字〜2文字のアルファベットが記載されています。

これは、PEPの

  • Type
  • Status

を現しています。

PEP Types Key

(PEP TypesはPEP 1 に説明がある)

  • I
    • Informational PEP
    • Python の設計上の問題を記述したり、Python コミュニティに一般的なガイドラインや情報を提供したりしますが、新しい機能を提案するものではありません。Informational PEPは必ずしもPythonコミュニティのコンセンサスや勧告を表しているわけではないので、ユーザーや実装者はInformational PEPを無視するか、彼らのアドバイスに従うかは自由です。
  • P
    • Process PEP
    • Pythonを取り巻くプロセスを記述したり、プロセスへの変更(またはプロセス内のイベント)を提案したりします。Process PEPは Standards Track PEPのようなものですが、Python言語以外の領域に適用されます。これらは実装を提案することはできますが、Pythonのコードベースに対しては提案しません。例としては、手順、ガイドライン、意思決定プロセスへの変更、Python開発で使用されるツールや環境への変更などがあります。どんなメタPEPもProcess PEPとみなされます。
  • S
    • Standards Track PEP
    • Standards Track PEP は Python の新しい機能や実装を記述します。また、後続のPEPが将来のバージョンで標準ライブラリのサポートを追加する前に、現在のPythonのバージョンで標準ライブラリの外でサポートされる相互運用性の標準を記述することもあります。

PEP Status Key

PEP Statusは PEP 1で説明される PEP Workflowに関わる部分なので PEP 1で読んでいきます。
ここでは情報として、アルファベットがどういう意味の英単語かのみ記載します。

  • A
    • Accepted (Standards Track only) or Active proposal
  • D
    • Deferred proposal
  • F
    • Final proposal
  • P
    • Provisional proposal
  • R
    • Rejected proposal
  • S
    • Superseded proposal
  • W
    • Withdrawn proposal

締め

次回からはPEP 1を見ていきます。 読むスピードと掲載されるスピードどちらが早いのだろうか

SSHポートフォワーディングでIP制限されたWebサイトを閲覧する

本題

踏み台サーバーなど制限されたIPからの通信しか許可しないWebサーバーがある。
PC(クライアントPC)から踏み台を利用したSSHポートフォワーディングを行うことにより、Webサーバーからのレスポンスをブラウザで表示する。

f:id:shigeru-mokicks:20200320140604p:plain

クライアントPCはWindowsでもMacでもsshが実行できるターミナルなら問題なし。

前提

  • クライアントPCから踏み台サーバーにSSHができる
  • 踏み台サーバーからWebサーバーにHTTP(S)リクエストが行える

コマンド

ssh -i <SSHの秘密鍵> -f -N -L <クライアントPCで使うポート>:<WebサーバーのIPアドレス>:<Webサーバーがリッスンしているポート> user@<踏み台のIPアドレス>

ssh -i ~/.ssh/id_rsa -f -N -L 443:153.122.84.228:443 user@192.168.0.1

オプション

  • -f : バックグラウンドで実行
  • -N : リモートでコマンドを実行しない(指定しない場合、SSHでのコネクションはリモートでシェルが起動する。)
  • -4 : IPv4のみ
  • -C : セッションの圧縮

ブラウザから確認

ブラウザから localhost:<クライアントPCで使うポート> で指定したポートにアクセスすると、Webサーバーのレスポンス(HTMLなど)が確認できる。
例では localhost:443 にアクセスする。

localhostにアクセスしているのにWebサーバーのレスポンスが表示されているのが確認できる。

Tips

あとがき

ブログを1年以上更新していないことに気づいた。
最近全然成長している気がしないなぁ......と感じていたのはこのせいだとおもう。
時間が有る限りブログを書きたいと思った

apkコマンドのhelpを日本語訳した

apkコマンドのhelpを日本語訳しただけです。

実行環境

bash image

apk バージョン

bash-4.4# apk --version
apk-tools 2.10.1, compiled for x86_64.

英語/日本語

英語

bash-4.4# apk --help
apk-tools 2.10.1, compiled for x86_64.

Installing and removing packages:
  add       Add PACKAGEs to 'world' and install (or upgrade) them, while ensuring that all dependencies are met
  del       Remove PACKAGEs from 'world' and uninstall them

System maintenance:
  fix       Repair package or upgrade it without modifying main dependencies
  update    Update repository indexes from all remote repositories
  upgrade   Upgrade currently installed packages to match repositories
  cache     Download missing PACKAGEs to cache and/or delete unneeded files from cache

Querying information about packages:
  info      Give detailed information about PACKAGEs or repositories
  list      List packages by PATTERN and other criteria
  dot       Generate graphviz graphs
  policy    Show repository policy for packages

Repository maintenance:
  index     Create repository index file from FILEs
  fetch     Download PACKAGEs from global repositories to a local directory
  verify    Verify package integrity and signature
  manifest  Show checksums of package contents

Use apk <command> --help for command-specific help.
Use apk --help --verbose for a full command listing.

This apk has coffee making abilities.

日本語

apk-tools 2.10.1, compiled for x86_64.

パッケージのインストールと削除:
  add    すべての依存関係が満たされていることを確認しながら、PACKAGEsを「world」に追加してインストール(またはアップグレード)します。
  del    「world」からPACKAGEsを削除し、それらをアンインストールする

システムメンテナンス:
  fix    主な依存関係を変更せずにパッケージを修復またはアップグレードする
  update    すべてのリモートリポジトリからリポジトリインデックスを更新する
  upgrade    現在インストールされているパッケージをリポジトリに合わせてアップグレードする
  cache    見つからないPACKAGEsをキャッシュにダウンロードしたり、不要なファイルをキャッシュから削除したりする

パッケージ情報の問い合わせ:
  info    PACKAGEsまたはリポジトリに関する詳細情報を提供する
  list    PATTERNおよびその他の基準でパッケージを一覧表示する
  dot    graphvizグラフを生成する
  policy    パッケージのリポジトリポリシーを表示する

リポジトリメンテナンス:
  index    FILEsからリポジトリインデックスファイルを作成する
  fetch    グローバルリポジトリからローカルディレクトリへのPACKAGEのダウンロード
  verify    パッケージの整合性と署名を確認する
  manifest    パッケージコンテンツのチェックサムを表示する

コマンド固有のヘルプを表示するには、「apk <command> --help」を使用してください。
完全なコマンドリストを表示するには、「apk --help --verbose」を使用してください。

このapkはコーヒー作る能力があります。  <-(?)

不明点

最後のジョークっぽいものの真意がわかりませんでした。日本語チックな冗談にするにはどういう訳が正しいのだろうか。

  • コーヒーを作る時間を与えてくれる。
  • コーヒーを作るぐらいのことはできる。
  • apkパッケージによって、コーヒーを作る機材の組み込みプログラム(パッケージ)がインストールできる。
  • その他

はて、詳しい人教えてください。

最後に

Google翻訳して、ニュアンス合わしてコピペするだけの記事です。
アウトプットしないと覚えられない身体です。

GCPのIAMの日本語/英語対応のCSV作った。

ブラウザ側名前とAPIで取得する名前が、英語と日本語別なので、対応CSV作った。
これをつかってGoogle Spread Sheetにはりつけるなり、grepするなりする。
おかしいところあればご指摘ください。

※ 最終更新:2018年9月12日 (ブログ記事下の方に更新履歴あり)

親,子,API
Project,参照者,"roles/browser"
Project,編集者,"roles/editor"
Project,オーナー,"roles/owner"
Project,閲覧者,"roles/viewer"
Android Management,Android Management ユーザー,"roles/androidmanagement.user"
App Engine,App Engine 管理者,"roles/appengine.appAdmin"
App Engine,App Engine 閲覧者,"roles/appengine.appViewer"
App Engine,App Engine コード閲覧者,"roles/appengine.codeViewer"
App Engine,App Engine デプロイ担当者,"roles/appengine.deployer"
App Engine,App Engine サービス管理者,"roles/appengine.serviceAdmin"
BigQuery,BigQuery 管理者,"roles/bigquery.admin"
BigQuery,BigQuery データ編集者,"roles/bigquery.dataEditor"
BigQuery,BigQuery データオーナー,"roles/bigquery.dataOwner"
BigQuery,BigQuery データ閲覧者,"roles/bigquery.dataViewer"
BigQuery,BigQuery ジョブユーザー,"roles/bigquery.jobUser"
BigQuery,BigQuery ユーザー,"roles/bigquery.user"
Billing,プロジェクトの支払い管理者,"roles/billing.projectManager"
Binary Authorization,Binary Authorization アテスター管理者,"roles/binaryauthorization.attestorsAdmin"
Binary Authorization,Binary Authorization アテスター編集者,"roles/binaryauthorization.attestorsEditor"
Binary Authorization,Binary Authorization アテスター イメージ検証者,"roles/binaryauthorization.attestorsVerifier"
Binary Authorization,Binary Authorization アテスター閲覧者,"roles/binaryauthorization.attestorsViewer"
Binary Authorization,Binary Authorization ポリシー管理者,"roles/binaryauthorization.policyAdmin"
Binary Authorization,Binary Authorization ポリシー編集者,"roles/binaryauthorization.policyEditor"
Binary Authorization,Binary Authorization ポリシー閲覧者,"roles/binaryauthorization.policyViewer"
Cloud Bigtable,Bigtable 管理者,"roles/bigtable.admin"
Cloud Bigtable,Bigtable 読み取り,"roles/bigtable.reader"
Cloud Bigtable,Bigtable ユーザー,"roles/bigtable.user"
Cloud Bigtable,Bigtable 閲覧者,"roles/bigtable.viewer"
Cloud Build,Cloud Build サービス アカウント,"roles/cloudbuild.builds.builder"
Cloud Build,Cloud Build 編集者,"roles/cloudbuild.builds.editor"
Cloud Build,Cloud Build 閲覧者,"roles/cloudbuild.builds.viewer"
Cloud Composer,Composer 管理者,"roles/composer.admin"
Cloud Composer,環境とストレージ オブジェクトの管理者,"roles/composer.environmentAndStorageObjectAdmin"
Cloud Composer,環境ユーザーと Storage Object の閲覧者,"roles/composer.environmentAndStorageObjectViewer"
Cloud Composer,Composer ユーザー,"roles/composer.user"
Cloud Composer,Composer ワーカー,"roles/composer.worker"
Cloud DLP,DLP 管理者,"roles/dlp.admin"
Cloud DLP,DLP 分析リスク テンプレート編集者,"roles/dlp.analyzeRiskTemplatesEditor"
Cloud DLP,DLP 分析リスク テンプレート読み取り,"roles/dlp.analyzeRiskTemplatesReader"
Cloud DLP,DLP 匿名化テンプレート編集者,"roles/dlp.deidentifyTemplatesEditor"
Cloud DLP,DLP 匿名化テンプレート読み取り,"roles/dlp.deidentifyTemplatesReader"
Cloud DLP,DLP 検査テンプレート編集者,"roles/dlp.inspectTemplatesEditor"
Cloud DLP,DLP 検査テンプレート読み取り,"roles/dlp.inspectTemplatesReader"
Cloud DLP,DLP ジョブトリガー編集者,"roles/dlp.jobTriggersEditor"
Cloud DLP,DLP ジョブトリガー読み取り,"roles/dlp.jobTriggersReader"
Cloud DLP,DLP ジョブ編集者,"roles/dlp.jobsEditor"
Cloud DLP,DLP ジョブ読み取り,"roles/dlp.jobsReader"
Cloud DLP,DLP Stored InfoTypes 編集者,"roles/dlp.storedInfoTypesEditor"
Cloud DLP,DLP Stored InfoTypes 読み取り,"roles/dlp.storedInfoTypesReader"
Cloud DLP,DLP ユーザー,"roles/dlp.user"
Cloud Filestore,Cloud Filestore 閲覧者,"roles/file.viewer"
Cloud Filestore,IAP で保護されたウェブアプリ ユーザー,"roles/iap.httpsResourceAccessor"
Cloud Functions,Cloud Functions 開発者,"roles/cloudfunctions.developer"
Cloud Functions,Cloud Functions 閲覧者,"roles/cloudfunctions.viewer"
Cloud IAP,IAP ポリシー管理者,"roles/iap.admin"
Cloud IAP,IAP で保護されたウェブアプリ ユーザー,"roles/iap.httpsResourceAccessor"
Cloud IoT,Cloud IoT 管理者,"roles/cloudiot.admin"
Cloud IoT,Cloud IoT Device コントローラ,"roles/cloudiot.deviceController"
Cloud IoT,Cloud IoT 編集者,"roles/cloudiot.editor"
Cloud IoT,Cloud IoT プロビジョナー,"roles/cloudiot.provisioner"
Cloud IoT,Cloud IoT 閲覧者,"roles/cloudiot.viewer"
Cloud Job Discovery,管理,"roles/cloudjobdiscovery.admin"
Cloud Job Discovery,ジョブ編集者,"roles/cloudjobdiscovery.jobsEditor"
Cloud Job Discovery,ジョブ閲覧者,"roles/cloudjobdiscovery.jobsViewer"
Cloud KMS,クラウド KMS 管理者,"roles/cloudkms.admin"
Cloud KMS,クラウド KMS 暗号鍵の復号化,"roles/cloudkms.cryptoKeyDecrypter"
Cloud KMS,クラウド KMS 暗号鍵の暗号化,"roles/cloudkms.cryptoKeyEncrypter"
Cloud KMS,クラウド KMS 暗号鍵の暗号化 / 復号化,"roles/cloudkms.cryptoKeyEncrypterDecrypter"
Cloud KMS,Cloud KMS 暗号鍵の公開鍵閲覧者,"roles/cloudkms.publicKeyViewer"
Cloud KMS,Cloud KMS 暗号鍵の署名者,"roles/cloudkms.signer"
Cloud KMS,Cloud KMS 暗号鍵の署名者 / 検証者,"roles/cloudkms.signerVerifier"
Cloud Scheduler,Cloud Scheduler 管理者,"roles/cloudscheduler.admin"
Cloud Scheduler,Cloud Scheduler 閲覧者,"roles/cloudscheduler.viewer"
Cloud Security Scanner,Cloud Security Scanner 編集者,"roles/cloudsecurityscanner.editor"
Cloud Security Scanner,Cloud Security Scanner 実行者,"roles/cloudsecurityscanner.runner"
Cloud Security Scanner,Cloud Security Scanner 閲覧者,"roles/cloudsecurityscanner.viewer"
Cloud Services,Service Broker 管理者,"roles/servicebroker.admin"
Cloud Services,Service Broker のオペレータ,"roles/servicebroker.operator"
Cloud Spanner,Cloud Spanner 管理者,"roles/spanner.admin"
Cloud Spanner,Cloud Spanner データベース管理者,"roles/spanner.databaseAdmin"
Cloud Spanner,Cloud Spanner データベース読み取り,"roles/spanner.databaseReader"
Cloud Spanner,Cloud Spanner データベース ユーザー,"roles/spanner.databaseUser"
Cloud Spanner,Cloud Spanner 閲覧者,"roles/spanner.viewer"
Cloud SQL,Cloud SQL 管理者,"roles/cloudsql.admin"
Cloud SQL,Cloud SQL クライアント,"roles/cloudsql.client"
Cloud SQL,Cloud SQL 編集者,"roles/cloudsql.editor"
Cloud SQL,Cloud SQL 閲覧者,"roles/cloudsql.viewer"
Cloud Tasks,クラウドタスク管理者,"roles/cloudtasks.admin"
Cloud Tasks,クラウドタスクのデータ取り出し,"roles/cloudtasks.dequeuer"
Cloud Tasks,クラウドタスクへのデータ追加,"roles/cloudtasks.enqueuer"
Cloud Tasks,クラウド タスクキュー管理者,"roles/cloudtasks.queueAdmin"
Cloud Tasks,クラウドタスクのタスク削除,"roles/cloudtasks.taskDeleter"
Cloud Tasks,Cloud Tasks のタスク実行者,"roles/cloudtasks.taskRunner"
Cloud Tasks,クラウドタスク閲覧者,"roles/cloudtasks.viewer"
Cloud TPU,TPU 管理者,"roles/tpu.admin"
Cloud TPU,TPU 閲覧者,"roles/tpu.viewer"
Cloud Trace,Cloud Trace 管理者,"roles/cloudtrace.admin"
Cloud Trace,Cloud Trace エージェント,"roles/cloudtrace.agent"
Cloud Trace,Cloud Trace ユーザー,"roles/cloudtrace.user"
Compute Engine,Compute 管理者,"roles/compute.admin"
Compute Engine,Compute イメージ ユーザー,"roles/compute.imageUser"
Compute Engine,Compute インスタンス管理者(ベータ版),"roles/compute.instanceAdmin"
Compute Engine,Compute インスタンス管理者(v1),"roles/compute.instanceAdmin.v1"
Compute Engine,Compute ネットワーク管理者,"roles/compute.networkAdmin"
Compute Engine,Compute ネットワーク ユーザー,"roles/compute.networkUser"
Compute Engine,Compute ネットワーク閲覧者,"roles/compute.networkViewer"
Compute Engine,Compute OS 管理者ログイン,"roles/compute.osAdminLogin"
Compute Engine,Compute OS ログイン,"roles/compute.osLogin"
Compute Engine,Compute セキュリティ管理者,"roles/compute.securityAdmin"
Compute Engine,Compute ストレージ管理者,"roles/compute.storageAdmin"
Compute Engine,Compute 閲覧者,"roles/compute.viewer"
Container Analysis,Container Analysis 管理者,"roles/containeranalysis.admin"
Container Analysis,Container Analysis メモの添付者,"roles/containeranalysis.notes.attacher"
Container Analysis,Container Analysis メモの編集者,"roles/containeranalysis.notes.editor"
Container Analysis,Container Analysis メモの閲覧者,"roles/containeranalysis.notes.viewer"
Container Analysis,Container Analysis 実行回数の編集者,"roles/containeranalysis.occurrences.editor"
Container Analysis,Container Analysis 実行回数の閲覧者,"roles/containeranalysis.occurrences.viewer"
Dataflow,Dataflow 管理者,"roles/dataflow.admin"
Dataflow,Dataflow デベロッパー,"roles/dataflow.developer"
Dataflow,Dataflow 閲覧者,"roles/dataflow.viewer"
Dataflow,Dataflow ワーカー,"roles/dataflow.worker"
Dataprep,Dataprep ユーザー,"roles/dataprep.projects.user"
Dataproc,Dataproc 編集者,"roles/dataproc.editor"
Dataproc,Dataproc 閲覧者,"roles/dataproc.viewer"
Dataproc,Dataproc ワーカー,"roles/dataproc.worker"
Datastore,Cloud Datastore インポート / エクスポート管理者,"roles/datastore.importExportAdmin"
Datastore,Cloud Datastore インデックス管理者,"roles/datastore.indexAdmin"
Datastore,Cloud Datastore オーナー,"roles/datastore.owner"
Datastore,Cloud Datastore ユーザー,"roles/datastore.user"
Datastore,Cloud Datastore 閲覧者,"roles/datastore.viewer"
Deployment Manager,Deployment Manager 編集者,"roles/deploymentmanager.editor"
Deployment Manager,Deployment Manager タイプ編集者,"roles/deploymentmanager.typeEditor"
Deployment Manager,Deployment Manager タイプ閲覧者,"roles/deploymentmanager.typeViewer"
Deployment Manager,Deployment Manager 閲覧者,"roles/deploymentmanager.viewer"
Dialogflow,Dialogflow API 管理者,"roles/dialogflow.admin"
Dialogflow,Dialogflow API クライアント,"roles/dialogflow.client"
Dialogflow,Dialogflow API 読み取り,"roles/dialogflow.reader"
DNS,DNS 管理者,"roles/dns.admin"
DNS,DNS の読み取り,"roles/dns.reader"
Error Reporting,Error Reporting 管理者,"roles/errorreporting.admin"
Error Reporting,Error Reporting ユーザー,"roles/errorreporting.user"
Error Reporting,Error Reporting 閲覧者,"roles/errorreporting.viewer"
Error Reporting,エラー書き込み,"roles/errorreporting.writer"
Firebase,Firebase Test Lab 管理者,"roles/cloudtestservice.testAdmin"
Firebase,Firebase Test Lab 閲覧者,"roles/cloudtestservice.testViewer"
Firebase Crash Reporting,Firebase Crash Symbol アップロード,"roles/firebasecrash.symbolMappingsAdmin"
Genomics,Genomics 管理者,"roles/genomics.admin"
Genomics,Genomics 編集者,"roles/genomics.editor"
Genomics,Genomics Pipelines 実行者,"roles/genomics.pipelinesRunner"
Genomics,Genomics 閲覧者,"roles/genomics.viewer"
IAM,セキュリティ審査担当者,"roles/iam.securityReviewer"
Kubernetes Engine,Kubernetes Engine 管理者,"roles/container.admin"
Kubernetes Engine,Kubernetes Engine Cluster 管理者,"roles/container.clusterAdmin"
Kubernetes Engine,Kubernetes Engine 開発者,"roles/container.developer"
Kubernetes Engine,Kubernetes Engine Host サービス エージェント ユーザー,"roles/container.hostServiceAgentUser"
Kubernetes Engine,Kubernetes Engine 閲覧者,"roles/container.viewer"
Logging,Logging 管理者,"roles/logging.admin"
Logging,ログ設定書き込み,"roles/logging.configWriter"
Logging,ログ書き込み,"roles/logging.logWriter"
Logging,プライベート ログ閲覧者,"roles/logging.privateLogViewer"
Logging,ログ閲覧者,"roles/logging.viewer"
Machine Learning Engine,ML Engine 管理者,"roles/ml.admin"
Machine Learning Engine,ML Engine デベロッパー,"roles/ml.developer"
Machine Learning Engine,ML Engine 閲覧者,"roles/ml.viewer"
Memorystore Redis,Cloud Memorystore Redis 管理者,"roles/redis.admin"
Memorystore Redis,Cloud Memorystore Redis 編集者,"roles/redis.editor"
Memorystore Redis,Cloud Memorystore Redis 閲覧者,"roles/redis.viewer"
Proximity Beacon,ビーコン添付ファイル編集者,"roles/proximitybeacon.attachmentEditor"
Proximity Beacon,ビーコン添付ファイルの公開元,"roles/proximitybeacon.attachmentPublisher"
Proximity Beacon,ビーコン添付ファイル閲覧者,"roles/proximitybeacon.attachmentViewer"
Proximity Beacon,ビーコン編集者,"roles/proximitybeacon.beaconEditor"
Pub/Sub,Pub/Sub 管理者,"roles/pubsub.admin"
Pub/Sub,Pub/Sub 編集者,"roles/pubsub.editor"
Pub/Sub,Pub/Sub パブリッシャー,"roles/pubsub.publisher"
Pub/Sub,Pub/Sub サブスクライバー,"roles/pubsub.subscriber"
Pub/Sub,Pub/Sub 閲覧者,"roles/pubsub.viewer"
Reserve Partner,Reserve Partner 管理者,"roles/reservepartner.portalAdmin"
Reserve Partner,Reserve Partner 読み取り,"roles/reservepartner.portalReader"
Resource Manager,プロジェクト リーエンの変更,"roles/resourcemanager.lienModifier"
Resource Manager,組織の管理者,"roles/resourcemanager.organizationAdmin"
Resource Manager,プロジェクトの削除,"roles/resourcemanager.projectDeleter"
Resource Manager,Project IAM 管理者,"roles/resourcemanager.projectIamAdmin"
Resource Manager,プロジェクト移動,"roles/resourcemanager.projectMover"
Roles,役割の管理者,"roles/iam.roleAdmin"
Roles,役割の閲覧者,"roles/iam.roleViewer"
Service Accounts,サービス アカウント管理者,"roles/iam.serviceAccountAdmin"
Service Accounts,サービス アカウント キー管理者,"roles/iam.serviceAccountKeyAdmin"
Service Accounts,サービス アカウント トークン作成者,"roles/iam.serviceAccountTokenCreator"
Service Accounts,サービス アカウント ユーザー,"roles/iam.serviceAccountUser"
Service Usage,API キー管理者,"roles/serviceusage.apiKeysAdmin"
Service Usage,API キー閲覧者,"roles/serviceusage.apiKeysViewer"
Service Usage,Service Usage 管理者,"roles/serviceusage.serviceUsageAdmin"
Service Usage,Service Usage ユーザー,"roles/serviceusage.serviceUsageConsumer"
Service Usage,Service Usage 閲覧者,"roles/serviceusage.serviceUsageViewer"
Source,Source Repository 管理者,"roles/source.admin"
Source,Source Repository 読み取り,"roles/source.reader"
Source,Source Repository 書き込み,"roles/source.writer"
Stackdriver,Stackdriver Account 編集者,"roles/stackdriver.accounts.editor"
Stackdriver,Stackdriver Account 閲覧者,"roles/stackdriver.accounts.viewer"
Stackdriver,Stackdriver リソース メンテナンス時間枠の編集者,"roles/stackdriver.resourceMaintenanceWindow.editor"
Stackdriver,Stackdriver リソース メンテナンス時間枠の閲覧者,"roles/stackdriver.resourceMaintenanceWindow.viewer"
Stackdriver Debugger,Stackdriver Debugger エージェント,"roles/clouddebugger.agent"
Stackdriver Debugger,Stackdriver Debugger ユーザー,"roles/clouddebugger.user"
Stackdriver Profiler,Stackdriver Profiler エージェント,"roles/cloudprofiler.agent"
Stackdriver Profiler,Stackdriver Profiler ユーザー,"roles/cloudprofiler.user"
エンドポイント,Endpoints Portal 管理者,"roles/endpoints.portalAdmin"
サービスネットワーキング,Service Management 管理者,"roles/servicemanagement.admin"
サービス管理,Service Config 編集者,"roles/servicemanagement.configEditor"
サービス管理,割り当て管理者,"roles/servicemanagement.quotaAdmin"
サービス管理,割り当て閲覧者,"roles/servicemanagement.quotaViewer"
サービス管理,サービス コントローラ,"roles/servicemanagement.serviceController"
サービス管理,サービス ネットワーキング管理者,"roles/servicenetworking.networksAdmin"
ストレージ,ストレージ管理者,"roles/storage.admin"
ストレージ,ストレージのオブジェクト管理者,"roles/storage.objectAdmin"
ストレージ,ストレージのオブジェクト作成者,"roles/storage.objectCreator"
ストレージ,ストレージ オブジェクト閲覧者,"roles/storage.objectViewer"
その他,AutoML 管理者,"roles/automl.admin"
その他,AutoML 編集者,"roles/automl.editor"
その他,AutoML 予測者,"roles/automl.predictor"
その他,AutoML 閲覧者,"roles/automl.viewer"
その他,Firebase Crash Symbol アップローダー(非推奨),"roles/mobilecrashreporting.symbolMappingsAdmin"
その他,Cloud RuntimeConfig 管理者,"roles/runtimeconfig.admin"
その他,「Google で購読」デベロッパー,"roles/subscribewithgoogledeveloper.developer"
モニタリング,モニタリング管理者,"roles/monitoring.admin"
モニタリング,Monitoring AlertPolicy 編集者,"roles/monitoring.alertPolicyEditor"
モニタリング,Monitoring AlertPolicy 閲覧者,"roles/monitoring.alertPolicyViewer"
モニタリング,モニタリング編集者,"roles/monitoring.editor"
モニタリング,モニタリング指標の書き込み,"roles/monitoring.metricWriter"
モニタリング,モニタリング通知チャネルの編集者,"roles/monitoring.notificationChannelEditor"
モニタリング,モニタリング通知チャネルの閲覧者,"roles/monitoring.notificationChannelViewer"
モニタリング,稼働時間チェックのモニタリング設定の編集者,"roles/monitoring.uptimeCheckConfigEditor"
モニタリング,稼働時間チェックのモニタリング設定の閲覧者,"roles/monitoring.uptimeCheckConfigViewer"
モニタリング,モニタリング閲覧者,"roles/monitoring.viewer"
組織ポリシー,アクセスの透明性管理者,"roles/axt.admin"
組織ポリシー,組織ポリシー閲覧者,"roles/orgpolicy.policyViewer"

更新履歴

  • 2018/09/12 当時のもの

POSIX1日1コマンド[part12]: cal

mokicks.hatenablog.com

詳細はこちらの記事へ。1日1POSIXコマンドを実行してみようというやつです。

cal

cal

とりあえず使ってみる

[vagrant@localhost 012]$ cal
   September 2018
Su Mo Tu We Th Fr Sa
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

素敵。
カレンダーが出力されました。

calを知る

ざっくり使い方

cal [[month] year]
[vagrant@localhost 012]$ cal 2018
                               2018

       January               February                 March
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6                1  2  3                1  2  3
 7  8  9 10 11 12 13    4  5  6  7  8  9 10    4  5  6  7  8  9 10
14 15 16 17 18 19 20   11 12 13 14 15 16 17   11 12 13 14 15 16 17
21 22 23 24 25 26 27   18 19 20 21 22 23 24   18 19 20 21 22 23 24
28 29 30 31            25 26 27 28            25 26 27 28 29 30 31

        April                   May                   June
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7          1  2  3  4  5                   1  2
 8  9 10 11 12 13 14    6  7  8  9 10 11 12    3  4  5  6  7  8  9
15 16 17 18 19 20 21   13 14 15 16 17 18 19   10 11 12 13 14 15 16
22 23 24 25 26 27 28   20 21 22 23 24 25 26   17 18 19 20 21 22 23
29 30                  27 28 29 30 31         24 25 26 27 28 29 30

        July                  August                September
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7             1  2  3  4                      1
 8  9 10 11 12 13 14    5  6  7  8  9 10 11    2  3  4  5  6  7  8
15 16 17 18 19 20 21   12 13 14 15 16 17 18    9 10 11 12 13 14 15
22 23 24 25 26 27 28   19 20 21 22 23 24 25   16 17 18 19 20 21 22
29 30 31               26 27 28 29 30 31      23 24 25 26 27 28 29
                                              30
       October               November               December
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6                1  2  3                      1
 7  8  9 10 11 12 13    4  5  6  7  8  9 10    2  3  4  5  6  7  8
14 15 16 17 18 19 20   11 12 13 14 15 16 17    9 10 11 12 13 14 15
21 22 23 24 25 26 27   18 19 20 21 22 23 24   16 17 18 19 20 21 22
28 29 30 31            25 26 27 28 29 30      23 24 25 26 27 28 29
                                              30 31
[vagrant@localhost 012]$ cal 8 2018
     August 2018
Su Mo Tu We Th Fr Sa
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

ざっくりDESCRIPTION

カレンダーを表示する。
[cal] ユーティリティーは、1752年9月14日にグレゴリオ暦が採用されたかのように、

を使用して標準出力にカレンダーを書き出します
オペランドが指定されていない場合、calは今年の今月の1か月のカレンダーを生成します。
[year] オペランドのみが与えられている場合、指定された暦年のすべての12ヶ月間のカレンダーを生成します。
[month] と [year] の両方のオペランドが与えられた場合、calは与えられた年の与えられた月の1カ月のカレンダーを生成します。

ざっくりOPTION

なし

ざっくりOPERANDS

  • month
    • 1(January)から12(December)までの10進整数で表される表示する月を指定します。
  • year
    • 表示されるカレンダーの年を指定します。1から9999までの10進整数で表されます。

ざっくりまとめ

ちょうどあなたが今、何かしらのシェルを使っているのなら、
スマホでみるよりも、卓上カレンダーをみるよりも早く、今週末が何日かを知ることができます。
特殊な形式(カレンダーとしては見やすい)で出力されるので、有効活用の方法は分からないです。
「月の1週目の今月に含まれる日数を調べる」...とか?

cal | head -n 3 | tail -1 | wc -w
1