もやぶろ

moyashidaisukeのブログだからもやぶろ。フリーランスのエンジニアのダイスケです。QOLあげて色々楽しくチャレンジして良く生きたい。プログラム関連とかギター関連とか旅行関連とか色々。

ブログドリブンで生活に刺激を与える

ただの雑記です。ちゃんとしたブログ風に写真入れてみました。 f:id:moyashidaisuke:20190325233836j:plain

フリーランスになって半年くらい経ちました。 フリーランスになった頃の記事達。

moyashidaisuke.hatenablog.com

振り返りの振り返り

人が恋しくなる

これは加速してます。最近家の模様替えをして快適になり、コワーキングスペースに行く回数も減りつつあるので、本当に人と会わないです。

リモート楽

これも加速してます。旅行に行って、旅館で仕事したりしてます。 そういえばブログに書いてない。

休日がそんなにうれしくない

GWは10連休らしいですね。タイに旅行に行って仕事する予定です。

複数案件について

これもその通り。

Rails仕事で使う様になったので受けられる案件の幅は広がってるはずですが、深さはお察し。Laravelも書いてますが、やっぱりPHPが落ち着きます。

何とかなりますが、ある程度の共通の技術スタックで案件を選ばないと、頭の切り替えが無駄コストになる感があります。技術キャッチアップも追いつかないし。

パラメータの振り分けについて

これもその通り。 相変わらずインフラとサーバとクライアントやってます。CI周りの整備とか、一部タスク管理とかも。

ブログドリブンとは

勝手に命名したのですが、毎日ブログを書けるように、ネタを作りながら生活する事です。

意識しないと引き込もりでずっと黒い画面とにらめっこになってしまうので、新しい事を始めたり、勉強会に顔を出したりして、毎日を少しだけチャレンジングにします。

特にメッセージ性があるようなブログでも無いので、生存報告だと思っていただければ。(とは言え、昔より文章力は上がった気がする)

あ、はてなのスター押したり、コメントくれたり、いいねくれると嬉しいので無限に押していいですよ。ではでは。

AWS CodeBuild を高速化するためのTips

ビルド職人の朝は早い、、、

というわけで、前回に続きでCodeBuildのノウハウです。

CodeBuildに限った話じゃないものもありますし、Docker使う場合だけの話もあります。ちゃんと計測したわけではないので、軽く試してみて良かったら使うくらいのノリでお願いします。

CodeBuildのキャッシュをうまく使う

moyashidaisuke.hatenablog.com

Dockerのキャッシュをうまく使う

オフィシャルのドキュメントに色々書いてあるのですが、一例を、、

docs.docker.com

↑に関連してですが、例えば、以下のようなDockerFileがあったとします。

FROM nginx:alpine

# ソースコードをコンテナにコピー
COPY app /var/www

# 設定ファイルをコピー
COPY docker/nginx/nginx.conf /etc/nginx/


# 色々インストール
RUN apk update \
    && apk upgrade \
    && apk add --no-cache openssl \
    && apk add --no-cache bash \
    && adduser -D -H -u 1000 -s /bin/bash www-data


ADD ./docker/nginx/startup.sh /opt/startup.sh
RUN sed -i 's/\r//g' /opt/startup.sh
CMD ["/bin/bash", "/opt/startup.sh"]

EXPOSE 80 443

Dockerのcacheは上から順番にしていって、差分が発生せいた時点で以降はすべてcacheが無効になります。この場合だと、 COPY app /var/www がほとんどの場合前回と差分があるはずなので(ファイルのchecksumで差分扱いにしてくれる)、以降はcacheが効かなくなります。

なので、こんな感じで差分が発生しなさそうな処理をできるだけ最初の方に(逆に言うと差分が発生しそうな処理はできるだけ後の方に)やるとcacheが効きやすくなります。

FROM nginx:alpine


# 設定ファイルをコピー
COPY docker/nginx/nginx.conf /etc/nginx/


# 色々インストール
RUN apk update \
    && apk upgrade \
    && apk add --no-cache openssl \
    && apk add --no-cache bash \
    && adduser -D -H -u 1000 -s /bin/bash www-data

# ソースコードをコンテナにコピー
COPY app /var/www


ADD ./docker/nginx/startup.sh /opt/startup.sh
RUN sed -i 's/\r//g' /opt/startup.sh
CMD ["/bin/bash", "/opt/startup.sh"]

EXPOSE 80 443

alipneを使う

軽いは正義(ダウンロード、アップロードの速度、メモリ、ECRのストレージ等、色々効いてくる)なので、alpineを使ってなければalpineに変更しましょう。

でもalpineは色々ライブラリが入ってなかったりで、切り替えるのはけっこう面倒だったりします、、、

docker-compose build --parallel を使う

もしdocker-compose を使っていて複数コンテナを扱っているのであれば、parallelオプションを試してみましょう。 複数コンテナのbuildを並列でやってくれます。

.dockerignoreを使う

.dockerignoreファイルを使うと、COPYする時に不要なフォルダを除外できます。node_modulesとかvendorとかが不要なコンテナの場合は、COPY処理の高速化とコンテナサイズの縮小が望めます。

まとめ

