- ゴルーチンを使ったコード
- レースコンディションの検知と修正
- チャネルによるデータ共有
・スケジューラーがどのゴルーチンがどのプロセッサで動いているか管理している
・CSP message passing model(共有データをロックするのではなくチャネルでの受け渡し)
| package main | |
| import ( | |
| "bytes" | |
| "io" | |
| "os" | |
| "strings" | |
| "testing" | |
| "github.com/stretchr/testify/assert" |
| package main | |
| import ( | |
| "bytes" | |
| "io" | |
| "os" | |
| "testing" | |
| "github.com/stretchr/testify/assert" | |
| ) |
| # https://cachethq.io/ | |
| upstream _cachet { | |
| # docker's ip and port | |
| server 127.0.0.1:8001; | |
| } | |
| server { | |
| listen 80; | |
| server_name cachet.example.com; |
Goでよくやってしまうミスが3つあります。
私はそのミスを、分かりやすいように簡略した書き方ではなく、巷でよく見かける書き方のままここで説明します。
3つのミスの全てが、私の知る限り少なくとも1回づつ、Kubernetesの過去のコードレビューにありました。
1: ループ変数がループ外のスコープになっている
この各行はいったい何を行っているのでしょうか。想像してから下へスクロールしてください。
| Ootahveali0weiChoo9eixir |
| #!/bin/sh | |
| # original from http://sandrinodimattia.net/posting-successful-ssh-logins-to-slack/ | |
| if [ "$PAM_TYPE" != "close_session" ]; then | |
| whitelist="127.0.0.1 localhost" # change here | |
| is_white=0 | |
| # check authorized host | |
| for HOST in $whitelist |
| #!/usr/bin/env ruby | |
| require "qiita" | |
| require "slack-notifier" | |
| require "aws-sdk" | |
| require 'yaml' | |
| require 'json' | |
| class RDSLogDownloader |