Skip to content

Instantly share code, notes, and snippets.

View sinmetal's full-sized avatar

sinmetal sinmetal

View GitHub Profile
@sinmetal
sinmetal / dns-ch.sh
Created April 18, 2017 10:04
Cloud DNSのRecordを、動作しているCompute EngineのGlobal IP Addrに変更する。元ネタは http://stackoverflow.com/questions/34726498/how-to-update-google-cloud-dns-with-ephemeral-ip-for-an-instance
#!/bin/bash
ttlify() {
local i
for i in "$@"; do
[[ "${i}" =~ ^([0-9]+)([a-z]*)$ ]] || continue
local num="${BASH_REMATCH[1]}"
local unit="${BASH_REMATCH[2]}"
case "${unit}" in
weeks|week|wee|we|w) unit=''; num=$[num*60*60*24*7];;
@sinmetal
sinmetal / ephemeral.sh
Last active May 21, 2018 03:42
適当にコマンドを実行し、自ら死ぬインスタンスを生成するstartup-script
#!/bin/bash
# Install google-fluentd
curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
sha256sum install-logging-agent.sh
sudo bash install-logging-agent.sh
# Restart google-fluentd
service google-fluentd restart
# Your Task
package cpt
import (
"google.golang.org/appengine"
"golang.org/x/net/context"
)
// IsProduction is Production環境で動いていればtrueを返す
func IsProduction(c context.Context) bool {
[
{
"name": "documentSentiment",
"type": "RECORD",
"fields": [
{
"name": "magnitude",
"type": "FLOAT",
"mode": "NULLABLE"
},
package main
import (
"fmt"
"log"
"github.com/zabawaba99/firego"
)
func main() {
@sinmetal
sinmetal / naturalLanguageAPIResponseSchema.json
Last active July 29, 2016 01:59
Cloud Natural Language APIのResponseをBigQueryに入れるためのschema
[{
"name": "entities",
"mode": "repeated",
"type": "record",
"fields": [{
"name": "mentions",
"mode": "repeated",
"type": "record",
"fields": [{
"name": "text",
package main
import (
"net/http"
)
func init() {
http.HandleFunc("/.well-known/acme-challenge/", handlerLetsencypt)
}
@sinmetal
sinmetal / gcs_sample.go
Created June 24, 2016 05:32
example google.DefaultClient()
package gcs_sample
import (
"net/http"
"fmt"
"google.golang.org/appengine"
"google.golang.org/appengine/log"
"golang.org/x/oauth2/google"
@sinmetal
sinmetal / matchArray.bjs
Created May 27, 2016 09:41
keyword, arrayを渡して、arrayに含まれる文字を正規表現で探してマッチしたら、マッチした文字列を返すBQのUDF
function passthroughExample(row, emit) {
var output = [];
row.keyword. forEach(function(element, index, array) {
var match = row.data.match(element);
if (match) {
output.push(match[0]);
}
})
emit({output:output})
}
package goonchk
import (
"fmt"
"net/http"
"github.com/mjibson/goon"
"google.golang.org/appengine/datastore"
)