公式ドキュメントをよく読むと色々ノウハウが載ってます。ログと合わせて、ちゃんと読むと色々対応方法がありそうです。

AWS CodeBuildのローカルキャッシュのCustom cacheでnode_modulesやvendorをキャッシュする

CodeBuildの新機能で、微妙にハマったのでノウハウをを。

aws.amazon.com

classmethodさんが↑のブログをいい感じに日本語で説明してくれています。いつもありがとうございます。

dev.classmethod.jp

ちなみに、この機能、日本語のマニュアルにはまだ反映されていないので注意が必要です。機能自体は日本リージョンで使えます。(2019/03/19現在)

docs.aws.amazon.com

今まで

S3にキャッシュする機構はあったので、それを使ってnode_modulesや、vendorフォルダをキャッシュする事によって、ビルドの高速化を実現できました。(差分があった時だけライブラリをダウンロードする事になるので。)

これだけでも性能的にはほぼ十分なのですが、

  • S3のセットアップが微妙に面倒
  • ネットワーク越しになるので、少し遅い

という弱点がありました。

ローカルキャッシュを使うと

新機能のローカルキャッシュを使うと、S3の設定をせずにキャッシュが実現できて楽ちんです。

コンソールで「Custom cache」にチェックを入れて、buildspec.ymlにキャッシュしたいディレクトリを指定するだけで動きます。しかもネットワーク越しではないので、S3を使う時よりも速いです。

ハマりポイント

というわけで、

cache:
  paths:
    - './node_modules/**/*'
    - './vendor/**/*'

って書けば終わりと思いきや、Dockerを使っている場合に罠があります。

こちらのオフィシャルブログにも書いているのですが、

Symlinks are used to reference cached directories.

「キャッシュディレクトリに対して、シムリンクを使うよ」と言っています。

aws.amazon.com

ログを見るとなんとなくわかるのですが、こんなログが出ます。

[Container] 2019/03/19 XX:XX:XX MkdirAll: /codebuild/local-cache/custom/XXXXXXXXXXXXXXXXXXXXXXXXXXX/node_modules
[Container] 2019/03/19 XX:XX:XX Symlinking: /codebuild/output/YYYYYYYY/src/github.com/XXXXXXX/XXXXX/node_modules => /codebuild/local-cache/custom/XXXXXXXXXXXXXXXXXXXXXXXXXXX/node_modules

/codebuild/local-cache/custom/ というディレクトリにキャッシュの本体があって、ビルド用のディレクトリの /codebuild/output/YYYYYYYY からシムリンクを貼っています。

dockerはホストとのディレクトリの設定についてはsymlinkに対応してないので、この設定だと全然動きません。(フォルダが無いとか言われる)

ではどうするかというと、

phases:
  pre_build:
    commands:
      - echo ====== Set Cache ======
      # .から始まる隠しフォルダもコピー
      - cp -r ./cache_node_modules/. ./node_modules/
      - cp -r ./cache_vendor/. ./vendor/

  post_build:
    commands:
      - echo ====== Set Cache ======
      # .から始まる隠しフォルダもコピー
      - cp -r ./node_modules/.  ./cache_node_modules/
      - cp -r ./vendor/.  ./cache_vendor/

cache:
  paths:
    - './cache_node_modules/**/*'
    - './cache_vendor/**/*'

こんな感じでキャッシュ専用のディレクトリを用意して、自分でコピーしてあげると、デフォルトでシムリンク先の実態をコピーしてくれるので、Dockerでもうまく動きます。また、最後にキャッシュフォルダに戻してあげる処理も必要です。

