Skip to content

cjho0316/42_Archive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-02-09 แ„‹แ…ฉแ„’แ…ฎ 5 37 26

๐Ÿ“— Table of Contents




Duration: 2022.07.04 ~ 2022.07.17

๋‹ค์–‘ํ•œ C์–ธ์–ด ๋‚ด์žฅ ํ•จ์ˆ˜๋“ค์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ํ”„๋กœ์ ํŠธ, ๋‚˜๋งŒ์˜ ํ•จ์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋งŒ๋“ค๊ธฐ
ํ—ˆ์šฉ๋œ ํ•จ์ˆ˜ : malloc, write, free

Tech Stack

Language ย ย ย 

Libft link

Key Features

  • ์ตœ์†Œํ•œ์˜ ์‹œ์Šคํ…œ์ฝœ ํ•จ์ˆ˜๋กœ ๋‚˜๋งŒ์˜ C library ๋งŒ๋“ค๊ธฐ
  • ํ‘œ์ค€ library์— ์žˆ๋Š” ํ•จ์ˆ˜ ์›ํ˜•์„ ๋ณด๋ฉด์„œ ๊ฐ ํ•จ์ˆ˜์˜ ๋ชฉ์ ์€ ๋ฌด์—‡์ด๊ณ , ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•ด์•ผํ• ์ง€ ํŒŒ์•…ํ•˜๊ธฐ
  • ๊ณต์‹ Reference๋ฅผ ์ฐพ์•„๋ณด๊ณ  ๊ตฌํ˜„ํ•˜๋Š” ์—ญ๋Ÿ‰ ๊ธฐ๋ฅด๊ธฐ
  • C์–ธ์–ด์™€ ๋” ์นœ์ˆ™ํ•ด์ง€๊ธฐ (const, sizt_t, ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ, ํ•จ์ˆ˜ํฌ์ธํ„ฐ)
  • Makefile ํ™œ์šฉํ•˜๊ธฐ


get_next_line ใ€ฐ๏ธ

Duration: 2022.07.17 ~ 2022.08.12

fd๋ฅผ ์ฝ์œผ๋ฉด์„œ ๊ฐœํ–‰(\n) ๋‹จ์œ„๋กœ char *๋กœ ๋ฆฌํ„ดํ•ด์ฃผ๋Š” ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ
ํŒŒ์ผ์˜ ๋ฌธ์ž๋ฅผ ์ฝ์„ ๋•Œ ํ•œ๋ฒˆ์— ์ฝ์–ด์˜ค์ง€ ์•Š์œผ๋ฉฐ, ํ•จ์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ํ˜ธ์ถœํ•ด๋„ ์žƒ์–ด๋ฒ„๋ฆฌ๋Š” ๋ฌธ์ž๊ฐ€ ์—†์–ด์•ผ ํ•˜๊ณ , ์—ฌ๋Ÿฌ fd๋ฅผ ๋ฒˆ๊ฐˆ์•„ ์ฝ์–ด๋„ ์žƒ์–ด๋ฒ„๋ฆฌ๋Š” ๋ฌธ์ž๊ฐ€ ์—†์–ด์•ผ ํ•จ
ํ—ˆ์šฉ๋œ ํ•จ์ˆ˜ : read, malloc, free
์ „์—ญ๋ณ€์ˆ˜ ์‚ฌ์šฉ ๊ธˆ์ง€, static ๋ณ€์ˆ˜ 1๊ฐœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

Tech Stack

Language ย ย ย 

get next line

Key Features

  • ํŒŒ์ผ๋””์Šคํฌ๋ฆฝํ„ฐ(fd) ์ดํ•ด ๋ฐ ์‚ฌ์šฉ
  • readํ•จ์ˆ˜ ์‚ฌ์šฉ
  • ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ํ™œ์šฉ
  • lldb๋ฅผ ์‚ฌ์šฉํ•œ ๋””๋ฒ„๊น…
  • C ์ปดํŒŒ์ผ ์˜ต์…˜ -g3 -fasnitize=address๋ฅผ ์‚ฌ์šฉํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ฐธ์กฐ ์˜ค๋ฅ˜ ๊ฒ€์‚ฌ
  • ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์˜ ๊ฐœ๋…์„ ํ™•์‹คํžˆ ์ตํžˆ๊ณ  ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ (2์ค‘ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•จ)


