์ „์ฒด ๊ธ€ 479

โฌ› [Programmers] [Java] [Level1] ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ

๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/12931?language=java ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ’€์ด import java.util.*; public class Solution { public int solution(int n) { int answer = 0; while(n > 0){ answer += n%10; n/=10; } return answer; } } String์œผ๋กœ ๋ณ€ํ™˜ ํ›„ ๊ฐ๊ฐ์˜ ์ž๋ฆฌ์ˆ˜๋ฅผ ๋”ํ•ด๋„ ๋˜์ง€๋งŒ ๊ตณ์ด ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๊ณ ๋„ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด..

๐ŸŸฉ [๋ฐฑ์ค€] [Java] [Silver5] 2941๋ฒˆ_ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ

๋ฌธ์ œ https://www.acmicpc.net/problem/2941 2941๋ฒˆ: ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ ์˜ˆ์ „์—๋Š” ์šด์˜์ฒด์ œ์—์„œ ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์„ ์ž…๋ ฅํ•  ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์„ ๋ณ€๊ฒฝํ•ด์„œ ์ž…๋ ฅํ–ˆ๋‹ค. ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ ๋ณ€๊ฒฝ ฤ c= ฤ‡ c- dลพ dz= ฤ‘ d- lj lj nj nj š s= ลพ z= www.acmicpc.net ํ’€์ด import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class ํฌ๋กœ์•„ํ‹ฐ์•„์•ŒํŒŒ๋ฒณ { public static void main(String[] args) throws IOException { BufferedReader br =..

๐ŸŸฉ [๋ฐฑ์ค€] [Java] [Silver5] 1316๋ฒˆ_๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค

๋ฌธ์ œ https://www.acmicpc.net/problem/1316 1316๋ฒˆ: ๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค ๊ทธ๋ฃน ๋‹จ์–ด๋ž€ ๋‹จ์–ด์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์— ๋Œ€ํ•ด์„œ, ๊ฐ ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๋งŒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ccazzzzbb๋Š” c, a, z, b๊ฐ€ ๋ชจ๋‘ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ณ , kin๋„ k, i, n์ด ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ www.acmicpc.net ํ’€์ด import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class ๊ทธ๋ฃน๋‹จ์–ด์ฒด์ปค { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); pub..

๐ŸŸฉ [๋ฐฑ์ค€] [Java] [Silver5] 4673๋ฒˆ_์…€ํ”„ ๋„˜๋ฒ„

๋ฌธ์ œ https://www.acmicpc.net/problem/4673 4673๋ฒˆ: ์…€ํ”„ ๋„˜๋ฒ„ ์…€ํ”„ ๋„˜๋ฒ„๋Š” 1949๋…„ ์ธ๋„ ์ˆ˜ํ•™์ž D.R. Kaprekar๊ฐ€ ์ด๋ฆ„ ๋ถ™์˜€๋‹ค. ์–‘์˜ ์ •์ˆ˜ n์— ๋Œ€ํ•ด์„œ d(n)์„ n๊ณผ n์˜ ๊ฐ ์ž๋ฆฌ์ˆ˜๋ฅผ ๋”ํ•˜๋Š” ํ•จ์ˆ˜๋ผ๊ณ  ์ •์˜ํ•˜์ž. ์˜ˆ๋ฅผ ๋“ค์–ด, d(75) = 75+7+5 = 87์ด๋‹ค. ์–‘์˜ ์ •์ˆ˜ n์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, www.acmicpc.net ํ’€์ด public class ์…€ํ”„๋„˜๋ฒ„ { public static void main(String[] args) { boolean[] check = new boolean[10001]; for (int i = 1; i < 10001; i++){ int n = d(i); if(n < 10001){ check[n] = true; } } StringB..

๐Ÿ’ป[Jenkins] ์  ํ‚จ์Šค๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

1. ์  ํ‚จ์Šค๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ๋จผ์ € ์  ํ‚จ์Šค๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์ „, CI/CD์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค. CI (Continuous Integration) ์ง€์†์ ์ธ ํ†ตํ•ฉ ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž ๋“ค์ด ์ง€์†์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ๊ฒƒ CD (Continuous Deployment / Continuous Delivery) ์ง€์†์ ์ธ ๋ฐฐํฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋“ค์„ ํ…Œ์ŠคํŠธ์™€ ๋นŒ๋“œ๋ฅผ ๊ฑฐ์น˜๊ณ , ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž๋™์œผ๋กœ ๋ฐฐํฌ CI/CD ๊ณผ์ •์ธ ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค. 1. ๋กœ์ปฌ์—์„œ ๊ฐœ๋ฐœ ํ›„ ์ปค๋ฐ‹ 2. Github WebHook ์„ ์ด์šฉํ•ด ์  ํ‚จ์Šค์—๊ฒŒ ์ „๋‹ฌ 3. ๋นŒ๋“œ๊ฐ€ ์„ฑ๊ณตํ•˜๊ฒŒ ๋˜๋ฉด ๋ฐฐํฌ ์„œ๋ฒ„๋กœ ์ „์†ก 4. ๋นŒ๋“œ๊ฐ€ ์‹คํŒจํ•  ๊ฒฝ์šฐ ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ๊ณ  ์•Œ๋ฆผ ๋‹ค์Œ์€ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์‹œ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์„ฑํ•œ ์˜ˆ์‹œ์ด๋‹ค. ์  ํ‚จ์Šค + ๋„์ปค๋ฅผ ์ด์šฉํ•ด ์  ํ‚จ์Šค ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์—ˆ๊ณ  ๊ทธ ์•ˆ์—์„œ ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜..

๐Ÿ’ป BackEnd 2023.11.08

๐Ÿšฉ 2023 / 10 TIL[Today I Learned] ํšŒ๊ณ 

