Coder Social home page Coder Social logo

seb45_main_011's Introduction

๐Ÿ˜„์•ˆ๋…•ํ•˜์„ธ์š”! ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๊ฐ–์ถ˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ์ด์Šนํƒœ์ž…๋‹ˆ๋‹ค :)

  • ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๊ธฐ๋ณธ๊ธฐ๋ž€ WAS ํ†ต์‹ ์— ์ œ๋ฐ˜๋˜๋Š” ์–ธ์–ด, ํ”„๋ ˆ์ž„์›Œํฌ, DBMS, ํ˜‘์—…, CI/CD ๋ฐ ๋ฐฐํฌ, ๊ทธ ์™ธ CS ์ง€์‹ ๋ฐ ์„ฑ์žฅ์„ ์ง€ํ–ฅํ•˜๋Š” ํƒœ๋„๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ €๋Š” ๋ถ€ํŠธ์บ ํ”„ ๊ณผ์ • ์ด์ „๋ถ€ํ„ฐ ์ง€๊ธˆ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์˜จ์˜คํ”„๋ผ์ธ ์Šคํ„ฐ๋””๋ฅผ ์กฐ์ง ๋ฐ ์ฐธ์—ฌํ•˜์—ฌ ๊ฐœ๋ฐœ ๊ณต๋ถ€๋ฅผ ์ ๊ทน์ ์œผ๋กœ ํ•ด์™”์Šต๋‹ˆ๋‹ค.
  • ๊ทธ ์„ฑ๊ณผ๋กœ Java์™€ SpringBoot ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ด์šฉํ•œ ํŒ€ ํ”„๋กœ์ ํŠธ 2๊ฑด์—์„œ ํšŒ์›, ๋ฏธ๋‹ˆ ํ™ˆํŽ˜์ด์ง€, ๊ฒŒ์‹œํŒ, ๋žญํ‚น, ์ฑ„ํŒ…, ์š•์„ค ํ•„ํ„ฐ๋ง ๋“ฑ ๋‹ค์ˆ˜ ๋„๋ฉ”์ธ์—์„œ์˜ ๊ธฐ๋Šฅ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜์˜€์œผ๋ฉฐ, ์ด ๊ณผ์ •์—์„œ Spring AOP, S3 ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ, STOMP-์›น์†Œ์ผ“ ํ”„๋กœํ† ์ฝœ ํ™œ์šฉ, GitHubAction๊ณผ Docker๋ฅผ ํ™œ์šฉํ•œ CI/CD ๋“ฑ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ ์ฒ˜๋ฆฌ์— ๊ด€ํ•œ ๊ท€์ค‘ํ•œ ๊ฒฝํ—˜์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋”๋ถˆ์–ด ์ •๋ณด์ฒ˜๋ฆฌ ๊ธฐ์‚ฌ์™€ SQLD ์ž๊ฒฉ์ฆ ์Šคํ„ฐ๋””๋ฅผ ์šด์šฉํ•œ ๊ฒฐ๊ณผ๋กœ ์‘์‹œํ•œ ๋ชจ๋“  ์‹œํ—˜์—์„œ ์ž๊ฒฉ์ฆ์„ ๋ฐœ๋ถ€ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
  • ํ˜„์žฌ์˜ ๋ชฉํ‘œ๋Š” ์ œ๋„ˆ๋Ÿด๋ฆฌ์ŠคํŠธ, ๊ทผ๋ฏธ๋ž˜์˜ ๋ชฉํ‘œ๋Š” ์ŠคํŽ˜์…œ๋ฆฌ์ŠคํŠธ๋ฅผ ์ง€ํ–ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์‹ ์ž…์œผ๋กœ์„œ์˜ ์ €๋Š” Java, DBMS, Spring, Spring Boot, Git, MY-SQL, JPA, JWT, Oauth, AWS ๋“ฑ์˜ ๊ธฐ์ˆ ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ๋ถ€ํŠธ์บ ํ”„๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๊ต์œก๊ณผ์ •์„ ์ด์ˆ˜ํ•˜๊ณ  ์ž๋ฐ”, ์Šคํ”„๋ง/์Šคํ”„๋ง ๋ถ€ํŠธ, MySQL์— ๋Œ€ํ•œ ์ดํ•ด์™€ ํ™œ์šฉ ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์‹๋ฌผ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ 'growstroy`์—์„œ '์š”๊ตฌ์‚ฌํ•ญ ์ •์˜', 'API ๋ช…์„ธ ์ž‘์—…', 'DB Modeling', Stomp ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ์ฑ„ํŒ…, Crontab์„ ํ™œ์šฉํ•œ ๋žญํ‚น ์‹œ์Šคํ…œ, S3๋ฅผ ํ†ตํ•œ ๊ฒŒ์‹œํŒ CRUD ๋ฐ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ, ๋ฏธ๋‹ˆ ํ™ˆํŽ˜์ด์ง€ ์˜ค๋ธŒ์ ํŠธ ๊ตฌ์ž… ๋ฐ ๋ฐฐ์น˜, Spring AOP๋ฅผ ํ™œ์šฉํ•œ ๋‹ค์ค‘ ๋„๋ฉ”์ธ์—์„œ์˜ ์š•์„ค ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๊ตฌํ˜„, CompletableFutre ๋น„๋™๊ธฐ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•œ ํšŒ์›๊ฐ€์ž… ์ธ์ฆ ์ด๋ฉ”์ผ ์„ฑ๋Šฅ ๊ฐœ์„ ์— ์ฐธ์—ฌํ•œ ๋ฐ” ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์ธ 'Stackoverflow ํด๋ก ์ฝ”๋”ฉ'์—์„œ๋Š” Spring Security์™€ JWT, Oauth๋ฅผ ์ด์šฉํ•œ ํšŒ์› ๋„๋ฉ”์ธ ๊ด€๋ฆฌ, RestControllerAdvice๋ฅผ ํ™œ์šฉํ•œ ์˜ˆ์™ธ ์‘๋‹ต ์ฒ˜๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.


