Skip to content

Instantly share code, notes, and snippets.

evalphobia

Block or report user

Report or block evalphobia

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@evalphobia
evalphobia / 08.md
Last active Mar 23, 2017
The Go Programming Language
View 08.md

8 ゴルーチンとチャネル

2つのスタイルの並行処理

  • CSPモデル
    • プロセス間で直接相互通信をしない (?)
    • Goでは独立したプロセスとしてゴルーチンを使い、相互通信のためにチャネルを用いる(?)
  • 伝統的な共有メモリマルチスレッディング
    • 他の言語では一般的にスレッドが使われる
    • Ch.9で取り扱う
@evalphobia
evalphobia / exec.sh
Created Mar 9, 2017
Execute query from the list file to Elasticsearch
View exec.sh
#!/bin/bash
# Read user_id from list.txt and executes query to ES.
# Usage:
# $ bash exec.sh list.txt
HOST='http://localhost:9200'
INDEX='index_name_1,index_name_2,my_awesome_index'
LIMIT=1000
OUTPUT='[.user_id, .status]' # jq expression
@evalphobia
evalphobia / slicebench_test.gp
Created Nov 30, 2016
[Golang] benchmark for unshifting to slice operation
View slicebench_test.gp
package main
import (
"testing"
)
type User struct {
ID int
a int
b int64
View ptquery_mail_qiita.rb
#!/usr/bin/env ruby
require "qiita"
require "slack-notifier"
require "aws-sdk"
require 'yaml'
require 'json'
class RDSLogDownloader
@evalphobia
evalphobia / ssh_notify_to_slack.sh
Created Oct 24, 2016
Send Slack to SSH login alert
View ssh_notify_to_slack.sh
#!/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
@evalphobia
evalphobia / README.md
Last active Sep 27, 2019
Golang Benchmark: gob vs json
View README.md

tl;dr

  • gob is faster on Go1.7.1
    • map[int64]float64
    • []map[int64]float64

about

benchmark result to encode/decode map[int64]float64

@evalphobia
evalphobia / The Three Go Landmines.ja.markdown
Last active Jan 11, 2020 — forked from lavalamp/The Three Go Landmines.markdown
Go言語の地雷(原題: Golang landmines)
View The Three Go Landmines.ja.markdown

Goでよくやってしまうミスが3つあります。
私はそのミスを、分かりやすいように簡略した書き方ではなく、巷でよく見かける書き方のままここで説明します。
3つのミスの全てが、私の知る限り少なくとも1回づつ、Kubernetesの過去のコードレビューにありました。

1: ループ変数がループ外のスコープになっている

この各行はいったい何を行っているのでしょうか。想像してから下へスクロールしてください。

View goinaction_ch9.md

9 Testing and benchmarking テストとベンチマーク

この章で学ぶこと

  • ちゃんと単体テストを書こう
  • httptestを使えばHTTPリクエストをモックできるよ
  • サンプルコードをつけてドキュメントを書こう
  • ベンチマークしてパフォーマンスを測定しよう

開発が終わるまでテストコードを待つ必要はない。開発のプロセスに組み込むことが出来る

View nginx_cachet.conf
# https://cachethq.io/
upstream _cachet {
# docker's ip and port
server 127.0.0.1:8001;
}
server {
listen 80;
server_name cachet.example.com;
You can’t perform that action at this time.