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 へリンクされている広告を区別する。

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
}
};

にしておく。

[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”

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

MacBook Air セットアップ

MacBook Pro の調子が悪いので、Genius Bar に持って行こうかと。バックアップ取るのはどうでもなるが、修理中どうするかという問題があるので、MacBook Air に働いてもらうことにした。

インストール用の USB メモリを作成し、High Sierra をクリーンインストール。起動ディスクを APFS でフォーマットした後に、High Sierra をインストール。ほぼほぼデフォルトでインストールと初期設定。

インストール後、どこから作業をしたら良いのか悩みながら、セットアップを行う。

Xcode

Developer サイトから Xcode をダウンロード。拡張子は xip で GateKeeper で時間がかかるので、xattr -d com.apple.quarantine Xcode_9.4.1.xip して、拡張属性を削除。
その後、ダブルクリックで解凍する。

コマンドラインツール

“`
$ xcode-select –install
“`
しないと、MacPorts でヘッダが見つからないとか言われるので、やっておく。

MacPorts

この手順でインストール。

諸々

  • VisualStudio Code
  • Atom
  • CotEditor
  • SourceTree
  • Kaleidoscope

あたりを入れる。

Bootstrap

Bootstrap を使ってみようと思います。

Bootstrap はフロントエンドのコンポーネントライブラリ。いろいろやろうと思ったら Sass を使ったりするみたいですが、テキトーに使う(あまりカスタマイズ的なことは考えていない)ならそれほど面倒でもないかなと。

まずは、この HTML で Bootstrap を使ってみます。

CSS を読み込ませます(CDN にあるやつを使用)。<head> の中に

を追加。

次に JavaScript を読み込ませます。<body> の最後に以下を追加。

とりあえず、こんな感じになります。

注意点

<html> タグの lang 属性

これはちゃんとつけたほうが良いとのこと。つーか、つけるだろう、普通。

viewport を設定する。

Bootstrap はモバイルファーストなので <meta name=”viewport”> をちゃんと設定したほうが良い。

box-sizing の値

グローバルで box-sizing の値が content-box から border-box になっている。

ここまで、ほとんど Document のまま。

AWS でドメインをいろいろと

ムームードメインで取得したドメインを AWS の Route 53 で管理する。

Hosted Zone の作成

まず、Route 53 でゾーンをつくる。Route 53 のダッシュボードで「Hosted Zones」をクリック。「Create Hosted Zone」をクリックする。

Domain Name
使うドメイン名
Comment
適当なコメント
Type
Public Hosted Zone

と入力し、「Create」をクリック。NS レコードと SOA レコードがつくられる。NS レコードの Value をメモ。

ムームードメインの設定変更

ログインして、左側メニューのドメイン管理→ドメイン操作の中にある「ネームサーバ設定変更」をクリック。変更するドメインの「ネームサーバ設定変更」をクリックする。
「GMOペパボ以外 のネームサーバを使用する」を選択して、表示されたネームサーバ1~4に NS レコードのメモしたネームサーバを入力する。入力後、「ネームサーバ設定変更」をクリック。確認のポップアップで処理を承認する。
ネームサーバの設定を変更しましたが表示されたら完了。

ここまでで、とりあえずベースの設定が完了。あとは必要なレコードを Route 53 に登録していく。

curl コマンド

古い API の動作確認をするので、curl の使い方をメモしておく。

$ curl [opts] [url]

基本はこんな感じ。

オプション

$ curl -X <メソッド>

HTTP のメソッドを指定。デフォルトは GET。POST だとか PUT だとか DELETE だとかを指定する。

$ curl --data-urlencode <データ>

URL エンコードしてデータを送るとき(Content-Type が application/x-www-form-urlencoded のとき)に使う。

他にもあれば追加しよう。