์ฃผ์š” ํ”„๋กœ์ ํŠธ

  • ์ƒ๊ธฐ ํ”„๋กœ์ ํŠธ์—์„œ ์ €๋Š” STOMP-์›น ์†Œ์ผ“์„ ์ด์šฉํ•œ ์‹ค์‹œ๊ฐ„ QNA ์ฑ„ํŒ…, AOP๋ฅผ ํ™œ์šฉํ•œ ๋‹ค์ค‘ ๋„๋ฉ”์ธ์—์„œ์˜ ์š•์„ค ์ฒ˜๋ฆฌ, Crontab์„ ํ™œ์šฉํ•œ ์ฃผ๊ฐ„ ๋žญํ‚น ์‹œ์Šคํ…œ, '์‹๋ฌผ ์ผ์ง€' ๊ฒŒ์‹œํŒ CRUD ๋ฐ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ, ๋ฏธ๋‹ˆ ํ™ˆํŽ˜์ด์ง€ '์ •์›' ๊ด€๋ จ CRUD, ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•œ ํšŒ์›๊ฐ€์ž… ์ด๋ฉ”์ผ ์„ฑ๋Šฅ ๊ฐœ์„ , GitHubAction๊ณผ Docker๋ฅผ ํ™œ์šฉํ•œ AWS EC2 ๋ฐฐํฌ๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์™ธ ๋ฌธ์„œ์ž‘์—…์œผ๋กœ๋Š” ์š”๊ตฌ์‚ฌํ•ญ์ •์˜์„œ ๋ฐ API ๋ช…์„ธ์„œ, DB ๋ชจ๋ธ๋ง ๋“ฑ์„ ์ž‘์—…ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์–‘ํ•œ ๋„๋ฉ”์ธ ๊ธฐ๋Šฅ์„ ์Šค์Šค๋กœ ๊ตฌํ˜„ํ•˜๋ฉฐ, ์ ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ธฐ์ˆ ์„ ์Šค์Šค๋กœ ํ•™์Šตํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์— ์ ‘๋ชฉํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ณด๋žŒ๊ณผ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์Šคํƒ ์˜ค๋ฒ„ ํ”Œ๋กœ์šฐ ํด๋ก  ์ฝ”๋”ฉ | Repo :
  • ์ƒ๊ธฐ ํ”„๋กœ์ ํŠธ์—์„œ ์ €๋Š” ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„, jwtํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐ ์ธ์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ๊ตฌ๊ธ€ Oauth2 ๊ตฌํ˜„, ์œ ํšจ์„ฑ ๊ฒ€์ฆ, ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋ฐ ์‘๋‹ต ์„น์…˜์„ ๋งก์•˜์Šต๋‹ˆ๋‹ค.
  • ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ์ž ๋ถ„๊ณผ์˜ ํ˜‘์—…์„ ํ†ตํ•˜์—ฌ ์ž์ฒด ํšŒ์›๊ฐ€์ž… ๋กœ์ง๊ณผ ๊ตฌ๊ธ€ OAuth ๋กœ์ง์„ ํ†ตํ•ฉํ–ˆ์œผ๋ฉฐ, ์šด์˜ ์„œ๋ฒ„์—์„œ ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๊ณ  ์ ์šฉ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์šฐ์ˆ˜ํ•œ ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ CI/CD ํˆด์ธ GithubAction์„ ์ด์šฉํ•˜์—ฌ AWS EC2 ์ธ์Šคํ„ด์Šค์— ์šด์˜ ๋ธŒ๋žœ์น˜๋ฅผ ์ž๋™์œผ๋กœ ํ†ตํ•ฉ/๋ฐฐํฌํ•˜๋Š” ๊ฒฝํ—˜์„ ํ•˜์˜€๊ณ , CI/CD์˜ ์ค‘์š”์„ฑ ๋ฐ ์ƒ์‚ฐ์„ฑ์„ ๋‹ค์‹œ๊ธˆ ๊นจ๋‹ซ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐํƒ€ ์ž‘์—…๋ฌผ


