Skip to content

Instantly share code, notes, and snippets.

View tamanobi's full-sized avatar

Kohki YAMAGIWA tamanobi

  • CLIMT Inc.
  • Tokyo
View GitHub Profile
@tamanobi
tamanobi / keybase.md
Created October 9, 2021 09:39
Keybase 認証のため

Keybase proof

I hereby claim:

  • I am tamanobi on github.
  • I am tamanobi (https://keybase.io/tamanobi) on keybase.
  • I have a public key ASCnK2TyB23ieP_TMncckI-5HcS5rqFu4z6qW_kjPqHFLQo

To claim this, I am signing this object:

@tamanobi
tamanobi / avro_cache.py
Last active September 19, 2021 17:10
DataFrame を AVRO としてキャッシュするデコレーター
# Copyright 2021 KOHKI YAMAGIWA
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
@tamanobi
tamanobi / main.js
Created April 28, 2021 00:39
Google フォームの回答時に回答コピーと、別のフォームURLを送信する機能
function getHeaders(sheet) {
var last_col = sheet.getLastColumn();
var range = sheet.getRange(1, 1, 1, last_col);
var headers = range.getValues();
return headers[0];
}
function getColumnNumByHeader(sheet, header) {
var n = getHeaders(sheet).indexOf(header);
if (n < 0) {
throw Error("ヘッダーが見つからなかった");
@tamanobi
tamanobi / register.js
Last active April 28, 2021 00:30
Google フォームに連番紹介コードを付与できる
function getHeaders(sheet) {
var last_col = sheet.getLastColumn();
var range = sheet.getRange(1, 1, 1, last_col);
var headers = range.getValues();
return headers[0];
}
function getColumnNumByHeader(sheet, header) {
var n = getHeaders(sheet).indexOf(header);
if (n < 0) {
throw Error("ヘッダーが見つからなかった");
function getHeaders(sheet) {
var last_col = sheet.getLastColumn();
var range = sheet.getRange(1, 1, 1, last_col);
var headers = range.getValues();
return headers[0];
}
function getColumnNumByHeader(sheet, header) {
var n = getHeaders(sheet).indexOf(header);
if (n < 0) {
throw Error("ヘッダーが見つからなかった");
@tamanobi
tamanobi / go.mod
Created July 1, 2020 03:43
goqueryの使い方を教えるためのスニペット
module goquerytrial
go 1.14
require github.com/PuerkitoBio/goquery v1.5.1
@tamanobi
tamanobi / matmu.py
Created April 13, 2020 01:29
行列と行列の積
from typing import List, Union
import unittest
from operator import mul
Matrix = List[List[Union[int, float]]]
def matmul(mat1: Matrix, mat2: Matrix) -> Matrix:
return [[sum(map(mul, row, column)) for column in zip(*mat2)] for row in mat1]
@tamanobi
tamanobi / get_predictor.py
Last active November 20, 2019 14:11
AWS SageMakerをローカルで使うときに便利なスクリプト
from sagemaker.estimator import Estimator
from sagemaker.predictor import RealTimePredictor
def get_predictor(training_job_name: str) -> RealTimePredictor:
"""
ジョブ名から RealTimePredictor を取得して返す
すでに訓練ジョブ名と同名のエンドポイントがある場合には、エンドポイントから RealTimePredictor を返す
Args:
@tamanobi
tamanobi / di.go
Last active November 15, 2019 02:26
依存を注入できるようにしてテストする
package di
import (
"fmt"
"time"
)
func Hogehoge(fn func()) error {
// Do something(Heavy process)
time.Sleep(2 * time.Second)
@tamanobi
tamanobi / deployment.yml
Created October 9, 2019 17:31
Cloud VS Code.
apiVersion: v1
kind: ConfigMap
metadata:
name: vscode-settings-configmap
data:
settings.json: |
{
"terminal.integrated.shell.linux": "/bin/bash"
}