Skip to content

ParkSeYun98/SSACCER-BE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“– SSACCER - SSAFY 9κΈ° 1ν•™κΈ° μ΅œμ’… 관톡 ν”„λ‘œμ νŠΈ


πŸ“Œ 주제


βœ… μ˜μƒ ν”Œλž«νΌ, 각쒅 μš΄λ™ API와 데이터λ₯Ό ν™œμš©ν•œ μ’…ν•© ν’‹μ‚΄/좕ꡬ μ„œλΉ„μŠ€


  • μ˜μƒ ν”Œλž«νΌ APIλ₯Ό ν™œμš©ν•œ ν’‹μ‚΄ / 좕ꡬ μ˜μƒ 제곡

  • 같이 풋살을 ν•  νŒ€μ›μ„ λͺ¨μ§‘ν•˜λŠ” κ²Œμ‹œνŒ / νŒ€μ› 관리

  • ν•΄μ™Έ 좕ꡬ 기둝 APIλ₯Ό ν™œμš©ν•œ ν•΄μ™Έ 좕ꡬ 기둝 및 μ†Œμ‹ 제곡

  • 날씨 APIλ₯Ό ν™œμš©ν•˜μ—¬ μ „κ΅­ ν’‹μ‚΄μž₯의 날씨 예보 제곡






πŸ“Œ κ°œμš”


βœ… μˆ˜μƒ λ‚΄μ—­


  • SSAFY 9κΈ° 1ν•™κΈ° ν”„λ‘œμ νŠΈ μš°μˆ˜μƒ






βœ… ν”„λ‘œμ νŠΈ μ§„ν–‰ κΈ°κ°„


  • 2023.05.18(λͺ©) ~ 2023.05.26(금)

    • 9일간 μ§„ν–‰



******************** μΆ”κ°€ ********************

  • 6μ›” 방학기간을 μ΄μš©ν•˜μ—¬ 배포 μ™„λ£Œ






βœ… ν”„λ‘œμ νŠΈ νŒ€

  • λ°•μ„Έμœ€ / κΉ€ν˜„μ€‘ (2인)

  • κΈ°λŠ₯ 별 μ—­ν•  λΆ„λ‹΄






βœ… 기술 μŠ€νƒ


DataBase

  • MySQL

BackEnd

  • Java 11

    • 졜초 8버전을 μ‚¬μš©ν–ˆμœΌλ‚˜, Football-Data.org 라이브러리λ₯Ό ν™œμš©ν•˜κΈ° μœ„ν•΄ 11λ²„μ „μœΌλ‘œ μ—…κ·Έλ ˆμ΄λ“œ
  • SpringBoot 2.7.11

  • MyBatis

  • IDE : IntelliJ

  • Build Tool : MVN

  • Dependencies

    • Spring Web
    • Spring Boot Dev Tools
    • Spring Configuration Processor
    • MyBatis FrameWork
    • MySQL Driver
    • Lombok

FrontEnd

  • Vue 2

    • router
    • axios
    • vuex
  • css

    • bootstrap 5
  • emailjs

    • μ‚¬μš©μžκ°€ κ΄€λ¦¬μžμ—κ²Œ 문의 이메일을 λ‚¨κΈ°κ²Œ ν•΄μ£ΌλŠ” 라이브러리
  • sweetalert

    • alertλ₯Ό μ•„λ¦„λ‹΅κ²Œ λ§Œλ“€μ–΄μ£ΌλŠ” 라이브러리
  • λˆˆλˆ„

    • μ™ΈλΆ€ font μ‚¬μ΄νŠΈ

API


Data

  • μ „κ΅­ ν’‹μ‚΄μž₯(좕ꡬμž₯) μ’Œν‘œ 데이터

  • μ „κ΅­ 좕ꡬμž₯ μœ„λ„ 경도 데이터

  • μ „κ΅­ x,y μ’Œν‘œ (기상청 제곡)


Version Control

  • github

CoOperation Tool

  • Notion

  • Discord


배포 (ν”„λ‘œμ νŠΈ μ’…λ£Œ ν›„ μΆ”κ°€ 개발)

  • front : netlify둜 https 배포

  • back : AWS EC2둜 http server 배포

    • κ°€λΉ„μ•„λ₯Ό ν™œμš©ν•˜μ—¬ custom domain κ΅¬μž…)
    • 탄λ ₯적 ip ν™œμš©
  • database : AWS RDS둜 database server 배포

  • ec2둜 λ°°ν¬ν•œ http serverλ₯Ό https둜 λ³€ν™˜ν•˜κΈ° μœ„ν•΄ AWS EC2 target group / loadbalancer, AWS Certificate Manager, Route 53 λ“± ν™œμš©μš©