Duration: 2022.08.10 ~ 2022.08.12

<stdio.h> ์— ์žˆ๋Š” printf ํ•จ์ˆ˜ ๊ตฌํ˜„ํ•˜๊ธฐ
๊ธฐ๋ณธ ๊ตฌํ˜„ : c s p d i u x X o O % ์˜ ํ˜•์‹์— ๋Œ€ํ•ด ๊ตฌํ˜„ํ•˜๊ธฐ
ํ—ˆ์šฉํ•จ์ˆ˜ : malloc, free, write, va_start, va_arg, va_copy, va_end

Tech Stack

Language ย ย ย 

ft_printf link

Key Features

  • ๊ฐ€๋ณ€์ธ์ž๊ฐ€ ๋ฌด์—‡์ด๊ณ , ๋ฉ”๋ชจ๋ฆฌ์ƒ์—์„œ ์–ด๋–ป๊ฒŒ ๊ฐ’์„ ์ฝ๋Š” ๊ฒƒ์ธ์ง€
  • ๊ฒฝ์šฐ๋ฅผ ๋”ฐ์ ธ๊ฐ€๋ฉฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ธฐ(flag์™€ ์„œ์‹์— ๋งž๊ฒŒ ์ถœ๋ ฅํ•˜๊ธฐ)




Duration: 2022.08.10 ~ 2022.08.12

VM ์‚ฌ์šฉํ•ด๋ณด๊ธฐ (virtual Box)
VM ์šด์˜์ฒด์ œ ์„ค์น˜ํ•ด๋ณด๊ณ  ๊ฐ์ข… ์„ค์ • ํ•ด๋ณด๊ธฐ

Tech Stack

Language ย ย ย 

Key Features

  • VM(virtual machine)์ด๋ž€?
  • debian, centOS ์šด์˜์ฒด์ œ ํŠน์„ฑ ํŒŒ์•… ๋ฐ vm์— CLI ๋ฒ„์ „ ์„ค์น˜ํ•ด๋ณด๊ธฐ (+ ์šด์˜์ฒด์ œ๋ž€? ๋ฆฌ๋ˆ…์Šค๋ž€? ์ปค๋„์ด๋ž€?)
  • LVM(Logical Volume Manager) ๊ฐœ๋… ์•Œ๊ณ  ์ด๊ฒƒ์œผ๋กœ vm ์„ค์น˜ํ•˜๊ธฐ
  • ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ํŒจํ‚ค๊ธฐ ์„ค์น˜ํ•ด๋ณด๊ธฐ
  • AppAmor(debian) ์„ค์น˜ ๋ฐ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
  • sudo๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ๊ณ  ์„ค์น˜ ๋ฐ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ
  • debian์˜ ์‚ฌ์šฉ์ž ๋ฐ ๊ทธ๋ฃน ์„ค์ •ํ•˜๊ธฐ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ •์ฑ… ์„ค์ •
  • SSH ์„ค์น˜ ๋ฐ ์›๊ฒฉ ์ ‘์† ํ•ด๋ณด๊ธฐ(ssh, port forwarding)
  • UFW ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ์„ค์ • (๋ฐฉํ™”๋ฒฝ, ๋ฐฉํ™”๋ฒฝ ์„ค์ • ํŒจํ‚ค์ง€)
  • CRON ์‚ฌ์šฉํ•˜์—ฌ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ์ƒํ™ฉ ๋„์šฐ๊ธฐ




Duration: 2022.08.12 ~ 2022.10.05

