Mac で nfs エクスポート

Mac で nfs エクスポートする。VMware 上の Linux でマウントするため。

Mac 側では、/etc/exports で、

/Users/hoge/develop -mapall:hoge:hoge -network 172.16.133.0 -mask 255.255.255.0

ここで、GID も hoge にしているけれども、Mac のデフォルトグループでは gid が 200 の staff になっているが、これが Linux 側で dialout になっているため。この作業の前に、

$ sudo dscl . -create /Groups/hoge
$ sudo dscl . -append /Groups/hoge PrimaryGroupID 501
$ sudo dscl . -append /Groups/hoge GroupMembership hoge
$ sudo dscl . -read /Groups/hoge

としておく。先に MacPorts とか入れると、GID 501 を取られてしまうので要注意。

それと、Linux 側の /etc/login.defs を修正して、最小一般ユーザ UID と GID を 500 とかにして、Linux 上での作業ユーザを UID 501 でつくっておく。

Linux でのマウントに関しては、/etc/fstab で、

172.16.133.1:/Users/hoge/develop /home/hoge/develop nfs defaults 0 0

として、自動的にマウントするようにする。

VMware Fusion の英数キー CapsLock 問題

MacBook Air (13-inch Mid 2013) で VMware Fusion 11 の上に Ubuntu 18.04 をインストール。

$ sudo dpkg-reconfigure keyboard-configuration

選択は、

MacBook/MacBook Pro (Intl.) → 日本語 → 日本語 → キーボード配置のデフォルト → コンポーズキーなし

xkb の設定の書き換え。

$ sudo vim /usr/share/X11/xkb/symbols/jp

key <CAPS> { [ Eisu_toggle, Caps_Lock ] };

という行が 2 行あるので、

key <CAPS> { [ Eisu_toggle ] };

と修正。

Mozc プロパティの一般タブのキー設定の選択で編集ボタンをクリック。
入力キー「Eisu」のモード「直接入力」「入力文字なし」のコマンドを「IMEを無効化」に。
入力キー「Hiragana」のモード「直接入力」のコマンドを「IMEを有効化」に。

以上。

Lambda 関数をダウンロードする

Lambda 関数をダウンロードして内容を確認する方法。ローカルのコードとデプロイされたコードが同じかわからなくなったときなど。

バージョンの確認

aws cli で特定の関数のバージョン情報を確認。

$ aws lambda list-versions-by-function --function-name hoge
{
    "Versions": [
        {
            "TracingConfig": {
                "Mode": "PassThrough"
            },
            "Version": "$LATEST",
            "CodeSha256": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=",
            "FunctionName": "hoge",
            "VpcConfig": {
                "SubnetIds": [],
                "VpcId": "",
                "SecurityGroupIds": []
            },
            "MemorySize": 128,
            "RevisionId": "00000000-0000-0000-0000-000000000000",
            "CodeSize": 111111,
            "FunctionArn": "arn:aws:lambda:ap-northeast-1:000000000000:function:hoge:$LATEST",
            "Environment": {
                "Variables": {
                    "NODE_ENV": "production"
                }
            },
            "Handler": "index.handler",
            "Role": "arn:aws:iam::000000000000:role/lambda-basic-role",
            "Timeout": 180,
            "LastModified": "2018-11-01T19:00:00.000+0000",
            "Runtime": "nodejs6.10",
            "Description": "ホゲ"
        }
    ]
}

これで、hoge という Lambda 関数のバージョンをリストアップできる。Versions 配列の中に一つだけだけど、複数バージョンがあると要素が増えていく。
Latest の情報を取得してみる。

$ aws lambda get-function --function-name hoge
{
    "Code": {
        "RepositoryType": "S3",
        "Location": "https://awslambda-ap-ne-1-tasks.s3.ap-northeast-1.amazonaws.com/snapshots/000000000000/hoge<SNIP!>"
    },
    "Configuration": {
        "TracingConfig": {
            "Mode": "PassThrough"
        },
        "Version": "$LATEST",
        "CodeSha256": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=",
        "FunctionName": "hoge",
        <SNIP!>
    }
}

Code の Location の URL からコードをダウンロードできる。
特定バージョンの情報を取得するには、$ aws lambda get-function --function-name hoge --qualifier 3 のように qualifier オプションを使う。

取得する

実際の取得は wget で。

Raspberry Pi Model B

転がっていた Raspberry Pi Model B を動かす。

公式からRASPBIAN をダウンロード。トップから DOWNLOAD → RASPBIAN で進む。
デスクトップ版と LITE 版があるので、(諸般の事情から)デスクトップ版をダウンロードする。ベースは Debian Stretch。2018-10-09 にリリースされたバージョンを使う。

