λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
  • μž₯원읡 κΈ°μˆ λΈ”λ‘œκ·Έ
🀷🏼‍♀️ Etc.../- old dev log

[2021 μ˜€ν”ˆ 인프라 개발 경진 λŒ€νšŒ] 2021 OIDC 지정 주제 μ„œλ₯˜μ „ν˜• 합격 ν›„κΈ°

by Wonit 2021. 5. 25.

μ˜€λŠ˜μ€ 맨텍, ManTech μ—μ„œ μ£Όμ΅œν•˜λŠ” 2021 μ˜€ν”ˆ 인프라 개발 κ²½μ§„λŒ€νšŒ, OIDC에 μ§€μ›ν•œ 계기와 μ„œλ₯˜ μ „ν˜• 합격에 λŒ€ν•œ 이야기λ₯Ό 해보렀 ν•œλ‹€.

 

μ˜€ν”ˆ 인프라 개발 κ²½μ§„λŒ€νšŒ

(μ£Ό)맨텍 주졜, κ΅­λ‚΄ λŒ€ν•™(원)생 λŒ€μƒ μ˜€ν”ˆμ†ŒμŠ€ ν™œμš©SW κ²½μ§„λŒ€νšŒ

www.oidc.co.kr

 

manTech

better solution

www.mantech.co.kr

 

μ˜€ν”ˆ 인프라 개발 κ²½μ§„λŒ€νšŒλž€?

 

 

μš°μ„  μ˜€ν”ˆ 인프라 개발 κ²½μ§„λŒ€νšŒλŠ” DRX와 ACCORDION μ†”λ£¨μ…˜μœΌλ‘œ 유λͺ…ν•œ Man Tech μ—μ„œ μ£Όμ΅œν•˜λŠ” λŒ€ν•™μƒλ“€μ„ μœ„ν•œ λŒ€νšŒμ΄λ‹€.

 

μ΄λ¦„μ—μ„œλ„ μ•Œ 수 μžˆλ“― 인프라에 λŒ€ν•œ 개발 μ—­λŸ‰κ³Ό κ·Έ 과정을 λ³΄λŠ” λŒ€νšŒμ΄λ‹€.

 

 

총 μƒκΈˆμ€ 무렀 14,000,000 원 으둜 총 9 νŒ€μ—κ²Œ κ·Έ μƒκΈˆμ΄ 전해진닀.

 

μ£Όμ œλŠ” 크게 2가지 주제둜

  1. 지정 주제 : μ»¨ν…Œμ΄λ„ˆ 기반의 MSA μ„œλΉ„μŠ€ 개발
  2. 자유 주제 : ν΄λΌμš°λ“œ 기반의 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발

 

μ£Όμ œκ°€ μ‘΄μž¬ν•œλ‹€.

 

우리 νŒ€μ€ 지정 주제인 λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€μ— λŒ€ν•΄μ„œ μ°Έκ°€ 신청을 ν•˜μ˜€λ‹€.

 

그리고 2021.05.25일 μ˜€λŠ˜μ„ κΈ°μ€€μœΌλ‘œ μ˜€μ „ 9μ‹œμ— λ‹€μŒκ³Ό 같이 합격 메일이 μ™”λ‹€.

 

 

ν•©κ²©μ΄λΌλŠ” 메일을 μ•„μ£Ό μ˜€λžœλ§Œμ— λ°›μ•„λ΄μ„œ λ„ˆλ¬΄ μ„€λ Œλ‹€ γ…Žγ…Ž..

 

μ°Έμ—¬ 계기

 

λ‚˜λŠ” ν˜„μž¬ ν•™κ΅μ—μ„œ λŒ€ν•™κ΅ ν•™κ³Ό 곡식 ν™ˆνŽ˜μ΄μ§€λ₯Ό λ§Œλ“œλŠλΌ 정신이 μ—†μ—ˆλ‹€.

 

cyber.pcu.ac.kr λ°°μž¬λŒ€ν•™κ΅ μ •λ³΄λ³΄μ•ˆν•™κ³Ό ν™ˆνŽ˜μ΄μ§€

 