UNIX signal (์†Œ์ผ“ํ†ต์‹ )์„ ํ™œ์šฉํ•œ ์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ ๋ฉ”์„ธ์ง€ ๋ณด๋‚ด๊ธฐ
SIGUSR1, SIGUSR2 ์˜ ๋‘๊ฐ€์ง€ ์‹ ํ˜ธ๋ฅผ ํ†ตํ•ด์„œ ๋ฉ”์„ธ์ง€ ๋ณด๋‚ด๊ณ  ๋ฐ›๋Š” ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ
๋ณด๋„ˆ์ŠคํŒŒํŠธ : ์œ ๋‹ˆ์ฝ”๋“œ ์ง€์›, ์„œ๋ฒ„์—์„œ ๋ฐ›์€ signal๊ฐœ์ˆ˜ ํ™•์ธํ•˜๋Š” ์ž‘์—… ์ถ”๊ฐ€
ํ—ˆ์šฉํ•จ์ˆ˜ : write, signal, sigemptyset, sigaddset, sigaction, kill, getpid, malloc, free, pause, sleep, usleep, exit

Tech Stack

Language ย ย ย 

minitalk link

Key Features

  • UNIX signal์„ ํ†ตํ•œ ํ†ต์‹ , ์ปค๋„(์‹œ์Šคํ…œ์ฝœ)์„ ํ†ตํ•ด ํ”„๋กœ์„ธ์Šค๊ฐ„ ํ†ต์‹ 
  • signal ๊ด€๋ จ ํ•จ์ˆ˜
  • PID, ์œ ๋‹ˆ์ฝ”๋“œ, UTF-8 ์ธ์ฝ”๋”ฉ ํ˜•์‹
  • Process์— ๋Œ€ํ•œ ๊ฐœ๋…
  • signal์„ ๋‹ค๋ฃจ๋Š” ํ•จ์ˆ˜๋“ค์— ๋Œ€ํ•œ ์ดํ•ด
  • UFT-8 ํ˜•์‹์— ๋Œ€ํ•œ ์ดํ•ด. writeํ•จ์ˆ˜๋กœ ์ถœ๋ ฅ์‹œํ•ด๋‹น ๋ฐ”์ดํฌ ๋‹จ์œ„๋กœ ์ถœ๋ ฅํ•˜์ง€ ์•Š์•„๋„, ํ„ฐ๋ฏธ๋„์ด UTF-8 ํ˜•์‹์ด๋ผ๋ฉด ์•Œ์•„์„œ ๋ฐ”์ดํŠธ๋‹จ์œ„๋กœ ๋ฌถ์–ด์„œ ์ถœ๋ ฅํ•ด์คŒ


Duration: 2022.10.05 ~ 2022.10.10

mlx ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋งŒ๋“ค์–ด๋ณด๋Š” ๊ฐ„๋‹จํ•œ 2D ๊ฒŒ์ž„


Tech Stack

Language ย ย ย 

so_long link

Key Features

  • ๊ฐ„๋‹จํ•œ WSAD ๋ฐฉํ–ฅํ‚ค๋กœ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ 2D ๊ฒŒ์ž„ ์ œ๊ณต


push swap ๐Ÿฅž

Duration: 2022.10.12 ~ 2022.12.25

ํ”„๋กœ๊ทธ๋žจ์— ๋“ค์–ด์˜ค๋Š” ์ธ์ž๋ฅผ ์Šคํƒ์— ์Œ“๊ณ , ๋นˆ ์Šคํƒ ํ•˜๋‚˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ •๋ ฌํ•˜๊ธฐ
์Šคํƒ์•ˆ์—์„œ ์š”์†Œ๋“ค์„ ์˜ฎ๊ธฐ๋Š” ๋ช…๋ น์–ด๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ๋ช…๋ น์–ด ์ตœ์†Œ์‚ฌ์šฉ์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ
๋ณด๋„ˆ์ŠคํŒŒํŠธ : checker program ๋งŒ๋“ค๊ธฐ(์ •๋ ฌ ์—ฌ๋ถ€ ํ™•์ธ)
ํ—ˆ์šฉํ•จ์ˆ˜ : read, write, malloc, free, exit

Tech Stack

Language ย ย ย 

push_swap link

