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

λ°±μ—”λ“œμ˜ 본질과 λ©΄μ ‘ λŒ€λΉ„ κ°€μ΄λ“œ

by πŸ’²πŸŽ΅βœ–οΈβœ”οΈβ˜Ό 2024. 2. 22.
728x90

λ°±μ—”λ“œμ˜ 본질과 λ©΄μ ‘ λŒ€λΉ„ κ°€μ΄λ“œ

λ°±μ—”λ“œ(Backend)λŠ” μ›Ή 개발의 핡심 λΆ€λΆ„ 쀑 ν•˜λ‚˜λ‘œ, μ„œλ²„ μ‚¬μ΄λ“œμ˜ κ°œλ°œμ„ λ‹΄λ‹Ήν•©λ‹ˆλ‹€. μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€μ™€λŠ” 달리 λ°±μ—”λ“œλŠ” μ‹œμŠ€ν…œμ˜ 핡심 κΈ°λŠ₯κ³Ό 데이터λ₯Ό μ²˜λ¦¬ν•˜κ³  μ €μž₯ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. 이 λ¬Έμ„œμ—μ„œλŠ” λ°±μ—”λ“œμ˜ κ°œλ…, μ—­ν• , ν™œμš©λ˜λŠ” 기술, 그리고 λ©΄μ ‘ μ‹œ 주둜 λ¬Όμ–΄μ§€λŠ” μ§ˆλ¬Έμ— λŒ€ν•œ μƒμ„Έν•œ μ„€λͺ…을 μ œκ³΅ν•©λ‹ˆλ‹€.

1. λ°±μ—”λ“œμ˜ κ°œλ…κ³Ό μ—­ν• 

λ°±μ—”λ“œλŠ” μ‚¬μš©μžμ—κ²Œ 보이지 μ•ŠλŠ” λΆ€λΆ„μœΌλ‘œ, μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 핡심 둜직과 λ°μ΄ν„°λ² μ΄μŠ€μ™€μ˜ μƒν˜Έμž‘μš©μ„ λ‹΄λ‹Ήν•©λ‹ˆλ‹€. μ΄λŠ” μ‚¬μš©μžκ°€ λΈŒλΌμš°μ €μ—μ„œ μš”μ²­ν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜κ³  κ²°κ³Όλ₯Ό λ°˜ν™˜ν•˜λŠ” μ„œλ²„ μ‚¬μ΄λ“œμ˜ κ°œλ°œμ„ μ˜λ―Έν•©λ‹ˆλ‹€.

2. λ°±μ—”λ“œμ—μ„œ ν™œμš©λ˜λŠ” μ£Όμš” 기술

  • μ„œλ²„ μ‚¬μ΄λ“œ μ–Έμ–΄: Java, Python, Node.js, Ruby, PHP 등이 주둜 μ‚¬μš©λ©λ‹ˆλ‹€.
  • ν”„λ ˆμž„μ›Œν¬: Spring(Java), Django(Python), Express(Node.js) λ“±μ˜ ν”„λ ˆμž„μ›Œν¬κ°€ κ°œλ°œμ„ λ‹¨μˆœν™”ν•˜κ³  생산성을 λ†’μž…λ‹ˆλ‹€.
  • λ°μ΄ν„°λ² μ΄μŠ€: MySQL, PostgreSQL, MongoDB λ“± λ‹€μ–‘ν•œ λ°μ΄ν„°λ² μ΄μŠ€κ°€ μ‚¬μš©λ˜λ©°, ORM(Object-Relational Mapping)을 톡해 κ΄€λ¦¬λ©λ‹ˆλ‹€.
  • API 및 μ›Ή μ„œλΉ„μŠ€: RESTful API, GraphQLκ³Ό 같은 κΈ°μˆ μ„ μ‚¬μš©ν•˜μ—¬ ν΄λΌμ΄μ–ΈνŠΈμ™€ ν†΅μ‹ ν•©λ‹ˆλ‹€.
  • λ³΄μ•ˆ 및 인증: HTTPS, OAuth 등을 ν™œμš©ν•˜μ—¬ 데이터 λ³΄μ•ˆκ³Ό μ‚¬μš©μž 인증을 κ΄€λ¦¬ν•©λ‹ˆλ‹€.

