golang.tokyo #14はgroutineとchannelの話。
@morkuniさんの発表は入門編、@knsh14さんの発表はdeep diveという感じで非常によかった。
「golangは言語仕様が簡素だからすぐ覚えられる」とよく言われるけど、並行処理に関しては結構スキルがいるイメージ。
なお、「並行処理」と「並列処理」の概念の違いはRob Pikeの以下の資料が分かりやすい。
先日行われたgoconの参加メモ。今回は2トラック制だったので、自分が見たものだけ。
公開されているスライド資料などは以下のリンクに添付されている。
git 2.17にすると使える(?)-W
オプション(とついでに-p
)が便利すぎたのでメモ。
2018/04/11現在、Macならばbrew upgrade git
で2.1.7に更新できる。
goでデバッグするときはdelveを使うことが多いと思う。
ユースケース別の起動方法をまとめた。
TL;DR
- 基本的な起動方法と簡単な操作方法(
dlv debug
/dlv test
- 環境変数を設定して起動する(Windows以外)(
ENV=... dlv debug
)
- 引数を渡して起動する(
dlv debug --
)
- 特定のテストケースを指定して起動する(
dlv test -- -test.run
)
- 起動済みのプロセスにアタッチして起動する(
dlv attach
)
- リモートから接続して起動する(
dlv exec
&& dlv connect
)
前提
まずはvimを起動する。(
vim-go
もdelve
をサポートするようになりましたね。)
…ではこの記事が閉じられそうなのでコマンドラインからDelveを使うことを前提とする。
2,3日ハマっていたのでメモ。
Dockerでnode-SASSを使ったら以下のエラーが出て動かなかった。
sample-app | Module build failed: Error: Missing binding /usr/src/app/node_modules/node-sass/vendor/linux-x64-57/binding.node
sample-app | Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 8.x
sample-app |
sample-app | Found bindings for the following environments:
sample-app | - OS X 64-bit with Node.js 8.x
...
TL;DR
- ホストの
node_modules
ディレクトリをコンテナにマウントしてしまうとOS差異があったときにnode-sass
の依存性解決に失敗する
node_modules
ディレクトリはマウントしないようにしておく
docker run
するときは-v /your-project-root-in-container/node_modules
docker compose
するときはvolumes
オプションで- /your-project-root-in-container/node_modules
問題
Reactとwebpack-dev-serverを使った開発用コンテナを作っていたが、コンテナを起動するとnode-SASSが以下のエラーで動かなかった。
編集したコードをホットリロードをしながら開発したかったので、当然ホストのReactプロジェクトディレクトリはコンテナにマウントして起動していた。
オラクル
@hhiroshellさん主催のcndjp。
今回はKubernetes(k8s)のネットワーク構成について、そしてIstioの概要とそれを利用したサービスメッシュ構成のハンズオンを行った。
Railsのプロダクトが参照しているgemを修正しながら開発する必要が出てきた。
ローカルで編集して未コミット状態のコードを含んだのgem
をbundle install
する方法をまとめる。
golang.tokyo #13の参加メモ。今回のgolang.tokyoはgomobileハンズオンだった。
自分は今回半分運営お手伝いとして参加していて、前半にあった技術の説明は聴けていないので、ハンズオンでデモアプリを動かすまでに必要だったことをメモしておく。
https://github.com/go-chi/chi
go-chi/chi
はGolangのWebサーバを作成するときに使うシンプルなHTTPルータ。
Swagger定義ではないが、ルーティングの設定をMarkdownやJSONで動的に出力することができたのでそのメモ。
今年から自己学習でGCPを触り始めている。
ちょうど土曜日にGCPのハンズオンに開催されたので、参加してきた。以下ハンズオン内容と自分メモ。
TL;DR
- GCP初めて触る人向けハンズオン
- QwikLabs(e-ラーニングサイト)のチュートリアルを使ってGCPの基本サービスを学ぶ
- 当日以内(24時間以内なのかも)にEssentialsの残りの内容の学習を終えるとQwikLabが1ヶ月無料
- BiqQueryでお金を溶かさないTips
-
Kubernetes in the Google Cloud
ハンズオン内容
QwikLabsはAWS、GCPの教材があるe-ラーニングサイト。
チュートリアルごとに使い捨てのGCPアカウントなどを作成して学習することができる。そこそこ翻訳済みのチュートリアルも多い。
今回のハンズオンでは
GCP Essentialsの中から3つ、それとは別Bigqueryのチュートリアルの合計4つを行った。