コメントでも書いてますが、 ./cache_node_modules/* だと .bin のような隠しフォルダがコピーされずにキャッシュの効果が半減するのでこちらにも注意です。

symlinkじゃなくて実態でcpしてくれるオプションがほしい、、、、

【vue】vue-test-utilsは@vue/test-utils になってるよ

Laravelでvue使ってて、vueのunitテストをしたい場合に使う(Laravel関係なく使うと思いますが、、、)nodeのライブラリでvue-test-utilsがあります。

vue-test-utils.vuejs.org

なのですが、npmなりyarnで入れる時のpackage名はvue-test-utils ではなくて @vue/test-utils が正しいです。(変更になった)

GitHubのREADMEにはちゃんと書いてあります。 github.com

また、npm installする時にWarningも出してくれます。

warning vue-test-utils@1.0.0-beta.11: VUE-TEST-UILS WARN: vue-test-utils has moved to a scoped package. The new repository is available @vue/test-utils. To install the new package, run npm install --save-dev @vue/test-utils

Laravel系の記事だと、古い方になってる場合があるので注意した方がいいよ、という話でした。

nick-basile.com

laracasts.com

【Laravel】【PHP】Laravel(mixも)でvueファイルのlintで自動修正させる

lint自体の設定はこちらで。

laravel-news.com

qiita.com

qiita.com

npm(yarn)から起動する場合は、package.jsonに

    "scripts": {
        "lint": "eslint --fix --ext .js,.vue resources/js/",

みたいな感じで、--fixをつければ自動で修正までしてくれます。(できる範囲で)

npm run devなり npm run hotで自動実行させる場合は、webpack.mix.jsに

mix.webpackConfig({
  module: {
    rules: [
      {
        enforce: 'pre',
        exclude: /node_modules/,
        loader: 'eslint-loader',
        test: /\.(js|vue)?$/,
        options: {
          fix: true
        }
      },
    ]
  }
});

みたいに、options.fix=true な設定を入れればOKです。optionsは他にも色々設定できるので、工夫すれば色々できるかも。

github.com

Macの初期設定個人的メモ

個人的メモです。随時追記されます。

npmとかrubyとかそういうのはDocker作ってやる様にしてるのでローカルでは入れない主義。(バージョン違いの切り替え方がまちまちなので、全部コンテナで切り替える方が思考停止できるので楽)

本当はcaskなりでスクリプト化したいので、次に初期設定するタイミングで対応したい。

アプリ

コマンド系

Macの設定

Duet Displayを使ってiPadを外出時のサブディスプレイにした

元々モニタ多いのが好きな富豪タイプ(多ければ多い方が良い)なのですが、外で仕事する時は基本的にMacBookProだけで効率悪いな〜、という事で、普段あまり使っていないiPadをサブモニタにしてみました。

f:id:moyashidaisuke:20190208165627j:plain

手順はこちらの通り。

saruwakakun.com

設定はこちらの通り。 f:id:moyashidaisuke:20190208165920p:plain

マウス操作よりはキーボード操作の方が相性が良かったので(若干ですがタイムラグを感じるので)、コンソールをiPad側に常駐させてます。

また、USB-Cのポートと物理的にぶつかってしまうので、iPadが右側固定です。

iPadProが欲しくなりました、、、

【ノマド】渋谷のコワーキングスペース「andwork」で海外でのノマドワーク気分(2019/10/18追記

概要

渋谷のコワーキングスペース「andwork」にドロップイン利用で行ってきたので、感想、使い勝手を共有します! ※2019/10/18再訪したので追記(半年ぶりに再訪してみたら印象が変わった)

www.xandwork.com

推しポイント

宿泊の外国人が多いので海外で働いてる感を味わえる

f:id:moyashidaisuke:20191018180424j:plain

andworkはゲストハウスとコワーキングスペースが併設されていて、ゲストハウスは場所柄外国人のお客さんが多いんですね。

で、コワーキングスペースは宿泊者のラウンジも兼ねているので、人が多いとこんな感じになります。日本人の方が少ないし、日本語もほとんど聞こえてこないです。

ドロップイン価格

  • ¥800 1時間
  • ¥3000 一日

なので高いです!

が、日経オフィスパスで4時間までは使えますので、会員の方は気にしなくてOKです。(日経オフィスパスについてはそのうち書きます

立地

渋谷からNHKに向かう途中で、看板は目立たないです。コワーキングスペース感も全然出てないです。

Wifi

下り350Mbps、上り380Mbpsなので爆速です。

椅子/机

あまり長時間の作業には向いてないです。カフェに近いです。

備品

特にないっぽい。

ドリンク

コーヒーだけが飲み放題です。

まとめ

営業形態 コワーキングスペース
ドロップイン価格 
立地 
Wifi 
椅子/机 
備品 
ドリンク 
その他

※評価は主観です。また、訪問タイミングによって変わります。

2019/02/08訪問時

hotel koe tokyoが合わなかったので場所を移動してみました。 こちらもホテルに併設のコワーキングスペース。

moyashidaisuke.hatenablog.com

koeからは徒歩1分くらいです。

結果

koeに比べるとサイバーというかインテリジェンスを感じる雰囲気でした。

f:id:moyashidaisuke:20190208132335j:plainf:id:moyashidaisuke:20190208132343j:plain

快適なんだけど、いかんせん値段が強気過ぎます。

1時間800円、一日で3000円はちょっと払えないですね。3000円あったらホステルに宿泊できるぞ、、、

高い分、

  • コーヒー飲み放題
  • バルミューダの家電が揃っててテンションあがる
    • かっこよくて欲しくなりました、、、
  • Wifi快適
  • めっちゃ空いてた
  • 一日滞在の場合は時間が長い(朝6時30分~翌1時)
  • 宿泊の外国人が多いので非日常感味わえる

というメリットがあります。

日常使いには厳しいですが、今日はやるぞ!みたいな特別な日に使うと良さそうです。

他のコワーキングスペースについての情報はこちら。

www.moyashidaisuke.com

【ノマド】渋谷のカフェ「hotel koe tokyo」(のカフェ)でノマドワークしてみた

hotelkoe.com

最近ホテルにコワーキングできるカフェを併設するのが流行ってるらしい、、、という情報を入手したので行ってみました。 場所は渋谷のパルコのあたりです。一等地。

f:id:moyashidaisuke:20190208101758j:plain

結果

f:id:moyashidaisuke:20190208102750j:plain コーヒーとパン(恋するいぶりがっこ)美味しかったです。 雰囲気もまるで海外みたいで素晴らしです。

が、とにかく電波が悪くて仕事になりませんでした。残念です。電源はあります。

客層はエンジニア以外の、デザイン系の方が多そうでした。

コーヒーが美味しかったので、食事は全体的に期待できそうです。

というわけで、ちょっとした打ち合わせ兼ランチとかならとても良いと思います。

【Laravel】【PHP】「laravel-mix」が依存している「webpack-dev-server」で「high severity vulnerability」と言われた場合の手順

以下の環境で発生しましたので、対応方法メモ。

  • Laravel 5.6.39
  • Laradock
  • composerからcreate projectした

ログ

found 1 high severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
$ npm audit

root@1f443744df67:/var/www# npm audit

                       === npm audit security report ===

# Run  npm install --save-dev laravel-mix@4.0.14  to resolve 1 vulnerability
SEMVER WARNING: Recommended action is a potentially breaking change
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Missing Origin Validation                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ webpack-dev-server                                           │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ laravel-mix [dev]                                            │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ laravel-mix > webpack-dev-server                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/725                       │
└───────────────┴──────────────────────────────────────────────────────────────┘


found 1 high severity vulnerability in 11836 scanned packages
  1 vulnerability requires semver-major dependency updates.

laravel-mixが参照しているwebpack-dev-server が脆弱性があるバージョンになっているようです。

package.json

"laravel-mix": "^2.0

auditが教えてくれる通りに実行

$ npm install --save laravel-mix@4.0.14

+ laravel-mix@4.0.14
updated 1 package and audited 14844 packages in 34.812s
found 0 vulnerabilities

問題なくなりました。

package.json

"laravel-mix": "^4.0.14",

Laravelのバージョンに寄っては発生しないかも。

2018-2019 ドイツメルヘンの旅②〜ケルン〜

はじめに

前回はこちら

moyashidaisuke.hatenablog.com

ケルンを観光します。

7:00頃 フランクフルト空港駅出発

こんな予定で。

f:id:moyashidaisuke:20190101175157j:plain

ICEというドイツの新幹線で2駅です。 1時間なので、東京から静岡や軽井沢くらいの距離感です。日帰り旅行にぴったり。

フランクフルトは空港駅と中央駅の2つあります。さらに、空港駅のも近距離用と遠距離用に別扱いになってて難しいです。

  • フランクフルト空港近距離駅 -> Frankfurt (Main) Flughafen Regionalbahnhof
  • フランクフルト空港遠距離駅 -> Frankfurt am Main Flughafen Fernbahnhof)
  • フランクフルト中央駅 -> Frankfurt (Main) Hauptbahnhof

全部Mainってついてるからよくわかりません、、、

フランクフルトはサッカーの長谷部選手が、ケルンは大迫選手が昨シーズンまで、終点のドルトムントは香川選手がいるところですね。サッカーはお休み期間なので見られないですけど。

1等と2等と食堂車(ロマン!)に分かれていて、今回は買ったチケットは2等です。 せっかくだし1等にしようか、、と悩んだのですが、結果としては十分でした。

お客さんいるので写真ないのですが、日本の新幹線と同じくらいの車幅に対して2列ずつの座席なので、日本の新幹線のグリーン車相当の余裕があります。電源もWifiもあります。

体が比較的大きいドイツ人サイズに作られているので、もやし体型の私には十分です。快適。

指定席と自由席は分かれていなくて、予約されてない席が自由席になります。(ジャーマンレイルパスはお金を出せば座席指定もできます。)

各席毎に予約されているかが小さな電光掲示板的なもので書かれていますが、ドイツ語なのでわからないので、とりあえず空いてるところに座ります。

8:00頃 ケルン到着

ちょうど日が昇り始めたタイミング。 f:id:moyashidaisuke:20181228080537j:plain

ここでも駅に降りると焼き立てパンの良い匂いが、、、

とりあえずサンドイッチ的なものを買ってみました。 ごまが美味しい!

f:id:moyashidaisuke:20181228081549j:plain

さて、目的のケルン大聖堂を見るぞ〜地図はどこかな〜と駅を出たら、なんといました。駅から徒歩0分w

朝早いのでまだ観光客少ないし、ちょうど朝日が昇るタイミング。 かっこいい。 ドラクエに出てきそう。 f:id:moyashidaisuke:20181228080902j:plain

中に入ってみたら、またかっこいい! 壮大で力強い建物です。

リアルでミサやってました。ドイツ語だから何言ってるかさっぱりだけど。 オルガン(パイプでは無い)が良い感じのリバーブで響き渡る、、、

f:id:moyashidaisuke:20181228083141j:plain f:id:moyashidaisuke:20181228082505j:plain

一通り見たので周辺を散策。 裏側から見た大聖堂。 f:id:moyashidaisuke:20181228092125j:plain

これは、お姫様が呪いで囚われてそうな城!(ゲーム脳) ※教会です f:id:moyashidaisuke:20181228091414j:plain

ケルシュ(ケルンビール)を飲みたいのだけど、さすがにお昼にならないとやってないので時間をつぶすべく動物園に行くことに。

本当は路面電車があるんだけど、天気も良いのでライン川沿いを歩いてみる事にしました。 f:id:moyashidaisuke:20181228094405j:plain

桜?なぜか咲いてます。 f:id:moyashidaisuke:20181228094716j:plain

10:00頃 動物園到着

あまり下調べせずに来たのですが、ここの動物園、私の想像を超えておりました、、、

入り口から不穏な空気を醸し出しています。 f:id:moyashidaisuke:20181228113450j:plain

入場。なんか中国フェス的なのをやってるらしいです。 f:id:moyashidaisuke:20181228111912j:plain

f:id:moyashidaisuke:20181228102631j:plain

f:id:moyashidaisuke:20181228102714j:plain

!? f:id:moyashidaisuke:20181228103458j:plain

動物が、、、少ない!?よくわからない像がたくさんあります。

お、これは中に象がいるに違いない。 f:id:moyashidaisuke:20181228103531j:plain

中はサイでした。しかもいない。

おや、これは! f:id:moyashidaisuke:20181228104234j:plain

じゃーん

f:id:moyashidaisuke:20181228104245j:plain

f:id:moyashidaisuke:20181228105050j:plain

象はこっち f:id:moyashidaisuke:20181228105816j:plain f:id:moyashidaisuke:20181228105914j:plain

いません! f:id:moyashidaisuke:20181228105832j:plain

隣の建物に避難してました。(そんな案内一言もなかったぞ) f:id:moyashidaisuke:20181228110110j:plain

とにかくいるはずの所に動物がいなくて(たまにいます)、代わりに像で水増ししています。 おまけに中国フェスのおかげでよくわからない像もあって本当にカオス。

お、これは本物! f:id:moyashidaisuke:20181228111448j:plain

と思いきや、奥の色が濃いのは像です。紛らわしい、、、

以降、良くわからない像の写真をどうぞ。 多分、始皇帝 f:id:moyashidaisuke:20181228111707j:plain

かわいくない f:id:moyashidaisuke:20181228110342j:plain

なぜ松 f:id:moyashidaisuke:20181228105519j:plain

これは何者なんだ、、、 f:id:moyashidaisuke:20181228105531j:plain

というわけで思ったより満喫して良い時間になったのでケルシュを飲みに移動! 帰りは路面電車で。みんなと同じ方向の電車に乗って降りたら、DBの駅前でした。良かった〜

13:00頃 ケルシュ飲む

ケルシュはここで飲むことにしました。理由はお店の名前が某宇宙世紀の国みたいでかっこよかったから。 goo.gl

本場のケルシュ!(たしか200円くらい。安い!) f:id:moyashidaisuke:20181228123433j:plain

おかわりすると、コースターに棒を書き込んでくれます。これでおかわりの杯数を把握してるみたい。

おつまみはウインナー。でかい! f:id:moyashidaisuke:20181228131207j:plainf:id:moyashidaisuke:20181228123923j:plain

結局4杯くらいのんで良い感じになったのでお会計。たしか3000円くらい。

15:00頃 大聖堂登る

大聖堂もう1回見ようと思って寄ったら、どうやらここに登れるようです。 f:id:moyashidaisuke:20181228153120j:plain

お、せっかくだし行くかと思って気軽に入ったのですが、思わぬ苦戦を強いる事に、、、

このせまい階段をひたすら登ります。しかも降りる人もこの階段だから、すれ違うのに一苦労です。 f:id:moyashidaisuke:20181228151046j:plain

バックパックが辛い、、、酔った状態で来るところじゃない、、、

俺知ってる、これは影から敵が飛びでて来るやつだ(ゲーム脳f:id:moyashidaisuke:20181228150839j:plain

まだ続きます。 f:id:moyashidaisuke:20181228151354j:plain

ついた! アサシンクリードで見た景色!(ゲーム脳f:id:moyashidaisuke:20181228152146j:plain

すげー良い景色なんだけど、そもそも高所恐怖症だし、酔ってるのに運動して吐きそうなので、死にそうになりながら降りました。あの階段を。

ケルン大聖堂に登る時は、ビールを飲む前がおすすめです!

ケルンを満喫したので、ホテルがあるフランクフルトへ戻ります。

世界の車窓からf:id:moyashidaisuke:20181228160658j:plain

18:00くらい ホテル着

安いホテルですが、十分綺麗。というか天井高いなおい。 f:id:moyashidaisuke:20181229074801j:plain

時差で眠いのだけど、名物のリンゴ酒を飲みに徒歩で移動。 目的のお店は満杯で入れなかったので、近くの別のお店にしました。日本のバルって感じ。

これがリンゴ酒。思ったより酸味が強いです。美味しい。 f:id:moyashidaisuke:20181228194232j:plain

食べ物はお昼にドイツ料理食べたので別のものにしたかったので、ひよってパスタになりました。

今回はここまで。動物園が想定外でしたが、初日から濃くて楽しかった〜

この日の移動

f:id:moyashidaisuke:20190113160048j:plain

【書評】「スタンフォード式 最高の睡眠」を読んだ

スタンフォード式 最高の睡眠

スタンフォード式 最高の睡眠

けっこう良い本だった。 色々書いてあるが、とにかく最初90分の質を高める事の重要性を色々な角度から説明している。

  • 睡眠の研究はここ最近で急激に進んでいる
  • 睡眠は人生の1/3を占めるのに軽視されがち
  • ちまたで言われている90分サイクルは人によって差があるので、長さはあまり気にしてもしょうがない
    • が、サイクルを意識する事は大事
    • 1サイクル目は超重要
      • 1サイクル目が崩れると、以降、いくら寝てもダメ
      • 現代人が十分な睡眠時間を確保し続けるのは現実的に難しい
      • なので、1サイクル目の質を高める事により、睡眠全体の質を高める事が大事
  • 慢性的な睡眠不足の解消には数ヶ月かかる
    • なので、週末に寝だめする程度では効果は薄い
  • 睡眠の導入には体温調整が有効
    • 手足を温める -> 深度体温が下がる -> 眠たくなる
    • ので、寝る前のお風呂は有効
  • 眠り始める時間を固定化すると良い
    • 眠りの習慣が体内時計として染み付くので
    • 忙しい時も、起きる時間を早める事で調整する
  • 睡眠を司るホルモンがわかってきている
    • 睡眠不足の時のホルモンは食欲を増す
      • ので、寝ないと太る
  • お酒は短時間に強めのを飲むほうが良い
    • 睡眠の導入効果があるので
    • だらだら飲むのはダメ
      • 眠りが浅くなる

nuxt.js + dockerの組み合わせでローカルからport3000につながらない時の対処

表題の通りです。微妙にはまったので。

結論

ENV HOST 0.0.0.0

が必要

状況

dockerコンテナの中から

curl localhost:3000

だとつながるのに、ローカルのブラウザからだとつながらない。

また、

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                                                    NAMES
1111c70f2289        stand_node          "node"              7 minutes ago       Up 7 minutes        0.0.0.0:3000->3000/tcp   stand_node_1

で、portが問題無くforwardされてる事も確認済。

DockerFileでも

EXPOSE 3000

と設定している。

調査

ぐぐったら出てきた。

dev.to

stackoverflow.com

hostで外部アクセスを制御してるので、許可する設定(例だと0.0.0.0なんで全部OK)が必要との事。

2018年を振り返って2019年の目標を考えた

あけましておめでとうございます。今年の年越しはドイツのカッセル(Kassel)で過ごしたのですが、1回目(日本時間)は「チーズ入りカツレツのチーズ掛け〜山盛りポテトを添えて〜」を食べながら、2回目(現地時間)は睡眠中でした。

f:id:moyashidaisuke:20181231150244j:plain

というわけで節目ですので、今年どういう1年にしたいか考えてみました。

2018を振り返る

ブログ

わかりやすいところでこのブログについてから。

49記事書きました。 2017年の12月にブログ再開しようと思ってから、それなりに続けることができました。累計だと97記事。

moyashidaisuke.hatenablog.com

テーマとかばらばらですが、第1弾としては書く習慣をつけたかったので、目的は達成できました。

ちまたでは100記事が目安らしいので、100記事達成したら見せ方とか少し考えようかな。あまり工数かける気はないので、少しだけ。

累計のPVも10000を超えました。PV数追っかけてるわけではないですが、それでもうれしいです。ありがとうございます。 f:id:moyashidaisuke:20190103174537p:plain

お仕事

お仕事は環境面では激動でした。

moyashidaisuke.hatenablog.com

moyashidaisuke.hatenablog.com

10年くらい続けたサラリーマン生活から、フリーランスになりましたが、ありがたい事に食いっぱぐれる心配は無さそうです。感謝感謝。

一方で、フリーランスとして良い感じのアウトプットを出せているか、というと個人的にはまだまだだと思っています。次のステップに対しての時間と労力の使い方も全然できてないです。

日々の忙しさに追われてしまっていたのは反省。

エンジニアとして技術系もろもろ

2018前半(株式会社よりそう勤務中)は、色々チャレンジできました。

  • 外へのアウトプット
    • 勉強会でLTしたり
    • AWS Summit Tokyo2018で話したり
  • 新しい技術への取り組み
    • コンテナ系
    • Nuxt.js使ってSPA
    • Go使ってAPI

一方、後半はこういったチャレンジはあまりできませんでした。フリーランスになる準備とかに追われてた感じです。

フリーランスとしてはフルスタックのWebエンジニアを名乗っているのですが、幅が広い分一つ一つが浅くなってしまっています。ある程度技術領域をしぼって自分を投資しないといけないと感じています。

音楽

ライブは5回くらいやったのかな? 自分が企画してバンマスはやってなくて、セッションもお休み気味で、だいぶ抑え気味でした。

このぐらいのペースだとライブの感覚も忘れて瞬発力が下がっちゃうので、パフォーマンスの事を考えればもっとしたいところではあるけど、他との兼ね合いもあるので悩ましい所。

旅行

  • 1月 和歌山
  • 7月 北海道
  • 9月 東北
  • 12月 ドイツ

けっこう行ってますねw 日帰りも含めたらもっとあります。

これ書いてるときはまだドイツにいるのですが、ずっと行きたかったヨーロッパに来れて満足しています。寒いし弾丸だったので、次は暖かい所でのんびりかな?

健康関連

健康診断的には何の問題も無いのですが、体力の衰え(と、それから来る集中力の低下)を感じるようになったので、改善活動に取り組みました。

  • 睡眠
    • 朝型人間へ
  • ジム行く
  • 3次会まで行ってた所を、2次会までしか行かない

とくに睡眠については小学校の時から夜型で朝弱かったので、一世一代の改善活動になります。

多くは無いですが、継続的に読む習慣を取り戻せたので良かったです。ついでにブログでアウトプットする(メモ程度ですが)というのもセットでやると、知識が定着するようで、こちらも良かったです。

その他

英語はTOEICを少しやりましたが、いつのまにか止まってますね、、、

2019はこうしたい

いきなりタイトルと違いますが、前半と後半に分けます。

今、これは!という熱中できるものが無いので、それを見つけるのが前半。後半はそれに対して取り組むのを全体としての目標にします。

さすがに1年も自分探しみたいなのをやるのは、この年齢だと恥ずかしいと思ったので、半年にしましたw

それ以外で良い習慣だと思っているものは引き続き。

通年通して

  • 健康
    • 引き続き朝型に
      • 朝ごはん食べる時間は確保できるくらいが最低限
        • 良い睡眠
          • 夜更かししない
    • 筋肉量増やす
      • 体脂肪率15%くらいに
        • 今体脂肪率が18%くらいなのは純粋に筋肉が足りなくてmoyashiだから。筋トレして筋肉量増やせば解決するはず・・
  • ブログ
    • ペースは2018年くらいで十分
      • 継続的に何でも良いから書いて考えをまとめる、アウトプットするという習慣になっている
    • 質をどうにかしたい
      • テック系のネタの割合を増やしたい
        • 小ネタでも良いので、半分くらいはテック系に
    • 引き続きでOK
  • 英語
    • 再開する
      • モチベーションの見直しから

2019前半

  • エンジニアとして技術系もろもろ
    • 引き続き色々やるが、俺はこれの専門家になる!というのを固める事を意識してやる
    • しょぼくて良いので個人サービス1個リリースする
      • 自分用のTODOアプリ作ってるので多分それ
    • 業界研究する
      • ビジネス系弱いので
  • 音楽
    • 引き続き抑え気味になると思われる
      • とは言え成長したいので、新しい試みとしてギターを習ってみる(初めて)

2019後半

2019前半でやりたい事を決まるはずなので、それをやる

というわけで

2019年もよろしくおねがいします。

写真は年明け翌々日のベルリン。

f:id:moyashidaisuke:20190102182453j:plain

2018-2019 ドイツメルヘンの旅①〜ドイツまでの移動〜

はじめに

年末年始を利用して、ドイツに旅行に行くことにしました。

初ヨーロッパです。

興味がある街であるベルリンは必須で、それ以外はどうしようかと思ったのですが、メルヘン街道を行くことにしました。 行程の詳細はお楽しみという事で。

ドイツの事って以外と知らないと思うので(私もそうでした)、適当にドイツtips挟んでいきます。

今回はドイツまでの移動編です。

大崎〜成田空港

8:00 大崎出発

¥1000で成田空港までバスが出ています。東京駅からが本数が多いのですが、自宅が近いので大崎から。

出発地が限られてるのが難点ですが、圧倒的コスパを誇るのでバスで成田おすすめです。 accessnarita.jp https://travel.willer.co.jp/narita-osaki/travel.willer.co.jp

初めてみたタイプのかっこいい座席でした。目隠し付き。 f:id:moyashidaisuke:20181227080146j:plain

WifiもUSBの充電もついてるし快適でした。

特に何事も無く到着。

9:20 成田空港第2ターミナル到着

最初の移動は韓国・ソウルの仁川(インチョン)国際空港まで。 Tway Airlinesという韓国のLCCです。

最終的にはドイツのフランクフルトまで行くのですが、skyscanner経由のkiwi.comというサイトで予約しました。チェコの会社みたいです。

www.kiwi.com

全然聞いたことなかったので不安を覚えるも、良い感じに安かったので、、、

Twayはオンラインチェックインに対応してないとの事で、頑張って並んでカウンターでチェックイン。 ユーロに数万円分を両替。大体のお店やホテルはクレジットカード使えそうだし、海外キャシングもできるので、多分少なめで大丈夫な見込み。

出発まで時間があったので、日本食としばしのお別れ会。 f:id:moyashidaisuke:20181227093103j:plain

出国手続きですが、顔認証が導入されていてすごい楽ちんでした。知らなかった。

法務省:顔認証ゲートの本格導入について(お知らせ)

成田空港〜仁川国際空港(韓国のソウル)

12:40 成田空港を出発

本当は12:00予定だったのですが、なんやかんだで遅れて出発。まあLCCなので。しかしこれが後ほど後を引くことに、、、

中は何の設備もないので、寝たりKindleで本読んだりして時間を潰します。こういう時にKindleは最高です。しかも最近PaperWhiteにしたのでバックライトがついたおかげで、飛行機内が暗くても読みやすくて良かったです。買って良かった。

16:00頃 仁川国際空港に到着

予定より1時間ほど遅れて到着。まあLCCなので、、 次はベトナム航空に乗り換えて、ベトナムハノイへ向かいます。

乗り継ぎの手続きをしようと思って乗り継ぎカウンターに行ったら、色々調べていただいたのですが、ここではできない、との事。

kiwi的にはTway -> ベトナム航空の乗り継ぎは航空会社ではサポートしてなくて、自分で自分でなんとかしてね、という事になっていて(遅延とかで乗り継ぎできなかった時の保証付き)、乗り継ぎカウンターに行けばどうにかなるだろ、と思ってましたがどうにかなりませんでした。

じゃあどこで手続きするかと言うと、普通のチェックインカウンター。つまり、一旦韓国に入国しないといけないのです。

スタッフのお姉さんに先導されて(なんか社員用の通用口とか通った)、イミグレーションへ。仁川はターミナル同士の移動に電車乗ります。 この時16:50。チェックインは17:15まで。

harry up!
Okay!!

とは言ったものの、イミグレーションは普通に並ぶしかないので急ぎようがない。なんとか入国。この時17:05。

そのままダッシュで乗り継ぎ先のベトナム航空のチェックインカウンターへ。

almost close! harry up!
Okay!!

なんとか間に合いました、、、疲れた、、

その後すぐに出国して(韓国の滞在時間10分)、乗り場へ。

登場手続き終了まで10分くらいしか無かったので、急いでカロリーを摂取(お寿司から何も食べてないし走ったのでくたくた)。

キウイ(kiwiではない)100%ジュースと f:id:moyashidaisuke:20181227173331j:plain

ダンキンドーナッツ f:id:moyashidaisuke:20181227174315j:plain

急いで食べたのに、出発が少し遅れてたので、こんなに急いで食べる必要無かった。ついでに言うと、この後すぐに機内食も出てきた。とほほ、、

仁川国際空港ノイバイ国際空港ベトナムハノイ

18:00過ぎ 仁川国際空港を出発

何も言われなかったけど、どうやらビジネスクラスの席だったみたいで超快適でした。ラッキー。

この横の肘掛け部分をパカっとあけると、テーブルとかテレビが見られるタブレットが出てきます。 f:id:moyashidaisuke:20181227180852j:plain

機内食もまあまあ美味しかった。(豚キムチご飯) ワインも飲みました。

やっぱLCCとは違いますね、、、

21:00頃ハノイに到着

※現地時間。ハノイは日本と2時間の時差があるので、日本では23:00頃。

次もベトナム航空で既にチェックイン済なので、今回は大丈夫。乗り継ぎまでの1時間を利用してフォーを食べます。

f:id:moyashidaisuke:20181227220904j:plain

付け合せの葉っぱがワイルドでおいしいです。木の枝そのままだし。

よしドイツへ行くぞ〜と思ったら出発が1時間延びるとのこと。しょうがないのでハノイビール飲んで過ごします。

このあっさりとした味、すごく南国感。 f:id:moyashidaisuke:20181227225011j:plain

というか湿気すごいし暑すぎです。ドイツ寒いのでけっこう厚着してきたのに、半袖に。寒暖差つらいな〜と思いつつ、ベトナムは旅行した事ないのでそのうち行こうと決意。フォー美味しかったし。

ノイバイ国際空港〜フランクフルト空港

23:55 ハノイを出発

というわけで最後の乗り継ぎを無事終えて出発。

さっきみたいにビジネス席ではなかったけど、そもそも機内はがらがら。

3席を独占できました。お行儀わるいけどみんなを真似して3席に横たわって寝ました。10時間以上のフライトなので助かりました。

途中の機内食は2回。ごちそう様でした。

5:30頃 フランクフルト空港到着

※現地時間。日本とドイツの時差は8時間なので、日本だと13:30。

予定より少し早く到着。寒いです。早朝なのもあって、0度切ってるはず。

ドイツはけっこう北にあるので(北海道より北)寒いのです。 ついでにこの季節は太陽が出てる時間もかなり短いです。8時ごろに日が昇り始めて、16時ごろには沈みます。

イミグレーションのスタッフの背の大きさと鼻の高さに驚きつつも、あっさり抜けてDB(ドイツ鉄道)の駅へ。

まずはターミナル間の移動のために無料のバスに乗ります。 2台連結されてます。(このタイプのバス、ドイツでけっこう見る)

f:id:moyashidaisuke:20181228063539j:plain

そしてDBのオフィス(みどりの窓口的な。赤いけど)でジャーマンレイルパスを購入。 今回のメイン足になるやつです。

ジャーマンレイルパスとは、ドイツ内 + 周辺の国少しの電車が乗り放題になる切符です。 日本だと青春18きっぷみたいなものですが、こいつのすごいところはドイツの新幹線も乗れる事です。(ただし路面電車、地下鉄、バスは対象外) www.raileurope-japan.com

日本にもほしい!と思ったらあるんですね。海外からの旅行客専用ですけど、、
JAPAN RAIL PASSとは? | ジャパン・レール・パス | JAPAN RAIL PASS

後は大人の休日倶楽部限定で買えるやつとか、、早く50歳になりたい、、 jre-ot9.jp

ジャーマンレイルパスはドイツ人も買えるし、27歳まで対象のユースもあって良いです。ついでに二人切符もかなり安いです。

ドイツは四角い形をしているし、山も少ないので新幹線に乗ればけっこう自由に移動できるようです。 例えば北の街ベルリンから、南の街ミュンヘンまでは約5時間。東京〜博多くらいですね。

7日間のフレキシー(日が連続してなくていいやつ)を購入して、いざICE(新幹線へ)。

駅のキヨスク的な。焼き立てのパンの匂いがします。ザ・ヨーロッパ! f:id:moyashidaisuke:20181228065522j:plain

では今回はここまで。次回はケルン編。