Skip to content
View kss123456789's full-sized avatar
Block or Report

Block or report kss123456789

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
kss123456789/README.md

๐ŸŒฑ growing up....

์ตœ์„ ์„ ๊ณ ๋ฏผํ•˜๋Š” ๊ฐœ๋ฐœ์ž, ํ•จ๊ป˜ ์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž

์†Œ๊ฐœ

์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” ์‹ ์ž… ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ๊น€์Šน์ˆ˜์ž…๋‹ˆ๋‹ค. JAVA์™€ SPRING BOOT์— ์ „๋ฌธ์„ฑ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์œผ๋ฉฐ, ํŒ€ ๋ชจ๋‘์—๊ฒŒ ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ๊ฐœ๋ฐœ์„ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฐ๋ฝ์ฒ˜

๊ธฐ์ˆ  ์Šคํƒ

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด: Java, Python, JavaScript
  • ํ”„๋ ˆ์ž„์›Œํฌ: Spring Boot, Django, Flask
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: MySQL, MongoDB, Redis, OracleDB
  • ๋„๊ตฌ ๋ฐ ํ”Œ๋žซํผ: AWS, Git, Nginx, Oracle,
  • ๊ด€์‹ฌ ๋ถ„์•ผ: Docker

ํ”„๋กœ์ ํŠธ

ํ”„๋กœ์ ํŠธ 1: LOL๊ฒŒ์ž„ ๊ฒฝ๊ธฐ ์Šน๋ฅ  ์˜ˆ์ธก ์„œ๋น„์Šค (2023. 05 ~ 2023. 06)

  • ์„ค๋ช…: LOL ๊ฒŒ์ž„์˜ ๊ฒฝ๊ธฐ ์Šน๋ฅ ์„ ์˜ˆ์ธกํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
  • ์—ญํ• : ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ(๋‹จ๋…)
  • ์‚ฌ์šฉ ๊ธฐ์ˆ : Java, Spring, MySQL, Redis, Nginx, AWS, OracleDB
  • ์‚ฌ์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ: JWT (io.jsonwebtoken:jjwt), Spring Security, Spring Data JPA, Lombok, AWS SDK
  • ์ฃผ์š” ์„ฑ๊ณผ:
    • ์ตœ์‹ ์—…๋ฐ์ดํŠธ์™€ ๋ณด์•ˆ์„ฑ๋“ฑ์„ ๊ณ ๋ คํ•˜์—ฌ Java21๋„์ž…
    • AccessToken๊ณผ RefreshToken(Redis)์„ ํ†ตํ•œ ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ๊ด€๋ฆฌ
    • Google Oauth2๋ฅผ ํ†ตํ•œ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„
    • ์™ธ๋ถ€ API๋ฅผ ํ†ตํ•ด ๊ฐ€์ ธ์˜จ ๊ฒฝ๊ธฐ ์ผ์ • ๊ด€๋ฆฌ ๋ฐ ์ถœ๋ ฅ
    • ์‚ฌ์šฉ์ž๋“ค์ด ํฌ์ธํŠธ๋ฅผ ๊ฑธ๊ณ  ๋ฐฐ๋‹น๊ธˆ์„ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • AI๊ฐ€ ์˜ˆ์ธกํ•ด์ฃผ๋Š” ๊ฒฝ๊ธฐ์˜ ์ŠนํŒจ์—ฌ๋ถ€ ์ถœ๋ ฅ
    • ๊ฒฝ๊ธฐ์ผ์ • ๋ฐ ๊ฒฐ๊ณผ์˜ ์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ ๋ฐ ํฌ์ธํŠธ ๋ฐฐ๋ถ„ ์ž๋™ํ™”
    • ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฒŒ์‹œํŒ CRUD, AWS๋ฅผ ํ†ตํ•œ ์ด๋ฏธ์ง€ ๊ด€๋ฆฌ
    • AWS๋ฅผ ํ†ตํ•ด RDS(MySQL), Route53, EC2 ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„ ๋ฐฐํฌ
    • Nginx๋ฅผ ํ†ตํ•œ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„ค์ • ๋ฐ https ssl ์ธ์ฆ, ๋„๋ฉ”์ธ ์ ์šฉ
    • SSE๋ฅผ ํ†ตํ•œ ๊ฒฝ๊ธฐ ์‹œ์ž‘ ์•Œ๋ฆผ, ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ ์•Œ๋ฆผ ๊ตฌํ˜„
    • ํ˜„์žฌ AWS์—์„œ OCI๋กœ ์ด์ „์ž‘์—…์ค‘...