์ทจ๋“ ์ž๊ฒฉ์ฆ

  • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ | ํ•œ๊ตญ์‚ฐ์—…์ธ๋ ฅ๊ณต๋‹จ | 2023.11
  • SQL๊ฐœ๋ฐœ์ž(SQLD) | ํ•œ๊ตญ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ง„ํฅ์„ผํ„ฐ | 2023.10

๊ด€๋ จ ๊ต์œก ๊ธฐ๊ด€

์ฝ”๋“œ์Šคํ…Œ์ด์ธ  | ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ๋ถ€ํŠธ์บ ํ”„ (๋ฐฑ์—”๋“œ)์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ต์œก๊ณผ์ •์„ ์ด์ˆ˜ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

  • Git
  • Java (๊ธฐ๋ณธ ๋ฌธ๋ฒ•, OOP๋“ฑ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง, ์ŠคํŠธ๋ฆผ&๋žŒ๋‹ค, ์Šค๋ ˆ๋“œ, JVM, ์ž๋ฃŒ๊ตฌ์กฐ)
  • ์ž๋ฃŒ๊ตฌ์กฐ/์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๋„คํŠธ์›Œํฌ (์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž‘๋™์›๋ฆฌ, HTTP)
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (MySQL)
  • ์Šคํ”„๋ง ๋ฐ ์Šคํ”„๋ง ๋ถ€ํŠธ
  • JPA & ํ•˜์ด๋ฒ„๋„ค์ดํŠธ
  • ํ…Œ์ŠคํŠธ, ๋ฌธ์„œํ™”
  • ๋นŒ๋“œ ์‹คํ–‰ ๋ฐฐํฌ (AWS, Docker, GithubAction)
  • ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ
  • ํ”„๋กœ์ ํŠธ 2๊ฑด

๊ธฐ์ˆ  ์Šคํƒ

