느린 것을 걱정하지 말고, 멈춰서는 것을 걱정하라
article thumbnail
IntelliJ SonarList(코드 품질관리) 플러그인 설치
IT/IntelliJ 2020. 6. 11. 23:08

회사에서는 내가짠 소스코드에 대해 팀원들이 코드리뷰를 해줘서 코드 품질이 어느정도 보장되지만, 내가 집에서 혼자서 짜는 코드의 경우에는 나의 뇌피셜로 인해 무작정 적으로 완벽한 코드라고 착각하는 경우가 많다. 그래서 나의 코드의 코드를 품질을 리뷰(?) 해주는 플러그인을 인텔리 제이에 설치하였다. 인텔리제이 좌측상단 File > Settings를 누른다. Plugins탭을 누른후 sonar로 검색을 하여서 Install을 눌러서 플러그인 설치를 진행한 후 IDE를 재실행 해준다. IDE를 재실행 해주면 아래에 Sonar라는 창이 뜨는데, 나의 나보고 안쓰는 import를 지우라는 메시지를 보여준다.

article thumbnail
Redis 설치 (6.0.4 버전)
IT/Redis 2020. 6. 8. 23:05

설치 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..

article thumbnail
인텔리제이 Lombok
IT/IntelliJ 2020. 6. 7. 14:34

,,,, Slf4j 관련한 실습을 진행중이었는데 @Slf4j가 작동을 안하길래 1시간동안 관련하여 인터넷을 찾아보다가.. 결국 lombok 플러그인 설치가 안되어 있었다는것을 꺠닳아버렸다... ㅠ 인텔리제이 Lombok적용 방법은 Settings(Ctrl + Alt + S) > Plugins > Lombok 을 Install 하면 된다.

article thumbnail
그레이들(Gradle) Project 객체
IT/Gradle 2020. 5. 10. 21:02

Project 객체 Project 객체에서는 그레이들의 모든 기능에 대하여 프로그래밍 방식으로 접근할 수 있도록 각종 속성 및 메서드 등을 지원하고 있다. 해당 프로젝트의 환경 구성, 의존 관계, 태스크 등의 내용을 Project 객체를 통하여 제어하고 참조할 수 있다. Project객체는 프로젝트와 build.gradle 파일간에 일대일 대응 관계에 있으며 빌드가 초기화 될 때 그레이들은 빌드를 수행할 프로젝트의 Project객체에 대하여 다음과 같은 생명주기를 갖게 된다. 빌드를 수행하기 위한 Settings 객체 생성 settings.gradle 스크립트 파일이 있을 경우 Settings 객체와 비교 구성된 Settings 객체를 이용하여 Proejct 객체의 계층 구조 생성 프로젝트가 멀티 프로젝..

article thumbnail
그레이들의 라이프 사이클과 그루비
IT/Gradle 2020. 5. 9. 15:59

이글은 오늘 아침에 공부한 그레이들의 내용을 정리한 글이다. 금일 오전에는 그레이들의 빌드 라이프 사이클과 그루비가 어떤 것인지 약간의 맛보기 형식으로 공부를 진행하였다. 그러면 정리하는 글을 적어보고자 한다. 그레이들의 빌드가 본격적으로 실행되는 단계가 그레이들의 초기화 단계인데, 이 스크립트 초기화단계부터 태스크 실행단계 까지를 그레이들에서는 하나의 생명주기(Life Cycle)로 나누어 정의한다. 그레이들의 생명주기( Life Cycle) 스크립트 초기화 단계 - 그레이들의 스크립트 파일을 읽거나 그레이들의 도메인 객체가 생성되는 단계 Script 파일 확인 및 읽기 멀티 or 싱글 프로젝트 판단 Proejct 객체 생성 명령어 옵션 및 인수 설정 프로젝트 설정 단계 - 프로젝트를 빌드하기 위해 필..

article thumbnail
그레이들과 빌드
IT/Gradle 2020. 5. 7. 23:33

오늘은 그레이들과 빌드라는 챕터를 공부하였다. 빌드에 대한 챕터 모두를 읽은 것은 아니지만, 빌드가 무엇이고 그레이들의 빌드 설정파일이 어떠한 것들이 있는지 확인해 보는 시간을 가질 수 있었다. 그레이들의 빌드챕터를 모두 공부한 것은 아니지만, 매일 블로그 포스팅을 하는 것을 목표로 하였기에 오늘 공부한 내용을 포스팅 해본다. 빌드란? 프로그래밍한 소스 코드를 컴파일, 테스트, 배포, 문서화 등을 수행하는 일련의 작업. 빌드 자동화(Build Automation) 반복적으로 수행되는 빌드를 자동화 또는 스크립트 파일로 만들어 적용 대상 코드에 대한 작업을 자동으로 수행할 수 있도록 하는 것. 빌드 자동화의 종류 빌드의 자동화는 세가지가 있는데, 내 개인프로젝트의 경우 Jenkins에서 github의 소스..

