본문 바로가기

전체 글455

application.yml 적용법 application.properties vs application.yml Spring Boot에서는 외부에서 환경 변수를 삽입할 수 있는 application.properties와 application.yml을 제공한다. application.properties는 key-value 형식으로 환경 변수를 설정할 수 있다. 그에 반해 yml은 계층적으로 환경 변수를 설정할 수 있다. 아무래도 properties보다 직관적으로 관리할 수 있고, key를 중복해서 작성해지 않아도 된다는 장점 때문에 최근 프로젝트에서는 yml을 주로 사용하게 되었다. 이에 properties를 yml로 바꾸는 방법과, 더불어 다중 profile을 적용하는 방법을 포스팅해놓고자 한다. properties 파일을 yml 파일로 전.. 2023. 1. 15.
[JAVA] 부호_1247 출처 : https://www.acmicpc.net/problem/1247 1247번: 부호 총 3개의 테스트 셋이 주어진다. 각 테스트 셋의 첫째 줄에는 N(1 ≤ N ≤ 100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정수가 주어진다. 주어지는 정수의 절댓값은 9223372036854775807보다 작거 www.acmicpc.net 부호 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 10293 3231 2854 36.491% 문제 N개의 정수가 주어지면, 이 정수들의 합 S의 부호를 구하는 프로그램을 작성하시오. 입력 총 3개의 테스트 셋이 주어진다. 각 테스트 셋의 첫째 줄에는 N(1 ≤ N ≤ 100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정.. 2023. 1. 15.
[JAVA] 달팽이3_1959 출처: https://www.acmicpc.net/problem/1959 1959번: 달팽이3 첫째 줄에 표의 모든 칸이 채워질 때까지 선이 꺾어지는 횟수를 출력한다. 둘째 줄에 끝나는 점의 좌표를 출력한다. 왼쪽 위 칸의 좌표를 (1, 1), 오른쪽 아래 칸의 좌표를 (M, N)이라고 하자. www.acmicpc.net 달팽이3 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 1359 312 238 27.902% 문제 M줄 N칸으로 되어 있는 표 위에, 달팽이 모양으로 선을 그리려고 한다. ㅇ 위의 그림은 M=5, N=3의 예이다. 이제 표의 왼쪽 위 칸(○)에서 시작하여, 오른쪽으로 선을 그려 나간다. 표의 바깥 또는 이미 그려진 칸에 닿아서 더 이상 이동할 수 없게 되면, 시.. 2023. 1. 15.
[JAVA] 조약돌 꺼내기_13251 출처: https://www.acmicpc.net/problem/13251 13251번: 조약돌 꺼내기 첫째 줄에 뽑은 조약돌이 모두 같은 색일 확률을 출력한다. 정답과의 절대/상대 오차는 10-9까지 허용한다. www.acmicpc.net 조약돌 꺼내기 성공스페셜 저지 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 512 MB 3142 1233 1023 41.518% 문제 효빈이의 비밀 박스에는 조약돌이 N개 들어있다. 조약돌의 색상은 1부터 M까지 중의 하나이다. 비밀 박스에서 조약돌을 랜덤하게 K개 뽑았을 때, 뽑은 조약돌이 모두 같은 색일 확률을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 M (1 ≤ M ≤ 50)이 주어진다. 둘째 줄에는 각 색상의 조약돌이 몇 개 있는지 주어진다. 각.. 2023. 1. 14.
[JAVA] 네잎 클로버를 찾아서_3089 출처: https://www.acmicpc.net/problem/3089 3089번: 네잎 클로버를 찾아서 숭이는 지구에 놀러온 외계인에게 조정당하고 있다. 외계인은 숭이를 이용해서 네잎 클로버를 찾은 뒤, 숭이를 그 자리에 놔두고 다시 자기들의 행성으로 떠나려고 한다. 숭이가 있는 곳은 2차 www.acmicpc.net 네잎 클로버를 찾아서 성공다국어 한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 212 96 86 53.750% 문제 숭이는 지구에 놀러온 외계인에게 조정당하고 있다. 외계인은 숭이를 이용해서 네잎 클로버를 찾은 뒤, 숭이를 그 자리에 놔두고 다시 자기들의 행성으로 떠나려고 한다. 숭이가 있는 곳은 2차원 평면으로 나타낼 수 있고, 클로버는 N개의 점으로 나타나.. 2023. 1. 14.
JPA에서 외래키 사용 오늘은 JPA에서 외래키를 사용하는 방법을 작성해놓을까 한다. DB를 설계할 때 테이블간 관계 표현을 위한 외래키 사용은 필수이다. JPA에서는 이러한 외래키를 클래스 안에 클래스를 선언함으로써 사용 가능하도록 기능을 제공하고 있다. 아래와 같은 DB가 있을 경우, 다음과 같이 클래스를 생성하면 JPA를 사용한 외래키를 생성할 수 있다. Parent.java @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor @Table(name="parent_table") public class Parent { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="parent_id", nul.. 2022. 12. 13.
내부망에서 yum 사용 개발이 완료된 후에는 클라이언트의 서버에 개발 완료된 프로그램을 배포해주어야 한다. 하지만 당연하게도 프로그램은 단일로 동작하지 않고, Java, DB등 여러 인프라가 필요하다. 만약 서버가 외부망에 연결된 환경이라면 yum이나 wget 등 명령어를 통해 인프라를 쉽게 설치가 가능하겠지만, 대부분은 그렇지 않고 결국 오프라인 환경 (내부망 환경)에서 설치를 수행해야 할 일이 많았다. wget의 경우는 그냥 단순하게 파일을 옮기기만 하면 된다. 하지만 yum은? 꽤나 번거로운 작업을 요구했다. 그동안은 사수분께서 인프라 설치를 도맡아 해주셨지만 팀이 내부적으로 분리된 지금은 내가 그 역할을 수행해야 했고, 이에 대비하기 위해 공부한 내용을 까먹지 않기 위해 저장하고자 한다. 1. Offline에서 yum .. 2022. 12. 10.
[JAVA] 다리놓기_1010 출처 : https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 다리 놓기 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 0.5 초 (추가 시간 없음) 128 MB 64051 29660 24254 48.391% 문제 재원이는 한 도시의 시장이 되었다. 이 도시에는 도시를 동쪽과 서쪽으로 나누는 큰 일직선 모양의 강이 흐르고 있다. 하지만 재원이는 다리가 없어서 시민들이 강을 건너는데 큰 불편을 겪고 있음을 알고 다리를 짓기로 결심하였다. 강 주변.. 2022. 11. 27.
Apache Bigtop을 이용한 Hadoop 설치 이전 포스팅에서 이어진다. https://123okk2.tistory.com/400 멀티노드에 Hadoop 설치해보기 Hadoop 하둡은 빅데이터의 처리를 위한 자바 기반의 오픈소스 프레임워크로, 야후의 더그 커팅이 '넛치' 라는 검색 엔진을 개발하는 과정에서 대용량의 비정형 데이터를 철이하기 위해 구글의 GFS 123okk2.tistory.com 이전 포스팅에서 확인할 수 있다시피 멀티노드에 Hadoop을 설치하는 작업을 수행해보았다. 겉보기에는 정상적으로 설치가 완료되긴 했으나, 그렇다고 장담할 수도 없었다. 이유라면 아래와 같았다. 메뉴얼이 별도로 명확하게 존재하지 않아 인터넷의 여러 글들을 종합해 설치했으므로 정상적으로 설치가 된 것인지 확신할 수 없다. 각 에코시스템을 테스트하는 방법을 몰라 확.. 2022. 10. 24.
멀티노드에 Hadoop 설치해보기 Hadoop 하둡은 빅데이터의 처리를 위한 자바 기반의 오픈소스 프레임워크로, 야후의 더그 커팅이 '넛치' 라는 검색 엔진을 개발하는 과정에서 대용량의 비정형 데이터를 철이하기 위해 구글의 GFS와 MapReduce 관련 논문을 참고하여 개발한 기술이다. 기존에는 데이터 처리를 하나의 고사양 컴퓨터에서 수행했다. 하지만 하둡은 빅데이터의 처리를 위해 하나의 컴퓨터가 아닌, 여러 컴퓨터를 사용하는 방식을 채택했다. 상세하게 말하자면 여러 대의 컴퓨터를 클러스터화 시켜 병렬로 연결하고, 이를 토대로 동시 처리 속도를 높이는 기술을 채택했다고 볼 수 있다. 하둡의 장점으로는 시스템을 중단하지 않고도 장비 추가가 가능하다. 병렬적으로 컴퓨터들을 이어놓았으니 당연한 일이다. 그리고 이러한 특징으로 인해 일부 장비.. 2022. 10. 23.
[JAVA] 단어 정렬_1181 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 단어 정렬 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 114074 47434 35411 40.174% 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 .. 2022. 10. 20.
[JAVA] 구슬 탈출2 https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 구슬 탈출 2 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 512 MB 69373 20683 11370 27.141% 문제 스타트링크에서 판매하는 어린이용 장난감 중에서 가장 인기가 많은 제품은 구슬 탈출이다. 구슬 탈출은 직사각형 보드에 빨간 구슬과 파란 구슬을 하나씩 넣은 다음, 빨간 구슬을 구멍을 통해 빼내는 게임이다. 보드의 .. 2022. 10. 15.