π Computer Science
REST APIμ RESTful API
1. REST(REpresentational State Transfer) RESTλ μμμ μ΄λ¦μΌλ‘ ꡬλΆν΄ ν΄λΉ μμμ μνλ₯Ό μ£Όκ³ λ°λ λͺ¨λ κ²μ μλ―Ένλ€. μ¦, μμ(resource)μ νν(representation)μ μν μν μ λ¬μ λ»νλ€. μμ: ν΄λΉ μννΈμ¨μ΄κ° κ΄λ¦¬νλ λͺ¨λ κ²μ΄λ€. Ex) λ¬Έμ, κ·Έλ¦Ό, λ°μ΄ν°, ν΄λΉ μννΈμ¨μ΄ μ체 λ± νν: μμμ νννκΈ° μν μ΄λ¦μ΄λ€. Ex) DBμ νμ μ λ³΄κ° μμμ΄λ©΄ studentsλ₯Ό μμμ ννμΌλ‘ μ νλ€. μν μ λ¬: λ°μ΄ν°κ° μμ²λλ μμ μ μμμ μνλ₯Ό μ λ¬νλ€. JSON νΉμ XMLμ ν΅ν΄ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°λ κ²μ΄ μΌλ°μ μ΄λ€. κΈ°λ³Έμ μΌλ‘ μΉμ κΈ°μ‘΄ κΈ°μ κ³Ό HTTP νλ‘ν μ½μ κ·Έλλ‘ νμ©νκΈ° λλ¬Έμ μΉμ μ₯μ μ μ΅λν νμ©ν μ μλ μν€ν ..
λͺ¨λκ³Ό μ»΄ν¬λνΈ
λͺ¨λκ³Ό μ»΄ν¬λνΈ κ³΅λΆνλ€ λ³΄λ©΄ μ¬μ¬μ©μ±μ΄λΌλ λ¨μ΄μ ν¨κ» λͺ¨λκ³Ό μ»΄ν¬λνΈλΌλ λ¨μ΄κ° 곡곡μ°νκ² λ±μ₯νλ€. λ λ€ μ΄λ ν ꡬ쑰μ κΈ°λ₯μ μ΅μ λ¨μμ μ μ¬ν κ°λ μΌλ‘ μ μλκ³ μκΈ°μ μ΄ λμ νΌμ©νλ κ²½μ°κ° μ¦λ€. νμ§λ§ μ΄ λμ λͺ ννκ² λ€λ₯Έ μλ―Έλ₯Ό μ§λκ³ μλ€. μλ²-ν΄λΌμ΄μΈνΈ ꡬ쑰μμ μλ² 1κ°μ ν΄λΌμ΄μΈνΈ 100κ°κ° μλ€λ©΄ λͺ¨λμ μλ² 1κ°, ν΄λΌμ΄μΈνΈ 1κ°, μ΄ 2κ° μ»΄ν¬λνΈλ μλ² 1κ°, ν΄λΌμ΄μΈνΈ 100κ°, μ΄ 101κ° 1. λͺ¨λ(Module) κ°μ₯ μμμ μμΉνλ ꡬνμ λ¨μ λ§λ€μ΄μ§ μ°μΆλ¬Όμ ꡬν λ¨μμ΄λ€. λΉμ·νκ±°λ μ°κ΄μ± μλ κ²λ€λ‘ μ΄λ£¨μ΄μ§ λ©μλλ ν΄λμ€μ μ§ν©μ΄λ€. 2. μ»΄ν¬λνΈ(Component) λ°νμ κ°μ²΄λ₯Ό μ°Έμ‘°νλ λ¨μ μ€ν μ€μΈ μννΈμ¨μ΄μ νλ λ¨μμ΄λ€.
![νλ μμν¬μ λΌμ΄λΈλ¬λ¦¬](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxWSfj%2FbtrH1CpnVqL%2F4G8LskJifrgTbT79H1FKV1%2Fimg.png)
νλ μμν¬μ λΌμ΄λΈλ¬λ¦¬
νλ μμν¬μ λΌμ΄λΈλ¬λ¦¬ 1. νλ μμν¬(Framework) νλ μμν¬λ μννΈμ¨μ΄μ ꡬ체μ μΈ λΆλΆμ ν΄λΉνλ μ€κ³μ ꡬνμ μ¬μ¬μ©μ΄ κ°λ₯νκ²λ μΌλ ¨μ νμ νλ ννλ‘ ν΄λμ€λ€μ μ 곡νλ κ²μ΄λ€. λΌλλ κΈ°λ° κ΅¬μ‘°λ₯Ό λ»νλ€. νλ‘κ·Έλλ°μ μ§νν λ νμμ μΈ μ½λ, μκ³ λ¦¬μ¦ λ±κ³Ό κ°μ΄ μ΄λ μ λμ ꡬ쑰λ₯Ό μ 곡ν΄μ£ΌκΈ° λλ¬Έμ νλ μμν¬λ₯Ό μ¬μ©νλ νλ‘κ·Έλλ¨Έλ μ΄ νλ μμν¬μ λΌλ μμμ μ½λλ₯Ό μμ±νμ¬ νλ‘κ·Έλ¨μ κ°λ°ν μ μλ€. μ¦, μμ±λ μ νμ΄ μλ μμ±λ μ νμ λ§λ€κΈ° μν΄μ κ°λ°μλ₯Ό λμμ£Όλ λλ κΈ°λ°μ΄ λλ μν μ ν©λλ€. 2. λΌμ΄λΈλ¬λ¦¬(Library) λΌμ΄λΈλ¬λ¦¬λ μμ£Ό μ¬μ©λλ λ‘μ§μ μ¬μ¬μ©νκΈ° νΈλ¦¬νλλ‘ μ μ 리ν μΌλ ¨μ μ½λλ€μ μ§ν©μ΄λ€. μ¦, νλ‘κ·Έλλ¨Έκ° μ΄λ ν κΈ°λ₯μ μννκΈ° μν΄μ λμμ..
μλ£κ΅¬μ‘° μ 리
μλ£κ΅¬μ‘° μ 리 1. μ ν ꡬ쑰μ λΉμ ν ꡬ쑰 2020.04.24 - [π Computer Science/β Data Structure] - μ ν ꡬ쑰(Linear Structure)μ λΉμ ν ꡬ쑰(Non-Linear Structure) μ ν ꡬ쑰(Linear Structure)μ λΉμ ν ꡬ쑰(Non-Linear Structure) 1. μ ν ꡬ쑰 λ°μ΄ν°λ₯Ό μ°μμ μΌλ‘ μ°κ²°λμ΄ μλ λͺ¨μμΌλ‘ ꡬμ±νλ€. 1) λ°°μ΄(Array) λμΌν μλ£νμ λ°μ΄ν°λ€μ΄ κ°μ ν¬κΈ°λ‘ λμ΄λμ΄ μμλ₯Ό κ°κ³ μλ μ§ν©μ΄λ€. λΉ λ₯Έ μ κ·Ό(O(1))κ³Ό random accessκ° tech-interview.tistory.com 2. μ΄μ§ νΈλ¦¬ 2020.04.24 - [π Computer Science/β Data Structure] - ..
![λ°μ΄ν°λ² μ΄μ€ μ 리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbafqBT%2FbtrJAN5e7Yh%2FXsoEYGBGHoqbeQJQwskleK%2Fimg.gif)
λ°μ΄ν°λ² μ΄μ€ μ 리
λ°μ΄ν°λ² μ΄μ€ μ 리 1. νμΌ μμ€ν κ³Ό λ°μ΄ν°λ² μ΄μ€ 2020.04.27 - [π Computer Science/β Database] - λ°μ΄ν°λ² μ΄μ€(DataBase) λ°μ΄ν°λ² μ΄μ€(DataBase) νμΌ μμ€ν κ³Ό λ°μ΄ν°λ² μ΄μ€ λ°μ΄ν°λ² μ΄μ€κ° μ‘΄μ¬νκΈ° μ΄μ μλ νμΌ μμ€ν μ μ΄μ©νμ¬ λ°μ΄ν°λ₯Ό κ΄λ¦¬νμλ€. 1. νμΌ μμ€ν νμΌ μμ€ν μ νμΌμ μ΄μ©νμ¬ μλ£λ₯Ό κ΄λ¦¬νλ λ°©λ²μΌλ‘ νμΌ tech-interview.tistory.com 2. μΈλ±μ€ 2020.04.27 - [π Computer Science/β Database] - μΈλ±μ€(Index) μΈλ±μ€(Index) μΈλ±μ€(Index) λ°μ΄ν° λ μ½λλ₯Ό λΉ λ₯΄κ² μ κ·ΌνκΈ° μν΄ μμΌλ‘ ꡬμ±λλ λ°μ΄ν° ꡬ쑰μ΄λ€. λ°μ΄ν° ν μ΄λΈμ Full Scan νμ§ μκ³ μΈλ±μ€λ₯Ό μ΄μ©ν΄..
![νν°μ
λ(Partitioning)κ³Ό μ€λ©(Sharding)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FebWNe0%2FbtrHppZl1Hs%2FKwycORfuSC2eW0aHZI744k%2Fimg.png)
νν°μ λ(Partitioning)κ³Ό μ€λ©(Sharding)
1. νν°μ λ(Partitioning) μλΉμ€μ ν¬κΈ°κ° μ μ 컀μ§κ³ DBμ μ μ₯νλ λ°μ΄ν°μ κ·λͺ¨ λν λμ©λν λλ©΄μ, κΈ°μ‘΄μ μ¬μ©νλ DB μμ€ν μ μ©λμ νκ³μ μ±λ₯μ μ νλ₯Ό κ°μ Έμ€κ² λμλ€. μ¦, νλμ DBMSμ λ무 ν° tableμ΄ λ€μ΄κ°λ©΄μ μ©λκ³Ό μ±λ₯ μΈ‘λ©΄μμ λ§μ μ΄μκ° λ°μνκ² λμκ³ μ΄λ° μ΄μλ₯Ό ν΄κ²°νκΈ° μν λ°©λ²μΌλ‘ tableμ νν°μ (partition)μ΄λΌλ μμ λ¨μλ‘ λλμ΄ κ΄λ¦¬νλ νν°μ λ(Partitioning)μ΄ λνλκ² λμλ€. νν°μ λμ΄λ ν° tableμ΄λ indexλ₯Ό κ΄λ¦¬νκΈ° μ¬μ΄ νν°μ μ΄λΌλ μμ λ¨μλ‘ λ¬Όλ¦¬μ μΌλ‘ λΆν νλ κ²μ μλ―Ένλ€. 물리μ μΈ λ°μ΄ν° λΆν μ΄ μλλΌλ DBμ μ κ·Όνλ μ ν리μΌμ΄μ μ μ μ₯μμλ μ΄λ₯Ό μΈμνμ§ λͺ»νλ€. μννΈμ¨μ΄μ μΌλ‘ λ°μ΄ν°λ² μ΄μ€λ₯Ό ..