βœ… ERD

  • λŒ€λΆ€λΆ„ users ν…Œμ΄λΈ”μ„ ν•„λ‘λ‘œ μ™Έλž˜ν‚€ 연결이 λ˜μ–΄μžˆλ‹€.

  • soccerfields, xypoints, regioncodes, bigregioncodesλŠ” μ™ΈλΆ€ μ—‘μ…€ 데이터λ₯Ό ν…Œμ΄λΈ”μ˜ ν˜•νƒœμ— 맞게 λ³€ν˜•ν•œ ν›„ csv둜 λ³€ν™˜ν•˜μ—¬ db에 μ‚½μž…ν•˜μ˜€λ‹€.

    • soccerxy ν…Œμ΄λΈ”μ€ xoccerfields와 xypoints의 join으둜 μƒμ„±ν–ˆλ‹€.






πŸ“Œ κΈ°λŠ₯


βœ… 메인 νŽ˜μ΄μ§€

  • 상단 NavBar, 쀑앙 사진이 μœ„μΉ˜ν•œ Carousel, ν•˜λ‹¨ ContentsBar λͺ¨λ‘μ—μ„œ μ£Όμš” νŽ˜μ΄μ§€ 이동 κ°€λŠ₯

  • NavBarλ₯Ό 톡해 Login / SignUp κ°€λŠ₯






βœ… νšŒμ›κ°€μž…

  • ID / PW 및 각쒅 정보λ₯Ό μž…λ ₯ν•˜μ—¬ νšŒμ› κ°€μž… κ°€λŠ₯






βœ… 둜그인 / λ‘œκ·Έμ•„μ›ƒ

  • 둜그인 μ‹œ jwt(json-web-token) κΈ°μˆ μ„ ν™œμš©ν•œ μœ νš¨μ„± 검사 μ§„ν–‰

    • jwt μœ νš¨μ„± κ²€μ‚¬μ—μ„œ μ‹€νŒ¨ν•  경우, 컨텐츠 μ‚¬μš© λΆˆκ°€λŠ₯ (μ—λŸ¬)






  • 잘λͺ»λœ 둜그인 μ‹œ μ—λŸ¬ ν‘œμ‹œ (sweetalert)



  • 둜그인 이후 NavBar의 λ³€ν™”



