๋ฌธ์ ํ๋ก๊ทธ๋๋จธ์ค ์์https://school.programmers.co.kr/learn/courses/30/lessons/42578 ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์
๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์
๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.kr ํค์๋๊ฐ ํด์์ธ๋งํผ, ์ต๋ํ ํด์๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์ ๋ฅผ ํ์๋ค. ์ฝ๋def solution(clothes): closet = {} for name, kind in clothes: if kind in closet.keys(): closet[kind] += [name] else: closet[kind] = [nam..
๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
๋ฌธ์ ํ๋ก๊ทธ๋๋จธ์ค ์ ํ๋ฒํธ๋ชฉ๋กhttps://school.programmers.co.kr/learn/courses/30/lessons/42577 ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์
๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์
๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.kr ์ฒ์ ์ฝ๋def solution(phone_book): for choice_phonephone in phone_book: # ํฐ๋ฒํธ ์ ํ for phone in phone_book: # ๋น๊ตํ ํฐ๋ฒํธ if choice_phonephone == phone: # ๋น๊ตํ ํฐ๋ฒํธ๊ฐ ์์ ํฐ๋ฒ์ด๋ฉด ํจ์ค ..
์ด์์ฒด์ (Operating System : OS)๋?์ปดํจํฐ ํ๋์จ์ด ๋ฐ๋ก ์์ ์ค์น๋์ด ์ฌ์ฉ์ ๋ฐ ๋ค๋ฅธ ๋ชจ๋ ์ํํธ์จ์ด์ ํ๋์จ์ด๋ฅผ ์ฐ๊ฒฐํ๋ ์ํํธ์จ์ด ๊ณ์ธต ์ด์์ฒด์ ์ ๋ชฉ์ ์ปดํจํฐ ์์คํ
์ ํธํ๊ฒ ์ฌ์ฉํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํด์ค๋ค.์ปดํจํฐ๋ ํ๋์จ์ด ์์(CPU, ๋ฉ๋ชจ๋ฆฌ, Input/output ์ฅ์น(์ดํ I/O ์ฅ์น) ๋ฑ)์ผ๋ก ์ด๋ฃจ์ด์ ธ์๋ค. ์ด ํ๋์จ์ด์ ๊ด๋ฆฌ๋ฐฉ๋ฒ, ์๋๋ฐฉ์์ ๋ชฐ๋ผ๋ ์ปดํจํฐ๋ฅผ ์ฐ๋ฆฌ๋ ์ ์๋ฒํผ๋ง ๋๋ฅด๋ฉด ํธํ๊ฒ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ ๊ฒ ํธํ๊ฒ ์ฌ์ฉํ ์ ์๋๊ฑด ์ด์์ฒด์ ๋ผ๋ ์ํํธ์จ์ด๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค!์ด์์ฒด์ ๋ ๋์ ์ฌ์ฉ์/ํ๋ก๊ทธ๋จ๋ค์ด ๊ฐ๊ฐ ๋
์์ ์ปดํจํฐ์์ ์ํ๋๋๊ฒ ๊ฐ์ ํ์์ ์ ๊ณตํ๋ค.๋์ ํ๋ก๊ทธ๋จ์ผ ๊ฒฝ์ฐ : ์ฌ์ฉ์๊ฐ ์ปดํจํฐ์์ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ ๋๋ฆฐ๋ค. ์์
ํ๋ก๊ทธ๋จ, snsํ๋ก๊ทธ๋จ, ๊ฒ..
๋ธ๋ก์ฒด์ธ์ด๋? ๋น์ง๋์ค ํธ๋์ญ์
๋ด์ญ์ ํฌ๋ช
ํ๊ฒ ๊ณต์ ํ ์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฉ์ปค๋์ฆ์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ธ๋ก์ด๋ผ๋ ์์ ๋จ์๋ก ๋๋์ด ์ฐ๊ฒฐํ์ฌ ์ฒด์ธ์ ๋ง๋ ๋ค. ๋ชจ๋ ์๋ก์ด ๋น์ง๋์ค ํธ๋์ญ์
(๋ฐ์ดํฐ ๋ธ๋ก)์ ๊ฑฐ๋ ์ฐธ์ฌ์์ ๋์ํ์ ์๊ฐ์์ผ๋ก ๊ธฐ๋กํ๋ค. ๊ธฐ๋ก๋ ๋ฐ์ดํฐ๋ ๋๊ตฌ๋ ์ญ์ /์์ ํ ์ ์๋ค. ๋ฐ์ดํฐ๊ฐ ์ค์ ๊ด๋ฆฌ์ ์์ด ๋คํธ์ํฌ์ ๋ถ์ฐ๋์ด ์ ์ฅ๋๋ค. ๋ธ๋ก์ฒด์ธ์ ์๋๋ฐฉ์ ํฌ๊ฒ 4๋จ๊ณ ์์์ ๋ฐฉ์์ผ๋ก ์ค๋ช
๋๋ค. ๋ธ๋ก์ฒด์ธ ์์คํ
์ ์ด 4๋จ๊ณ์ ๋๋ถ๋ถ์ ์๋ํ ํ ์ ์๋ค. ๊ฑฐ๋๊ธฐ๋ก ๊ฑฐ๋์ ์ฐจ์ ๋ฐ์ดํฐ๋ค์ด ๋ธ๋ก์ผ๋ก ๊ธฐ๋ก๋๋ค. ๊ฑฐ๋์ ๋๊ฐ/์ธ์ /์ด๋์/๋ฌด์์ด/์/์ผ๋ง๋ ๋ฑ์ ์ ๋ณด๋ค์ด ๊ธฐ๋ก๋๋ค. ํฉ์๋์ถ ๊ฑฐ๋์ ๋น์ฌ์๋ค์ ๊ฑฐ๋์ค ๊ธฐ๋ก๋๋ ๋ฐ์ดํฐ๋ค์ด ๊ฐ์น ์๋ค๋๋ฐ ๋์ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋คํธ์ํฌ ์์์ ์ค์ ๋๋ค. ๋ธ๋ก์ฐ๊ฒฐ ..
์ธ๊ณต์ง๋ฅ ์ด๋? ์ธ๊ณต์ง๋ฅ์ ์ธ๊ฐ์ ์ง๋ฅ์ ๋ชจ๋ฐฉํ๋ ๋ชจ๋ ์์คํ
๋๋ ํ๋ก๊ทธ๋จ์ด๋ค. ์ธ๊ณต์ง๋ฅ์ ์ฌ๊ณ , ํ์ต, ๋ฌธ์ ํด๊ฒฐ๋ฅ๋ ฅ ๋ฑ์ ์๋ฎฌ๋ ์ด์
ํ ์ ์๋ค. ๊ฐํ ์ธ๊ณต์ง๋ฅ vs ์ฝํ ์ธ๊ณต์ง๋ฅ ๊ฐํ ์ธ๊ณต์ง๋ฅ ์ฌ๋๊ณผ ๋๋ฑํ๊ฑฐ๋ ๊ทธ ์ด์์ ์ง๋ฅ์ ๊ฐ์ง ์ธ๊ณต์ง๋ฅ์ด๋ค. ๋ค์ํ ์์
์ ์ํํ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ผ๋ฉฐ ์ฌ๋ฌ ์์ญ์์ ์ฌ๋๊ณผ ์ ์ฌํ ํ์ต๋ฅ๋ ฅ๊ณผ ์ดํด๋ ฅ์ ๊ฐ์ถ ์ ์๋ค. ์์ง ๊ฐ๋ฐ๋์ง ์์๋ค. ex ) ์ค์นด์ด๋ท, ์๋น์ค ์ฝํ ์ธ๊ณต์ง๋ฅ ํน์ ์์
์ ๋ฌธ์ ํด๊ฒฐ์๋ง ํนํ๋ ์ธ๊ณต์ง๋ฅ์ด๋ค. ์ฐ๋ฆฌ ์ฃผ๋ณ์ ์ธ๊ณต์ง๋ฅ ํ๋ก๊ทธ๋จ๋ค์ด ์ด์ ํด๋น๋๋ค. ex ) chat GPT, ์์ฑ์ธ์, ์์ฐ์ด ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ ์๋ฆฌ์ ๋น
์ค๋น, ์ํ๊ณ chat GPT๋ ๊ฐํ ์ธ๊ณต์ง๋ฅ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ดํด, ํ์ต๋ฅ๋ ฅ์์ ์ธ๊ฐ๋ณด๋ค ๋๋ฑํ๊ฑฐ๋ ๊ทธ ์ด์์ด ์๋๊ธฐ..
๋ฉํ๋ฒ์ค๋? Meta + Universe ๋ฉํ๋ฒ์ค์์ ๋ฉํ๋ '~์ ๋์ด์'๋ผ๋ ๋ป์ ๊ฐ์ง๋ค. '์ ๋๋ฒ์ค'๋ ์ฐ์ฃผ ์ฆ, ํ์ค์ธ๊ณ๋ฅผ ์๋ฏธํ๋ค. ๋ฐ๋ผ์ ๋ฉํ๋ฒ์ค๋ ํ์ค์ธ๊ณ๋ฅผ ๋์ด์ ๋๋ค๋ฅธ ์๋ก์ด ์ธ๊ณ๋ฅผ ์๋ฏธํ๋ค. ๋ฉํ๋ฒ์ค์์ ๋์ ์๋ฐํ๋ฅผ ๋ง๋ค์ด ์ฌ๋๋ค๊ณผ์ ์ํต ๋ฐ ๋ฌธํ์ํ์ด ๊ฐ๋ฅํ๋ค. IT์
๊ณ์์ ๋ฉํ๋ฒ์ค๋ฅผ ์ฃผ๋ชฉํ๋ ํฐ ์ด์ ๋ ๋น์ง๋์ค์ ์ผ๋ก ์ฐ์ผ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฉํ๋ฒ์ค์์ ๋ง์ผํ
, ๋ฏธํ
/ํ์, ํ๋ณด ๋ฑ์ ๋น์ง๋์ค ์
๋ฌด๋ ํ ์ ์๋ค. ๋ฉํ๋ฒ์ค์ ์ข
๋ฅ ์ฆ๊ฐํ์ค(AR) ํ์ค ์ธ๊ณ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ๊ฐ์์ ์ด๋ฏธ์ง๋ ์ ๋ณด๊ฐ ๊ฒน์ณ๋ณด์ด๊ฒ ์ค์๊ฐ์ผ๋ก ํฉ์ฑํ๋ค. ์ด๋ ์ฌ์ฉ์์๊ฒ ๊ฑฐ๋ถ๊ฐ์ ์ค์ด๊ณ ๋ชฐ์
๊ฐ์ ๋์ด๋ ํจ๊ณผ๊ฐ ์๋ค. ex ) 'ํฌ์ผ๋ชฌ ๊ณ ' ๊ฒ์์ ์นด๋ฉ๋ผ๋ฅผ ํตํด ์ค์๊ฐ์ผ๋ก ํฌ์ผ๋ชฌ์ด ๋ฑ์ฅํ๋ฉฐ ๊ฒ์์ ์ฆ๊ธธ ์ ์๋ค. ..
ARM ์ ๊ฐ์ RISC ๋จธ์ ๊ธฐ๋ฐ์ด๋ค.( 32๋นํธ์ RISC ์ํคํ
์ฒ) ๋จ์ํ ๋์์ธ, ์ ์ ๋ช
๋ น์ด ์ธํธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ ๋ ฅ์ ์ ๊ฒ ์ฐ๊ณ ๊ฐ๊ฒฉ๋ ์ธ๋ค. ๋์ฉ๋ ๋ฒ์ฉ ๋ ์ง์คํฐ ํ์ผ์ ๊ฐ์ง๋ค. load/store ์ํคํ
์ฒ๋ค. load/ store ๋ช
๋ น์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ธฐ๋ ๋ช
๋ น์ด๋ค. ๋ ์ง์คํฐ์ ๊ฐ๋ง ์ด์ฉํ์ฌ ํ๋ก์ธ์ฑํ๋ค. ๋ช
๋ น์ด์ ๊ธธ์ด๋ 32๋นํธ๋ก ๊ณ ์ ๋์ด์๋ค. ARM์์ byte๋ 8bit, halfword๋ 16bit, word๋ 32bit์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋ค. ARM์์ ๋ช
๋ น์ด๋ 32๋นํธ์ ARM ๋ช
๋ น์ด ์ธํธ๋ 16๋นํธ์ Thumb ๋ช
๋ น์ด ์ธํธ๋ฅผ ๊ตฌํํ๋ค. Jazelle ์ฝ์ด๋ค์ ์๋ฐ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ๊ตฌํํ ์ ์๋ค. ARM์์์ ๋ ์ง์คํฐ ์ฝ์ด์ 37๊ฐ ๋ ์ง์คํฐ 1๊ฐ์ PC 1๊ฐ์ CPSR(Current ..
์ปดํจํฐ์ ๊ธฐ๋ณธ ์ฌ์ดํด์ Fetch - Decode - Excute - Write back ์ด๋ค. ์์๋ก ๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฑฐ๋ ์ฝ์๋(Write back ์์
) 100 ์ธ์ดํด์ด ๊ฑธ๋ฆฌ๊ณ ๋๋จธ์ง ์์
ํ ๋ 1 ์ธ์ดํด์ฉ ๊ฑธ๋ฆฐ๋ค๋ฉด, 10๊ฐ์ ๋ช
๋ น์ด๋ฅผ ์คํํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์ด ์ธ์ดํด ์๋ 10 * (1+1+1+1000) = 1030 ์ธ์ดํด ์ด๋ค. ํ์ดํ๋ผ์ธ ๋ชฉ์ ์ฒ๋ฆฌ์๋ ํฅ์ ๋ฐฉ๋ฒ ๊ฐ ์ธ์ดํด๋ง๋ค ๊ฐ์ ํด๋ฝ์์์ ์๋ํ๋ค. ๊ฐ์ ์์(๋ฆฌ์์ค)๋ฅผ ๋์์ ์ฌ์ฉํ์ง ์์์ผ ํ๋ค. ์์์๋ IM, Reg, DM, ALU๊ฐ ์๋ค. ๊ธด ์ ๊ทผ์๊ฐ์ ์งง๊ฒ ๋ง๋ค ์ ์๋ค. ํนํ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผ์๊ฐ์ ์งง๊ฒ ๋ง๋ค ์ ์๋ค. ์บ์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ก์ธ์ ์ฌ์ด์ ์์ ๊ณ ์ ๋ฉ๋ชจ๋ฆฌ ์ฅ์น๋ค. ํ๋ก์ธ์์ ์ฑ๋ฅ์ ํฅ์์ํจ๋ค. ํ๋ฒ ์ฌ์ฉ๋ ์ฝ๋๋ ์ฌ..
I/O๊ธฐ์ I/O ๊ธฐ์ (์
์ถ๋ ฅ ๋ฐฉ๋ฒ)์ Programmed I/O, Interrupt I/O, DMA(Direct Memory Access)๋ก ๋๋ ์ ์๋ค. Programmed I/O ํ๋ก์ธ์๊ฐ I/O๋์์ ์ํ ์ ์ด ํ๋ก๊ทธ๋จ์ ์คํํ๋ค. ํ๋ก๊ทธ๋จ์ด I/O์ฅ์น ์ํ๋ฅผ ์ ์ด์ ํธ๋ก ์ฒดํฌํ๋ค. I/O๊ฐ ์ค๋น๋๋ฉด I/O๋ฅผ ์ํํ๋ค. ์ด๋ ์ค๋น์ ์ํ์ ์ ์ด์ ํธ๋ก ์ฒดํฌํ๋ค. (๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์์
, ์ฐ๋ ์์
์ ํ ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ ๋ด๋ณด๋ด๋๊ฑด ์ ์ด์ ํธ๊ฐ ํ์ํ๋ค.) ํ๋ก์ธ์๊ฐ I/O๋ณด๋ค ์๋๊ฐ ๋น ๋ฅด๊ธฐ๋๋ฌธ์ ํ๋ก์ธ์์ ์๊ฐ๋ญ๋น๋ก ์ด์ด์ง ์ ์๋ค. Interrupt I/O I/O์ฅ์น๊ฐ ์ค๋น๋๋ฉด ํ๋ก์ธ์์๊ฒ interrupt ์ ํธ๋ฅผ ์ค์ ์๋ฆฐ๋ค.(์ ์ด์ ํธ ์ฒดํฌ) ํ๋ก์ธ์๋ ์ํํ๊ณ ์๋ ์์
์ ์ค๋จํ๊ณ I/O๋ฅผ ์คํํ..
๐คฏ ์ํฉ๊น์ pushํ๋ ค๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋คTo https://github.com/hyein604/flutter_todo_list ! [rejected] main -> main (non-fast-forward)error: failed to push some refs to 'https://github.com/hyein604/flutter_todo_list'hint: Updates were rejected because the tip of your current branch is behindhint: its remote counterpart. Integrate the remote changes (e.g.hint: 'git pull ...') before pushing again.hint: See..
i-list๊ฐ ์ด๋ป๊ฒ data block์ ์ ๊ทผํ๋๊ฐ? i-list์ 'i'๋ index์ ์ฝ์์ด๋ค. i-list์๋ i-node๋ค์ด ์๋ค ํ๋์ i-node์ ํ์ผ ์ดํธ๋ฆฌ๋ทฐํธ(ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ)๋ฅผ ์ ์ฅํ๊ณ ์๊ณ , ํ์ผ์ ๋ํ ์ธ๋ฑ์ค ํฌ์ธํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ด ์ธ๋ฑ์ค ํฌ์ธํฐ๋ ํ์ผ์ ์์น์ ๋ํ ํฌ์ธํฐ์ด๋ค. Direct pointer(ํฌ์ธํฐ)๋ ์ต๋ 12๊ฐ๊น์ง ์๋ค. Direct pointer๊ฐ 12๊ฐ ์ด์ ํ์ํ ๊ฒฝ์ฐ์ Single indirect pointer, Double indirect pointer, Triple indirect pointer๋ฅผ ์ด์ฉํ๋ค. i-node์ 0๋ฒ๋ถํฐ 11๋ฒ์งธ ๋๋ ํ ๋ฆฌ ๊น์ง direct pointer๋ฅผ ๋ค์ผ๋ค๋ฉด 12๋ฒ์งธ ๋๋ ํ ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค. 12๋ฒ์งธ ๋๋ ํ ๋ฆฌ๋ data..
Bootstrap program(Bootstrop loader) ์ปดํจํฐ๊ฐ ๋ถํ
ํ ๋ ๋๋ ์ฌ๋ถํ
ํ ๋ ๋์๊ฐ๋ ํ๋ก๊ทธ๋จ ROM ๋๋ EEPROM์ ์ ์ฅ๋์ด์๋ค. ์ด๋ค์ firmware์ด๋ผ๊ณ ํ๋ค. RAM์ ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ, ROM์ ์ ๊ธฐ๊ฐ ๊บผ์ ธ๋ ์ ์ฅ๋์ด์๋ ๋ฉ๋ชจ๋ฆฌ๋ค. EEPROM์ ROM์ ์ข
๋ฅ ์ค ํ๋์ด๋ค. firmware์ hardware์ software์ ์ค๊ฐ์ด๋ผ๊ณ ๋ณด๋ฉด๋๋ค. hardware๋ ์์ ์ด ์ด๋ ต๊ณ , software์ ์์ ์ด ์ฝ๋ค๋ฉด, firmware์ ํ๋์จ์ด ์ฅ๋น๊ธด ํ๋ฐ, ์ํํธ์จ์ด์ฒ๋ผ ์์ ๋ ์ฝ๋ค ์์คํ
์ ๋ชจ๋ ๊ด์ ์์ ์ด๊ธฐํ๋ฅผ ์งํํ๋ค.(=POST(Power On Self Test)๋ฃจํด์ ์คํํ๋ค). CPU๊ฐ ์๋์๊ฐ๋์ง, ๋ฉ๋ชจ๋ฆฌ์ ์์๊ฑฐ ๋ค ์๋์ง..๋ฑ๋ฑ ์ ์
ํ์ฒดํฌํ๋ค! ์ด์์ฒด์ ์ปค..