ํ˜„์žฌ์˜ ์ €๋Š” ๊ธฐ๋ณธ๊ธฐ ํ•จ์–‘์„ ์œ„ํ•ด ์ œ๋„ˆ๋Ÿด๋ฆฌ์ŠคํŠธ๋กœ์„œ ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ์–ธ์ œ๋‚˜์˜ ๋ชฉํ‘œ๋Š” ์ด ๋ถ„์•ผ์˜ ์ŠคํŽ˜์…œ๋ฆฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.
๋‹ค์Œ์€ ๊ธฐ์ˆ  ์Šคํƒ๊ณผ ์ œ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ์šด์šฉ ์ˆ˜์ค€์„ ๊ธฐ์ˆ ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ž์‹ ๊ฐ ์žˆ๊ฒŒ ์šด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ž๋ฐ” : (ํด๋ž˜์Šค, ๊ฐ์ฒด, ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ OOP์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์  ๊ฐœ๋… ์ดํ•ด ๋ฐ ํ™œ์šฉ, ํ”„๋กœ์ ํŠธ์—์„œ ์• ๋„ˆํ…Œ์ด์…˜, ์ŠคํŠธ๋ฆผ ๋ฐ ๋žŒ๋‹ค์‹์„ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, Optional ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•œ null์ฒ˜๋ฆฌ, RuntimeException์— ๋Œ€ํ•œ ๊ธฐํ•ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ˆ์™ธ ์ฒ˜๋ฆฌ)

๋ฌด๋ฆฌ ์—†์ด ์šด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์Šคํ”„๋ง / ์Šคํ”„๋ง ๋ถ€ํŠธ : (HTTP ๋ฉ”์„œ๋“œ์— ๋”ฐ๋ฅธ ๊ธฐ๋ณธ CRUD ์ฝ”๋“œ ๊ตฌํ˜„, ์Šคํ”„๋ง ๋นˆ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ†ตํ•œ ๋นˆ ๊ฐ์ฒด DI ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์„ค๊ณ„, Spring AOP๋ฅผ ํ™œ์šฉํ•œ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์€ ์„ค๊ณ„ ์ง€ํ–ฅ )

  • ORM(JPA) : ( Spring Data JPA๋ฅผ ๋ฐ”ํƒ•์œผ๋กœํ•œ Repository ๊ตฌ์„ฑ ๋ฐ ํ™œ์šฉ, MySQL ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค DDL, DML ์ž‘์„ฑ, @Transactional์„ ์ด์šฉํ•œ ๊ธฐ๋ณธ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ)

  • ํ…Œ์ŠคํŠธ : (JUnit5, Mockito๋ฅผ ์ด์šฉํ•œ ์œ ๋‹› ํ…Œ์ŠคํŠธ ๋ฐ ๋ ˆ์ด์–ด Mocking ํ…Œ์ŠคํŠธ)

  • Git : (Git flow, ์ปจ๋ฒค์…˜์— ์ž…๊ฐํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ)

๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋„์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ : ์ค‘ํ•˜* (OAuth2.0, JWT ํ† ํฐ์„ ์‚ฌ์šฉํ•œ ๊ธฐ๋ณธ์ ์ธ ์ธ๊ฐ€ ํ๋ฆ„ ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„, ์—ญํ•  ๊ธฐ๋ฐ˜์— ๋”ฐ๋ฅธ ACL ๊ตฌํ˜„)
  • Docker / ํด๋ผ์šฐ๋“œ : ์ค‘ํ•˜* (Docker ๋ฐ GitHub Action, AWS EC2๋ฅผ ์ด์šฉํ•œ CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌํ˜„)

๊ธฐํƒ€

  • ๊ธฐํƒ€: ์ž๋ฐ” ๊ธฐ๋ณธ์„œ ์Šคํ„ฐ๋””, MySQL ์Šคํ„ฐ๋””, ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์Šคํ„ฐ๋”” ์šด์˜ ๋ฐ ์ฐธ์—ฌ (ํฌํŠธํด๋ฆฌ์˜ค ์ฐธ์กฐ) ๋ชจ๋“  ์ž๊ฒฉ์ฆ ์Šคํ„ฐ๋””์—์„œ ์ž๊ฒฉ์ฆ์„ ์ทจ๋“ํ•œ ๋ฐ” ์žˆ์Šต๋‹ˆ๋‹ค.

โœ‰๏ธ ์—ฐ๋ฝํ•ด์ฃผ์„ธ์š”!


GitHub activity

NtoZero's GitHub stats

seb45_main_011's People

Contributors

dohyoungk avatar dokyung-hwang avatar hanbinchoi avatar nalsae avatar ntozero avatar shimdokite avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.