βœ… ν’‹μ‚΄ νŒ€μ› λͺ¨μ§‘

  • κΈ€ 등둝 μ‹œ μ„€μ •ν•œ λͺ¨μ§‘ 인원에 따라 이미 λͺ¨μ§‘이 μ™„λ£Œλœ 글은 마감 ν‘œμ‹œ

  • λͺ¨μ§‘ κΈ€μ˜ 제λͺ©, κΈ€ μž‘μ„±μž, ν’‹μ‚΄ μž₯μ†Œ, μˆ˜μ€€, 성별, ν’‹μ‚΄ μ‹œμž‘μ‹œκ°„, 쑰회수 ν‘œμ‹œ




  • ν’‹μ‚΄μž₯ μž₯μ†Œ 선택 ν›„ μœ„μΉ˜ 보기 λ²„νŠΌ 클릭 μ‹œ, 상단 ꡬ글 λ§΅μ—μ„œ λŒ€λž΅μ μΈ ν’‹μ‚΄μž₯의 μœ„μΉ˜ ν‘œμ‹œ



  • λͺ¨μ§‘ κΈ€ 등둝 ν›„ λ³€ν™”



  • λͺ¨μ§‘ κ²Œμ‹œκΈ€ 상세 νŽ˜μ΄μ§€ 상단 λΆ€λΆ„

  • Google Map API둜 λͺ¨μ§‘ κΈ€μ˜ ν’‹μ‚΄μž₯ μœ„μΉ˜ 지도 제곡

  • νŒ€ ν…Œμ΄λΈ”μ—μ„œλŠ” 맀칭된 νŒ€μ› 정보λ₯Ό 확인할 수 μžˆλ‹€.

    • 이 νŒ€μ— ν•©λ₯˜ν•œ νšŒμ›λ“€λ§Œ ν•΄λ‹Ή ν…Œμ΄λΈ”μ„ 확인할 수 μžˆλ‹€.
    • 이 νŒ€μ— ν•©λ₯˜ν•˜μ§€ μ•Šμ€ λ‹€λ₯Έ νšŒμ›λ“€μ€ 이 ν…Œμ΄λΈ”μ„ λ³Ό 수 μ—†λ‹€.
    • ν…Œμ΄λΈ”μ—λŠ” ν•©λ₯˜ν•œ νšŒμ› 번호(μˆœμ„œ), νšŒμ›μ˜ 랭크(신뒰도 확인), 이름, μ „ν™”λ²ˆν˜Έ, ν¬μ§€μ…˜, μ‹€λ ₯, 성별을 확인할 수 μžˆλ‹€.



  • λͺ¨μ§‘ κΈ€ 등둝 μ‹œ μ„€μ •ν•œ 것듀이 μ‚¬μ§„μœΌλ‘œ 보여진닀. (ν’‹μ‚΄ μž₯λΉ„ λŒ€μ—¬ μ—¬λΆ€, μƒ€μ›Œ κ°€λŠ₯ μ—¬λΆ€, μ£Όμ°¨ κ°€λŠ₯ μ—¬λΆ€, 음료 λ°˜μž… κ°€λŠ₯ μ—¬λΆ€)

  • ν’‹μ‚΄ μˆ˜ν–‰ μ‹œκ°„, ν’‹μ‚΄μž₯ μœ„μΉ˜, 인당 λΉ„μš©, μƒνƒœ(λͺ¨μ§‘/마감), μ‹€λ ₯, λͺ¨μ§‘ 인원 ν˜„ν™©, 성별, 쑰회수 ν‘œμ‹œ

  • λͺ¨μ§‘ κΈ€μ˜ 제λͺ© / λ‚΄μš© ν‘œμ‹œ




  • μ‹ μ²­ λ²„νŠΌ 클릭 μ‹œ λ³€ν™”



  • μ‹ μ²­ μ·¨μ†Œ μ‹œ λ³€ν™”

    • μ‹ μ²­ν•˜μ§€ μ•Šμ€ νšŒμ›μ€ ν•΄λ‹Ή κΈ€μ˜ νŒ€ ν…Œμ΄λΈ”μ„ λ³Ό 수 μ—†λ‹€.






βœ… ν’‹μ‚΄ / 좕ꡬ κ΄€λ ¨ 유튜브 μ˜μƒ 제곡

  • κ΅­κ°€ λŒ€ν‘œ 탭을 λˆ„λ₯Έ ν›„ ν™”λ©΄



  • νŠΉμ • μ˜μƒ 클릭 μ‹œ ν™”λ©΄

  • 유튜브 μ˜μƒ μ‹œμ²­ κ°€λŠ₯

  • 이 μ˜μƒμ— λŒ€ν•œ 리뷰 κΈ€ λͺ©λ‘

    • 리뷰 번호 / 제λͺ© / μž‘μ„±μž 랭크 / μž‘μ„±μž 이름 / 쑰회수 / μž‘μ„±μ‹œκ°„



  • μ˜μƒ 리뷰 μž‘μ„± / μž‘μ„± ν›„ λ³€ν™”



  • 리뷰 상세 νŽ˜μ΄μ§€

    • μ˜μƒ / μ˜μƒ μ—…λ‘œλ“œ 채널 / 리뷰 제λͺ© / λ‚΄μš© / μ’‹μ•„μš” μ—¬λΆ€ / 쑰회수 / μž‘μ„±μΌμž
  • 리뷰 μˆ˜μ • / μ‚­μ œ κ°€λŠ₯




  • 상세 νŽ˜μ΄μ§€μ—μ„œ μ’‹μ•„μš” λˆ„λ₯Έ ν›„ ν•˜νŠΈ λ³€ν™”

  • μ‘°νšŒμˆ˜λ„ 였λ₯Έ λͺ¨μŠ΅






