spring boot에서 파일에 설정 정보가 있는 경우에는 어떻게 읽어와야 할까요? 요구 사항은 아래와 같습니다. 어떻게 하면 좋을까요? 요구 사항을 먼저 간단하게 분석해 봅시다. 요구 사항에서 중요한 것은 크게 3가지입니다. 프로그램은 properties 설정 파일 하나를 읽어서, db 접속 정보를 읽어내야 합니다. 그 외에 셋팅값 정보는 없다는 것이 중요합니다. 보통 host와 password, db를 읽어야 합니다. 이 3개가 있어야 접속을 할 수 있기 때문입니다. 단지, 접속 정보를 외부 파일로부터 읽어내는 것이 중요한데요. 외부 파일은 아래 위치에 있다고 해 봅시다. jo_test/spring/external_configure의 conf 폴더 밑에 app-prod.properties에 있다고 해..
전체 글 검색 결과
리스트를 초기화 할 때, 모두 같은 값으로 초기화 해야 하는 경우가 많습니다. 예를 들어 60개의 원소를 모두 0으로 초기화 하거나, 혹은 -1로 초기화 하는 것이 이에 속합니다. c++에서는 vector의 resize를 이용하면 매우 손쉽게 할 수 있었는데, 자바는 아니였습니다. 간단하게 하는 방법 중 하나는, 콜렉션의 nCopies의 힘을 빌리면 됩니다. 위 그림을 보시면, Collections.nCopies 메서드를 썼음을 알 수 있는데요. 1번째 인자인 n은 갯수를 의미합니다. 예를 들어 60개의 원소를 0으로 초기화 하고 싶다면 1번째 인자에는 60을 넣으면 됩니다. 2번째 인자에는 당연하게도, 0을 넣어주시면 됩니다. 당연한 이야기일지도 모르겠지만, Boxing 객체가 아닌 다른 객체를 nCo..
파이썬은 배열 회전은 zip을 이용하면 1줄에 끝내버릴 수 있습니다. 그 방법을 알아봅시다. 3번째 줄이 90도 회전하는 소스입니다. c++로 구현할 때, 줄수가 꽤 길었는데요. 파이썬은 의외입니다? zip과 asterisk, 그리고 list 컴프리헨션으로 간단하게 구현할 수 있어요. 이 과정을 하나 하나 짚어보겠습니다. 먼저, zip(*li) 부터 보겠습니다. 이것에 대한 문법적인 설명은 다음에 언급하도록 하겠습니다. zip을 쓸 때 짝꿍처럼 많이 쓰이니, 이디엄처럼 외워 봅시다. 문서를 보시면 li가 [1, 2, 3]일 때, f(*li)는 f(1, 2, 3)과 똑같습니다. 그러면, li가 [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]일 때, zip(*li)는 무엇..
리눅스에서는 top을 제공합니다. 어떤 프로세스가 메모리를 얼마나 먹는지, cpu를 얼마나 먹는지 등을 모니터링 하기 위해서 쓰이곤 합니다. UI를 보면, 단순히 흑백으로만 되어 있어요. CPU가 50.2%이고, 272개의 Task가 있고, 3개가 running 중이고 269개가 sleeping 상태인 것을 볼 수 있어요. 메모리는 1400 메가가 free인 상태를 볼 수 있는데요. 이게 어느 정도인지 쉽게 감이 오지는 않습니다. 밑에를 보시면, PID와 USER, COMMAND 등이 있고, cpu%와 mem%가 있어요. 각각 cpu를 얼마나 쓰는지와 메모리를 얼마나 쓰는지를 나타냅니다. git이 상당히 많은 cpu를 쓰고 있는 것만 볼 수 있어요. 이 정도만 얻을 수 있다고 보면 될까요? 그런데, 조금..
이번 시간에는 리눅스에서 sh 명령어와 source 명령어의 차이를 알아보겠습니다. 먼저 1.sh에 다음과 같이 입력해 보겠습니다. echo $$가 보이는데요. 이것은 쉘의 current process id를 의미합니다. 이는, subshell로 실행되는지, 현재 쉘에서 실행되는지 판단하기 위해서입니다. chmod로 1.sh의 실행 권한을 바꿉니다. 그리고 ls -ail을 입력해 보시면, cho, cho 그룹에 속한 유저, 모든 유저에게 x 권한이 주어졌음을 알 수 있는데요. 이는 실행 권한이 주어졌다는 것을 의미합니다. 그러면, 1.sh를 실행할 수 있습니다. 이제 sub shell을 띄워서 실행시키는지, 그렇지 않은지는 어떻게 검증하면 될까요? 현재 쉘의 pid를 알기 위해서는 echo $$을 입력하..
최근댓글