SD への書き込みは Windows 上で行った。ダウンロードしたファイルを 7ZIP で展開。Etcher を使って SD に書き込む。3 分くらいで書き込み完了。ベリファイ入れて 5 分くらいか。

RasPi に SD を挿して、HDMI を繋いで、Ethernet を繋いで、当然キーボードとマウスを繋いで起動。初期設定を行って(Country で Japan を選択したら、表示が日本語に、キーボードも日本語配列になった)、再起動。

/etc/dhcpcd.conf を編集。

interface eth0
static ip_address=172.16.XXX.XXX/24
static routers=172.16.XXX.XXX
static domain_name_servers=8.8.8.8 4.4.4.4

を追記して、IP アドレスを静的に設定する。

とりあえず、ここまで。

Campaign URL Builder のパラメタ

utm_source (Campaign Source)
「検索エンジン」「ニュースレター名」またはその他のソースを識別するもの。
utm_medium (Campaign Medium)
「電子メール」「クリック単価」などの媒体を識別するもの。
utm_campaign (Campaign Name)
キーワード分析に使用。「特定の製品プロモーション」「戦略的キャンペーン」を識別するもの。
utm_term (Campaign Term)
有料検索に使用。広告のキーワードを記録する。
utm_content (Campaign Content)
A/B テストやコンテンツターゲット広告に使用。同じ URL へリンクされている広告を区別する。

d-20180913

本 〜Dockerによるアプリケーション開発環境構築ガイド〜

購入予定。重そうだから Amazon で買うか。

ザック 〜MAGFORCE: Super Falcon〜

MAGFORCE のバックパック、Falcon2 だとちょと小さいかも(幅)。15 インチ MacBook Pro の奥行が 22cm ほどでいっぱいいっぱい。Super Falcon なら安心。
しかし、MacBook Pro を持ち歩くのがキツいので、13 インチのノパソを持ち歩くようにすると Falcon2 でも良いか?

ESLint

ほぼほぼドキュメントの通り。

インストールはローカルにおこなう。グローバルには入れない。

$ npm install eslint --save-dev
$ ./node_modules/.bin/eslint --init
$ ./node_modules/.bin/eslint hoge.js

init で Standard を選んだけどセミコロンとかでエラー出すので変える。これもドキュメントの通り。

.eslintrc.js
module.exports = {
"extends": "standard"
};

これを、

module.exports = {
"extends": "airbnb-base",
"rules": {
"no-console": 0
}
};

にしておく。

d-20180830

8 月も終わる。いろいろきちんと進めねば。

XMPP を調べる

手順はどんなものか考えてみる。

  1. XMPP サーバの準備
  2. XMPP サーバの設定
  3. XMPP クライアントの準備
  4. XMPP クライアントの設定
  5. XMPP ライブラリの選定
  6. 実際の開発を始める

こんなものか。

XMPP サーバは今も使っている(以前使っていた?) ejabberd にしようかと。設定画面とか混在すると混乱するし。

XMPP クライアントの準備と設定は分ける必要もないかな。Spark を使うと思う。

問題はライブラリで、現在の仕様で一部 XMPP から逸脱している部分があるので、それを吸収しやすいやつ。

T町の環境整備

作業環境の整備。特に開発環境。今ひとつ作業しづらい。

そういえばトラックパッドを買ったので、早く設定しよう。

[Ubuntu 18.04] 端末のフォントの設定

現在、端末(gnome-terminal)のフォントは Ricty を使っています。16.04 や今まで 18.04 を設定していて端末の設定画面から Ricty を選択できたような気がしていたんですが、どうもできていなかったようです(Cica を使っていたのかもしれない)。今回、VMware で新しい環境を構築していて、端末のフォント設定を調べてみました。

以前は gconf で設定していたような気がするんですが、gsettings で設定するように変わっているようです。設定画面でも確認できるのですが、gsettings を使って確認してみます。

$ gsettings get org.gnome.Terminal.ProfilesList default
‘XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX’

この XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX がプロファイルの ID になります。

で書き換えるのは、org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/font で、以下のような感じで内容を確認(get)できます。

$ gsettings get “org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/” font
‘Monospace 12’

実際の書き換えは、get が set になり、設定内容を指定した、

$ gsettings set “org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/” font “Ricty 10.5”

になります。これでフォントが Ricty の 10.5pt になりました。

いろいろ検索していると、

gsettings set org.gnome.Terminal.Legacy.Profile:/:1/ font “VL Gothic 9”

のように設定すると書いてあるサイトが多かったので。

d-20180730

朝ご飯にマクドナルドを食べてしまいました。
難消化性デキストリンとプロテインを飲んでいた状態からの朝ご飯なので、全栄養素がマックスという感じです。

未来さんは怒っていませんでした。良かった。