๋ก๋๋งต https://www.inflearn.com/roadmaps/375
Wiki Index
์ด์์ฒด์ ์์ฃผ ์ฌ์ด ์ธ ๊ฐ์ง ์ด์ผ๊ธฐ ๐
05.0 ๋ง๊ฐ : ํ๋ก์ธ์ค API ๊ฑฐ์ ๋ชจ๋ ์์ค์ฝ๋์ ๊ฐ์์๋ฃ๋ ์๋ ๋งํฌ๊ฐ ์ถ์ฒ ์ ๋๋ค. ๊ฐ์ ์์ค์ฝ๋ : OSTEP ํ ์คํธ ํ๋ก๊ทธ๋จ : OSTEP Test Programs ์ญ์ ๊ฐ์ ์๋ฃ : ๊ฐ์์๋ฃ ๊ฐ๋ ์ ์ธ ๋ด์ฉ์ด ์๋ ์ค์ ์ ์ธ ์ธก๋ฉด์์ ์ฝ๋๋ฅผ ๋ณด๋ ์ฅ์ ๋ง๊ฐ์ด๋ผ๊ณ ๋ณ๋ ํ๊ธฐํ๋ค. ์ด๋ฒ ์ ์์๋, Unix ์์คํ ์ ํ๋ก์ธ์ค ์์ฑ์ ๊ดํด ๋ฐฐ์ด๋ค. Unix๋ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๋ ์์คํ ์ฝ๋ก ๋ค์ ๋๊ฐ์ง๋ฅผ ์ ๊ณตํ๋ค. fork() exec() ๊ทธ๋ฆฌ๊ณ wait() ํจ์๋ฅผ ํตํด ์์ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆด ์ ์๋ค. ํต์ฌ ์ง๋ฌธ : ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๊ณ ์ ์ดํ๋ ๋ฐฉ๋ฒ, ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๊ณ ์ ์ดํ๋ ค๋ฉด ์ด์์ฒด์ ๊ฐ ์ด๋ค ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํด์ผ ํ๋๊ฐ?...
์ฝ๋ฉ ํ ์คํธ ์ธ์ด ์ ํ๊ธฐ
๋๋๊ฒ๋ ์ธ์ด ์ ํ๋๋ฐ๋ ์๊ฐ์ด ๋ง์ด ํ์ํ๋ค..
Vim Improve Sheet ๐ฆ
Vim Improve Sheet ๐ฆ Vim Improve Sheet ๋ผ๊ณ ์์ฑํ๋๋ฐ, ์ฌ์ค ์์ข์ ์ต๊ด์ ๊ณ ์น๊ธฐ ์ํ ์ํธ๋ผ๊ณ ์๊ฐํ๋ฉด ๋ ์ข์ ๊ฒ ๊ฐ๋ค. ๋ญ๊ฐ ๋ถ๋ช ํ ๋ ๋์ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ ๊ฐ์๋ฐ, ๋น์ฅ ์์๋ณด๊ธฐ ๊ท์ฐฎ์์ ๊ทธ๋ฅ ๋์ด๊ฐ๋ ์ต๊ด์ ๊ณ ์น๊ธฐ ์ํ ์ํธ์ด๋ค. 01. Vim์ผ๋ก ๋ฐ์ดํ ์์ฐ๊ธฐ nvim-surround ํ๋ฌ๊ทธ์ธ์ ์ด์ฉํ๋ค (โkylechui/nvim-surroundโ) ๋ณ ํ์๋ ๋ถ๋ถ์ด ์ปค์์ ์์น๋ฅผ ๋ํ๋ธ๋ค. Old text Command New text surr*ound_words ysiw) (surround_words) *make strings ys$" "make strings" [delete ar*ound me!] ds] delete around me!...
์ถ์ ์ผ๋ณธ์ฌํ
์ถ์ ๋ฏผ์์ด์ ํจ๊ปํ๋ ์ผ๋ณธ ์ฌํ โค๏ธ 00. ์ฐธ๊ณ ๋งํฌ ๐ ๊ตํ ์ฃผ์ ๊ด๊ด์ง [[ํํ-์ ๋ฆฌ-๋งํฌ]] ๊ตํ ์ฌํ ์ฝ์ค ๊ตํ ์ค์ฌ์นด ์ฌํ ์ฝ์ค ์ผ๋ณธ ์งํ์ฒ ์ฝ๋ ์ค์ฌ์นด ์ฃผ์ ๊ด๊ด์ง 01. ์ฌํ ์ค๋น ์ฒดํฌ๋ฆฌ์คํธ ๐ฏ ์ฌ๊ถ ํ์ธ ํ์ ํ์ํ ์๋ฅ ์ค๋น ์ธ๋ฉด๋๊ตฌ ์ค๋น ์ถฉ์ ๊ธฐ ๋ฐ ์ด๋ํฐ ์ค๋น ์ฌํ๊ฐ๋ฐฉ ์ค๋น ๋ก๋ฐ ์ ๋ฌผ ์ฑ๊ธฐ๊ธฐ 02. ์ฌํ ์ผ์ ๐ 09์ 13์ผ (๊ธ) ์ค์ : ์ถ๊ตญ ์คํ : ํธํ ์ฒดํฌ์ธ, ์๋ผ์์ผ๋ง ๋ฐฉ๋ฌธ ์ ๋ : ์๊ฐ ๋ณด๊ณ ๊ทผ์ฒ์์ ์์ฌ ํ๊ณ ๋ง๋ฌด๋ฆฌ ์๋ฐ : ๊ตฟ ๋ค์ด์ฒ ํธํ ๊ตํ ์ ํ๋ฒํธ: +81-75-3526730 ์ฐธ๊ณ : ์ฌ๊ฐ๋ ธ-ํ ๋กฏ์ฝ ์ด์ฐจ ์ฐธ๊ณ : ๋๋๋ฌด์ฒ ํ๊ธฐ ์ฐธ๊ณ : ์๋ผ์์ผ๋ง ๊ด๋ จ ๊ฐ์ด๋ JR ํ๋ฃจ์นด ๊ณตํญ ํน๊ธ์ด์ฐจ ํธ๋ํฐ์ผ (์๊ฐ ์ ํ ์์) 09์ 14์ผ (ํ ) ์ค์ : ์ฒญ์์ฌ, ๋๋จ์์นด, ์ฐ๋จ์์นด(๊ตํตํธ ํ์ธ) ์คํ : ์๊ฐ์ฌ, ๊ตํ ํ์ ์ ๋ : ๊ธฐ์จ ๊ฑฐ๋ฆฌ์์ ์ ๋ ์์ฌ ์๋ฐ : ์ฐ๋ฐ ์ฐธ๊ณ : ์ฒญ์์ฌ ๊ด๋ จ ๊ฐ์ด๋/๊ตํตํธ 09์ 15์ผ (์ผ) ์ค์ : ํ์๋ฏธ ์ด๋๋ฆฌ ์ ์ฌ, ๋๊ณ ์ผ ์ด๋ ์คํ : ์ค์์์ค 21, ๋๊ณ ์ผ ์ฑ (๊ฐ๋ฅํ๋ฉด) ์ ๋ : ๋๊ณ ์ผ์์ ์ ๋ ์์ฌ(๋ง์ง ์ฐพ์ ์์ ) ์๋ฐ : ํธํ ์ผ์ดํ ๋๊ณ ์ผ ๊ตํ ์ญ์์ ๋๊ณ ์ผ์ญ ์ด๋ (์ฐจ๋๋ฒํธ Nozomi 94) 13:45๋ถ ์ถ๋ฐ 09์ 16์ผ (์) ์ค์ : ์ง๋ธ๋ฆฌ ๐ ์คํ : ์ง๋ธ๋ฆฌ ๐ ์ ๋ : ์ง๋ธ๋ฆฌ ๐ ์ ๋ ๋ง์ง์ ๋ฐ์๋ฃ์ ์์ ์๋ฐ : ์ฐ๋ฐ 09์ 17์ผ (ํ) ์ค์ : ์ค์ฌ์นด ์ด๋ ์คํ : ๋ํค๋ณด๋ฆฌ, ์ค์ฌ์นด ์ฑ (๋ฏธ์ ) ์ ๋ : ๋ํค๋ณด๋ฆฌ์์ ์ ๋ ์์ฌ (๋ง์ง ์ฐพ์ ์์ ) ์๋ฐ : ํธํ ํํ ์ค์ฌ์นด ๋๊ณ ์ผ์ญ์์ ์ค์ฌ์นด์ญ ์ด๋ (์ฐจ๋๋ฒํธ Nozomi 21) 11:00 ์ถ๋ฐ 09์ 18์ผ (์) ์ค์ : ์ ๋๋ฒ์ ์คํ๋์ค ์ฌํฌ ๐ข ์คํ : ์ ๋๋ฒ์ ์คํ๋์ค ์ฌํฌ ๐ข ์ ๋ : ์ ๋๋ฒ์ ์คํ๋์ค ์ฌํฌ ๐ข ์๋ฐ : ์ฐ๋ฐ 09์ 19์ผ (๋ชฉ) ์ค์ : ๊ท๊ตญ ์ค๋น ์ค์ฌ์นด - ๊ฐ์ฌ์ด ๊ณตํญ ๋ฆฌ๋ฌด์ง ๋ฒ์ค ์ด์ฉ(์๊ฐ ์ ํ ์์)
ํ๋ก์ธ์ค ์๋ฎฌ๋ ์ด์ ์์ ๐
source code : process-run.py link : https://github.com/remzi-arpacidusseau/ostep-homework/blob/master/cpu-intro/process-run.py #! /usr/bin/env python from __future__ import print_function import sys from optparse import OptionParser import random # to make Python2 and Python3 act the same -- how dumb def random_seed(seed): try: random.seed(seed, version=1) except: random.seed(seed) return # process switch behavior SCHED_SWITCH_ON_IO = 'SWITCH_ON_IO' SCHED_SWITCH_ON_END = 'SWITCH_ON_END' # io finished behavior IO_RUN_LATER = 'IO_RUN_LATER' IO_RUN_IMMEDIATE = 'IO_RUN_IMMEDIATE' # process states STATE_RUNNING = 'RUNNING' STATE_READY = 'READY' STATE_DONE = 'DONE' STATE_WAIT = 'BLOCKED' # members of process structure PROC_CODE = 'code_' PROC_PC = 'pc_' PROC_ID = 'pid_' PROC_STATE = 'proc_state_' # things a process can do DO_COMPUTE = 'cpu' DO_IO = 'io' DO_IO_DONE = 'io_done' class scheduler: def __init__(self, process_switch_behavior, io_done_behavior, io_length): # keep set of instructions for each of the processes self....
OSTEP-Week-01 ์ง์ ์๋ต ๐
Week-01 ๐
01 ์ฅ - ์ด ์ฑ ์ ๋ํ ๋ํ ์์ฃผ ๊ฐ๋จํ ์ด ์ฑ ์ ๋ํ ์๊ฐ๋ฅผ ํ๋ ์ฑํฐ์ด๋ค. ๋ ์ฅ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ์ด ์ฑ ์์ ์์ฃผ ๋์ค๊ฒ ๋๋ ๊ต์์ ํ์์ ๋ํ ํ์์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ํต์ฌ์ ์ธ ์์ด๋์ด๋ฅผ ์์ฝํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ๋ฆฌ์ฒ๋ ํ์ธ๋ง์ ๋ฌผ๋ฆฌํ ์์ฃผ ์ฌ์ด 6๊ฐ์ง ์ด์ผ๊ธฐ๋ผ๋ ๊ฐ์ ๋ ธํธ๊ฐ ์๋ค. ๋ฌผ๋ฆฌํ์ด 6๋งํผ ์ด๋ ค์ฐ๋ฉด, ์ด์์ฒด์ ๋ 3๋งํผ ์ด๋ ต๊ธฐ ๋๋ฌธ์, ์ด ์ฑ ์ ์ ๋ชฉ์ด โ์ด์์ฒด์ ์์ฃผ ์ฌ์ด ์ธ ๊ฐ์ง ์ด์ผ๊ธฐ"์ด๋ค. ์ด ์ฑ ์ ์ด์์ฒด์ ์ ๋ํ ์ด์ผ๊ธฐ๋ฅผ 3๊ฐ์ง๋ก ๋๋์ด์ ์ค๋ช ํ๋ค. ๊ฐ์ํ, ๋ณํ์ฑ, ์์์ฑ 02 ์ฅ - ์ด์์ฒด์ ๊ฐ์ ์ด ์ฑ ์์ ๋ค๋ฃจ๊ฒ ๋ ๋ด์ฉ์ด์ง๋ง ์์ฃผ ๊ฐ๋จํ๊ฒ ์ฝ์์ผ๋ก ์ค๋ช ํ๋ ๊ธ์ด ์์ด ๊ฐ์ ธ์๋ค....
์ด์์ฒด์ ์์ฃผ ์ฌ์ด ์ธ ๊ฐ์ง ์ด์ผ๊ธฐ ๐
OSTEP ์คํฐ๋
nvim cheat sheet
1์ผ 1์ปค๋งจ๋ ์ ๋ฆฌ ^ + b, f : ํ ํ์ด์ง์ฉ ์คํฌ๋กค zz : ํ์ฌ ์ปค์๊ฐ ์๋ ์ค์ ํ๋ฉด ์ค์์ผ๋ก ์ด๋ yi( : ๊ดํธ ์์ ์๋ ๋ด์ฉ ๋ณต์ฌ vap : ๋น์ฃผ์ผ๋ชจ๋ ํ ๋ฌธ๋จ ๋ธ๋ก ์์ฐ๊ธฐ ์ด๋ ๊ด๋ จ brace ๊ด๋ จ ์ปค๋งจ๋๋ฅผ ์กฐ๊ธ ๋ ์์ฐ๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์ ํ๋ค. ๊ฐ์ธ์ ์ผ๋ก vim์ ๋ ์์ฐ๊ธฐ ์ํด์ ์ ๋ฆฌ๋ฅผ ์ ํด๋ฌ์ผ ํ ๊ฒ ๊ฐ๋ค. ^ + b, f: ํ ํ์ด์ง์ฉ ์คํฌ๋กค ^ + d, u: ๋ฐ ํ์ด์ง์ฉ ์คํฌ๋กค e, E: ๋ค์ ๋จ์ด์ ๋์ผ๋ก, ๋ฌธ์ ๋จ์ ์ด๋ w, W: ๋ค์ ๋จ์ด์ ์ฒ์์ผ๋ก, ๋ฌธ์ ๋จ์ ์ด๋ $: ์ค์ ๋ง์ง๋ง์ผ๋ก ์ด๋ 0: ์ค์ ์ฒ์์ผ๋ก ์ด๋ ^: ์ค์ ์ฒ์์ผ๋ก ์ด๋ (๊ณต๋ฐฑ์ด ์๋ ์ฒ์ ์์๋๋ ๋ฌธ์) Shift + g: ๋ฌธ์์ ๋ง์ง๋ง์ผ๋ก ์ด๋ gg, 1g: ๋ฌธ์์ ์ฒ์์ผ๋ก ์ด๋ (์ซ์ ๋ผ์ธ์ผ๋ก ์ด๋) ), (: ๋ค์, ์ด์ ๋ฌธ์ฅ์ ์ฒ์์ผ๋ก ์ด๋ }, {: ๋ค์, ์ด์ ๋ฌธ๋จ์ ์ฒ์์ผ๋ก ์ด๋ ]], [[: ๋ค์, ์ด์ ๊ตฌ์ ์ ์ฒ์์ผ๋ก ์ด๋ ์๋ ํ์ธ์ Vimwiki ๊ด๋ จ ์ปค๋งจ๋ Tab โ Find next wiki link Shift + Tab โ Find previous wiki link Split ๊ด๋ จ ์ปค๋งจ๋ <leader>sv: ์ฐฝ ์์ง ๋ถํ <leader>sh: ์ฐฝ ์ํ ๋ถํ <leader>se: ์ฐฝ ํ์ฅ <leader>sx: ์ฐฝ ๋ซ๊ธฐ lsp ๊ด๋ จ ์ปค๋งจ๋ <leader>gd: ์ ์๋ก ์ด๋ ํค ๋ฐ์ธ๋ฉ <leader>gR: LSP ์ฐธ์กฐ ํ์ <leader>gD: ์ ์ธ์ผ๋ก ์ด๋ <leader>gd: LSP ์ ์ ํ์ <leader>gi: LSP ๊ตฌํ ํ์ <leader>gt: LSP ์ ํ ์ ์ ํ์ <leader>ca: ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋ ์ก์ ํ์ <leader>rn: ์ค๋งํธ ๋ฆฌ๋ค์ <leader>D: ๋ฒํผ ์ง๋จ ํ์ <leader>d: ์ค ์ง๋จ ํ์ <leader>[d: ์ด์ ์ง๋จ์ผ๋ก ์ด๋ <leader>]d: ๋ค์ ์ง๋จ์ผ๋ก ์ด๋ <leader>K: ์ปค์ ์๋ ํญ๋ชฉ์ ๋ํ ๋ฌธ์ ํ์ <leader>rs: LSP ์ฌ์์ nvim-surround ๋ฐ์ดํ ์ถ๊ฐ...