3. λ°±μ—”λ“œ 개발자의 μ£Όμš” 업무

  • μ„œλ²„ 개발: 주둜 λΉ„μ¦ˆλ‹ˆμŠ€ 둜직, 데이터 처리, μ‚¬μš©μž 관리 λ“± μ„œλ²„ μ‚¬μ΄λ“œμ˜ λͺ¨λ“  κ°œλ°œμ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.
  • λ°μ΄ν„°λ² μ΄μŠ€ 관리: λ°μ΄ν„°λ² μ΄μŠ€μ˜ 섀계, μ΅œμ ν™”, 쿼리 μž‘μ„± 등을 톡해 데이터λ₯Ό 효과적으둜 κ΄€λ¦¬ν•©λ‹ˆλ‹€.
  • API 섀계 및 κ΅¬ν˜„: ν΄λΌμ΄μ–ΈνŠΈμ™€μ˜ μ›ν™œν•œ 톡신을 μœ„ν•΄ APIλ₯Ό μ„€κ³„ν•˜κ³  κ΅¬ν˜„ν•©λ‹ˆλ‹€.
  • λ³΄μ•ˆ 관리: μ‚¬μš©μž 데이터 및 μ‹œμŠ€ν…œ λ³΄μ•ˆμ„ μœ μ§€ν•˜κΈ° μœ„ν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