๐Ÿ“Œ 2023 - 10 ๋ฒŒ์จ ์˜ฌํ•ด 10์›”์ด ๋‹ค ์ง€๋‚˜๊ณ  11์›”์ด ๋˜์—ˆ๋‹ค. ์š”์ฆ˜ ๋ฐ”๋น ์„œ ๊ธ€์„ ๊ฑฐ์˜ ์˜ฌ๋ฆฌ์ง€ ์•Š๋‹ค๋ณด๋‹ˆ ํšŒ๊ณ ๋„ ๋ช‡๋‹ฌ๋งŒ์— ์“ฐ๊ฒŒ ๋œ๋‹ค. ์ด์ œ ๋‹ค์‹œ ์ž์†Œ์„œ๋ฅผ ์“ฐ๊ณ  ์ทจ์—…์ค€๋น„๋ฅผ ํ•ด์•ผํ•œ๋‹ค. ์ฝ”๋”ฉํ…Œ์ŠคํŠธ, CS, ํ† ์Šค ... ํ• ๊ฒŒ ๋งŽ๋‹ค.. ์ผ๋‹จ ์ง€์›์„ ๋ช‡ ๊ตฐ๋ฐ ํ•  ๊ฒƒ์ธ๋ฐ ์ฐจ์ฐจ ์–˜๊ธฐํ•˜๋„๋ก ํ•˜๊ณ  ์ž˜ ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.

๐ŸŸข [ SpringBoot ] [ AWS EC2 ] EC2 ์„œ๋ฒ„์— Spring Boot ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ

EC2 ์„œ๋ฒ„์— Spring Boot ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ SpringBoot 3.1.3 / Maven ์ผ๋‹จ EC2 ์„œ๋ฒ„์— pem์„ ๋“ฑ๋กํ•˜์—ฌ winscp ๋กœ ์ ‘์†ํ•œ๋‹ค. ์„œ๋ฒ„์— ์ ‘์†ํ•˜๊ณ  ์ž์‹ ์ด ์›ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ Git์—์„œ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•œ๋‹ค. $ cd ./home/ubuntu - ์ž์‹ ์ด ์›ํ•˜๋Š” ํ”„๋กœ์ ํŠธ ํด๋”๋กœ ์ด๋™ $ git clone $ cd /project/ - Git์—์„œ ๋ฐ›์•„์˜จ ํŒŒ์ผ์•ˆ์— mvnw ํŒŒ์ผ์„ ์ฐพ๊ธฐ ํด๋”์•ˆ์—์„œ mvnw ํŒŒ์ผ์„ ์ฐพ๋Š”๋‹ค. Maven์€ Mvnw / Gradle์€ ๋‹ค๋ฅธ ํŒŒ์ผ์ด ์กด์žฌํ•  ๊ฒƒ์ด๋‹ค. $ chmod +x mvnw $ ./mvnw package -DskipTests=true : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์—†์ด ์‹คํ–‰ $ ./mvnw clean package ์ด๋ ‡๊ฒŒ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด target ํŒŒ์ผ์ด ์ƒ๊ธฐ๊ฒŒ ..

๐ŸŸข [ SpringBoot ] [ AWS EC2 ] TemplateInputException

AWS EC2 Spring Boot ๋ฐฐํฌ ์‹œ TemplateInputException ์˜ค๋ฅ˜ Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.thymeleaf.exceptions.TemplateInputException: Error resolving template [/ip/ipinfo], template might not exist or might not be accessible by any of the configured Template Resolvers] with root cause EC2 ์„œ๋ฒ„์— ๋ฐฐํฌํ•˜๋Š” ๋„์ค‘ TemplateInpu..

๐Ÿ“‘ ErrorNote 2023.10.24

๐ŸŸข [SpringBoot] ์ดํด๋ฆฝ์Šค(Eclipse) ์„œ๋ฒ„ ์žฌ๊ฐ€๋™ ํ•˜์ง€ ์•Š๊ณ  ๋ฐ˜์˜ํ•˜๊ธฐ

๐Ÿšฉ SpringBoot ์„œ๋ฒ„ ์žฌ๊ฐ€๋™ ํ•˜์ง€ ์•Š๊ณ  ๋ฐ˜์˜ํ•˜๊ธฐ 1. Eclipse์˜ Project > Build Automatically ๋ฅผ ์ฒดํฌ ํ•ด์ค€๋‹ค.2. dev-tools๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. - application.properties spring.devtools.livereload.enabled=true spring.devtools.restart.enabled=true application.properties์— ์ถ”๊ฐ€๋ฅผ ํ•ด์ฃผ๊ณ  pom.xml์— dev-tools ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

๐ŸŸข [SpringBoot] [Mybatis] Mybatis Log ์„ค์ •

๐Ÿšฉ Mybatis Log ์„ค์ • Mybatis๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๊ฐœ๋ฐœํ•˜๋‹ค ๋ณด๋ฉด SQL์ด ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง€ ์•Œ์•„์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค. SQL์˜ WHERE์ ˆ์—์„œ if ์กฐ๊ฑด์„ ํ™•์ธํ•˜๊ณ  ์‹ถ์–ด ๋กœ๊ทธ๋ฅผ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. 1. Pom.xml ์˜์กด์„ฑ ์ถ”๊ฐ€ org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 ๋จผ์ € pom.xml์— ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์™œ์ธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ๋Š”๋ฐ 4๊ฐ€ ๋˜๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๊ณ  4.1์ด ๋˜๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋‹ค. ์ด๊ฒƒ์„ ์ž์‹ ์˜ ํ”„๋กœ์ ํŠธ์— ๋งž๋Š” ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ•œ๋‹ค. 2. Application.properties spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy..