- ゴルーチンを使ったコード
- レースコンディションの検知と修正
- チャネルによるデータ共有
・スケジューラーがどのゴルーチンがどのプロセッサで動いているか管理している
・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 |