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 / 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: ループ変数がループ外のスコープになっている

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

@evalphobia
evalphobia / benchmark_test.go
Last active Dec 26, 2019
Golang Benchmark for Slice Map Decoder of DynamoDB result on github.com/evalphobia/aws-sdk-go-wrapper
View benchmark_test.go
package dynamodb
import (
"fmt"
"testing"
"github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute"
)
func BenchmarkToSliceMap_old(b *testing.B) {
@evalphobia
evalphobia / example.go
Last active Dec 23, 2019
How to use context.Cancel: Execute multiple process and gets the single fastest result.
View example.go
package example
import (
"context"
)
// Executor is example process.
// This might be, downloading data via http / reading data from local big file / waiting data from client etc...
type Executor interface {
Exec() (data interface{}, err error) // this might take a long time.
@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 / benchmark.csv
Created Sep 5, 2019
Benchmark DeepLearning performance of GPU on GCP AI Platform (Cloud ML Engine)
View benchmark.csv
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
(wip)
@evalphobia
evalphobia / atoi_test.go
Last active Aug 6, 2019
golang benchmark: String and Int conversions
View atoi_test.go
package bench
import (
"strconv"
"testing"
)
var smallStr = "35"
var bigStr = "999999999999999"
View The_Site_Reliability_Workbook.ch11.md

負荷の管理

  • 100%の時間 利用可能なサービスはない
    • 配慮のないクライアント
    • 50倍の要求
      • (訳注: 上記2つはPokemon Goのことでもある)
    • スラフィックのスパイク
    • 海底ケーブルの切断
  • 私達のサービスに依存するユーザーがいる
@evalphobia
evalphobia / action.js
Created Jul 5, 2018
To fetch Google Calendar event. (Running on Firebase Functions for Dialogflow)
View action.js
class Action {
constructor(req, res){
this.request = req;
this.response = res;
this.requestSource = (req.body.originalRequest) ? req.body.originalRequest.source : undefined;
this.app = new DialogflowApp({req, res});
console.log('api-v2')
}
@evalphobia
evalphobia / The_Site_Reliability_Workbook.ch01.md
Last active May 22, 2019
The Site Reliability Workbook: Chapter 1
View The_Site_Reliability_Workbook.ch01.md

Ch.1の前に、この本の簡単な説明。

SRE本が教科書/参考書とするとワークブックは問題集。 SRE本は主に原則や哲学を説明していたが、ワークブックはその原則をどのように適用していくかについて説明。 SRE本はGoogle内でのSREの実践例の話だったが、ワークブックはその他の企業(GCPユーザー)での話もあり。

  • Evernote, Home Depot, NY Times, Spotify

1. SREはDevOpsにどのように関わっていくのか

You can’t perform that action at this time.