๐Ÿงฉ etc./๐Ÿ’ก ๊ฟ€ํŒ

    ์šฐ๋ฆฌํŒ€์˜ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜ ์ •ํ•˜๊ธฐ

    ์šฐ๋ฆฌํŒ€์˜ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜ ์ •ํ•˜๊ธฐ

    ์™œ ํ•„์š”ํ•œ๊ฐ€? ํŒ€์›๋“ค๊ณผ, ํŠนํžˆ ๋ฐฑ์—”๋“œ๋ผ๋ฆฌ ํ˜‘์—…์„ ํ•˜๋ฉด์„œ ์„ค๊ณ„๋ฅผ ๋๋‚ด๊ณ  ๊ตฌํ˜„์œผ๋กœ ๋“ค์–ด๊ฐ€๋ฉด์„œ ๊ฐ€์žฅ ๋จผ์ € ๋งž๋‹ฅ๋“ค์ธ ๋ฌธ์ œ๋Š” โ€œ์ปจ๋ฒค์…˜โ€ ์ด์—ˆ๋‹ค. ์ฃผ์œ„์— ๋ฌผ์–ด๋ณด๋‹ˆ ๊ทธ๊ฒŒ ๋ฌด์Šจ ๋ฌธ์ œ๊ฐ€ ๋˜๊ณ  ์™œ ์ •ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ดํ•ด๋ฅผ ๋ชปํ•˜๋Š” ์‚ฌ๋žŒ๋“ค๋„ ์žˆ์—ˆ์ง€๋งŒ, ๊ฐ™์€ ํ”„๋กœ์ ํŠธ์˜ ์ฝ”๋“œ๋ฅผ ๊ฑด๋“œ๋ฆฌ๋Š” ํŒ€์›์˜ ์ž…์žฅ์—์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์“ด ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ์— ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ฑฐ๋‚˜ ํ•˜๋‹ค๋ชปํ•ด DTO ์˜ ํด๋ž˜์Šค ์ด๋ฆ„๋ถ€ํ„ฐ๊ฐ€ ๋ญํ•˜๋Š” DTO ์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค๋ฉด, ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ์— ๋ถˆํŽธํ•จ์ด ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ™์ด ํ•˜๋Š” ํŒ€์›๊ณผ ์ปจ๋ฒค์…˜์„ ์ •ํ•˜๊ณ  ์ฝ”๋“œ ์ž‘์„ฑ์„ ์‹œ์ž‘ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ฝ”๋“œ ์Šคํƒ€์ผ์— ํ‘œ์ค€์ด๋ผ๋Š” ๊ฒƒ์€ ์—†์ง€๋งŒ, ํŒ€ ๋‚ด๋ถ€์—์„œ ๊ฐ™์€ ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ๊ฒฐ์ •ํ•˜๊ณ  ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ž‘์—… ํšจ์œจ์„ ๋†’์ผ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ ์ง€๋ณด์ˆ˜ ! ๋‚ด๊ฐ€ ์ฝ”๋“œ๋ฅผ ๊ณ„์† ์ž‘์„ฑํ•˜๊ณ  ๊ณ ์ณ๋‚˜..

    Mac :: ํ„ฐ๋ฏธ๋„์— ์ด๋ชจ์ง€ ๋‚˜ํƒ€๋‚ด๊ธฐ

    Mac :: ํ„ฐ๋ฏธ๋„์— ์ด๋ชจ์ง€ ๋‚˜ํƒ€๋‚ด๊ธฐ

    ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๋ณด๋‹ค๋ณด๋‹ˆ๊นŒ ํ„ฐ๋ฏธ๋„ Host ๋‚˜ํƒ€๋‚ด๋Š” ๋ถ€๋ถ„์— ์ด๋ชจ์ง€๊ฐ€ ์žˆ๋˜๋ฐ ์ด๊ฒŒ ๋„ˆ๋ฌด ๊ท€์—ฌ์›Œ๋ณด์—ฌ์„œ ๋‚˜๋„ ์ ์šฉํ•ด๋ณด์•˜๋‹ค. ์‚ฌ์ „ ํ™˜๊ฒฝ ์„ธํŒ… Iterm2 oh-my-zsh ZSH ์„ธํŒ… ํ„ฐ๋ฏธ๋„์„ ๊พธ๋ฏธ๊ณ  ์‹ถ์€ ๋ถ„์ด๋ผ๋ฉด ์ด๊ฑด ์ด๋ฏธ ๊น”๋ ค์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ–ˆ๋‹ค. ์•„์ง ์„ค์น˜ํ•˜์ง€ ์•Š์•˜๋”๋ผ๋„ ์œ„ ์ € ๋‘ ํŒŒ์ผ์€ ์„ค์น˜๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. ์„ค์น˜๊ฐ€ ๋๋‚ฌ๋‹ค๋ฉด ์‰˜์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์ฃผ์ž. vi ~/.zshrc vi ์—๋””ํ„ฐ๋กœ zsh ์„ค์ • ํŒŒ์ผ์— ๋“ค์–ด๊ฐ€์„œ ๊ฐ€์žฅ ํ•˜๋‹จ์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋„ฃ์ž. prompt_context() { # Custom (Random emoji) emojis=("๐Ÿ”ฅ" "๐Ÿป" "๐ŸฆŠ" "๐Ÿป" "๐Ÿš€" "๐ŸŒ™") RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1)) prompt_segment ..

    Github :: Git LFS ๋กœ Large Size ํŒŒ์ผ ๊ด€๋ฆฌ

    Github :: Git LFS ๋กœ Large Size ํŒŒ์ผ ๊ด€๋ฆฌ

    ์—๋Ÿฌ remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. Enumerating objects: 16, done. Counting objects: 100% (16/16), done. Delta compression using up to 8 threads Compressing objects: 100% (14/14), done. Writing objects: 100% (14/14), 188.62 MiB | 2.82 MiB/s, done. Total 14 (delta 2), reused 0 (delta 0), pack-reused 0 remote: Reso..

    IntelliJ :: Mac์šฉ ๋‹จ์ถ•ํ‚ค ๋ชจ์Œ

    IntelliJ :: Mac์šฉ ๋‹จ์ถ•ํ‚ค ๋ชจ์Œ

    ๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์“ฐ๋Š” IntelliJ ๋‹จ์ถ•ํ‚ค ๋ชจ์Œ ๋‹จ์ถ•ํ‚ค๋ฅผ ์ด์šฉํ•ด ์ฝ”๋”ฉ์„ ํ•˜๋Š” ์‚ฌ๋žŒ์„ ๋ณด๋ฉด ๋ฉ‹์žˆ๋‹ค. ๋ฉ‹์žˆ๊ฒŒ ์ฝ”๋”ฉํ•˜๊ณ  ์‹ถ์–ด์„œ ์“ธ๋งŒํ•œ ๋‹จ์ถ•ํ‚ค๋ฅผ ์ ์–ด๋‘๋ ค๊ณ  ํ•œ๋‹ค. (๊ณ„์† ์ถ”๊ฐ€์˜ˆ์ •) ๋ฉ‹์žˆ๊ธฐ๋งŒ ํ•ด์„œ ํ•˜๋Š” ๊ฑด ์•„๋‹ˆ๊ณ  ์ƒ์‚ฐ์„ฑ์ด ๋†’์•„์ง€๋‹ˆ๊นŒ..~ View โŒ˜1 : ํ”„๋กœ์ ํŠธ ์ฐฝ ์—ด๊ณ , ํฌ์ปค์Šค ์œ„์น˜ Esc : ์—๋””ํ„ฐ๋กœ ๋‹ค์‹œ ํฌ์ปค์Šค ์ด๋™ โŒ˜E : ์ตœ๊ทผ ์‹คํ–‰ํ–ˆ๋˜ ํŒŒ์ผ ํ™•์ธ โŒ˜B : ํ•ด๋‹น ํด๋ž˜์Šค ์ด๋™ โŒฅโŒ˜B : ๊ตฌํ˜„์œผ๋กœ ์ด๋™ โŒ˜[ : ์ด์ „ ์ฝ”๋“œ๋กœ ์ด๋™ Editing โ‡งโŒ˜โŽ : ํ˜„์žฌ ๊ตฌ๋ฌธ ์™„์„ฑ โŒฅโŒ˜V : ๋ณ€์ˆ˜ ์ถ”์ถœํ•˜๊ธฐ (Extract โ†’ Variable) โŒฅโŒ˜P : ๋ณ€์ˆ˜ ์ถ”์ถœํ•˜๊ธฐ (Extract โ†’ Parameter) โŒฅโŒ˜M : ๋ณ€์ˆ˜ ์ถ”์ถœํ•˜๊ธฐ (Extract โ†’ Method)

    System :: ARM Assembly ์ •๋ฆฌ

    System :: ARM Assembly ์ •๋ฆฌ

    ARM ์•„ํ‚คํ…์ฒ˜๋Š” 16๊ฐœ์˜ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. R0 ~ R12 : ๋ฒ”์šฉ ๋ ˆ์ง€์Šคํ„ฐ. ์ธ์ž๊ฐ’ ์ €์žฅ ๋“ฑ R13(SP) : Stack Pointer. ์Šคํƒ์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ. x86 ์˜ ESP ๋ ˆ์ง€์Šคํ„ฐ์™€ ๋น„์Šท R14(LR) : Link Register. ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ๋˜๋Œ์•„๊ฐˆ ํ•จ์ˆ˜์˜ ์ฃผ์†Œ๊ฐ€ ์ €์žฅ๋˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ R15(PC) : x86 ์—์„œ์˜ EIP ๋ ˆ์ง€์Šคํ„ฐ์™€ ๋™์ผํ•œ ์—ญํ• . ๋‹ค์Œ์— ์‹คํ–‰ํ•  ์ฝ”๋“œ์˜ ์ฃผ์†Œ ์ €์žฅ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์‚ดํŽด๋ณด์ž. OP Code : MOV, ADD, SUB, LDR, STR ๊ณผ ๊ฐ™์€ ์–ด์…ˆ๋ธ”๋ฆฌ ๋ช…๋ น์–ด cond : ์กฐ๊ฑด๋ถ€๋กœ ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ OP Code ๋’ค์— ๋ถ™์—ฌ์„œ ์‚ฌ์šฉ. Rd : Destination Register. ์—ฐ์‚ฐ์ž‘์—…์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ. ๋ฐ˜๋“œ์‹œ R..

    GDB :: gdb ์‚ฌ์šฉ๋ฒ• ๋ฐ ์˜ต์…˜ ์ •๋ฆฌ

    GDB :: gdb ์‚ฌ์šฉ๋ฒ• ๋ฐ ์˜ต์…˜ ์ •๋ฆฌ

    GDB ๋ผ๊ณ  ๋ถ€๋ฅด๋Š” GNU Debugger๋Š” GNU ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ๋””๋ฒ„๊ฑฐ. GDB๋Š” ๋‹ค์–‘ํ•œ ์œ ๋‹‰์Šค ๊ธฐ๋ฐ˜์˜ ์‹œ์Šคํ…œ์—์„œ ๋™์ž‘ํ•˜๋Š” ์ด์‹์„ฑ ์žˆ๋Š” ๋””๋ฒ„๊ฑฐ๋กœ, ์—์ด๋‹ค, C, C++, ํฌํŠธ๋ž€ ๋“ฑ์˜ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ง€์›. GDB ์‚ฌ์šฉ๋ฒ• % gcc -g test.c -o test % gdb (gdb) file [test] // symbol table์„ ๋ถˆ๋Ÿฌ์™€์„œ ๋””๋ฒ„๊น… ์ค€๋น„. (gdb) list // ํ˜„์žฌ ์œ„์น˜์—์„œ ์†Œ์Šค ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ 10์ค„ ๋ณด์—ฌ์คŒ. (gdb) run (r) // ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘. (gdb) break (b) // ๋ผ์ธ ๋ฒˆํ˜ธ๋‚˜ ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์ธ์ž๋กœ ์ค„ ์ˆ˜ ์žˆ์Œ. ํŠน์ • ๋ผ์ธ์ด๋‚˜ ํ•จ์ˆ˜์— ๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํŠธ ์„ค์ •. (gdb) disas [func or var] // ํŠน์ • ์ฃผ์†Œ๋ฅผ disassemb..