μ˜€λŠ˜μ„ κΈ°μ€€μœΌλ‘œ ν˜„μž¬λŠ” static ν•œ Front 만 κ°œλ°œμ„ μ™„λ£Œν•˜μ—¬ μ„œλΉ„μŠ€ 쀑이며 μΆ”κ°€μ μœΌλ‘œ μš°λ¦¬λŠ” 학생 정보 μ €μž₯ 및 μ‘°νšŒμ™€ CTF ν˜•μ‹μ˜ λͺ¨μ˜ ν•΄ν‚Ή Wargame μ„œλΉ„μŠ€ λ₯Ό κ°œλ°œν•΄μ•Ό ν–ˆμ—ˆλ‹€.

 

μ‹ μ²­ν•  λ‹Ήμ‹œμ—λŠ” 학생 정보 쑰회 μ„œλΉ„μŠ€λ₯Ό μœ„ν•΄ λ°±μ—”λ“œ κ°œλ°œμ„ ν•΄μ•Όν–ˆλŠ”λ°, λ°±μ—”λ“œλŠ” Spring Cloud λ₯Ό μ΄μš©ν•œ Microservice λ₯Ό 섀계 및 κ΅¬ν˜„μ€‘μ΄μ—ˆκ³  λ‚˜λŠ” λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€μ— λŒ€ν•œ 관심사가 맀우 λ†’μ•„μ Έμžˆλ˜ μƒν™©μ΄μ—ˆλ‹€.

 

그러던 차에 개발자 μ·¨μ€€ μ˜€ν”ˆμ±„νŒ…λ°©μ— 올라온 OIDC λŒ€νšŒ λͺ¨μ§‘ 곡고λ₯Ό 보게 λ˜μ—ˆλŠ”λ°, λ”± 보자마자 μš°λ¦¬κ°€ λ°”λ‘œ ν•΄μ•Όν•  λŒ€νšŒ! λΌλŠ” 생각이 λ“€μ—ˆκ³ , κ·Έ 길둜 λ°”λ‘œ νŒ€μ›λ“€μ—κ²Œ λŒ€νšŒλ₯Ό μ•Œλ Έλ‹€.

 

 

닀행이도 νŒ€μ› λͺ¨λ‘κ°€ λŒ€νšŒμ— λŒ€ν•΄μ„œ 맀우 κΈμ •μ μ΄μ—ˆμ—ˆκ³  μš°λ¦¬λŠ” 일정을 쑰금 μ•žλ‹Ήκ²¨ ν˜„μž¬ μš”κ΅¬μ‚¬ν•­ (학생 정보 μ €μž₯)을 λΉ λ₯΄κ²Œ κ°œλ°œν•˜κ³  λŒ€νšŒμ—μ„œ λͺ¨μ˜ ν•΄ν‚Ή μ‹€μŠ΅ μ„œλΉ„μŠ€λ₯Ό κ΅¬ν˜„ν•œ κ²°κ³Όλ₯Ό ν† λŒ€λ‘œ ν•™κ³Ό ν™ˆνŽ˜μ΄μ§€μ— μ μš©ν•˜κΈ°λ‘œ ν•˜μ˜€λ‹€.

 

μ›λž˜μ˜ κ³„νšμ—λŠ” 학생 정보 μ €μž₯ 및 쑰회 μ„œλΉ„μŠ€μ™€ λͺ¨μ˜ ν•΄ν‚Ή μ„œλΉ„μŠ€λ₯Ό ν•¨κ»˜ μΆœμ‹œν•˜λ € ν–ˆμ§€λ§Œ OIDC둜 μΈν•΄μ„œ μœ„μ™€ 같이 쑰금 λ³€κ²½ λ˜μ—ˆλ‹€.

 

μ°Έμ—¬ 주제 및 기술 μŠ€νƒ

 

μš°μ„  λŒ€νšŒμ— μ°Έκ°€ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ„œλ₯˜ μ „ν˜•μ„ 합격해야 ν•˜λŠ”λ°, μš°λ¦¬λŠ” 지정 주제인 μ»¨ν…Œμ΄λ„ˆ 기반 MSA μ„œλΉ„μŠ€λ₯Ό 주제둜 개발 κ³„νšμ„œλ₯Ό 썼닀.

 

Front End

 

Front-EndλŠ” ν˜„μž¬ μ§„ν–‰μ€‘μ΄λ˜ ν”„λ‘œμ νŠΈ μŠ€νŽ™μ„ κ·ΈλŒ€λ‘œ 따라가도둝 ν–ˆλ‹€.

 

