2020/08/26

インドネシア語のチートシート Bahasa Indonesia Cheat Sheet vol.2 - 基本的な文型と英語と比較


  1. インドネシア語には、Be動詞がない。 ー> 飛ばせば良い
  2. 所有代名詞がない。
    I - my - me は無し。 saya だけ。
    he - his - him は無し。dia だけ。
  3. 動詞の時制がない。過去形・未来形がない。
凄い! なんか、色々簡単な感じ!!

2020/08/24

インドネシア語のチートシート Bahasa Indonesia Cheat Sheet vol.1 - 数字・曜日・月など

わけあって、インドネシア語を勉強する必要がありますので、トイレ・壁の貼り付け用のチートシートを作成します。
Vol1は、数字・曜日・月とかです。

2020/07/26

ボードゲーム:Catan dice game (カタン ダイス ゲーム)

大分前に買っていたけど、遊んでいなかったボードゲームというかサイコロゲーム。4連休で時間があったので、遊んでみた。遊び方は2通り。どちらも6個のサイコロを振り、出来るだけ高得点を取る(遊び方1)か、早く10点に到達する(遊び方2)を目指すゲーム。ボードゲームのCatanは、我が家では1時間〜1.5時間かかるけど、これは、30分ぐらいで終わるし、場所要らずで持ち運びも簡単なのは良い。専用の記録紙が必要なのは、ちょっと考えもの・・・。
私個人としては、ボードゲーム版の方が面白いと思う。妻は、サイコロの方が良いとのこと。
ボードゲーム版のCatanを知らなくてもプレイできると思うが、知ってた方が、理解が早いと思う。



文字列の組み合わせを作る itertools --- Python3

Goal: a,b,c の文字列の組み合わせを作りたい。例えば、abc, acb, bac, bca, cab, cba と6つ出したい。

How: itertools.permutations() モジュールを使う。


Result:



2020/07/24

GCP: GAE node.js standard 環境で、Facebook Messanger のBot を立ち上げるまで


  • Goal
    FacebookMessengerのBOTをGoogle App Engine Node.js Standard 環境上に立ち上げる。
    ・テキストメッセージながらオウム返し
    ・それ以外のメッセージなら「ああ、それな〜」と返す
  • How
    1. Facebook Developerでの作業
      (1)アプリの作成

      (2)Messangerプラットフォームの設定
      ・トークン作成で、PAGE_ACCESS_TOKENを作成


      ・Webhookとして、まずはmessages と、messaging_postbacksを有効にする。
      ・コールバックURLに、Google app engine のURLを入力
      ・トークン欄には、自分自身で決めた文字列を入力する。この値がFacebook側からGAEのWebhookに渡されるので、GAEのアプリケーション内のVERIFY_TOKENにセットする必要がある。
    2. GAE アプリケーションの作成
      (1)GCPプロジェクトを作成 (割愛)
      (2)GITからサンプルコードをPull
      git clone https://github.com/pumpkinpietea/facebookMessengerBot.git



      (3)Facebook Developerで発行したPAGE_ACCESS_TOKENと自身で決めたVERIFY_TOKENを貼り付ける

      (4)gcloud コマンドでDeploy
      $ gcloud init
               $ gcloud app deploy
    3. 完成

2020/06/07