βœ… 날씨 정보 제곡

  • κΈ°μƒμ²­μ˜ 단기 예보 API / 쀑기 예보 API와 μ™ΈλΆ€ csv μ—‘μ…€ 데이터λ₯Ό ν™œμš©ν•˜μ—¬ ν•΄λ‹Ή μ§€μ—­κ³Ό ν’‹μ‚΄μž₯의 날씨, 기온 예보 및 ν˜„μž¬ 상세 날씨λ₯Ό μ œκ³΅ν•œλ‹€.

    • μ™ΈλΆ€ μ—‘μ…€ λ°μ΄ν„°μ˜ 경우, csv둜 λ³€ν™˜ν•œ ν›„ db ν…Œμ΄λΈ”μ— λ§žλŠ” ν˜•νƒœλ‘œ λ³€ν™˜ν•˜κ³  db ν…Œμ΄λΈ”μ— μ‚½μž…ν•œ ν›„, join 등을 ν†΅ν•΄μ„œ ν•΄λ‹Ή μ„œλΉ„μŠ€μ— μ•Œλ§žλŠ” ν˜•νƒœμ˜ λ°μ΄ν„°λ‘œ λ§Œλ“€μ–΄λƒˆλ‹€.
  • μ „κ΅­ 쀑, μž…λ ₯ν•˜λŠ” 값에 따라 선택할 수 μžˆλŠ” 후보 ꡰ이 바뀐닀. (μœ μ €κ°€ μž…λ ₯ν•  λ•Œλ§ˆλ‹€ 후보지 λ³€κ²½)






βœ… ν•΄μ™Έ 좕ꡬ μ†Œμ‹

  • ν˜„μž¬λŠ” 두 κ°€μ§€ 정보 확인 κ°€λŠ₯



  • 리그 / λΌμš΄λ“œ μž…λ ₯ μ‹œ λ‘œλ”©

  • ν•΄λ‹Ή 정보 제곡




  • 리그별 졜고 λ“μ μžλ„ μœ„μ™€ λ™μΌν•œ λ°©μ‹μœΌλ‘œ 제곡






βœ… 문의 νŽ˜μ΄μ§€

  • κ΄€λ¦¬μžμ—κ²Œ μ‚¬μš©μžκ°€ 직접 문의 λ©”μ‹œμ§€λ₯Ό 남길 수 μžˆλ‹€.



  • 문의 λ©”μ‹œμ§€λŠ” EmailJs λΌλŠ” 라이브러리λ₯Ό 톡해, κ΄€λ¦¬μžμ˜ μ΄λ©”μΌλ‘œ 전솑 λœλ‹€.

    • κ΄€λ¦¬μžλŠ” μœ μ €μ˜ ν”Όλ“œλ°±μ„ λΉ λ₯΄κ²Œ μˆ˜μš©ν•˜κ³  ν•΄κ²°ν•  수 μžˆλ‹€.






βœ… 마이 νŽ˜μ΄μ§€

  • λ‚΄κ°€ μ—…λ‘œλ“œν•œ 이미지, ID, 이름, λ‹‰λ„€μž„, λ“±κΈ‰, ν¬μ§€μ…˜, μ „ν™”λ²ˆν˜Έ 정보가 ν‘œμ‹œλ˜μ–΄μžˆλ‹€.



  • λ‚΄ μ •λ³΄μ˜ μˆ˜μ •μ΄ κ°€λŠ₯ν•˜λ‹€.

  • λ§ˆμ°¬κ°€μ§€λ‘œ νšŒμ› νƒˆν‡΄λ„ κ°€λŠ₯ν•˜λ‹€.




  • λ‚΄κ°€ μ’‹μ•„ν•˜λŠ” 리뷰λ₯Ό ν΄λ¦­ν•˜λ©΄, λ‚΄κ°€ μ’‹μ•„μš” λˆŒλ €λ˜ μ˜μƒμ˜ 리뷰 글듀이 λ‚˜νƒ€λ‚˜κ³ , ν΄λ¦­ν•˜λ©΄ ν•΄λ‹Ή 리뷰의 상세 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•œλ‹€.






πŸ“Œ 기타 / 배운 점 / 깨달은 점 λ“±λ“± λͺ¨λ“  기둝..


βœ… λŠλ‚€ 점

λ‹€μŒμ΄ κΈ°λŒ€λ˜λŠ” ν”„λ‘œμ νŠΈ

μ‹Έν”Ό 1ν•™κΈ°λ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ μ–΄λŠμ •λ„ κΈ΄ 기간을 κ°€μ§„ νŒ€ ν”„λ‘œμ νŠΈλ₯Ό μ²˜μŒν•΄λ΄€λŠ”λ°, μ§„μ§œ 쉽지 μ•Šμ•˜λ‹€..

ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©° λ§Œλ‚œ μˆ˜λ§Žμ€ μ—λŸ¬λ“€.. ^^ μžŠμ§€ μ•Šμ„ κ²λ‹ˆλ‹€..

