๋กœ๋“œ๋งต https://www.inflearn.com/roadmaps/375

April 29, 2024

์šด์˜์ฒด์ œ ์•„์ฃผ ์‰ฌ์šด ์„ธ ๊ฐ€์ง€ ์ด์•ผ๊ธฐ ๐Ÿ“š

05.0 ๋ง‰๊ฐ„ : ํ”„๋กœ์„ธ์Šค API ๊ฑฐ์˜ ๋ชจ๋“  ์†Œ์Šค์ฝ”๋“œ์™€ ๊ฐ•์˜์ž๋ฃŒ๋Š” ์•„๋ž˜ ๋งํฌ๊ฐ€ ์ถœ์ฒ˜ ์ž…๋‹ˆ๋‹ค. ๊ฐ•์˜ ์†Œ์Šค์ฝ”๋“œ : OSTEP ํ…Œ์ŠคํŠธ ํ”„๋กœ๊ทธ๋žจ : OSTEP Test Programs ์—ญ์ž ๊ฐ•์˜ ์ž๋ฃŒ : ๊ฐ•์˜์ž๋ฃŒ ๊ฐœ๋…์ ์ธ ๋‚ด์šฉ์ด ์•„๋‹Œ ์‹ค์ œ์ ์ธ ์ธก๋ฉด์—์„œ ์ฝ”๋“œ๋ฅผ ๋ณด๋Š” ์žฅ์€ ๋ง‰๊ฐ„์ด๋ผ๊ณ  ๋ณ„๋„ ํ‘œ๊ธฐํ•œ๋‹ค. ์ด๋ฒˆ ์ ˆ์—์„œ๋Š”, Unix ์‹œ์Šคํ…œ์˜ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ์— ๊ด€ํ•ด ๋ฐฐ์šด๋‹ค. Unix๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์‹œ์Šคํ…œ์ฝœ๋กœ ๋‹ค์Œ ๋‘๊ฐ€์ง€๋ฅผ ์ œ๊ณตํ•œ๋‹ค. fork() exec() ๊ทธ๋ฆฌ๊ณ  wait() ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆด ์ˆ˜ ์žˆ๋‹ค. ํ•ต์‹ฌ ์งˆ๋ฌธ : ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ œ์–ดํ•˜๋Š” ๋ฐฉ๋ฒ•, ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ œ์–ดํ•˜๋ ค๋ฉด ์šด์˜์ฒด์ œ๊ฐ€ ์–ด๋–ค ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š”๊ฐ€?...

April 27, 2024

์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์–ธ์–ด ์ •ํ•˜๊ธฐ

๋†€๋ž๊ฒŒ๋„ ์–ธ์–ด ์ •ํ•˜๋Š”๋ฐ๋„ ์‹œ๊ฐ„์ด ๋งŽ์ด ํ•„์š”ํ•˜๋‹ค..

April 25, 2024

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!...

April 23, 2024

ํ”„๋กœ์„ธ์Šค ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์ˆ™์ œ ๐Ÿ“š

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....

April 21, 2024

OSTEP-Week-01 ์งˆ์˜ ์‘๋‹ต ๐Ÿ“š

April 21, 2024

Week-01 ๐Ÿ“š

01 ์žฅ - ์ด ์ฑ…์— ๋Œ€ํ•œ ๋Œ€ํ™” ์•„์ฃผ ๊ฐ„๋‹จํ•œ ์ด ์ฑ…์— ๋Œ€ํ•œ ์†Œ๊ฐœ๋ฅผ ํ•˜๋Š” ์ฑ•ํ„ฐ์ด๋‹ค. ๋‘ ์žฅ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ์ด ์ฑ…์—์„œ ์ž์ฃผ ๋‚˜์˜ค๊ฒŒ ๋˜๋Š” ๊ต์ˆ˜์™€ ํ•™์ƒ์˜ ๋Œ€ํ™” ํ˜•์‹์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ํ•ต์‹ฌ์ ์ธ ์•„์ด๋””์–ด๋ฅผ ์š”์•ฝํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ฆฌ์ฒ˜๋“œ ํŒŒ์ธ๋งŒ์˜ ๋ฌผ๋ฆฌํ•™ ์•„์ฃผ ์‰ฌ์šด 6๊ฐ€์ง€ ์ด์•ผ๊ธฐ๋ผ๋Š” ๊ฐ•์˜ ๋…ธํŠธ๊ฐ€ ์žˆ๋‹ค. ๋ฌผ๋ฆฌํ•™์ด 6๋งŒํผ ์–ด๋ ค์šฐ๋ฉด, ์šด์˜์ฒด์ œ๋Š” 3๋งŒํผ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์—, ์ด ์ฑ…์˜ ์ œ๋ชฉ์ด โ€œ์šด์˜์ฒด์ œ ์•„์ฃผ ์‰ฌ์šด ์„ธ ๊ฐ€์ง€ ์ด์•ผ๊ธฐ"์ด๋‹ค. ์ด ์ฑ…์€ ์šด์˜์ฒด์ œ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ 3๊ฐ€์ง€๋กœ ๋‚˜๋ˆ„์–ด์„œ ์„ค๋ช…ํ•œ๋‹ค. ๊ฐ€์ƒํ™”, ๋ณ‘ํ–‰์„ฑ, ์˜์†์„ฑ 02 ์žฅ - ์šด์˜์ฒด์ œ ๊ฐœ์š” ์ด ์ฑ…์—์„œ ๋‹ค๋ฃจ๊ฒŒ ๋  ๋‚ด์šฉ์ด์ง€๋งŒ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•ฝ์‹์œผ๋กœ ์„ค๋ช…ํ•˜๋Š” ๊ธ€์ด ์žˆ์–ด ๊ฐ€์ ธ์™”๋‹ค....

April 21, 2024

์šด์˜์ฒด์ œ ์•„์ฃผ ์‰ฌ์šด ์„ธ ๊ฐ€์ง€ ์ด์•ผ๊ธฐ ๐Ÿ“š

OSTEP ์Šคํ„ฐ๋””

April 21, 2024

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 ๋”ฐ์˜ดํ‘œ ์ถ”๊ฐ€...

April 20, 2024

๊ฐœ๋ฐœ ๊ด€๋ จ Cheat Sheet

Cheat Sheet ๐Ÿ“œ ์ฝ”ํ‹€๋ฆฐ Cheat Sheet : ์ฝ”ํ‹€๋ฆฐ์„ ๋ฐฐ์›Œ๋†“๊ณ  ์•ˆ์จ๋จน๋‹ค๋ณด๋‹ˆ ๊นŒ๋จน๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•„ ์ฐพ์•„์˜จ Cheat Sheet Coding Test ๐Ÿงฉ cpp-๋ฌธ๋ฒ•-์ •๋ฆฌ : ์ฝ”ํ…Œ์šฉ C++ ๋ฌธ๋ฒ• ์ •๋ฆฌ cpp-๋ฌธ์ž์—ด : ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ํŒ cpp-์ฝ”ํ…Œ : ์ฝ”ํ…Œ ๊ด€๋ จ ์ž์ฃผ ๋‚˜์˜ค๋Š” ํŒจํ„ด๋“ค ShortCuts ๐Ÿš€ [[LSP-Cheat-Sheet]] : Neovim Language Server Cheat Sheet Vim-Cheat-Sheet : Vim Cheat Sheet [[AeroSpace-macOS]] : ์œˆ๋„์šฐ ๊ด€๋ฆฌ ํˆด

April 19, 2024