MySQL Workbench から、SSH接続しようとすると”Access denied for 'none'. Authentication that can continue: publickey”エラーになる

  • Issue
    MySQL Workbench から、SSH接続しようとすると”Access denied for 'none'. Authentication that can continue: publickey”と言われる。。。
  • 原因
    SSHのKeyをmacで作成したために、Keyの形式が問題らしい。
    (参考)Thanks a lot!!
    WorkBenchでDBサーバーにSSH接続できないって?

  • Solution
    Windowsが、手元になかったので、macでのやり方をメモ
    1. putty をインストール
    2. puttygem で、.ppk ファイルを作成
    3. puttygem で、オプションprivate-openssh を指定して作成
    4. そのKeyをセットアップすると接続!

      # putty をインストールする
      -> % brew install putty
      Updating Homebrew...
      # この中の −0の private-openssh で最終的にKeyを作る
      -> % puttygen -h
      PuTTYgen: key generator and converter for the PuTTY tools
      Release 0.73
      Usage: puttygen ( keyfile | -t type [ -b bits ] )
      [ -C comment ] [ -P ] [ -q ]
      [ -o output-keyfile ] [ -O type | -l | -L | -p ]
      -t specify key type when generating (ed25519, ecdsa, rsa, dsa, rsa1)
      -b specify number of bits when generating key
      -C change or specify key comment
      -P change key passphrase
      -q quiet: do not display progress bar
      -O specify output type:
      private output PuTTY private key format
      private-openssh export OpenSSH private key <- これを使う!!!
      private-openssh-new export OpenSSH private key (force new format)
      private-sshcom export ssh.com private key
      public RFC 4716 / ssh.com public key
      public-openssh OpenSSH public key
      fingerprint output the key fingerprint
      -o specify output file
      -l equivalent to `-O fingerprint'
      -L equivalent to `-O public-openssh'
      -p equivalent to `-O public'
      --old-passphrase file
      specify file containing old key passphrase
      --new-passphrase file
      specify file containing new key passphrase
      --random-device device
      specify device to read entropy from (e.g. /dev/urandom)
      # まず、Putty形式のKeyを作成する 拡張子.ppk で保存
      -> % puttygen id_rsa -O private -o id_rsa.ppk
      Enter passphrase to load key:
      # で、そのファイルを -O private-openssh で、再度OpenSSHの古い形式で保存
      -> % puttygen id_rsa.ppk -O private-openssh -o id_rsa_mysqlWB
      Enter passphrase to load key:
      # これで、 private key file "id_rsa_mysqlWB" が、完成
      view raw puttygen.sh hosted with ❤ by GitHub


  • 編集後記
    MacでMySQL Workbenchを使う人は、少ないのかな?調べるのに時間かかってしまった。

GCP: ローカルからGCLOUDコマンドを叩くと pyenv: python2: command not found エラー

  • Issue
    gcloud コマンドをローカルから使おうとしたら、pyenv: python2: command not found エラーとなる
  • 環境など
    Mac mojave 10.14.6
    pyenv 1.2.8-182  ※homebrew でインストールしていない。(これが原因かも)
  • 原因
    文字通りなのですが、gcloudの中で、"python2" コマンドが呼び出されるけど、python2 コマンドが見つからないと言われている。
    # エラーの内容
    -> % gcloud compute instances -h
    pyenv: python2: command not found
    The `python2' command exists in these Python versions:
    2.7.15
    2.7.15/envs/iotdemo
    2.7.15/envs/py27
    iotdemo
    py27
    Note: See 'pyenv help global' for tips on allowing both
    python2 and python3 to be found.
    Usage: gcloud compute instances [optional flags] <group | command>
    group may be network-interfaces | os-inventory
    # the rest is omitted
    # python2 コマンドを叩いてみる
    -> % python2
    pyenv: python2: command not found
    The `python2' command exists in these Python versions:
    2.7.15
    2.7.15/envs/iotdemo
    2.7.15/envs/py27
    iotdemo
    py27
    Note: See 'pyenv help global' for tips on allowing both
    python2 and python3 to be found.
    ### エラーと言われる
    # pyenv のセッティングを確認
    # global は、何もしてないでMacの素のまま
    -> % pyenv version
    system (set by /Users/toshi/.pyenv/version)
    -> % pyenv global
    system
    -> % pyenv versions
    * system (set by /Users/toshi/.pyenv/version)
    2.7.15
    2.7.15/envs/iotdemo
    3.4.3
    3.4.3/envs/atc343
    atc343
    iotdemo


  • Solution
    .zprofile に、export CLOUDSDK_PYTHON=/usr/bin/python を追記
    これを追記することで、呼び出すPython環境を明示できて、python2 を呼ばなくなる。
    (しらんけど。。。)
    # python コマンドは、2.7.16
    -> % python
    Python 2.7.16 (default, Jan 27 2020, 04:46:15)
    [GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> exit()
    # それは、以下のPATHのことなので
    -> % /usr/bin/python
    Python 2.7.16 (default, Jan 27 2020, 04:46:15)
    [GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> exit()
    # .zprofile に、Pathを明示する
    -> % echo 'export CLOUDSDK_PYTHON=/usr/bin/python' >>.zprofile
    # ログインし直すと!! エラーは消えた
    -> % gcloud compute instances -h
    Usage: gcloud compute instances [optional flags] <group | command>
    group may be network-interfaces | os-inventory
    command may be add-access-config | add-iam-policy-binding |


  • 編集後記
    これは、元々、エラーがでるけど普通に動く。多分、python2 コマンド使って、だめならpython コマンドって順番に呼び出しているのかと想像。
    前のMACだと出なかったんだけど。。。