Key Features

  • ์Šคํƒ์˜ ์˜๋ฏธ, ์Šคํƒ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•(๋ฐฐ์—ด, ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ)
  • ๋‹ค์–‘ํ•œ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋”ฐ๋ฅธ ์‹œ๊ฐ„ ๋ณต์žก๋„
  • ์‹œ๊ฐ„ ๋ณต์žก๋„(big-O)๋ฅผ ๋”ฐ์ง€๋Š” ๋ฐฉ๋ฒ•
  • ํŒŒ์ดํ”„๋ผ์ธ ์‚ฌ์šฉ์‹œ ์•ž ํ”„๋กœ๊ทธ๋žจ์˜ fd 1์ด ๋’ท ํ”„๋กœ๊ทธ๋žจ์˜ fd 0์œผ๋กœ ์ด์–ด์ง


minishell ๐Ÿš

Duration: 2022.12.25 ~ 2023.01.17

bash shell ๋งŒ๋“ค๊ธฐ (bash manual)
๋ช‡๋ช‡ ๋ช…๋ น์–ด๋Š” built-in ํ•จ์ˆ˜๋กœ ๋งŒ๋“ค๊ณ , ๋‚˜๋จธ์ง€๋Š” execve๋กœ ์‹คํ–‰
ํ™˜๊ฒฝ๋ณ€์ˆ˜๋„ ์„ธํŒ…ํ•ด์ค„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ

Tech Stack

Language ย ย ย 

minishell link

Key Features

  • ๋ถ€๋ชจ-์ž์‹ process
  • pipe ํ†ต์‹ 
  • tree ๊ตฌ์กฐ ์žฌ๊ท€ํ•˜ํ–ฅํŒŒ์‹ฑ
  • ์„ค๊ณ„์˜ ์ค‘์š”์„ฑ...


philosopher ๐Ÿค”

Duration: 2023.01.17 ~ 2023.02.12

๋‹ค์ต์ŠคํŠธ๋ผ์˜ ์‹์‚ฌํ•˜๋Š” ์ฒ ํ•™์ž ๋ฌธ์ œ
์ฒ ํ•™์ž์—๊ฒŒ ์ฃผ์–ด์ง„ fork๊ฐ€ ๊ณต์œ ์ž์›์ด๊ธฐ์—, ๊ณต์œ ์ž์› ์ ‘๊ทผ์— ๋Œ€ํ•ด data race๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํ•ด์•ผ ํ•จ
์ฒ ํ•™์ž๋ฅผ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ๋กœ ๊ตฌํ˜„ํ•˜๊ณ , ๊ณต์œ ์ž์›์„ mutex ์ œ์–ดํ•˜๊ธฐ
์ฒ ํ•™์ž๋ฅผ ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค๋กœ ๊ตฌํ˜„ํ•˜๊ณ , ๊ณต์œ ์ž์›์„ semaphore๋กœ ์ œ์–ดํ•˜๊ธฐ(๋ณด๋„ˆ์Šค)
์–ด๋–ค ์ข…๋ฅ˜์˜ data race๋„ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•„์•ผ ํ•จ

Tech Stack

Language ย ย ย 

philosopher link

Key Features

  • ๋ชจ๋“  data race ์— ๋Œ€ํ•ด ์ œ์–ดํ•ด์ฃผ๊ธฐ
  • ์ฒ ํ•™์ž๊ฐ€ ์ฃฝ์—ˆ๋Š”์ง€๋Š” ์ž๊ธฐ ์ž์‹ ์ด ํŒ๋‹จํ•  ์ˆ˜ ์—†์Œ. ๋ชจ๋‹ˆํ„ฐ ์“ฐ๋ ˆ๋“œ๊ฐ€ ์ฒ ํ•™์ž์˜ ์ฃฝ์Œ ์œ ๋ฌด ํ™•์ธํ•˜๊ธฐ
  • thread leak ์ฒดํฌํ•˜๊ธฐ
  • ํ•œ ์“ฐ๋ ˆ๋“œ๋Š” ๊ณต์œ ์˜์—ญ์„ ์ฝ๊ธฐ๋งŒํ•˜๊ณ , ํ•œ ์“ฐ๋ ˆ๋“œ๋Š” ๊ณต์œ ์˜์—ญ์— ์ฝ๊ณ /์“ฐ๊ธฐ๋ฅผ ํ•˜๋Š” ๊ฒƒ๋„ data race์ด๋ฉฐ ์ œ์–ดํ•ด์ค˜์•ผํ•จ.
  • ์ฒ ํ•™์ž๋Š” ์Šค์Šค๋กœ ์ฃฝ์€์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ๋ชจ๋‹ˆํ„ฐ ์“ฐ๋ ˆ๋“œ๊ฐ€ ์ฒ ํ•™์ž์˜ ์ฃฝ์Œ์„ ํŒ๋‹จํ•ด์•ผ ํ•จ


