【メモ】Lambda Functionはtypoに寛容だ
Alexaのスキルを作る予定があり、初めの一歩のチュートリアルとして、こちらを参考にさせていただきました。
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へのリンクがあるので確認。
結果、以下で解決できました。
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になっていると思います。
--
参考にさせていただきました。
macのgvm導入時に発生する色々なエラーに対応する
macにgvmで環境設定するとき、まずはじめに1.4を入れとかないとダメとかの前提条件があり、毎度はまっている。
自分の欲しいバージョンだけ導入しようとすると、"gvm fatal error: MSpanList_Insert"とか"cannot find package"とか言われる。ほんとアホのように毎回言われてるのでメモ。 gvm公式のやつ
でなぜかうまくいかない人(私)向け。
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"
を書いて再ログインする。
【メモ】会社で話し相手がいないエンジニアはRebuild.fm聴けばいいと思う
話し相手がいないっていうか、
エンジニアあるある言いたいときに話せる相手がいない。 共感してくれる人がいない。 話したところで「?」とさせてしまう。
って状況ありませんか?
そんなときはイヤホンでpodcastですよ。 JUNK とかもそりゃあ面白いですが、エンジニアさんにはRebuild.fmがオススメです。
超!意識高い!!という感じでもなく、等身大の(とはいえ滅茶滅茶優秀な)エンジニアさんの「最近どう?」が無料で聴けます。 あるある、わかる、なるほどーって場面が結構あります。
共感の足りない環境に長くいると、少しずつ枯れていくような気分になりますが、 こういったツールから栄養をもらうことで、心が上向きに元気になれる気がします。
技術系記事もいいのですが、読むぞ!ってモチベーション、元気がないと、なかなか読めない。 その点音声ですから聞き流すだけで良いという。いわばスピード○ーニングですよ。ありがたいことです。
今日もがんばって行きましょうー
jQuery ajaxのレスポンスステータスが302のときに対応する
こんにちは! anguler,redux(on SPA)のプロダクトを経て、今月は訳あってjQuery(on MVC)を書いています。 久々の記述形式に戸惑いが多いですが、頑張っていきましょう。
認証が必要な環境下で、ajaxでjsonを取得するとき、認証のセッションが切れていることがあります。
$.ajax({ type: "GET", url: "/users" }) .done(function(response, status, xhr){ //responseにはjsonで欲しい値が返却される //が、セッションが切れてるとリダイレクト後のログイン画面が返却される });
リダイレクト後のログイン画面が返却された場合もステータスコードは302でなく200になるので、レスポンスヘッダーの content-type
を見て判断すると良いようです。
jquery how to check response type for ajax call - Stack Overflow
$.ajax({ type: "GET", url: "/users" }) .done(function(response, status, xhr){ var ct = xhr.getResponseHeader("content-type") || ""; if (ct.indexOf('html') > -1) { //どうやらログアウトしているらしい。 } if (ct.indexOf('json') > -1) { //本来欲しかった返却値 } });