Skip to content

Instantly share code, notes, and snippets.

View ymmt2005's full-sized avatar

Yamamoto, Hirotaka ymmt2005

View GitHub Profile
@ymmt2005
ymmt2005 / howto-tech-docs.md
Last active April 14, 2024 13:23
技術文書の書き方

技術文書の書き方

このメモは、私(@ymmt2005)が長年にわたってソフトウェアプロダクト開発に関わってきて 2022年現在こうしたほうが良いと考えているベストプラクティスです。

科学的な分析等に基づくわけではない経験則であるため、今後も随時見直すことがありますし、 ここに書いてあることが常に正しいわけでもあらゆるソフトウェア開発に適するわけでもありません。

しかしながら、実務経験が豊富で、モダンな技術スタックに明るいエンジニアの経験則は一定の 役に立つのではないかと考えて記します。

@ymmt2005
ymmt2005 / convret-gv.go
Created July 12, 2019 02:42
Kubernetes GV convert
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 / neco_skills.md
Last active September 24, 2023 10:59
Neco プロジェクトのスキルシート

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

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

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

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

@ymmt2005
ymmt2005 / ecmp_weird_route.sh
Last active May 16, 2018 01:12
Test Linux weird behavior on ECMP routes
#!/bin/sh -e
NS=testns
BR1=testbr1
VETH1=testveth1
BR2=testbr2
VETH2=testveth2
LINKS="$VETH1 $VETH2 $BR1 $BR2"
@ymmt2005
ymmt2005 / compressions.txt
Last active October 4, 2016 10:51
gzip, zstd, brotli
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 July 4, 2016 09:00
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 / bittorrent.md
Created February 3, 2016 08:00
BitTorrent 調査

BitTorrent 調査まとめ

概要

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

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

@ymmt2005
ymmt2005 / annotate-id-ns.py
Last active October 9, 2015 00:21
Annotate "nvme id-ns -b" output tersely.
#!/usr/bin/env python
from __future__ import print_function
from argparse import ArgumentParser, RawDescriptionHelpFormatter
import re
import sys
# Constants
HELP_DESCRIPTION = '''\
Annotate id-ns output for humans.
@ymmt2005
ymmt2005 / debian-installer.patch
Created April 25, 2015 01:14
Add OMSA to netboot initrd image.
diff -ruN debian-installer-20101020ubuntu318.15.orig/build/boot/x86/syslinux.cfg debian-installer-20101020ubuntu318.15/build/boot/x86/syslinux.cfg
--- debian-installer-20101020ubuntu318.15.orig/build/boot/x86/syslinux.cfg 2014-06-03 23:02:21.000000000 +0000
+++ debian-installer-20101020ubuntu318.15/build/boot/x86/syslinux.cfg 2015-04-06 02:21:48.031746385 +0000
@@ -1,5 +1,10 @@
# D-I config version 2.0
include ${SYSDIR}menu.cfg
-default ${SYSDIR}vesamenu.c32
+#default ${SYSDIR}vesamenu.c32
+# Cybozu: auto start PXE
+default auto
@ymmt2005
ymmt2005 / hoge.cpp
Last active August 29, 2015 14:14
shutdown and recv
// g++ -std=gnu++11 hoge.cpp -lpthread
#include <cerrno>
#include <chrono>
#include <cstring>
#include <iostream>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <system_error>