4. λ©΄μ ‘μ—μ„œ λ¬Όμ–΄λ³Ό 수 μžˆλŠ” μ£Όμš” 질문과 λ‹΅λ³€

  1. λ°±μ—”λ“œμ™€ ν”„λ‘ νŠΈμ—”λ“œμ˜ μ°¨μ΄λŠ” λ¬΄μ—‡μΈκ°€μš”?

    • λ°±μ—”λ“œλŠ” μ„œλ²„ μΈ‘ κ°œλ°œμ„ λ‹΄λ‹Ήν•˜λ©°, ν”„λ‘ νŠΈμ—”λ“œλŠ” μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ 및 κ²½ν—˜μ„ κ°œλ°œν•©λ‹ˆλ‹€.
  2. HTTP와 HTTPS의 차이점은 λ¬΄μ—‡μΈκ°€μš”?

    • HTTPSλŠ” HTTP의 λ³΄μ•ˆ λ²„μ „μœΌλ‘œ, 데이터λ₯Ό μ•”ν˜Έν™”ν•˜μ—¬ μ•ˆμ „ν•œ 톡신을 μ œκ³΅ν•©λ‹ˆλ‹€.
  3. 쿠킀와 μ„Έμ…˜μ˜ 차이λ₯Ό μ„€λͺ…ν•΄μ£Όμ„Έμš”.

    • μΏ ν‚€λŠ” ν΄λΌμ΄μ–ΈνŠΈμ— μ €μž₯λ˜λŠ” 정보이고, μ„Έμ…˜μ€ μ„œλ²„μ— μ €μž₯λ˜λŠ” μ •λ³΄μž…λ‹ˆλ‹€.
  4. RESTful APIκ°€ λ¬΄μ—‡μΈκ°€μš”?

    • RESTful APIλŠ” REST 원칙을 따라 μ„€κ³„λœ API둜, μžμ›μ„ ν‘œν˜„ν•˜κ³  μƒνƒœλ₯Ό μ „μ†‘ν•˜λŠ” μ•„ν‚€ν…μ²˜μž…λ‹ˆλ‹€.
  5. ORM이 λ¬΄μ—‡μΈκ°€μš”?

    • ORM은 Object-Relational Mapping의 μ•½μžλ‘œ, 객체와 λ°μ΄ν„°λ² μ΄μŠ€ κ°„μ˜ 맀핑을 λ‹΄λ‹Ήν•©λ‹ˆλ‹€.
  6. λ°μ΄ν„°λ² μ΄μŠ€ 인덱슀의 역할은 λ¬΄μ—‡μΈκ°€μš”?

    • μΈλ±μŠ€λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 검색 μ„±λŠ₯을 ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” 자료 κ΅¬μ‘°μž…λ‹ˆλ‹€.
  7. JWT(JSON Web Token)λŠ” μ–΄λ–»κ²Œ μž‘λ™ν•˜λ‚˜μš”?

    • JWTλŠ” ν΄λ ˆμž„ 정보λ₯Ό μ•ˆμ „ν•˜κ²Œ

    μ „μ†‘ν•˜κΈ° μœ„ν•œ 토큰 기반의 인증 λ°©μ‹μž…λ‹ˆλ‹€.

  8. λ°μ΄ν„°λ² μ΄μŠ€ μ •κ·œν™”μ— λŒ€ν•΄ μ„€λͺ…ν•΄μ£Όμ„Έμš”.

    • μ •κ·œν™”λŠ” 데이터λ₯Ό 쀑볡 없이 κ΅¬μ‘°ν™”ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ„±λŠ₯을 μ΅œμ ν™”ν•˜λŠ” μž‘μ—…μž…λ‹ˆλ‹€.
  9. 캐싱이 무엇이고 μ™œ μ‚¬μš©ν•˜λ‚˜μš”?

    • 캐싱은 이전에 κ³„μ‚°ν•œ κ²°κ³Όλ₯Ό μ €μž₯ν•˜μ—¬ λ™μΌν•œ μš”μ²­μ— λŒ€ν•œ 응닡 μ‹œκ°„μ„ λ‹¨μΆ•ν•˜λŠ” κΈ°μˆ μž…λ‹ˆλ‹€.
  10. NoSQL λ°μ΄ν„°λ² μ΄μŠ€μ˜ νŠΉμ§•μ€ λ¬΄μ—‡μΈκ°€μš”?

    • NoSQL λ°μ΄ν„°λ² μ΄μŠ€λŠ” μŠ€ν‚€λ§ˆκ°€ μ—†κ±°λ‚˜ μœ μ—°ν•œ μŠ€ν‚€λ§ˆλ₯Ό 가진 λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
  11. λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜λž€ λ¬΄μ—‡μΈκ°€μš”?

    • λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό 독립적인 μž‘μ€ μ„œλΉ„μŠ€λ‘œ λΆ„λ¦¬ν•˜μ—¬ κ°œλ°œν•˜κ³  λ°°ν¬ν•˜λŠ” μ•„ν‚€ν…μ²˜μž…λ‹ˆλ‹€.
  12. CI/CD νŒŒμ΄ν”„λΌμΈμ΄ λ¬΄μ—‡μΈκ°€μš”?

    • CI(Continuous Integration)와 CD(Continuous Deployment/Delivery)λ₯Ό μžλ™ν™”ν•œ 것을 λ§ν•©λ‹ˆλ‹€.
  13. μ„œλΉ„μŠ€ λ©”μ‹œμ™€ API κ²Œμ΄νŠΈμ›¨μ΄μ˜ μ°¨μ΄λŠ” λ¬΄μ—‡μΈκ°€μš”?

    • μ„œλΉ„μŠ€ λ©”μ‹œλŠ” μ„œλΉ„μŠ€ κ°„ 톡신을 κ΄€λ¦¬ν•˜κ³  λͺ¨λ‹ˆν„°λ§ν•˜λŠ” μ‹œμŠ€ν…œμ΄λ©°, API κ²Œμ΄νŠΈμ›¨μ΄λŠ” ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ κ°„ 톡신을 κ΄€λ¦¬ν•©λ‹ˆλ‹€.
  14. μ’…ν•© 검색 엔진이 λ¬΄μ—‡μΈκ°€μš”?

    • μ’…ν•© 검색 엔진은 μ—¬λŸ¬ 데이터 μ†ŒμŠ€μ—μ„œ 데이터λ₯Ό μˆ˜μ§‘ν•˜κ³  ν†΅ν•©ν•˜μ—¬ μ‚¬μš©μžμ—κ²Œ μ œκ³΅ν•˜λŠ” μ—”μ§„μž…λ‹ˆλ‹€.
  15. 빅데이터 처리 μ‹œμŠ€ν…œμ˜ μ˜ˆμ‹œλŠ” 무엇이 μžˆλ‚˜μš”?

    • Apache Hadoop, Apache Spark, Apache Flink 등이 λŒ€ν‘œμ μΈ 빅데이터 처리 μ‹œμŠ€ν…œμž…λ‹ˆλ‹€.
  16. GraphQL이 무엇이고 μ–΄λ–€ μž₯점이 μžˆλ‚˜μš”?

    • GraphQL은 데이터λ₯Ό 효율적으둜 μš”μ²­ν•˜κ³  μ œκ³΅ν•˜λŠ” 쿼리 μ–Έμ–΄ 및 λŸ°νƒ€μž„μž…λ‹ˆλ‹€.
  17. μ• μžμΌ 방법둠에 λŒ€ν•΄ μ„€λͺ…ν•΄μ£Όμ„Έμš”.

    • μ• μžμΌ 방법둠은 μ†Œν”„νŠΈμ›¨μ–΄ κ°œλ°œμ„ λΉ λ₯΄κ²Œ μ§„ν–‰ν•˜κ³  변경에 μœ μ—°ν•˜κ²Œ λŒ€μ‘ν•˜κΈ° μœ„ν•œ 개발 λ°©λ²•λ‘ μž…λ‹ˆλ‹€.

μ΄μƒμœΌλ‘œ λ°±μ—”λ“œ 개발자 λ©΄μ ‘ λŒ€λΉ„ κ°€μ΄λ“œλ₯Ό λ§ˆμΉ˜κ² μŠ΅λ‹ˆλ‹€.

λŒ“κΈ€