ํ”„๋กœ์ ํŠธ 2: ์ฐจ๋Ÿ‰์ถœ๊ณ  ํ”Œ๋žซํผ ๊ฐœ๋ฐœ (2023. 07 ~ 2023. 09)

  • ์„ค๋ช…: ์ฐจ๋Ÿ‰ ์ถœ๊ณ  ์‹ ์ฒญ ๋ฐ ๊ด€๋ฆฌ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
  • ์—ญํ• : ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ
  • ์‚ฌ์šฉ ๊ธฐ์ˆ : Java, Spring, MySQL, Redis, webRTC, Nginx, AWS
  • ์‚ฌ์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ: JWT (io.jsonwebtoken:jjwt), Spring Security, Spring Data JPA, Lombok, AWS SDK, WebSocket (Spring WebSocket), Socket.io
  • ์ฃผ์š” ์„ฑ๊ณผ:
    • AccessToken๊ณผ RefreshToken(Redis)์„ ํ†ตํ•œ ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ๊ด€๋ฆฌ
    • Google, Kakao Oauth2๋ฅผ ํ†ตํ•œ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„
    • ์‚ฌ์šฉ์ž ์ฐจ๋Ÿ‰ ์ถœ๊ณ  ์‹ ์ฒญ ๋ฐ ๊ด€๋ฆฌ์ž์˜ ์Šน์ธ/๊ฑฐ์ ˆ ์ฒ˜๋ฆฌ
    • ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฒŒ์‹œํŒ CRUD, AWS๋ฅผ ํ†ตํ•œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๋ฐ ์ธ๊ธฐ๊ธ€, ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ๊ณต๊ณต API๋ฅผ ํ†ตํ•œ ์‚ฌ์šฉ์ž ์ฃผ๋ณ€ ์ž๋™์ฐจ ๋žฉํ•‘์ƒต ๊ฒ€์ƒ‰ ๋ฐ ํ‰๊ฐ€, ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • Socket.io๋ฅผ ํ†ตํ•œ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๋ฐ ๊ด€๋ฆฌ์ž์™€์˜ ํ™”์ƒํ†ตํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • AWS๋ฅผ ํ†ตํ•ด RDS(MySQL), Route53, EC2 ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„ ๋ฐฐํฌ
    • Nginx๋ฅผ ํ†ตํ•œ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„ค์ • ๋ฐ https ssl ์ธ์ฆ, ๋„๋ฉ”์ธ ์ ์šฉ

๋ฌธ์ œํ•ด๊ฒฐ

MySQL์—์„œ OracleDB๋กœ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ „ํ™˜ ๋ฐ Query ์ตœ์ ํ™”

  • ๋ฌธ์ œ ์‹๋ณ„: ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ OracleDB๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ, ์ผ๋ถ€ ์ฟผ๋ฆฌ๊ฐ€ Native SQL๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์–ด DBMS ์˜์กด์„ฑ์ด ๋†’์•˜์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”Œ๋žซํผ์— ์ข…์†์ ์ด๋ฉฐ, ํ–ฅํ›„ ํ™•์žฅ์„ฑ๊ณผ ์œ ์ง€ ๋ณด์ˆ˜์— ์ œํ•œ์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ถ„์„ ๋ฐ ์„ค๊ณ„: ์ „ํ™˜ ๊ณผ์ •์—์„œ ๊ธฐ์กด์— ์‚ฌ์šฉํ•œ Native SQL ์ฟผ๋ฆฌ๋“ค์„ JPQL(Jakarta Persistence Query Language)๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. JPQL์€ ORM(Object-Relational Mapping) ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€ํ™”๋œ ์ฟผ๋ฆฌ ์–ธ์–ด๋กœ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ด๋ฉฐ ์œ ์—ฐ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

  • ๊ตฌํ˜„: ๊ฐ๊ฐ์˜ Native SQL ์ฟผ๋ฆฌ๋ฅผ JPQL๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ORM ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„์˜ ์ฐจ์ด์ ์„ ์ดํ•ดํ•˜๊ณ , JPQL์˜ ๋ฌธ๋ฒ•๊ณผ ๊ธฐ๋Šฅ์„ ์ˆ™์ง€ํ•˜๋ฉฐ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฒฐ๊ณผ ๋ฐ ์„ฑ๊ณผ: JPQL๋กœ์˜ ์ฟผ๋ฆฌ ๋ณ€ํ™˜ ํ›„, ์‹œ์Šคํ…œ์˜ ์œ ์ง€ ๋ณด์ˆ˜์„ฑ๊ณผ ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ธ ์ฟผ๋ฆฌ ์–ธ์–ด ์‚ฌ์šฉ์œผ๋กœ ์ธํ•ด, ํ–ฅํ›„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ€๊ฒฝ์— ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ์ด ๊ฐ•ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐฐ์šด ์ : ์ด ๊ฒฝํ—˜์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”Œ๋žซํผ ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๊ณ , ORM ๊ธฐ์ˆ ์˜ ์ค‘์š”์„ฑ์„ ๊นŠ์ด ์ธ์ง€ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ํ‘œ์ค€ํ™”๋œ ์ฟผ๋ฆฌ ์–ธ์–ด ์‚ฌ์šฉ์˜ ์žฅ์ ๊ณผ ๋„์ „ ๊ณผ์ œ๋ฅผ ๊ฒฝํ—˜ํ•˜๋ฉฐ ๊ธฐ์ˆ ์  ์—ญ๋Ÿ‰์„ ํ‚ค์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

