このメモは、私(@ymmt2005)が長年にわたってソフトウェアプロダクト開発に関わってきて 2022年現在こうしたほうが良いと考えているベストプラクティスです。
科学的な分析等に基づくわけではない経験則であるため、今後も随時見直すことがありますし、 ここに書いてあることが常に正しいわけでもあらゆるソフトウェア開発に適するわけでもありません。
しかしながら、実務経験が豊富で、モダンな技術スタックに明るいエンジニアの経験則は一定の 役に立つのではないかと考えて記します。
BitTorrentの仕組みを読むのが早い。
完全な P2P というわけではなく、コンテンツとピアの情報を管理するトラッカーというサーバーがいる。トラッカー不在でも動作するDHTモードという仕組みもある。
/** | |
* 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 | |
* |
package main | |
import ( | |
"os" | |
networkingv1beta1 "k8s.io/api/networking/v1beta1" | |
"k8s.io/apimachinery/pkg/runtime/serializer/json" | |
"k8s.io/client-go/kubernetes/scheme" | |
) |
#!/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 |
#!/bin/sh -e | |
NS=testns | |
BR1=testbr1 | |
VETH1=testveth1 | |
BR2=testbr2 | |
VETH2=testveth2 | |
LINKS="$VETH1 $VETH2 $BR1 $BR2" |
--- 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); |
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 |
#!/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) |