ν˜„μž¬ μ„œλΉ„μŠ€ μš΄μ˜μ€‘μΈ ν•™κ³Ό ν™ˆνŽ˜μ΄μ§€λŠ” React JS둜 UIλ₯Ό 그리고 ν”„λ ˆμž„μ›Œν¬λ‘œ Next.js λ₯Ό μ΄μš©ν•˜λ©° Test λ„κ΅¬λ‘œλŠ” Storybook 을 μ΄μš©ν•˜κ³  μžˆλ‹€.

 

이번 λŒ€νšŒμ—μ„œλ„ λ™μΌν•˜κ²Œ ν•΄λ‹Ή μŠ€νŽ™μ„ μœ μ§€ν•˜κ³  ν•„μš”ν•œ κΈ°λŠ₯을 쑰금 μΆ”κ°€ν•˜μ—¬ μ°Έκ°€ν•˜κΈ°λ‘œ ν–ˆλ‹€.

 

Back End

 

Back-EndλŠ” μ–΄μ©Œλ©΄ μ˜€λ²„μ—”μ§€λ‹ˆμ–΄λ§ λ˜μ—ˆλ‹€κ³  ν•  수 μžˆμ§€λ§Œ, λŒ€νšŒκ°€ MSA에 λŒ€ν•œ λŒ€νšŒμΈ 만큼 μ΅œλŒ€ν•œ MSA의 핡심과 ν•„μˆ˜ κ΅¬μ„±μš”μ†Œλ₯Ό μ‹œλ„ν•˜λ €ν–ˆλ‹€.

 

  • Gatway pattern 을 μœ„ν•΄ Spring Cloud Gateway λ₯Ό μ΄μš©ν•˜κ³ 
  • Service Discovery Pattern을 μœ„ν•΄ Spring Cloud Netflix Eurekaλ₯Ό μ΄μš©ν•˜λ©°
  • μ™ΈλΆ€ μ„€μ • 뢄리 및 쀑앙 집쀑 관리λ₯Ό μœ„ν•΄ Spring Cloud Config 및 Spring Cloud Bus + RabbitMQ λ₯Ό μ΄μš©ν•œλ‹€.

Dev Ops

 

Ops μ—μ„œλŠ” νŠΈλž˜ν”½μ΄ λŠ˜μ–΄λ‚˜λ”λΌλ„ μ•ˆμ •λœ μ‹œμŠ€ν…œμ„ μœ μ§€ν•  수 μžˆλ„λ‘ Container Orchestration 도ꡬλ₯Ό μ΄μš©ν•˜κΈ°λ‘œ ν–ˆμ—ˆκ³ , 그에 λ”°λΌμ„œ λ°œμƒν•˜λŠ” Side Effect λ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄μ„œ ν˜„μž¬κΉŒμ§€λŠ” Kafkaλ₯Ό μ΄μš©ν•˜λ„λ‘ κΈ°νšν•˜μ˜€λ‹€.

 

λ˜ν•œ CI CD Automation 을 μ΄μš©ν•΄μ„œ Downtime 을 μ€„μ΄λ €λŠ” 섀계도 μΆ”κ°€ν•˜μ˜€λ‹€.

 

 

μ„œλ₯˜ 지원 μ „λž΅

μ„œλ₯˜μ—μ„œλŠ” μ–΄λ–€ 것을 볼까? λ₯Ό μƒκ°ν•˜λ‹€ 곡식 ν™ˆνŽ˜μ΄μ§€λ₯Ό λ‹€μ‹œ λ³΄μ•˜λ‹€.

 

곡식 ν™ˆνŽ˜μ΄μ§€ μ—μ„œλŠ” κ°•μ‘°ν•˜λŠ” λ‚΄μš©μ΄ 크게 2κ°€μ§€μ˜€μ—ˆλŠ”λ°, κ·Έ 쀑 μš°λ¦¬λŠ” 첫 번째 쑰건에 λ§Žμ€ 무게λ₯Ό μ‹€μ—ˆλ‹€.

 