Duration: 2023.01.25 ~ 2023.03.31

2D์˜ ๋งตํŒŒ์ผ์„ ์ฝ๊ณ  ํŒŒ์‹ฑํ•˜์—ฌ 3D ๊ฒŒ์ž„ ๊ตฌํ˜„ํ•˜๊ธฐ mlx graphic library๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ raycasting ํ•˜๊ธฐ


Tech Stack

Language ย ย ย 

cub3D link

Key Features

  • ๋งต ํŒŒ์‹ฑ
  • ๋ฒฝ ์ถฉ๋Œ ๊ฐ์ง€
  • mouse, key ์ž…๋ ฅ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ
  • ray casting


cpp_module(s) ๐ŸŽฑ

Duration: 2023.04.14 ~ 2023.06.07

C++์„ ํ†ตํ•œ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Module Number Key Word
CPP Module 00 C++ Style, Class, Method, I/O, Static, Const, Basic ...
CPP Module 01 Memory Allocation, Pointer, Reference, Switch
CPP Module 02 Orthodox Canonical Form, Operator Overloading, Fixed point
CPP Module 03 Inheritance, Overide, Diamond Inheritance
CPP Module 04 Polymorphism, Abstract Class, Interface
CPP Module 05 Exception, try-catch, Repetition
CPP Module 06 C++ cast(static_, dynamic_, reinterpret_)
CPP Module 07 C++ Template, .tpp
CPP Module 08 Tmplated containers, iterator, algorithm
CPP Module 09 STL(containers, iterator)

Tech Stack

Language ย ย ย 

Key Features

  • ์ „์ฒด์ ์ธ C++ ์ด๋ก ์„ ์š”๊ตฌ์‚ฌํ•ญ ๊ตฌํ˜„์„ ํ†ตํ•ด ํ•™์Šต


Duration: 2023.04.14 ~ 2023.06.07

C++์„ ํ†ตํ•ด ๊ตฌํ˜„ํ•˜๋Š” ์›น์„œ๋ฒ„ http web server ๊ตฌํ˜„ (like NGINX)
socket programming(w/kqueue)
I/O multi plexing
event-driven I/O (Non-block)
cookie & session
CGI(Common Gateway Interface)

Tech Stack

Language ย ย ย 

MyLittleWebServer link

Key Features

  • RFC7230, 7231 MUST๋ฅผ ์ค€์ˆ˜ํ•˜๋Š” ์›น์„œ๋ฒ„๋ฅผ C++๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ


inception ๐Ÿ”

Duration: 2023.06.07 ~ 2023.11.20

Tech Stack

Language ย ย ย 

inception link

Key Features

  • Docker ์œ„์—์„œ MySQL, Nginx, Wordpress๋ฅผ ์ƒ์šฉ์ด๋ฏธ์ง€๊ฐ€ ์•„๋‹Œ ์ปค์Šคํ…€ ์ด๋ฏธ์ง€๋กœ ์˜ฌ๋ฆฌ๊ธฐ


ft_transcendence

Duration: 2023.10.30 ~ 2023.12.30

NestJS, TypeScript, PostgreSQL ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ์ผ“ํ†ต์‹ ์˜ ๊ธฐ๋Šฅ์„ ํ†ตํ•ฉํ•œ Pong ๊ฒŒ์ž„์šฉ ์ข…ํ•ฉ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœ

Tech Stack

Stacks ย ย  ย 

tscenping link

Key Features

  • OAuth ์‚ฌ์šฉ์ž ์ธ์ฆ, ์ฑ„ํŒ… ์‹œ์Šคํ…œ, ๋ผ์ด๋ธŒ ๊ฒŒ์ž„ ์ŠคํŠธ๋ฆฌ๋ฐ, ๋ณด์•ˆ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ


๐Ÿ“ License

This project is MIT licensed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published