article thumbnail
그레이들 vs 메이븐
IT/Gradle 2020. 5. 6. 06:51

왜 메이븐 만으로도 충분하다고 생각하였는데, 그레이들을 채택하는 프로젝트들이 많아지는 것일까. 내가 학교를 졸업할 무렵에 핫하던 메이븐도 아래의 표를 보면 알다시피 하향길에 접어들고 그레이들이 대체 빌드툴로서 대두되고 있다. 일전에 읽었던 메이븐 서적에서도 나와 같은생각을 하면서 메이븐을 공부를 했다는 저자의 말이 나온다. "왜 앤트로도 충분한데 메이븐 기반 프로젝트들로 바뀌고 있는가". 이에대한 대답은 더 좋기때문인 것이다. 그렇다면 그레이들이 메이븐 보다 장점이 무엇이 있는지 책속의 내용을 정리해 보기로 한다. 메이븐 XML 기반으로 컨벤션(Convention)에 의존하고 이용할 수 있는 타깃을 제공 네트워크를 통하여 의존(Dependency) 관계의 모듈을 내려받아 사용할 수 있다. XML의 규칙 ..

article thumbnail
Gradle 공부의 시작(Gradle 설치)
IT/Gradle 2020. 5. 5. 22:50

2014년 말쯤 첫 회사에 입사하고 메이븐에 대해서 공부를 하면서 이제 왠만한 메이븐의 기능과 라이프사이클을 이해할 것 같다! 라고 생각을 한 후 잠시 개발회사가 아닌 제약회사에서 2년을 보내고 다시 IT회사인 위메프라는 회사에서 일을 하게 된지 벌써 2달이 넘어간다. 이곳에서는 메이븐이 아닌 그레이들을 쓰는데, 도통 모르는 부분 투성이다. 그래서 금일부로 그레이들관련 서적을 매일(되도록이면 아침에) 25분씩 공부를 하며 정리를 하고자 한다. 25분의 공부가 짧고 이렇게 글을 쓰면서 공부를 하게될 경우 진도가 느리게 나가게 되지만, 글을 쓰고 다듬음으로써 공부 내용을 한번더 복기할 수 있게되고 몰랐던 부분에 대해서 다시한번 생각해볼 기회가 있기에 글을 쓰면서 공부를 진행하고자 한다. 그레이들이란? 그레이..

article thumbnail
Feign을 이용한 HttpClient 생성 및 Http API 호출하기
IT/Spring Boot 2020. 3. 13. 14:25

이번에 알림설정 기능을 개발하다가 FeignClient라는 어노테이션을 발견하게 되었다. 인터페이스 상단에 @FeignClient라고 선언 후, 약간의 설정값만 넣으면 해당 인터페이스 자체가 HTTP 클라이언트가 되어서 서버로 HTTP요청을 할 수 있는 기능으로 보인다. 일단, 인터넷을 리서치하여 기능의 구현은 하였지만, 생각의 정리차 포스팅으로 남긴다. 소개 Feign은 Netflix에서 만든 선언적 Http 클라이언트이다. 여기서 선언적이란 말은 Spring에서 선언적 트랜잭션이라는 용어와 비슷한데, 소스코드가 아닌 어노테이션 선언만으로 트랜잭션을 적용하게 하는 기술이다. Feign에서의 선언적 Http클라이언트 역시 어노테이션 선언만으로 Http 클라이언트를 만들 수 있고 이를 통해서 Http Ap..

article thumbnail
인텔리제이 에러
IT/TroubleShooting 2020. 3. 12. 22:10

프로젝트 진행중 다음과 같은 에러가 발생하였다. 이미 git에 있는 파일들을 clone해온 소스코드들인데 뭔가 이상하다는 느낌을 받는다.. 이미 git에 올라갔다는 것은 코드검증을 모두 거치고 돌아가는 것을 확인했다는 것인데 나의 로컬에서는 왜 안되는 것일까.. Caused by: java.io.FileNotFoundException: class path resource [mybatis/mapper/] cannot be resolved to URL because it does not exist at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:195) ~[spring-core-5.2.3.RELEASE.jar:5.2..