MSA λ₯Ό κ΅¬μ„±ν•˜κΈ° μœ„ν•΄μ„œ κ½€ λ§Žμ€ κΈ°μˆ λ“€μ΄ λ“€μ–΄κ°€κ²Œ λ˜λŠ”λ°, μš°λ¦¬λŠ” κ·Έ 기술 ν˜Ήμ€ 도ꡬ 및 μ˜€ν”ˆμ†ŒμŠ€λ“€μ˜ 선택 μ΄μœ μ™€ κ·Έλ“€κ³Ό 동일 선상에 μžˆλŠ” λ‹€λ₯Έ μ†”λ£¨μ…˜λ“€μ„ λΉ„κ΅ν•˜μ—¬ 우리만의 이유둜 μ™œ μ‚¬μš©ν•˜λŠ”μ§€λ₯Ό ν•¨κ»˜ μ μ—ˆλ‹€.

 

μ„œλ₯˜ κ²°κ³ΌλŠ” 합격!

OIDCλŠ” 지정 주제둜 μ§€μ›ν•œ νŒ€λ“€ μ€‘μ—μ„œ 10νŒ€μ„ 뽑아 λ³Έμ„  λŒ€νšŒλ‘œ 갈 수 μžˆλŠ” 기회λ₯Ό μ œκ³΅ν•œλ‹€.

 

 

μœ„μ˜ λ‚΄μš©λ“€μ„ ν† λŒ€λ‘œ 개발 κ³„νšμ„œλ₯Ό μ œμΆœν•˜μ˜€κ³  였늘 9μ‹œμ— 합격 메일을 λ°›μ•˜μ—ˆλ‹€.

 

사싀 λͺ‡ νŒ€μ΄ 지원을 ν–ˆμ—ˆκ³  우리 μ„œλ₯˜κ°€ λŒ€λ‹¨ν•˜μ§€ μ•Šμ„ 수 μžˆμ§€λ§Œ κ·Έλž˜λ„ λŒ€νšŒλ₯Ό 처음 μ°Έμ—¬ν•˜λŠ” 학생듀 μž…μž₯μ—μ„œλŠ” 이런 μ‘°μ–Έ ν•˜λ‚˜ ν•˜λ‚˜κ°€ 크게 λ‹€κ°€μ˜¨ λ‹€λŠ” 것을 λ‚˜λŠ” λˆ„κ΅¬λ³΄λ‹€ 잘 μ•Œκ³  μžˆλ‹€.


κ·Έλž˜μ„œ μ‘°μ–Έ μ•„λ‹Œ 쑰언을 μ§§κ²Œλ‚˜λ§ˆ ν•˜μžλ©΄ μ΅œλŒ€ν•œ μ£Όμ΅œμžκ°€ μ›ν•˜λŠ” 것이 무엇인지λ₯Ό λΉ λ₯΄κ²Œ νŒŒμ•…ν•΄λΌμ΄λ‹€.


그것듀을 νŒŒμ•…ν•˜κΈ° μœ„ν•΄μ„œλŠ” ν™ˆνŽ˜μ΄μ§€μ— μžˆλŠ” λ‚΄μš©μΌ μˆ˜λ„ 있고, ν˜Ήμ€ μœ νŠœλΈŒμ— κ²€μƒ‰ν•΄μ„œ μ§€λ‚œ λŒ€νšŒλ“€μ„ 확인할 μˆ˜λ„ μžˆλ‹€.

 

λ‚˜ 같은 κ²½μš°λŠ” μ—­λŒ€ λŒ€νšŒλ“€μ—μ„œ μ–΄λ–€ νŒ€λ“€μ΄ λ‚˜μ™”κ³  μ–΄λ–€ μ†”λ£¨μ…˜μ΄ λ‚˜μ™”λŠ”μ§€λ₯Ό ν™•μΈν•˜κΈ° μœ„ν•΄μ„œ google, github, gitlab, youtube λ“± λ‹€μ–‘ν•œ κ³³μ—μ„œ 자료 쑰사λ₯Ό ν–ˆμ—ˆλ‹€.

 

2021 λŒ€νšŒμ— μ°Έκ°€ν•˜λŠ” λͺ¨λ“  νŒ€λ“€κ³Ό μ•žμœΌλ‘œ 지원할 νŒ€λ“€μ—κ²Œ μ„œλ‘œ ν™”μ΄νŒ… ν•˜μžλŠ” 말을 끝으둜 였늘 글을 λ§ˆμΉ˜λ„λ‘ ν•˜κ² λ‹€.

 

λŒ“κΈ€