Skip to content

Instantly share code, notes, and snippets.

View udzura's full-sized avatar

Kondo Uchio udzura

View GitHub Profile
@udzura
udzura / consul-workshop.md
Last active November 7, 2021 12:17
やわらか Consul

やわらか Consul

こわくないConsul

Setup

事前に、ワークショップ用のサンプルプロジェクトをチェックアウトし、VMの作成だけしておきましょう。 --no-provision でお願いします!

@udzura
udzura / virtualbox-install-rgfukuoka.md
Created July 22, 2015 03:32
Windows環境でのVirtualBoxのインストール手順 thanks @monochromegane
Error in user YAML: (<unknown>): found character that cannot start any token while scanning for the next token at line 1 column 9
---
author: @monochromegane Miyake Yusuke
created_for: RailsGirls Fukuoka 1st on 2015-07-24,25
---

検証環境

  • Windows7 Home Premium Service Pack 1
  • CPU: Core i5 (64bit)
  • メモリ: 4.00GB
@udzura
udzura / LICENSE
Last active May 8, 2021 14:23
やわらかRuby
やわらかRubyはCC BY 4.0 で提供します。
詳細: https://creativecommons.org/licenses/by/4.0/deed.ja
This work is licensed under a Creative Commons Attribution 4.0 International License.
See also: https://creativecommons.org/licenses/by/4.0/deed
問Y-1
クラス(モジュール)にはancestorsという、そのクラスの親を一覧するメソッドがあります。以下のインスタンスについて、その所属するクラスのancestorsを表示してください。
・String 例: "aaa"
・Array 例: [1, 2, 3]
・自作のクラス
また、これらに共通するクラス/モジュールを表示してください
@udzura
udzura / zatsucorp.md
Last active May 8, 2021 14:22
Consul/Serf/Terraform/Nomad/Vaultなどの雑なマッピング

ConsulとSerfの違い

  • SerfのメインディッシュはGossip protocol、つまりP2Pでクラスタを構成するにあたりグループメンバをいい感じに管理するところ
  • ConsulのメインディッシュはRAFT algorithm、つまりクラスタのメンバで情報を同期させる(同意アルゴリズム)ところ
  • しかしConsulの全機能を利用するため、内部でSerf(Gossip protocol)を利用している
  • つまり、クラスタを組むにあたり
    • Consulの機能が欲しければConsulを使えばいい
    • Serfの機能で十分ならSerfをもとに自作すればいい

となるのではないかと。

@udzura
udzura / pty.rb
Created May 6, 2021 09:53
dup2 を自分で使う場合
require 'fiddle/import'
module Dupper
extend Fiddle::Importer
dlload 'libc.so.6'
extern 'int dup2(int oldfd, int newfd);'
end
require 'pty'
master, tty = PTY.open
function peco-git-checkout () {
local selected_branch=$(git branch --list --no-color | colrm 1 2 | peco)
if [ -n "$selected_branch" ]; then
BUFFER="git checkout ${selected_branch}"
zle accept-line
fi
}
zle -N peco-git-checkout
bindkey '^[;^[c' peco-git-checkout

@udzura のやってきたこと

興味関心分野

リアクティブなWebホスティングシステムに向いたコンテナランタイムの開発

<script async class="speakerdeck-embed" data-id="a52bd0069cd447a78681bc951d76aca6" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>
@udzura
udzura / env.bash
Last active January 28, 2021 07:08
## CONTAINER RUNTIME MEETUP #3 working environment
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.10
Release: 20.10
Codename: groovy
$ uname -a
Linux ubuntu-groovy 5.8.0-38-generic #43-Ubuntu SMP Tue Jan 12 12:42:13 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ runc -v
bpf(BPF_MAP_CREATE, {map_type=BPF_MAP_TYPE_ARRAY, key_size=4, value_size=32, max_entries=1, map_flags=0, inner_map_fd=0, map_name="", map_ifindex=0, btf_fd=0, btf_key_type_id=0, btf_value_type_id=0}, 120) = 4
bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_SOCKET_FILTER, insn_cnt=5, insns=0x7ffffd20c790, license="GPL", log_level=0, log_size=0, log_buf=NULL, kern_version=KERNEL_VERSION(0, 0, 0), prog_flags=0, prog_name="", prog_ifindex=0, expected_attach_type=BPF_CGROUP_INET_INGRESS, prog_btf_fd=0, func_info_rec_size=0, func_info=NULL, func_info_cnt=0, line_info_rec_size=0, line_info=NULL, line_info_cnt=0, attach_btf_id=0, attach_prog_fd=0}, 120) = -1 EPERM (Operation not permitted)