2020-02-01から1ヶ月間の記事一覧

『Database Internals』Chapter1の読書メモ

オライリー社にて2019年に出版の『Database Internals』のChapter1を読んだ際の読書メモです。 Database Internals: A Deep Dive into How Distributed Data Systems Work作者:Petrov, Alex発売日: 2019/10/15メディア: ペーパーバック Chapter1. Introcutio…

gitのbranchの実体はポインタであるという話

git

勘違いしていたので、メモ。 gitにおける branch は 複数のcommitオブジェクトの集合体 だと思っていたが、こちらの記事 を読んで理解が誤っていたことに気が付いた 実際は、gitにおける branch は任意のcommitオブジェクトの(アドレスを)指し示すポインター…

cloudbuildでビルドしたgo言語ファイルがdockerのubuntuイメージ上で実行できない

問題 cloudbuildでビルドしたGo言語のプログラム(ELF形式)を、dockerコンテナ( ubuntu:latest )上で実行しようとしすると実行に失敗する。 # file myapp myapp: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib…

gccによるC言語ファイルのコンパイルの流れ

図 memo オブジェクトファイル中には、実行コードや変数値のデータなどが格納されているが、この段階では、まだ、メモリ上の固定アドレスに割り当てられていない。実際に固定アドレスが割り当てられるのは、リンカによるリンクを行う際で、このアドレス割り…

Dockerコンテナが専用namespaceに属していることを確認する

概要 dockerコンテナによるLinux上の各種リソースの隔離[1] は、linuxのnamespace(名前空間)という機能を使って実現されています [2] 実際にdockerコンテナを作成し、defautの名前空間とは異なる名前空間がdocker用に作成されることを確認します ログ # 環境…

Go言語入門:変数の宣言

『プログラミング言語Go』(初版)の該当箇所を読んだまとめになります。 ページ番号は同書内のページ番号です。 4種類の型 Go言語の型は以下の4種類(P57) 基本型 (basic type) 合成型 (aggregate type) 参照型 (reference type) インターフェース型 (interfac…

Go言語入門:string型の使い方の確認

Go Playground - The Go Programming Language package main import ( "fmt" "reflect" ) func main() { fmt.Printf("Go言語におけるstring型は「不変(immutable)なバイト型のスライス」らしい\n") s := "hello, world" // 宣言 // immutable==再代入不可な…

kubernetesのpod内でstraceをrunning processにアタッチしたい

問題 kubernetesのpod内で strace コマンドの -p オプションを使い、実行中のプロセスにアタッチしようとすると以下のエラーが出る。 # strace -p 1 strace: attach: ptrace(PTRACE_SEIZE, 1): Operation not permitted 原因 strace が内部的に利用している …

/* https://sunrise033.com/entry/hatena-blog-how-to-hierarchicalize-categories */