오전중에 개발을 깔짝이다가 수동배포가 불편하여서 제목과 같은 개발set의 프로젝트를 자동으로 배포하는 방법을 리서치를 해보고, 점심을 먹고난 2~3시정도경에 적용을 하였다. 내가 발견한 방법보다 더 우아한 방법으로 배포를 구성할 수 방법이 이미 도처에 깔려있을수도 있다. 그러나 금일 이렇게 이와 관련하여 글을 적는 이유는 내가 평소에 사용하던 수동 배포방법보다 편리하게 배포를 하게 될 수 있게 되었고, 이 환경을 구축하기 위해서 1~2시간의 수고를 들였기에 혹여나 까먹을까봐 글을 쓴다. 원래 술을 먹고 알딸딸해서 글을 안쓰려고 하였으나, 잠이 안오기에 뭔가는 하고싶지만, 코딩은 할 수 없는 상태이기에 오후중의 기억을 되살려 글을 써보고자 한다. 새로운 Item을 클릭한다. Enter an item nam..
회사에서 시스템 운영을 하면서 제목과 같은 현상이 발생하고 말았다. df -h 로 확인을 하였더니 디스크가 100% 차버린 것이다. 그러나, du -sh / , ncdu / 등의 명령을 통해 확인해본 폴더들이 차지하고 있는 용량은 전체의 10%도 사용하고 있지 않았었따. 결론적으로 원인은 파일이 삭제되었지만, 프로세스가 해당파일을 열고있기에 실제 디스크의 용량은 차지하고 있었던 것이다. 이를 확인하기 위해서는 아래의 명령을 통해 확인할 수 있다. lsof | grep "(deleted)"
스프링 부트를 공부하면서 H2 데이터베이스를 많이 쓰는것 같다. 많이 쓰는곳은 Test할때 in-memory 데이터베이스를 사용하는 형식으로 사용할 때인데, 특징을 좀 알고 싶어서 해당 사이트에 들어가서 Quick-Start를 간단히 공부를 해보고자 한다. H2 데이터 베이스의 특징 매우 빠르고, 오픈소스이고, JDBC API를 제공한다. Embedded 그리고 인메모리 데이터베이스이다. 브라우저 기반 콘솔 어플리케이션이다. 대략 2MB의 jar 파일 사이즈이다. H2데이터베이스는 임베디드 모드나 서버모드로 사용이 가능하다. 만약 임베디드 모드로 사용하려면 다음의 절차를 따른다. h2*.jar 파일을 클래스패스에 추가한다.(H2는 어떠한 의존관계도 갖지 않는다.) JDBC 드라이버 클래스를 사용한다. :..
회사에서는 내가짠 소스코드에 대해 팀원들이 코드리뷰를 해줘서 코드 품질이 어느정도 보장되지만, 내가 집에서 혼자서 짜는 코드의 경우에는 나의 뇌피셜로 인해 무작정 적으로 완벽한 코드라고 착각하는 경우가 많다. 그래서 나의 코드의 코드를 품질을 리뷰(?) 해주는 플러그인을 인텔리 제이에 설치하였다. 인텔리제이 좌측상단 File > Settings를 누른다. Plugins탭을 누른후 sonar로 검색을 하여서 Install을 눌러서 플러그인 설치를 진행한 후 IDE를 재실행 해준다. IDE를 재실행 해주면 아래에 Sonar라는 창이 뜨는데, 나의 나보고 안쓰는 import를 지우라는 메시지를 보여준다.
설치 OS : CentOS7 레디스.. 회사에서 쓰는데,, 카프카와 동시에 잘 모르겠는 플랫폼.. 심지어 개발중인 시스템이 아닌 운영중인 시스템이기에 함부로 건드리지도 못하겠다. 이 부분에 대해서는 손도 못대겠어가지고 프로젝트에 민폐를 끼치고 있는건 아닌지 생각조차 든다. 그래서 생각한 것이 집 VM웨어 환경에 redis를 설치해서 익숙해질때 까지 매일같이 훈련을 할 생각이다. 레디스 다운로드 사이트 : https://redis.io/download 다운받은 Redis파일을 압축풀어주면 설치가 완료된다. 참고로 make는 그레이들과 같은 c를 빌드하기위한 빌드도구라고 알고있다. $ wget http://download.redis.io/releases/redis-6.0.4.tar.gz $ tar xzf r..
오늘 거의 2시간동안 URLConnection의 Encoding문제에 대해 찾아보았으나,, 계속해서 다음과 같이.. 한글이 깨져서 들어오는 현상이 있었다. 도대체 문제가 뭐지!!하는데,, 다음과 같은 설정이 있단다... (Help > Edit Custom VM Options) 여기에다가 -Dfile.encoding=UTF-8을 입력후 인텔리제이를 껐다가 켜면! 다음과 같이 한글이 써진다... 이것때문에 거의 낮시간을 전부 날려먹었다.. ㅋㅋㅋㅋㅋ
,,,, Slf4j 관련한 실습을 진행중이었는데 @Slf4j가 작동을 안하길래 1시간동안 관련하여 인터넷을 찾아보다가.. 결국 lombok 플러그인 설치가 안되어 있었다는것을 꺠닳아버렸다... ㅠ 인텔리제이 Lombok적용 방법은 Settings(Ctrl + Alt + S) > Plugins > Lombok 을 Install 하면 된다.
책제목 : 벌거벗은 통계학 저자 : 찰스 윌런 출퇴근 길과 주말 여유 시간을 이용해서 벌거벗은 통계학이라는 책을 읽었다. 이 책을 읽게된 계기는 유튜브를 보던 도중 세상을 보는 관점을 넓혀주는 책에 대한 소개를 하는 영상을 보면서 시작되었는데, 그중에 벌거벗은 통계학이라는 책제목이 가장 마음에 들었기에 이 책을 선택하게 되었다. 통계에 대해 마지막으로 본것은 대학교 1학년 시절 확률과 통계 시간으로 추정된다. 그 시절에는 자취방에서 게임 혹은 음성채팅을 하느라 시간가는줄 몰라서 사실상 공부를 안한것이나 다름없기에,, 대충 넘어간 과목이었다. 그러나 데이터가 범람하고 있는 지금 시대에서는 통찰력 있는 시각을 갖기 위해서는 통계를 공부해야 한다고 생각한다. 이 책의 서두에서도 역시 통계란 불확실성을 다루기 ..
Project 객체 Project 객체에서는 그레이들의 모든 기능에 대하여 프로그래밍 방식으로 접근할 수 있도록 각종 속성 및 메서드 등을 지원하고 있다. 해당 프로젝트의 환경 구성, 의존 관계, 태스크 등의 내용을 Project 객체를 통하여 제어하고 참조할 수 있다. Project객체는 프로젝트와 build.gradle 파일간에 일대일 대응 관계에 있으며 빌드가 초기화 될 때 그레이들은 빌드를 수행할 프로젝트의 Project객체에 대하여 다음과 같은 생명주기를 갖게 된다. 빌드를 수행하기 위한 Settings 객체 생성 settings.gradle 스크립트 파일이 있을 경우 Settings 객체와 비교 구성된 Settings 객체를 이용하여 Proejct 객체의 계층 구조 생성 프로젝트가 멀티 프로젝..
이글은 오늘 아침에 공부한 그레이들의 내용을 정리한 글이다. 금일 오전에는 그레이들의 빌드 라이프 사이클과 그루비가 어떤 것인지 약간의 맛보기 형식으로 공부를 진행하였다. 그러면 정리하는 글을 적어보고자 한다. 그레이들의 빌드가 본격적으로 실행되는 단계가 그레이들의 초기화 단계인데, 이 스크립트 초기화단계부터 태스크 실행단계 까지를 그레이들에서는 하나의 생명주기(Life Cycle)로 나누어 정의한다. 그레이들의 생명주기( Life Cycle) 스크립트 초기화 단계 - 그레이들의 스크립트 파일을 읽거나 그레이들의 도메인 객체가 생성되는 단계 Script 파일 확인 및 읽기 멀티 or 싱글 프로젝트 판단 Proejct 객체 생성 명령어 옵션 및 인수 설정 프로젝트 설정 단계 - 프로젝트를 빌드하기 위해 필..