λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
λ°˜μ‘ν˜•

IT Blog404

GitHub Action을 ν†΅ν•œ CI κ΅¬μΆ•ν•˜κΈ° (SpringBoot + Maven) • μ•ˆλ…•ν•˜μ„Έμš”~ 이전에 μš΄μ˜ν•˜λ˜ λΈ”λ‘œκ·Έ 및 GitHub, 곡뢀 λ‚΄μš©μ„ μ •λ¦¬ν•˜λŠ” Study-GitHub κ°€ μžˆμŠ΅λ‹ˆλ‹€! • 넀이버 λΈ”λ‘œκ·Έ • GitHub • Study-GitHub • πŸ” πŸ“Ž GitHub Action을 ν†΅ν•œ Build μžλ™ν™” (SpringBoot + Maven) μ•ˆλ…•ν•˜μ„Έμš”! μ΄λ²ˆμ— 정리할 λ‚΄μš©μ€ GitHub Action을 톡해 ν”„λ‘œμ νŠΈλ₯Ό μžλ™μœΌλ‘œ Build ν•˜λ„λ‘ μ„€μ •ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€. ν˜„μž¬ AWS EC2에 Spring Boot μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ‹€ν–‰λ˜κ³  μžˆλŠ”λ°μš”, λ°°ν¬ν•˜κΈ°κΉŒμ§€μ˜ 과정은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. λ‘œμ»¬μ—μ„œ μ½”λ“œ μˆ˜μ • -> Commit -> GitHub PR -> Merge AWSμ—μ„œ μˆ˜μ •λœ μ½”λ“œ pull -> 싀행쀑인 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 정지(kill) -> 메이븐 λΉŒλ“œ -> μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹€ν–‰ μ‹œκ°„μ΄.. 2021. 5. 14.
AWS EC2 μ„œλ²„ μ ‘μ†ν•˜κΈ° (λ§₯뢁OS m1) • μ•ˆλ…•ν•˜μ„Έμš”~ 이전에 μš΄μ˜ν•˜λ˜ λΈ”λ‘œκ·Έ 및 GitHub, 곡뢀 λ‚΄μš©μ„ μ •λ¦¬ν•˜λŠ” Study-GitHub κ°€ μžˆμŠ΅λ‹ˆλ‹€! • 넀이버 λΈ”λ‘œκ·Έ • GitHub • Study-GitHub • πŸ” πŸ“Ž λ§₯OSμ—μ„œ AWS EC2 μ„œλ²„ μ ‘μ†ν•˜κΈ° μ•ˆλ…•ν•˜μ„Έμš”~ ν˜„μž¬ AWS의 ν”„λ¦¬ν‹°μ–΄μ—μ„œ 무료둜(?) μ‚¬μš©μ„ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ΄μ „κΉŒμ§€λŠ” μœˆλ„μš°λ₯Ό μ‚¬μš©ν•˜λ‹€λ³΄λ‹ˆ PuTTYλ₯Ό 톡해 AWS의 μΈμŠ€ν„΄μŠ€μ— 접속을 ν–ˆμ—ˆλŠ”λ°, μ΄λ²ˆμ— λ§₯뢁을 μƒˆλ‘œ μ‚¬λ©΄μ„œλŠ” 더이상 μœˆλ„μš°λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμ§€ μ•ŠκΈ° λ•Œλ¬Έμ—, λ§₯OSμ—μ„œ AWS의 μΈμŠ€ν„΄μŠ€λ‘œ μ ‘μ†ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. Macμ—μ„œλŠ” 일반적으둜 터미널(iTerm2)λ₯Ό μ΄μš©ν•΄ 접속을 ν•©λ‹ˆλ‹€. λ°”λ‘œ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€~ 🎯 ssh key μƒμ„±ν•˜κΈ° λ¨Όμ € 이전에 μƒμ„±λœ keyκ°€ μžˆλŠ”μ§€ λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό 톡해 .. 2021. 5. 13.
[Java] - Jsoup을 μ΄μš©ν•œ 크둀링(feat. μΈν”„λŸ°) • μ•ˆλ…•ν•˜μ„Έμš”~ 이전에 μš΄μ˜ν•˜λ˜ λΈ”λ‘œκ·Έ 및 GitHub, 곡뢀 λ‚΄μš©μ„ μ •λ¦¬ν•˜λŠ” Study-GitHub κ°€ μžˆμŠ΅λ‹ˆλ‹€! • 넀이버 λΈ”λ‘œκ·Έ • GitHub • Study-GitHub • πŸ” πŸ“Ž Jsoup을 μ΄μš©ν•œ 크둀링 μ•ˆλ…•ν•˜μ„Έμš”! μ΄λ²ˆμ— 정리할 λ‚΄μš©μ€ Javaμ—μ„œ Jsoup을 μ΄μš©ν•΄ 크둀링 ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€. ν˜„μž¬ 진행쀑인(?) μ‚¬μ΄λ“œ ν”„λ‘œμ νŠΈμ—μ„œ μΈν”„λŸ° μ‚¬μ΄νŠΈμ˜ κ°•μ˜ 데이터듀이 ν•„μš”ν•΄μ„œ 크둀링을 ν•΄μ•Ό ν–ˆλŠ”λ°μš”, μ˜ˆμ „μ— ν•΄λ³Έ Python으둜 크둀링을 ν•  지, μ•„λ‹ˆλ©΄ μ΅μˆ™ν•œ Java둜 ν•  지 κ³ λ―Όν•˜λ‹€κ°€ κ²°κ΅­μ—” Java둜 ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ‚¬μ΄νŠΈμ— μ ‘μ†ν•œ λ’€ νƒœκ·Έλ₯Ό 톡해 데이터λ₯Ό κ°€μ Έμ˜€λŠ” 전체적인 λ§₯락은 Pythonκ³Ό λΉ„μŠ·ν•˜κΈ° λ•Œλ¬Έμ— 큰 어렀움없이 진행할 수 μžˆμ—ˆλŠ”λ°μš”, μΈν”„λŸ° μ‚¬μ΄νŠΈμ—μ„œ ν•„μš”ν•œ 데이터λ₯Ό 가곡 &.. 2021. 5. 11.
GitHub Action - Build μ‹€νŒ¨: Non-readable POM ... • μ•ˆλ…•ν•˜μ„Έμš”~ 이전에 μš΄μ˜ν•˜λ˜ λΈ”λ‘œκ·Έ 및 GitHub, 곡뢀 λ‚΄μš©μ„ μ •λ¦¬ν•˜λŠ” Study-GitHub κ°€ μžˆμŠ΅λ‹ˆλ‹€! • 넀이버 λΈ”λ‘œκ·Έ • GitHub • Study-GitHub • πŸ” ν”„λ‘œμ νŠΈμ— Github Action 을 μ μš©ν•΄μ„œ λΉŒλ“œλ₯Ό μ§„ν–‰ν•˜λ €λŠ”λ°... μ•„λž˜μ™€ 같이 κ³„μ†ν•΄μ„œ λΉŒλ“œμ— μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€. μœ„ 였λ₯˜ λ‚΄μš©μ€ λ‹€μŒκ³Ό κ°™μ€λ°μš”.. Non-readable POM /home/runner/work/ ... /pom.xml (No such file or directory) => pom.xml νŒŒμΌμ„ 읽을 수 μ—†λ‹€λŠ” 였λ₯˜μž…λ‹ˆλ‹€. pom.xml 파일이 root 디렉토리가 μ•„λ‹Œ back ν΄λ”μ˜ ν•˜μœ„μ— μžˆμœΌλ―€λ‘œ μ•„λž˜μ™€ 같이 경둜λ₯Ό λ§žμΆ°μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€. back/pom.xml 그럼 μœ„μ™€ 같이 pom.xml νŒŒμΌμ„ 찾을.. 2021. 5. 8.
[Java] - μ˜ˆμ™Έ(Exception), μ˜ˆμ™Έ 처리(Exception Handling) • μ•ˆλ…•ν•˜μ„Έμš”~ 이전에 μš΄μ˜ν•˜λ˜ λΈ”λ‘œκ·Έ 및 GitHub, 곡뢀 λ‚΄μš©μ„ μ •λ¦¬ν•˜λŠ” Study-GitHub κ°€ μžˆμŠ΅λ‹ˆλ‹€! • 넀이버 λΈ”λ‘œκ·Έ • GitHub • Study-GitHub • πŸ” πŸ“Ž μžλ°”μ—μ„œμ˜ μ˜ˆμ™Έ 처리(Exception Handling) μ•ˆλ…•ν•˜μ„Έμš”~ μ΄λ²ˆμ— 정리할 λ‚΄μš©μ€ μ˜ˆμ™Έ 및 μ˜ˆμ™Έμ²˜λ¦¬μ— λŒ€ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. μ˜ˆμ™Έ μ²˜λ¦¬μ— λŒ€ν•œ 뢀뢄은 정말 μ€‘μš”ν•˜λ‹€κ³  μƒκ°ν•˜λŠ”λ°μš”, μ΄λ²ˆμ— 개인적으둜 κ°œλ°œμ„ μ§„ν–‰ν•˜λ©΄μ„œ μ˜ˆμ™Έ κ΄€λ ¨λ˜μ–΄μ„œ ν—·κ°ˆλ¦¬λŠ” 뢀뢄이 λͺ‡λͺ‡ μžˆμ—ˆκΈ°μ— κ°„λž΅ν•˜κ²Œ μ •λ¦¬ν•˜κ³ μž ν•©λ‹ˆλ‹€! πŸ˜ƒ μ˜ˆμ™Έ(Exception)λž€ ? ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ 쀑에 λ°œμƒν•˜λŠ” 'μ˜ˆμ™Έμ μΈ 상황 정상적인 λͺ…λ Ή 흐름을 λ°©ν•΄ν•˜λŠ” ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ 쀑에 λ°œμƒν•˜λŠ” 이벀트 λ‹¨μˆœν•œ 문법적 였λ₯˜κ°€ μ•„λ‹Œ μ‹€ν–‰ 쀑간에 λ°œμƒν•˜λŠ” '정상적이지 μ•Šμ€ 상황' e.g) 0.. 2021. 5. 8.
μΈν…”λ¦¬μ œμ΄(IntelliJ) μœ μš©ν•œ ν”ŒλŸ¬κ·ΈμΈ(Plugins) & 초기 μ„€μ • • μ•ˆλ…•ν•˜μ„Έμš”~ 이전에 μš΄μ˜ν•˜λ˜ λΈ”λ‘œκ·Έ 및 GitHub, 곡뢀 λ‚΄μš©μ„ μ •λ¦¬ν•˜λŠ” Study-GitHub κ°€ μžˆμŠ΅λ‹ˆλ‹€! • 넀이버 λΈ”λ‘œκ·Έ • GitHub • Study-GitHub • πŸ” 🎯 μΈν…”λ¦¬μ œμ΄(IntelliJ) ν”ŒλŸ¬κ·ΈμΈ & 초기 μ„€μ •ν•˜κΈ° μ•ˆλ…•ν•˜μ„Έμš”, μ΄λ²ˆμ— λ§₯뢁을 κ΅¬μž…ν•˜λ©΄μ„œ μΈν…”λ¦¬μ œμ΄λ„ μƒˆλ‘œ μ„€μΉ˜ν•˜κ³  μ‚¬μš©μ„ ν•˜κ²Œ λ˜μ—ˆλŠ”λ°μš”, μ–Έμ œ 또 λ§₯뢁 - μΈν…”λ¦¬μ œμ΄ ν™˜κ²½μ„ μ…‹νŒ…ν•˜κ²Œ 될지 λͺ¨λ₯΄λ―€λ‘œ, 이전에 μΈν…”λ¦¬μ œμ΄λ₯Ό μ‚¬μš©ν•˜λ©΄μ„œ μœ μš©ν–ˆλ˜ ν”ŒλŸ¬κ·ΈμΈ & κΈ°λŠ₯듀을 μ •λ¦¬ν•΄λ³΄κ³ μž ν•©λ‹ˆλ‹€! πŸ‘½ πŸ“Ž Nyan Progress Bar(Progress Bar) μΈν…”λ¦¬μ œμ΄λ₯Ό μ‚¬μš©ν•˜λ‹€ 보면 λΉŒλ“œ, 컴파일, ν”„λ‘œμ νŠΈ μ‹€ν–‰ λ“± λŒ€κΈ°μ‹œκ°„μ— Progress Barκ°€ λœ¨λŠ”λ° 이λ₯Ό 꾸며쀄 ν”ŒλŸ¬κ·ΈμΈ μž…λ‹ˆλ‹€. κΈ°λ‹€λ¦¬λŠ” μ‹œκ°„ λ™μ•ˆ Progress B.. 2021. 5. 5.
2021λ…„ 4μ›” 회고둝 4μ›” 회고둝인데 쑰금 λŠ¦μ€ 5μ›” 2일에 μž‘μ„±ν•˜κ²Œ λ˜μ—ˆλ‹€... 개인적으둜 진행쀑인 μ‚¬μ΄λ“œ ν”„λ‘œμ νŠΈκ°€ 4μ›” 막바지가 λ˜λ©΄μ„œ 쑰금 λ°”λΉ μ§€λ©΄μ„œ... νšŒκ³ λ‘μ„ μž‘μ„±ν•  μ‹œκ°„μ΄ μ—†μ—ˆλ‹€. 🀣 λ‹€ν–‰νžˆ μ§€κΈˆμ€ μ–΄λŠμ •λ„ λ§ˆλ¬΄λ¦¬κ°€ λ˜μ—ˆκ³ , 더 늦으면 μ•ˆλ˜κΈ°μ— μž‘μ„±ν•΄μ•Όκ² λ‹€ ! μš”μ¦˜ λ­”κ°€ 머리에 λ„ˆλ¬΄ λ„£λŠ”κ²Œ λ§Žμ•„μ„œ κ·ΈλŸ°μ§€(?) 잘 μ•ˆλ“€μ–΄ μ˜€λŠ” 것 κ°™λ‹€.. γ… γ…  μΌμ΄λ‚˜ κ³΅λΆ€λ§ŒνΌ 잘 μ‰¬λŠ”κ²ƒλ„ 그만큼 μ€‘μš”ν•˜λ‹€κ³  μƒκ°ν•˜κ³ , ν•œ λ²ˆμ”© 잘 쉬어야겠닀 .. 4μ›”μ—” 무엇을 ν–ˆλŠ”μ§€, νšŒκ³ λ‘μ„ μž‘μ„±ν•˜λŠ” μ‹œμ μ—μ„œ μ „λΆ€ λ‹€ κΈ°μ–΅ν•˜λŠ”κ±΄ λΆˆκ°€λŠ₯ν•˜λ‹€. κ·Έλ‚˜λ§ˆ 닀행인건 Daily Plan으둜 맀일 무엇을 곡뢀할지 μž‘μ„±ν•˜κ³  μžˆκΈ°μ—, 기둝을 ν† λŒ€λ‘œ 4월에 μ§„ν–‰ν–ˆλ˜ 것을 νšŒκ³ ν•˜κ³ μž ν•œλ‹€. 항상 기둝을 ν•˜μž ! πŸŽ— μ‚¬μ΄λ“œ ν”„λ‘œμ νŠΈ 4μ›” ν•œλ‹¬κ°„ μ›Ή μ‚¬μ΄λ“œ ν”„λ‘œμ νŠΈλ₯Ό.. 2021. 5. 2.
Caused by: java.lang.IllegalArgumentException: invalid target release: 11 • μ•ˆλ…•ν•˜μ„Έμš”~ 이전에 μš΄μ˜ν•˜λ˜ λΈ”λ‘œκ·Έ 및 GitHub, 곡뢀 λ‚΄μš©μ„ μ •λ¦¬ν•˜λŠ” Study-GitHub κ°€ μžˆμŠ΅λ‹ˆλ‹€! • 넀이버 λΈ”λ‘œκ·Έ • GitHub • Study-GitHub • πŸ” βœ” Caused by: java.lang.IllegalArgumentException: invalid target release: 11 μ•ˆλ…•ν•˜μ„Έμš”.. 힘이 λΉ μ§€λŠ” ν•˜λ£¨μž…λ‹ˆλ‹€. 메이븐을 톡해 λΉŒλ“œλ₯Ό ν•˜λŠ” 도쀑에 제λͺ©κ³Ό 같은 ~ invalid target release:11 였λ₯˜κ°€ λ°œμƒν–ˆμ—ˆμŠ΅λ‹ˆλ‹€. AWSμ—μ„œ μŠ€ν”„λ§λΆ€νŠΈμ™€ λ¦¬μ•‘νŠΈλ₯Ό λ°°ν¬ν•˜λŠ” 와쀑에 이것저것 μ†λŒ€λ‹€λ³΄λ‹ˆ 이전에 잘 되던 λΉŒλ“œλ„ μ•ˆλ©λ‹ˆλ‹€..γ…œγ…œ 무슨 였λ₯˜μΈμ§€ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€ ! 였λ₯˜ 사진은 μž‘μ§€λ§Œ μœ„μ™€ κ°™κ³ .. λ‚΄μš©μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. [ERROR] Failed to e.. 2021. 5. 1.
AWS EC2 iptablesλ₯Ό 톡해 μ„œλ²„ 포트 ν¬μ›Œλ”©(HTTP 80 -> Tomcat 8080) • μ•ˆλ…•ν•˜μ„Έμš”~ 이전에 μš΄μ˜ν•˜λ˜ λΈ”λ‘œκ·Έ 및 GitHub, 곡뢀 λ‚΄μš©μ„ μ •λ¦¬ν•˜λŠ” Study-GitHub κ°€ μžˆμŠ΅λ‹ˆλ‹€! • 넀이버 λΈ”λ‘œκ·Έ • GitHub • Study-GitHub • πŸ” βœ” AWS EC2 μ„œλ²„ 포트 ν¬μ›Œλ”©(HTTP 80 -> Tomcat 8080) μ•ˆλ…•ν•˜μ„Έμš”, μ΄λ²ˆμ— 정리할 λ‚΄μš©μ€ AWS EC2μœ„μ˜ μ„œλ²„μ—μ„œ iptables λͺ…λ Ήμ–΄λ₯Ό 톡해 포트 ν¬μ›Œλ”©(80 -> 8080)을 진행해보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€. πŸŽ— μ™œ 80포트λ₯Ό 8080포트둜 ν¬μ›Œλ”©μ„ ν•΄μ•Όν• κΉŒμš”? ν˜„μž¬ μ €λŠ” AWS EC2에 μŠ€ν”„λ§ λΆ€νŠΈ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ°°ν¬ν•œ μƒνƒœμž…λ‹ˆλ‹€. ν•΄λ‹Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— IPλ₯Ό 톡해 μ ‘κ·Όν•˜λ €λ©΄ IP 뒀에 ν†°μΊ£μ˜ 포트(8080) 을 λΆ™μ—¬μ•Ό 접속이 κ°€λŠ₯ν•©λ‹ˆλ‹€. - 15.162.211.192:8080 λ§Œμ•½ 80 포트λ₯Ό 808.. 2021. 4. 30.
Git pull 받은 λ‚΄μ—­ rollback(볡ꡬ) ν•˜κΈ° • μ•ˆλ…•ν•˜μ„Έμš”~ 이전에 μš΄μ˜ν•˜λ˜ λΈ”λ‘œκ·Έ 및 GitHub, 곡뢀 λ‚΄μš©μ„ μ •λ¦¬ν•˜λŠ” Study-GitHub κ°€ μžˆμŠ΅λ‹ˆλ‹€! • 넀이버 λΈ”λ‘œκ·Έ • GitHub • Study-GitHub • πŸ” βœ” Git pull 받은 λ‚΄μ—­ λ‘€λ°±ν•˜κΈ° μž‘μ—…μ„ ν•˜λ‹€κ°€ μ‹€μˆ˜λ‘œ νŠΉμ • λΈŒλžœμΉ˜μ—μ„œ Mergeκ°€ λ˜μ§€ μ•Šμ€ main 브랜치의 μ½”λ“œλ₯Ό pull둜 λ°›μ•„μ™€λ²„λ ΈμŠ΅λ‹ˆλ‹€... git pull origin main Git μ‚¬μš©λ²•μ΄ 아직 μ„œνˆ΄μ–΄μ„œ ν˜„μž¬ μž‘μ—…μ€‘μΈ λΈŒλžœμΉ˜μ—μ„œ main 브랜치의 μ†ŒμŠ€λ₯Ό pull둜 λ°›μ•„μ™€λ²„λ ΈμŠ΅λ‹ˆλ‹€. μ˜€λ©”.. 전에 μž‘μ—…ν•˜λ˜ 내역듀이 λ‹€ 사라져 λ²„λ ΈλŠ”λ°μš”...... μ°Ύμ•„λ³΄λ‹ˆ pull받은 내역을 λ‘€λ°±ν•˜λŠ” λ‚΄μš©μ΄ μžˆμ–΄μ„œ λ‹€ν–‰μž…λ‹ˆλ‹€ γ… γ… γ…  🀣 λ‘€λ°±ν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. git reflog // λͺ¨λ“  μ»€λ°‹μ˜ 기둝 확인 gi.. 2021. 4. 19.
λ°˜μ‘ν˜•