이런 λ§Žμ€ μœ„κΈ°λ“€μ΄ μ €μ—κ²Œ μžˆμ–΄ λ§Žμ€ κΉ¨λ‹¬μŒμ„ μ£Όμ—ˆκ³ , λ‹€μŒ λ²ˆμ— λŠ” 더 재밌고, 더 잘 ν• μˆ˜ μžˆμ„ κ²ƒμ΄λΌλŠ” ν™•μ‹ μœΌλ‘œ λ‹€κ°€μ™”μŠ΅λ‹ˆλ‹€!

또 μ˜€λžœλ§Œμ— μ΄λ ‡κ²Œ 무언가에 λΉ μ Έ μ—΄μ •μ μœΌλ‘œ μž„ν–ˆλ˜ 것 κ°™μ•„, μ‹Έ ν”Όμ˜ κΈ΄ κ΅μœ‘κΈ°κ°„μ„ μ§€λ‚˜λ©΄μ„œ μ„œμ„œνžˆ μžƒμ–΄μ™”λ˜ μ—΄μ •μ΄λ‚˜ μ˜μš•μ„ λ‹€ μ‹œ 찾은 것 κ°™μ•„ μ’‹μ•˜μŠ΅λ‹ˆλ‹€!






βœ… μ•„μ‰¬μ› λ˜ 점

  • Vue 2 λ²„μ „μ—μ„œ Listλ‚˜ λ°°μ—΄μ˜ 변경감지 λΆˆκ°€λŠ₯ 이슈λ₯Ό 늦게 μ•Œμ•„, 이λ₯Ό ν•΄κ²°ν•˜λŠ”λ° μ‹œκ°„μ΄ 였래걸리고 μΌλΆ€λŠ” ν•΄κ²°ν•˜μ§€ λͺ»ν•΄μ„œ λ§€λ„λŸ½μ§€ λͺ»ν•˜λ‹€.

    • Vue 3 버전을 μ‚¬μš©ν–ˆμœΌλ©΄ 더 μΎŒμ ν–ˆμ„ 것 κ°™λ‹€.
  • κΈ°λŠ₯에 κΈ‰κΈ‰ν•˜μ—¬ λ””μžμΈμ μœΌλ‘œ 신경을 많이 λͺ»μ“΄κ²ƒ κ°™λ‹€.

  • μ²˜μŒμ— 섀계λ₯Ό ν™•μ‹€νžˆ μž˜ν•˜κ³  μ‹œμž‘ν•΄μ•Ό ν•˜λŠ”λ°, κ·ΈλŸ¬μ§€ λͺ»ν•΄μ„œ 쀑간쀑간에 DBλΆ€ν„° Back / Front λͺ¨λ‘ μˆ˜μ •ν•΄μ•Ό ν•˜λŠ” 일이 λ§Žμ•„μ„œ, νš¨μœ¨μ μ΄μ§€ λͺ»ν–ˆλ‹€.

  • νŒ€ λͺ¨μ§‘ κ²Œμ‹œνŒμ—μ„œ 등둝 μ‹œ, 달λ ₯ APIλ₯Ό ν™œμš©ν•˜μ—¬ 달λ ₯에 μžλ™μœΌλ‘œ 일정이 λ“±λ‘λ˜κ³  이λ₯Ό μœ μ €μ—κ²Œ 보여주지 λͺ»ν–ˆλ‹€.

    • 마이 νŽ˜μ΄μ§€μ—μ„œλ„ λ‚΄κ°€ κ°€μž…λ˜μ–΄μžˆλŠ” νŒ€ ν…Œμ΄λΈ”μ„ 보여주지 λͺ»ν–ˆλ‹€.
    • ν’‹μ‚΄ κ²½κΈ° μ‹œκ°„μ΄ μ§€λ‚œ ν›„, μžλ™μœΌλ‘œ λͺ¨μ§‘ κΈ€κ³Ό νŒ€ ν…Œμ΄λΈ”μ΄ μ‚­μ œλ˜λŠ” κΈ°λŠ₯을 λ„£μ§€ λͺ»ν–ˆλ‹€.
  • νšŒμ› 끼리 μΉœκ΅¬λ‚˜ νŒ”λ‘œμš° νŒ”λ‘œμ›Œ κΈ°λŠ₯을 μΆ”κ°€ν•˜μ—¬ μ„œλ‘œ μͺ½μ§€λ₯Ό λ‚˜λˆ„κ±°λ‚˜ μ±„νŒ…μ„ ν•  수 μžˆλŠ” κΈ°λŠ₯을 λ„£μ§€ λͺ»ν–ˆλ‹€.

  • λ‹€μŒλ²ˆμ—λŠ” μ’€ 더 μ΅œμ‹  λ²„μ „μ˜ SpringBoot, Vueλ₯Ό ν™œμš©ν•˜κ³  MyBatis λŒ€μ‹  JPAλ₯Ό ν™œμš©ν•΄λ³΄κ³  μ‹Άλ‹€.






