Skip to content

Instantly share code, notes, and snippets.

@y16ra
y16ra / .gitconfig
Created April 5, 2023 02:30
Delete all branches that do not exist in the remote branch
[alias]
clean-branch = !git fetch -p | git branch -vv | grep ': gone]' | awk '{print $1}' | xargs git branch -D
@y16ra
y16ra / git_config_default_branch.sh
Created March 28, 2022 01:20
Configure default git branch name
git config --global init.defaultBranch main
@y16ra
y16ra / two-sum-brute-force.py
Created December 23, 2019 03:18
Awful python code for Two Sum problem
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i1, num1 in enumerate(nums):
for i2, num2 in enumerate(nums[i1+1:]):
if target == (num1 + num2):
return [i1, i2 + i1 + 1]
@y16ra
y16ra / AwsLambdaClient.kt
Created July 6, 2018 03:46
Call AWS Lambda Function by Kotlin
class AwsLambdaClient {
val aws_access_key_id = "<YOUR_ACCESS_KEY_PASTE_HERE>"
val aws_secret_access_key = "<YOUR_SECRET_KEY_PASTE_HERE>"
val region = "ap-northeast-1"
val function_name = "test_func"
fun invoke() {
val payload = """
{
"token": "TOKEN",
@y16ra
y16ra / context.py
Created March 29, 2017 01:45
pythonでファイル位置から1つ上のディレクトリをsys.pathに追加する
import sys
sys.path.append(path.normpath(path.join(path.dirname(path.abspath( __file__ )), '..')))
@y16ra
y16ra / deleteOldMail.gs
Created January 30, 2017 08:21
ラベルと保管日数をスプレッドシートで指定して保管日数を超えているメールを削除するGAS
function deleteOldMail() {
var sheet = SpreadsheetApp.getActive().getSheetByName('label');
for(var row=2; row<=sheet.getLastRow(); row++){
var labelName = sheet.getRange(row, 1).getValue();
var days = sheet.getRange(row, 2).getValue();
var deleteThreads = GmailApp.search('older_than:'+days+'d -is:starred label:'+ labelName);
for (var i = 0; i < deleteThreads.length; i++) {
deleteThreads[i].moveToTrash();
}
import json
import requests
import urllib
import sys
from xml.etree import ElementTree
doItAgain = "yes" #Control While loop
@y16ra
y16ra / digits.py
Created September 28, 2016 09:14
数値の桁数を求める
import math
n = 100
digits = int(math.log10(n) + 1) # 3
@y16ra
y16ra / slack-file-upload.js
Created June 14, 2016 08:51
slack apiで画像ファイルをアップロードする
var request = require('request');
var fs = require('fs');
const SLACK_BOT_TOKEN = 'hogehoge';
const api_url = 'https://slack.com/api/';
var fileName = 'hogefuga.png';
var channel = 'general';
options = {
token: SLACK_BOT_TOKEN,
filename: fileName,
@y16ra
y16ra / most_expensive_query.sql
Created January 26, 2016 05:07
過去7日間で最も費用がかかったクエリを抽出する
SELECT
protoPayload.authenticationInfo.principalEmail AS email,
ROUND(SUM(protoPayload.serviceData.jobCompletedEvent.job.jobStatistics.totalBilledBytes) /1000000000, 3) AS total_GBytes,
protoPayload.serviceData.jobCompletedEvent.job.jobStatistics.billingTier AS billing_tier,
COUNT(protoPayload.serviceData.jobCompletedEvent.job.jobConfiguration.query.query) AS query_count,
protoPayload.serviceData.jobCompletedEvent.job.jobConfiguration.query.query AS query_string,
FROM
TABLE_DATE_RANGE(AuditLogs.cloudaudit_googleapis_com_data_access_, DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY'), CURRENT_TIMESTAMP())
WHERE
protoPayload.serviceData.jobCompletedEvent.eventName = 'query_job_completed'