Index ์ ์šฉ ํ›„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ ๊ฐœ์„ 

  • ๋ฌธ์ œ ์‹๋ณ„: ์ด์ „์— ์šด์˜ ์ค‘์ธ ์‹œ์Šคํ…œ์—์„œ ํŠน์ • ์ฟผ๋ฆฌ์˜ ์‹คํ–‰ ์‹œ๊ฐ„์ด ์ง€๋‚˜์น˜๊ฒŒ ๊ธธ์–ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•  ๋•Œ๋งˆ๋‹ค ๊ธด ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ๊ฒฝํ—˜ํ–ˆ๊ณ , ์„œ๋น„์Šค์˜ ์‚ฌ์šฉ์„ฑ์ด ์ €ํ•˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ถ„์„ ๋ฐ ์„ค๊ณ„: ์ฟผ๋ฆฌ ์‹คํ–‰ ๊ณ„ํš์„ ๋ถ„์„ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค๊ฐ€ ๋ถ€์กฑํ•œ ์ ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ฟผ๋ฆฌ์˜ ํ•„๋“œ์— ์ธ๋ฑ์Šค๋ฅผ ์ ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•  ํ•„์š”์„ฑ์„ ๋„์ถœํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๊ตฌํ˜„: ํ•„์š”ํ•œ ์ธ๋ฑ์Šค๋ฅผ ์„ค๊ณ„ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„ ์ƒˆ๋กœ์šด ์ธ๋ฑ์Šค๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐฐํฌํ•˜์—ฌ ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฒฐ๊ณผ ๋ฐ ์„ฑ๊ณผ: ์ธ๋ฑ์Šค ์ ์šฉ์œผ๋กœ ์ธํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•  ๋•Œ ๊ฒฝํ—˜ํ•˜๋Š” ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด 50% ์ด์ƒ ์ค„์–ด๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์„œ๋น„์Šค์˜ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ๊ณ , ์‚ฌ์šฉ์ž ๋งŒ์กฑ๋„๋„ ์ƒ์Šนํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐฐ์šด ์ : ์ด ๊ฒฝํ—˜์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค ์„ค๊ณ„์™€ ์ตœ์ ํ™”์˜ ์ค‘์š”์„ฑ์„ ๊นŠ์ด ์ดํ•ดํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ์„ฑ๋Šฅ ๋ถ„์„์„ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ํ‚ค์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ต์œก

์ด๋…ธ๋ฒ ์ด์…˜ ์บ ํ”„ ๋™๋ถ 2๊ธฐ (2023. 06 ~ 2023. 09)

  • ๋‚ด์šฉ: ์ด๋…ธ๋ฒ ์ด์…˜ ์บ ํ”„ ๋™๋ถ 2๊ธฐ์—์„œ๋Š” Java์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•๊ณผ ๋ฌธ๋ฒ•๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ Spring Boot์™€ Spring Security๋ฅผ ํ™œ์šฉํ•œ ์›น ๊ฐœ๋ฐœ ์‹ค์Šต์„ ํ†ตํ•ด, ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐ ๋ณด์•ˆ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ์‹ฌํ™” ์ดํ•ด๋ฅผ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํŠนํžˆ AWS ํด๋ผ์šฐ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ๋ฐฐํฌ์™€ ๊ด€๋ฆฌ๋ฅผ ์‹ค์Šตํ•˜์˜€๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์‹ค๋ฌด์—์„œ์˜ ์ ์šฉ ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ  ์Šต๋“์ด ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค.

Popular repositories Loading

  1. c c Public

    storage for c

    C

  2. zoom_clone zoom_clone Public

    JavaScript

  3. kss123456789.github.io kss123456789.github.io Public

    JavaScript

  4. aitrack_class3_data_project_ott_service aitrack_class3_data_project_ott_service Public

  5. ai_track_class_03_ai_project ai_track_class_03_ai_project Public

    Jupyter Notebook

  6. ai_track_web_project_Project-Library ai_track_web_project_Project-Library Public

    HTML