βœ… github ν˜‘μ—… μ„ΈνŒ…

  • github repository의 Setting 쀑, main에 direct둜 commitν•˜μ§€ λͺ»ν•˜κ²Œ ν•˜λŠ” 섀정을 ν™œμš©

    • λ°˜λ“œμ‹œ 각자 λ‹€λ₯Έ branch에 commit을 ν•œ ν›„, pull request / mergeλ₯Ό 톡해 github의 conflict checking κΈ°λŠ₯을 적극 ν™œμš©
    • ν”„λ‘œμ νŠΈμ˜ μ†μƒμ΄λ‚˜ 좩돌 μ—†λŠ” μ•ˆμ „ν•œ ν”„λ‘œμ νŠΈ μˆ˜ν–‰






βœ… μ€‘μš” 정보 가리기

  • apiλ₯Ό 많이 ν™œμš©ν–ˆλŠ”λ°, 여기에 μ‚¬μš©λœ api keyλ‚˜ μ˜€ν”ˆ 곡간에 κ°€λ¦΄λ§Œν•œ 정보λ₯Ό μ—¬λŸ¬κ°€μ§€ λ°©λ²•μœΌλ‘œ κ°€λ ΈμŒ

    • gitignore
    • vue의 .env.local 파일






βœ… DBμ—μ„œ μ™Έλž˜ ν‚€λ‘œ μ—°κ²°λ˜μ–΄ μžˆλŠ” ν•­λͺ© μ‚­μ œ

  • μ™Έλž˜ ν‚€λ‘œ λ‹€λ₯Έ ν…Œμ΄λΈ”κ³Ό μ—°κ²°λ˜μ–΄ μžˆλŠ” ν…Œμ΄λΈ”μ˜ ν•­λͺ©μ„ μ‚­μ œ / μˆ˜μ • ν•  λ•Œ λ‹€λ₯Έ ν…Œμ΄λΈ”μ˜ ν•­λͺ©κ³Ό 연결이 λ˜μ–΄μžˆμ–΄ μ„œλ‘œ 영ν–₯을 쀄 수 μžˆλ‹€.

  • ν…Œμ΄λΈ” μ„€μ • ν•„μš”

ON DELETE CASCADE ON UPDATE CASCADE






βœ… MySQL에 이λͺ¨ν‹°μ½˜μ΄ λ“€μ–΄κ°€μ§€ μ•ŠλŠ” ν˜„μƒ

  • '\xf0\x9f\x93\x81' λ₯Ό db에 λ„£μ„μˆ˜ μ—†λ‹€λ©° μ—λŸ¬ λ°œμƒ

  • mysql에 이λͺ¨ν‹°μ½˜μ„ 넣을 수 μžˆλ„λ‘ μ„€μ •ν•΄μ•Ό ν•œλ‹€.

  • λ°μ΄ν„°λ² μ΄μŠ€ μƒμ„±μ‹œ

CREATE SCHEMA IF NOT EXISTS ssaccer CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ;

  • ν…Œμ΄λΈ” 생성 μ‹œ 끝에 μΆ”κ°€

ENGINE = InnoDB DEFAULT CHARACTER SET = utf8mb4 COLLATE utf8mb4_general_ci;






