Skip to content

Instantly share code, notes, and snippets.

View udzura's full-sized avatar

Kondo Uchio udzura

View GitHub Profile
@udzura
udzura / mruby3.md
Last active September 4, 2020 10:13
$ ./chkheap
PID=7319
Run bpftrace background and hit return:
55a46e740000-55a46e741000 r-xp 00000000 08:01 22338 /home/vagrant/chkheap
55a46e940000-55a46e941000 r--p 00000000 08:01 22338 /home/vagrant/chkheap
55a46e941000-55a46e942000 rw-p 00001000 08:01 22338 /home/vagrant/chkheap
55a4705d0000-55a4705f1000 rw-p 00000000 00:00 0 [heap]
7f341d659000-7f341d840000 r-xp 00000000 08:01 21679 /lib/x86_64-linux-gnu/libc-2.27.so
7f341d840000-7f341da40000 ---p 001e7000 08:01 21679 /lib/x86_64-linux-gnu/libc-2.27.so

21世紀のC言語勉強会 行動規範


アンチハラスメントポリシー

21世紀のC言語勉強会 は私たちが主催するミートアップなどのためのアンチハラスメントポリシーを策定しました。ポリシーの内容は常識を逸脱しておらず、さほど困難な内容をお願いしているわけではないと考えています。ご理解とご協力を賜りますようにお願いします。

以下、「私たち」とは21世紀のC言語勉強会の主催者、「コミュニティ」とはC言語やシステムに興味があり、21世紀のC言語勉強会に参加する皆さんのことを指します。

自分がどういうことを考えてクラス設計しているかを整理してみました。同じようなことを大名エンジニアカレッジでも話したのですが、今回はフィヨルドの課題で考えてみました。

レイヤ分けする

たとえば ls コマンドの場合はこういうレイヤがあるんじゃないかなあと考えられます。

  • インプットする方法... OSの機能を使ってあるディレクトリのファイルを集めないといけない。その操作をする人が必要そう
  • 集まったデータ... ファイルが集まってくる。ファイルには、普通のファイル、ディレクトリの二種類はありそう。
  • アウトプット... 表示のフォーマットがいくつかある。一列のやつと、サイズなどを詳細に出すやつ。
  • それらをつなぐ... ここに書いていないあふれた仕事をとりあえず押し付ける人がいると便利かな...
#!/bin/bash
trepo() {
local TP="$1"
cat /sys/kernel/debug/tracing/events/$TP/format;
}
_trepo_compl() {
local args
args=$( cd /sys/kernel/debug/tracing/events ; find */* -type d )
# -*- mode: ruby -*-
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/disco64"
config.vm.boot_timeout = 900
config.vm.provider "virtualbox" do |vbox|
vbox.cpus = 4
vbox.memory = 4096
end
config.vm.provision "shell", inline: <<-SHELL
default: libupdateptr.so updateptr.o
updateptr.o: updateptr.c
gcc -fPIC -c ./updateptr.c -o updateptr.o
libupdateptr.so: updateptr.o
gcc -shared updateptr.o -o libupdateptr.so
uprobe:/usr/sbin/nginx:ngx_http_read_request_header /!@start[arg1]/
{
printf("[%ld] Passed: %s (%p)\n", tid, probe, arg1);
@start[arg1] = nsecs
}
uprobe:/usr/sbin/nginx:ngx_http_finalize_connection /@start[arg1]/
{
@reqtime = hist(nsecs - @start[arg1]);
delete(@start[arg1]);
}

副読本について

  • Vue.js を一通り動かしてみましょう!
  • たくさん疑問が出ると思いますが、メモをして一旦置いておいて、ともかく完走してみましょう!
    • メモはまとめてSlack、日報でご質問ください!
    • (フロントエンドは比較的経験が浅く、答えるのに時間がかかることもあります...)
  • 基本は Vuejs 公式ガイド の通りに実施します
  • 少しわかりづらいかも?という箇所をここで補足します
    • もちろん、ここで出てきた有益そうな内容は本家にcontributeします