λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ’» DEV/Computer Science6

How is code allocated in memory? This post covers the subject "How code is allocated in the computer's memory." Types of Memory When we typically bring up the concept "memory", we usually refer to RAM (Random Access Memory). However the term is not constrained to RAM itself, but rather refers to a broader range which includes both RAM and Disk. # RAM RAM is also known as a computer's primiary memory, and is in charge of running.. 2023. 6. 5.
[CS] REST API κ°œμš” ✨ REST API κ°œμš” REST API λŠ” Representational State Transfer API 의 μ•½μžμ΄λ‹€. REST 와 API λŠ” λ”°λ‘œ κ΅¬λΆ„ν•΄μ„œ μƒκ°ν•˜λ©΄ 쒋은데, REST λŠ” ν•˜λ‚˜μ˜ 아킀텍쳐 (방법둠) 에 가깝닀. κ·Έλ ‡κΈ° λ•Œλ¬Έμ— λͺ‡ 가지 μ£Όμš” 원칙듀이 μ‘΄μž¬ν•˜λ©°, 이λ₯Ό 잘 지킨 API λ₯Ό "RESTful" ν•˜λ‹€κ³  ν‘œν˜„ν•œλ‹€. API λŠ” Application Programming Interface 의 μ•½μžλ‘œ, μ„œλ²„κ°€ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μ œκ³΅ν•˜λŠ” λ¦¬μ†ŒμŠ€ ν™œμš© 방법이 λ‹΄κΈ΄ μΈν„°νŽ˜μ΄μŠ€μ΄λ‹€. πŸ“ API API λ₯Ό 처음 λ“€μœΌλ©΄ μ„œλ²„, DB 의 κ°œλ…κ³Ό ν—·κ°ˆλ¦΄ 수 μžˆλ‹€. ν•˜μ§€λ§Œ API λŠ” μ„œλ²„λ„ DB 도 μ•„λ‹ˆλ‹€. μ„œλ²„μ™€ DB κ°€ μ œκ³΅ν•˜λŠ” 데이터 λ˜λŠ” κΈ°λŠ₯에 μ ‘κ·Όν•  수 μžˆλ„λ‘ ν•΄μ£ΌλŠ” μ•ˆλ‚΄νŒμ— 가깝닀. κ°€λ Ή, vo.. 2021. 11. 4.
[CS] OOP (객체지ν–₯) & Functional (ν•¨μˆ˜ν˜•) ν”„λ‘œκ·Έλž˜λ° 기초 OOP, μ ˆμ°¨μ§€ν–₯, ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ° .. 많이 μ‚¬μš©ν–ˆμ§€λ§Œ μ •ν™•ν•œ κΈ°λ³Έ κ°œλ…μ„ μ•Œκ³  μžˆμ§€ μ•Šλ‹€λŠ” 생각이 λ“€μ–΄, κ΄€λ ¨ λ‚΄μš©μ„ λ‹΄μ•„ μ •λ¦¬ν•œ 글을 써 λ³Έλ‹€. πŸ“Œ Introdction μ ˆμ°¨μ§€ν–₯ν˜• ν”„λ‘œκ·Έλž˜λ°, 객체지ν–₯ν˜• ν”„λ‘œκ·Έλž˜λ°, ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ° λ“±μ˜ μš©μ–΄λ₯Ό μ•„μšΈλŸ¬ 'ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„'이라 μΉ­ν•œλ‹€. μΌμ’…μ˜ ν”„λ‘œκ·Έλž˜λ° 세계관이라고 ν•  수 μžˆλŠ”λ°, νŠΉμ • κΈ°λ²•μ΄λ‚˜ 이둠을 λͺ¨μ•„ ν•˜λ‚˜μ˜ μ²΄κ³„λ‘œ λ§Œλ“€μ—ˆλ‹€κ³  λ³Ό 수 μžˆλ‹€. ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„μ€ μœ ν˜•μ— 따라 λͺ…λ Ήν˜•/μ„ μ–Έν˜•μœΌλ‘œ λΆ„λ₯˜ν•  수 μžˆλ‹€. πŸ’‘ λͺ…λ Ήν˜• ν”„λ‘œκ·Έλž˜λ°: μ–΄λ–»κ²Œ(How) ν•  건지λ₯Ό μ„€λͺ…ν•˜λŠ” 방식 - μ ˆμ°¨μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ° - 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ° πŸ’‘ μ„ μ–Έν˜• ν”„λ‘œκ·Έλž˜λ°: 무엇(What)을 ν•  건지λ₯Ό μ„€λͺ…ν•˜λŠ” 방식 - ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ° ✨ μ ˆμ°¨μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ° μ΅œκ·ΌκΉŒμ§€λ„ .. 2021. 9. 15.
[CS] ν”„λ‘œμ„ΈμŠ€(Process)와 μŠ€λ ˆλ“œ(Thread) ✨ ν”„λ‘œμ„ΈμŠ€λž€? ν”„λ‘œκ·Έλž¨μ΄ μ»΄ν“¨ν„°μ—μ„œ 싀행이 되고 μžˆλŠ” μƒνƒœλ‘œ λ§Œλ“€μ–΄μ£ΌλŠ” μ‹€ν–‰ ν”„λ‘œκ·Έλž¨μ΄λ‹€. λ©”λͺ¨λ¦¬μ— μ˜¬λΌμ™€ μ‹€ν–‰λ˜κ³  μžˆλŠ” ν”„λ‘œκ·Έλž¨μ˜ μΈμŠ€ν„΄μŠ€ (독립적인 객체)이닀. (μš΄μ˜μ²΄μ œλ‘œλΆ€ν„° μžμ›μ„ 할당받은 μž‘μ—…μ˜ λ‹¨μœ„μ΄λ‹€) μ΅œμ†Œ ν•œ 개 μ΄μƒμ˜ μŠ€λ ˆλ“œλ₯Ό 가진닀. ✨ μŠ€λ ˆλ“œλž€? ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ μ‹€μ œλ‘œ μž‘μ—…μ„ μ²˜λ¦¬ν•˜λŠ” 주체이닀. ν”„λ‘œμ„ΈμŠ€κ°€ 할당받은 μžμ›μ„ μ΄μš©ν•˜λŠ” μ‹€ν–‰ νλ¦„μ˜ λ‹¨μœ„μ΄λ‹€. μŠ€λ ˆλ“œλΌλ¦¬ ν”„λ‘œμ„ΈμŠ€μ˜ μžμ›μ„ κ³΅μœ ν•˜λ©΄μ„œ ν”„λ‘œμ„ΈμŠ€ μ‹€ν–‰ νλ¦„μ˜ 일뢀가 λœλ‹€. ✨ λ©€ν‹°μŠ€λ ˆλ“œλž€? ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€κ°€ 두 개 μ΄μƒμ˜ μŠ€λ ˆλ“œλ₯Ό κ°€μ§€λŠ” 경우이며, μ—¬λŸ¬ μž‘μ—…μ„ μ—¬λŸ¬ μŠ€λ ˆλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ λ™μ‹œμ— μ²˜λ¦¬ν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€. λͺ¨λ“  μŠ€λ ˆλ“œλŠ” ν”„λ‘œμ„ΈμŠ€ λ‚΄ λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ λ‚΄μš©μ„ κ³΅μœ ν•œλ‹€. λ©”λͺ¨λ¦¬ μžμ›μ„ μ•„λ‚„ 수 있으며, 응닡 μ‹œκ°„μ΄ λΉ λ₯΄λ‹€λŠ” μž₯.. 2021. 5. 27.
[CS] 컴파일러(Compiler)와 인터프리터(Interpreter) ✨ μ»΄νŒŒμΌλŸ¬μ™€ 인터프리터: λ‘˜ λ‹€ κ³ κΈ‰ μ–Έμ–΄ (κ°œλ°œμžκ°€ μž‘μ„±ν•œ source code)λ₯Ό 기계가 이해할 수 μžˆλŠ” μ–Έμ–΄(machine code)둜 λ²ˆμ—­ν•΄μ£ΌλŠ” ν”„λ‘œκ·Έλž¨μ΄λ‹€. κ³ κΈ‰ μ–Έμ–΄λž€? μ‚¬λžŒμ΄ 이해할 수 μžˆλŠ” 언어이닀 (C, python λ“± λŒ€λΆ€λΆ„μ˜ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄) ✨ 컴파일러 vs 인터프리터 κ·Έλ ‡λ‹€λ©΄ 무엇이 λ‹€λ₯Έκ°€? 컴파일러: ν”„λ‘œκ·Έλž¨ 전체λ₯Ό μŠ€μΊ”ν•œ λ’€ ν•œκΊΌλ²ˆμ— κΈ°κ³„μ–΄λ‘œ λ²ˆμ—­ν•œλ‹€. μŠ€μΊ”μ΄ μ™„λ£Œλ  λ•ŒκΉŒμ§€ μ—λŸ¬ 메세지λ₯Ό ν‘œμ‹œν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 디버깅이 μ–΄λ ΅λ‹€. 컴파일이 μ™„λ£Œλœ μ΄ν›„μ˜ ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ 속도가 λΉ λ₯΄λ‹€λŠ” μž₯점이 μžˆλ‹€. 쀑간 μ–Έμ–΄(Intermidiate code)λ₯Ό μƒμ„±ν•˜κΈ° λ•Œλ¬Έμ— 더 λ§Žμ€ λ©”λͺ¨λ¦¬κ°€ ν•„μš”ν•˜λ‹€. (쀑간 μ–Έμ–΄λž€? μ»΄νŒŒμΌλŸ¬κ°€ μ›μ‹œ μ–Έμ–΄λ‘œ 된 ν”„λ‘œκ·Έλž¨μ„ λͺ©μ  μ½”λ“œλ‘œ λ²ˆμ—­ν•˜λŠ” κ³Όμ •μ—μ„œ μƒμ„±λ˜λŠ” .. 2021. 5. 27.
[CS] 라이브러리 & ν”„λ ˆμž„μ›Œν¬ ✨ Library λž€? ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•˜λŠ”λ° ν•„μš”ν•œ μ—¬λŸ¬ κΈ°λŠ₯을 ν™œμš©ν•  수 μžˆλ„λ‘ 묢어놓은 ν•¨μˆ˜λ‚˜ κΈ°λŠ₯의 집합이닀. 자주 ν™œμš©ν•˜κ±°λ‚˜ ν•„μš”ν•œ κΈ°λŠ₯을 νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•΄μ€€λ‹€. μ œμ–΄κΆŒμ΄ κ°œλ°œμžμ—κ²Œ 주어진닀. 예 : JS 의 React 와 jQuery, Python 의 numpy Library 와 Module 의 μ°¨μ΄λŠ”? Module 은 ν•¨μˆ˜μ™€ 클래슀, λ³€μˆ˜κ°€ 슀크립트둜 이루어져어 μžˆλŠ” ν•˜λ‚˜μ˜ 파일이자 객체. import ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλ‹€. Library λŠ” module 의 μ§‘ν•©μ²΄λ‘œ λΆˆλ¦¬κΈ°λ„ ν•˜λ‚˜, κ·Έ λ²”μœ„κ°€ λ‹€μ–‘ν•˜μ—¬ κ°œλ°œμ—μ„œλŠ” 같은 κ°œλ…μœΌλ‘œ μ‚¬μš©λ˜κ³€ ν•œλ‹€. ✨ Framework λž€? ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•˜κΈ° μœ„ν•œ ꡬ쑰λ₯Ό μ œκ³΅ν•˜λŠ” 개발 ν™˜κ²½μ΄λ‹€. (& κ·Έ 자체둜 Application 이닀.) 자주 μ‚¬μš©.. 2021. 5. 13.