βœ… csv νŒŒμΌμ„ DB ν…Œμ΄λΈ”μ— μ‚½μž…ν•  λ•Œ 인코딩 μ—λŸ¬

  • csv 파일 내에 ν•œκΈ€μ΄ 있으면 db ν…Œμ΄λΈ”μ— μ‚½μž… μ‹œ μ—λŸ¬κ°€ λ‚˜νƒ€λ‚œλ‹€.

  • μ—‘μ…€ 파일의 제일 μœ„ column만 ν•œκΈ€λ‘œ λ°”κΎΌ ν›„, csv νŒŒμΌμ„ λ©”λͺ¨μž₯으둜 μ—°λ‹€

  • λ‹€λ₯Έ μ΄λ¦„μœΌλ‘œ μ €μž₯μ—μ„œ μ•„λž˜ 파일 ν˜•μ‹μ„ utf-8둜 λ°”κΎΈκ³ , 파일 이름은은 κ·ΈλŒ€λ‘œ λ‘μ–΄μ„œ μ €μž₯ν•œλ‹€.






βœ… JSON Parsing μ—λŸ¬

  • 기상청 단기 예보 API ν™œμš© 쀑,

java: constructor JSONParser in class jdk.nashorn.internal.parser.JSONParser cannot be applied to given types; required: java.lang.String,jdk.nashorn.internal.objects.Global,boolean found: no arguments reason: actual and formal argument lists differ in length

와 같은 μ—λŸ¬ λ°œμƒ


  • IntelliJμ—μ„œ μžλ™ Importκ°€

import jdk.nashorn.internal.parser.JSONParser

둜 λ˜λŠ”λ°, Importλ₯Ό μ•„λž˜ 걸둜 ν•΄μ•Ό ν•œλ‹€.

import jdk.nashorn.internal.parser.JSONParser






βœ… vue 파일 이름 바꿨을 λ•Œ 가끔 λ‚˜μ˜€λŠ” μ—λŸ¬

  • vue 파일 이름은 이미 ν¬ν•¨λœ 파일 이름과 λŒ€/μ†Œλ¬Έμžλ§Œ λ‹€λ¦…λ‹ˆλ‹€. νŒŒμΌμ€ λ‹€μŒκ³Ό 같은 이유둜 ν”„λ‘œκ·Έλž¨μ— μžˆμŠ΅λ‹ˆλ‹€.ts(1149) λΌλŠ” μ—λŸ¬

  • jsconfig.json νŒŒμΌμ— compilerOptions μ•ˆμ— "forceConsistentCasingInFileNames" : false, μΆ”κ°€






βœ… DB Join 이슈

  • DB ν…Œμ΄λΈ” 간에 Join μ‹œ 3개의 ν…Œμ΄λΈ”μ„ μ‘°μΈν•˜κ³ , 쑰인 쑰건(ON)에 LIKEλ₯Ό ν™œμš©ν•˜μ—¬ 쑰인을 처음 ν•΄λ΄€λ‹€.

    • 별 λ‹€λ₯Όκ±΄ μ—†λ‹€. μ›λž˜ ν•˜λ“―μ΄ λ˜‘κ°™μ΄ ν•˜λ©΄ λœλ‹€.






βœ… DTO ν™œμš©

  • DTOλ₯Ό 처음 ν™œμš©ν•΄λ΄€λ‹€.

  • JOIN을 ν•  λ•Œ 보톡 각각 λ‹€λ₯Έ ν…Œμ΄λΈ”λ‘œλΆ€ν„° λ‹€λ₯Έ μ»¬λŸΌλ“€μ„ κ°€μ Έμ˜€κΈ° λ•Œλ¬Έμ— select의 결과물의 νƒ€μž…μ„ μ§€μ •ν•  수 μ—†λ‹€.

  • λ”°λΌμ„œ 이 λ•Œ μ΄λŸ¬ν•œ λ°”κ΅¬λ‹ˆ 역할을 ν•΄μ£ΌλŠ” DTOλ₯Ό μƒμ„±ν•΄μ„œ 이 객체λ₯Ό 리턴 νƒ€μž…μœΌλ‘œ μ‚¬μš©ν•˜λ©΄ λœλ‹€.

  • 이 λ•Œ μƒμ„±ν•˜λŠ” λ°”κ΅¬λ‹ˆ DTOλŠ” 단지 운반 μ—­ν• λ§Œ ν•˜κΈ°μ— entityκ°€ μ•„λ‹ˆλ―€λ‘œ, DB tableκ³Ό μ—°κ²°λ˜μ–΄ μžˆλŠ” 것이 μ•„λ‹ˆλ‹€.






About

πŸ† SSAFY 9κΈ° 1ν•™κΈ° ν”„λ‘œμ νŠΈ μš°μˆ˜μƒ πŸ†

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages