YAMLの基本文法

YAMLの基本文法について書いてみます。
覚えておくことは3つだけです。

単純な列挙

- a
- b
- c

ラベル付き

a: 1
b: 2
c: 3

ラベルをつけて列挙

a:
  - a1
  - a2
b:
  - b1
c:
  - c1

claspの基本操作

GAS(Google App Script)はブラウザ上でコーディングするため、いままで使いづらさを感じて手が出せませんでした。

しかし、今年の初めにclaspというCLIツールができてから、状況はかなり変わったといえます。

https://github.com/google/clasp

まずはclaspのコマンドを使えるようにします。

yarn global add @google/clasp

もしくは

npm install -g @google/clasp

アカウントの紐付けを行います。

clasp login

ブラウザが立ち上がり、次のようなメッセージが表示されます。
メッセージにあるようにそのまま閉じて構いません。

Logged in! You may close this page. 

次にプロジェクトを作成します。

clasp create

どのようなプロジェクトを作るか選択が出来ます。
ここではstandaloneを選択しました。

? Create which script? (Use arrow keys)
❯ standalone 
  docs 
  sheets 
  slides 
  forms 
  webapp 
  api 

さて、ここから何をしたらいいのだろうかという感じですので、Hello World!をやってみます。
ブラウザでエディターを開きましょう。

clasp open

次のような関数を作ります。

function myFunction() {
  const hello = 'Hello World!'
  Logger.log(hello)
}

作れたら、実行→関数を実行→myFunction
を押してみましょう。

何も起こらにように見えますが、「Ctr + Enter」を押すとでログが表示されています。

今はブラウザ上でソースコードを編集しましたが、claspはローカルで編集できることに意味があります。

次のコマンドでファイルを取ってきます。

clasp pull

逆にローカルファイルをpushすることもできます。

clasp push

毎回pushするのは面倒です。
保存したらpushされるようにwatchしておくと便利です。

clasp push --watch

ログの確認もできます。

clasp logs

UbuntuにfreeRadiusをインストールする

apt-get update 
apt-get install freeradius

デバッグモードで起動

freeradius -X

ユーザーファイル

/etc/freeradius/users

これを一番上に記述します。

testing Cleartext-Password := "password"

freeradius -Xで起動したまま、下記のコマンド

radtest testing password 127.0.0.1 0 testing123

とりあえずここまでのメモです。

http://wiki.freeradius.org/guide/Getting%20Started

詳細のドキュメント
http://networkradius.com/doc/FreeRADIUS%20Technical%20Guide.pdf

Ubuntuでcloudfuseを使ってオジェクトストレージをマウントする

apt-get install build-essential libcurl4-openssl-dev libxml2-dev libssl-dev libfuse-dev libjson-c-dev 
apt-get install python-eventlet python-greenlet python-netifaces python-simplejson python-xattr
aptitude -y install pkg-config
apt-get install make
./configure
make
sudo make install

~/.cloudfuseファイルの認証情報を書き込みます。
認証情報は伏せていますので読み替えてください。

username=gncuxxxxxxx
# api_key=[API key for authentication with Rackspace]
tenant=gnctxxxxxxxxxxxx
password=xxxxxxxxxxxxx
authurl=https://identity.tyo1.conoha.io/v2.0
# region=[Regional endpoint to use]
# use_snet=[True to use Rackspace ServiceNet for connections]
# cache_timeout=[Seconds for directory caching, default 600]
verify_ssl=True
cloudfuse /mnt

CORSの対策

https://stackoverflow.com/questions/35588699/response-to-preflight-request-doesnt-pass-access-control-check

https://stackoverflow.com/questions/32304973/http-options-method-not-allowed-for-users-database-in-couchdb

Javascriptでスクロールを制御する

自分で実装しようと思ったのですが、すでにそういうスクリプトを書いている人がいました。

誰しもがやっているような処理なので、特に人気があるわけでもなさそうです。

https://github.com/jamesplease/prevent-scroll

AnsibleでSSHパスワード認証

sshpassを入れる

事前にsshpassを入れておく必要があります。

Macではbrewの公式にパッケージがありません。
(セキュリティ上の理由で登録されていないようです。)

探したところ、一撃で入れられるコマンドはこちらにありました。

brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb

パスワードの書き方

hostsファイルに次のように書きます。

your_hostnameとyour_passwordは読み替えてください。

your_hostname ansible_ssh_pass=your_password

クラウドサーバを利用していると画面上からsshキーの追加ができますが、
VPSでは未だにパスワードのみのところが多いです。

ansibleで鍵の自動登録させた後、パスワード認証は閉じるという方法が便利かもしれませんね。