メンチカツ

ロースカツが好きです

【メモ】Reduxチョット触ってた人がNuxt.jsチョット触った雑感

こちらを参考に触ってみました。

qiita.com

スゴイ①: 導入がかんたん

↓だけでどういうものか確認できる。

npm i -g vue-cli
vue init nuxt/starter nuxt-starter
cd nuxt-starter
npm i
npm run dev #=> http://localhost:3000

スゴイ②: チルダ ~ がドキュメントルート

pagesからcomponentsをimportするとき、reactで ../../../compornents/Hoge.js とか書いていたところが、~components/Hoge.vue と書ける。

スゴイ③: pagesに置いたvueファイルに勝手にルーティングしてくれる

~/pages/users.vue を置くと http://localhost:3000/users にアクセスできる。

スゴイ④: config.jsの見通しのよさ

webpack.config.js に当たる nuxt.config.js が、とても見やすい(気がする)。 いろいろ追加していったらちょっとわからないけども。

気になるところ:

後からチームに参加した人が触りたくない系の定義周り(applyMiddlewareとかBrowserHistoryとかのとこ)はどんな感じなんだろう。

まとめ:

これからやるなら React+Redux より Nuxt.js+vuex が良いかな。。 webpackはできれば(書かなくて良いなら)書きたくない。

【メモ】Lambda Functionはtypoに寛容だ

Alexaのスキルを作る予定があり、初めの一歩のチュートリアルとして、こちらを参考にさせていただきました。

datahotel.io

datahotel.io

Echoデバイス - Alexa - Lambda間のデータの流れが把握しやすく、非常にわかりやすいチュートリアルです。

早速取り組み、ビルドを完了させ、Alexa Skills Kit開発者コンソールでテストをしてみるも何故か動作しない。

数時間調べて、typoしていたことを発見。typoというか、チュートリアルインテント名が「siritori」となっているところを「shiritori」と定義していました。

Lambda Functionで存在しない要素を参照してもエラーにはならないということがわかりました。

期待した動作にならないときって、ついエラーログとか探してしまうのですぐに気付けませんでした。学びすなぁ。

brew install go-delve/delve/delve で「undefined method `check_for_bad_install_name_tool'」

brew install go-delve/delve/delve

で、以下のエラーが出ました。

Upgrade to delve fails https://github.com/go-delve/homebrew-delve/issues/20
/usr/local/Homebrew/Library/Homebrew/exceptions.rb:426:in `block in dump': undefined method `check_for_bad_install_name_tool' for #<Homebrew::Diagnostic::Checks:0x007fb983297950> (NoMethodError)
Did you mean?  check_for_tap_ruby_files_locations

issueへのリンクがあるので確認。

github.com

結果、以下で解決できました。

cd $HOME/Library/Caches/Homebrew
tar xf delve-*.gz
ls delve-* # ↑で解凍したフォルダを特定
#=> delve-1.0.0.tar.gz
#
#delve-1.0.0:
#CHANGELOG.md      ISSUE_TEMPLATE.md README.md         assets            glide.yaml        service
#CONTRIBUTING.md   LICENSE           _fixtures         cmd               pkg               vendor
#Documentation     Makefile          appveyor.yml      glide.lock        scripts
sh delve-1.0.0/scripts/gencert.sh # 解凍したフォルダのスクリプトを実行。パスワードを聞かれます。

CGO_ENABLED=1 brew install go-delve/delve/delve

【メモ】VSCode on Macで「Cannot find "go" binary. Update PATH or GOROOT appropriately」

GOROOT設定済みの環境で、VSCodeにgoのプラグインを入れたあと「Cannot find "go" binary. Update PATH or GOROOT appropriately」と言われることがあります。

これは、VSCodeのデフォルトshellがbashだから。 上記のメッセージが出る人は、ふだんzshなどを使っていて、bashじゃないrcにGOROOTを設定しているのだと思います。

command + , でユーザー設定を表示し、「既定の設定を上書きするには、このファイル内に設定を挿入します。」の中かっこの中の末尾に"terminal.integrated.shell.osx"の設定を追加します。

// 既定の設定を上書きするには、このファイル内に設定を挿入します。
{
     ・・・
     "terminal.integrated.shell.osx": "/usr/local/bin/zsh" //zshの場合
}

このあと、VSCodeを再起動すると問題が解消され、ターミナルも普段使っているshellになっていると思います。

--

参考にさせていただきました。

qiita.com

macのgvm導入時に発生する色々なエラーに対応する

macにgvmで環境設定するとき、まずはじめに1.4を入れとかないとダメとかの前提条件があり、毎度はまっている。

自分の欲しいバージョンだけ導入しようとすると、"gvm fatal error: MSpanList_Insert"とか"cannot find package"とか言われる。ほんとアホのように毎回言われてるのでメモ。 gvm公式のやつ

github.com

でなぜかうまくいかない人(私)向け。

brew install go # まずbrewのをinstall
export GOROOT=/usr/local/opt/go/libexec/ # brewのインストールパスを設定
export GOROOT_BOOTSTRAP=$GOROOT

gvm install [お好きなバージョン]
gvm use [お好きなバージョン] --default #ここでGOROOTもGOPATHもgvmを向く

brew uninstall go # gvmのgoと混乱するので消しとく

ターミナル再ログイン時にgvmにパスが通ってなかったら、~/.zshrc的なところに

[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"

を書いて再ログインする。