Skip to content

Instantly share code, notes, and snippets.

@majek
majek / README.md
Created Apr 26, 2012
Passing TCP socket descriptors around
View README.md

Passing TCP socket descriptors around

In linux, normally, it is impossible to "bind()" to the same TCP port twice. If you try to bind to the same port from second proces unix processes you'll see:

socket.error: [Errno 98] Address already in use

@mitukiii
mitukiii / zsh_completion.md
Last active Apr 29, 2022
zsh の補完関数の自作導入編
View zsh_completion.md

zsh の補完関数の自作導入編

あまり深く理解してないので識者のツッコミ大歓迎

補完を有効にする

取り敢えず最低限だけ

# 補完を有効にする
@kitak
kitak / doc.md
Last active Oct 4, 2021
コマンドによる「負荷」の原因切り分け
View doc.md

コマンドによる「負荷」の原因切り分け

この文章では、Linuxコマンド、sar, top, psを使って、一般的に負荷といわれるものの原因を切り分けることを目的とする。

そもそも負荷とは

「複数のタスクによるサーバリソースの奪い合いの結果に生じる待ち時間」を一言で表した言葉。OSのチューニングとは負荷の原因を知り、それを取り除くことにほかならない。

ボトルネックの見極め作業の大まかな流れ

  • ロードアベレージ(処理を実行したくても、実行できなくて待たされているプロセス(CPUの実行権限が与えられるのを待っている、またはディスクI/Oが完了するのを待っている)の数)を見る
View SHOW CREATE TABLE REDSHIFT
#!/bin/bash
SOURCEINSTANCE=${SOURCEINSTANCE:-''}
SOURCEUSER=${SOURCEUSER:-'admin'}
SOURCEPORT=${SOURCEPORT:-'5439'}
SOURCEDB=${SOURCEDB:-'db'}
SOURCESCHEMA=${SOURCESCHEMA:-'public'}
SCHEMA=${SCHEMA:-'public'}
echo "CREATE TABLE ${SCHEMA}.${TABLE} ("
psql -h ${SOURCEINSTANCE} -U ${SOURCEUSER} -p ${SOURCEPORT} ${SOURCEDB} -t -c "select (\"column\" || ' ' || type || ' ENCODE ' || encoding || ',' ) from pg_table_def where schemaname='$SCHEMA' and tablename = '$TABLE'" | sed 's/ENCODE none/ENCODE RAW/' | sed '$d' | sed '$ s/,$//'
echo ")"
@tcnksm
tcnksm / docker_cheat.md
Last active Aug 5, 2021 — forked from wsargent/docker_cheat.md
Docker 虎の巻
View docker_cheat.md

Docker 虎の巻

何故Dockerを使うべきか

Why Should I Care (For Developers)

> "Dockerが面白いのはシンプルな環境に隔離性と再現性をもたらしてくれることだ.ランタイムの環境を一度作れば、パッケージにして別のマシンでも再利用することできる.さらに,すべてはホスト内の隔離された環境で行われる(VMのように).最も素晴らしい点は,シンプルかつ高速であることだ."

View Scala2.11.md
@blalor
blalor / gist:c325d500818361e28daf
Created May 2, 2014
redhat init script for consul
View gist:c325d500818361e28daf
#!/bin/bash
#
# consul Manage the consul agent
#
# chkconfig: 2345 95 95
# description: Consul is a tool for service discovery and configuration
# processname: consul
# config: /etc/consul.conf
# pidfile: /var/run/consul.pid
@acidlemon
acidlemon / gist:2c7d4e2e5b4e24007e39
Last active Aug 29, 2015
ISUCON 2013 予選レギュレーション
View gist:2c7d4e2e5b4e24007e39

ISUCON 2013 予選レギュレーション

参加者

予選参加者 (以下参加者) はチームでの登録とし、チームは2人もしくは3人での構成とする。

参加者は予選の第1日目、2日目のいずれかのみに参加することができる。

参加者は「一般枠」「学生枠」のいずれかに登録すること。

@acidlemon
acidlemon / gist:049fe8c9a790a52814fc
Created Aug 15, 2014
ISUCON 2013 本戦レギュレーション
View gist:049fe8c9a790a52814fc

ISUCON 2013 本戦レギュレーション

いつもの

競技は運営の用意したベンチマークのスコアの高さで優劣を競います。スコアが高くなれば高くなるほど優秀です。初期実装はGo, Javascript(Node), Perl, PHP, Python, Rubyの6言語を提供します。それ以外の言語で再実装するのは自由です。

採点基準は以下の通りです。

  • 一定時間内にリクエストを処理できた回数が多いほど高スコア
  • 特定のリクエストのレスポンスタイムが速いと高スコア(後述のベンチマーク仕様に詳細を記載しています)
@fumiyas
fumiyas / getaddrinfo-name2addr.c
Created Oct 24, 2014
Testing DNS stub resolver (getaddrinfo(3))
View getaddrinfo-name2addr.c
#include <stdio.h>
#include <string.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <errno.h>
int main(int argc, char **argv)
{
struct addrinfo hints, *ai, *ai_p;
const char *name;