Skip to content

Instantly share code, notes, and snippets.

Yamamoto, Hirotaka ymmt2005

Block or report user

Report or block ymmt2005

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
@ymmt2005
ymmt2005 / neco_skills.md
Last active Jan 5, 2020
Neco プロジェクトのスキルシート
View neco_skills.md

Neco プロジェクトのスキルチェックシート

Neco は大量の物理サーバーを効率的に管理・運用することを目的とした開発プロジェクトです。 Kubernetes を中心に高度な自律運用の実現を目指しています。

本文書はプロジェクトに参加しているメンバーが身に着けている要素技術を並べたものです。

応募時点ですべてを身に着けている必要はありません。 社内にはチュートリアル資料が多数用意されていますので、必要に応じて学べます。

@ymmt2005
ymmt2005 / convret-gv.go
Created Jul 12, 2019
Kubernetes GV convert
View convret-gv.go
package main
import (
"os"
networkingv1beta1 "k8s.io/api/networking/v1beta1"
"k8s.io/apimachinery/pkg/runtime/serializer/json"
"k8s.io/client-go/kubernetes/scheme"
)
@ymmt2005
ymmt2005 / due2fs.c
Last active Apr 15, 2019
Fastest du for Linux. This is in fact faster than du(1) as long as all dentries are cached :-p
View due2fs.c
/**
* Compilation:
*
* 1. Without e2fslib:
* $ gcc -O2 -o due2fs due2fs.c
*
* 2. With e2fslib
* $ sudo apt-get install e2fslibs-dev
* $ gcc -DUSE_E2FSLIB -O2 -o due2fs due2fs.c -lext2fs
*
@ymmt2005
ymmt2005 / github.py
Created Sep 11, 2012
GitHub v3 API client in Python
View github.py
#!/usr/bin/env python
'''
GitHub API v3 client.
@see http://developer.github.com/v3/
@see https://support.enterprise.github.com/entries/21391237-using-the-api
'''
from argparse import ArgumentParser, REMAINDER
View bittorrent.md

BitTorrent 調査まとめ

概要

BitTorrentの仕組みを読むのが早い。

完全な P2P というわけではなく、コンテンツとピアの情報を管理するトラッカーというサーバーがいる。トラッカー不在でも動作するDHTモードという仕組みもある。

@ymmt2005
ymmt2005 / ecmp_weird_route.sh
Last active May 16, 2018
Test Linux weird behavior on ECMP routes
View ecmp_weird_route.sh
#!/bin/sh -e
NS=testns
BR1=testbr1
VETH1=testveth1
BR2=testbr2
VETH2=testveth2
LINKS="$VETH1 $VETH2 $BR1 $BR2"
@ymmt2005
ymmt2005 / lio.patch
Created Jan 14, 2013
A patch for Linux LIO iSCSI target to restrict the maximum number of sessions (not connections).
View lio.patch
--- linux-3.2.0/drivers/target/iscsi/iscsi_target_login.c 2012-06-07 05:37:34.000000000 +0000
+++ iscsi_target_login.c 2012-06-07 05:34:22.866487169 +0000
@@ -1107,6 +1107,20 @@
goto new_sess_out;
}
+ /* Cybozu */
+ if (zero_tsih) {
+ int error = 0;
+ spin_lock_bh(&np->np_thread_lock);
@ymmt2005
ymmt2005 / compressions.txt
Last active Oct 4, 2016
gzip, zstd, brotli
View compressions.txt
Ubuntu VM ディスクイメージを gzip, Zstd, Brotli で圧縮
$ time lzop -d < vm-generic.lzo | gzip > vm-generic.gz
real 0m44.422s
user 0m46.736s
sys 0m1.312s
$ time lzop -d < vm-generic.lzo | zstd > vm-generic.zstd
real 0m9.863s
user 0m10.336s
@ymmt2005
ymmt2005 / atomic_rename.py
Last active Jul 4, 2016
atomic_rename.py
View atomic_rename.py
#!/usr/bin/python3
from argparse import ArgumentParser
import os
from os.path import dirname, realpath
from tempfile import NamedTemporaryFile
def syncdir(d: str):
fd = os.open(d, os.O_RDONLY|os.O_DIRECTORY)
os.fsync(fd)
@ymmt2005
ymmt2005 / kill_thread.c
Created Dec 25, 2013
Kill a specific thread externally by using tgkill(2).
View kill_thread.c
#include <signal.h>
#include <sys/syscall.h> /* For SYS_xxx definitions */
#include <sys/types.h>
#include <unistd.h>
int main() {
pid_t tgid=18456;
pid_t tid=24671;
return syscall(SYS_tgkill, tgid, tid, SIGABRT);
}
You can’t perform that action at this time.