오늘도 아침 막간을 이용해서 그레이들을 공부해 보았다. 기껏 한거라고는 약간의 그레이들 용어 설명과 실습예제를 따라해 보았다. 환경 변수/ 명령어 옵션과 buildSrc 환경변수 - 그레이들 설치 시 시스템에 등록된 내용 명령어 옵션 - 그레이들의 태스크를 수행할 때 수행을 위한 그레이들 명령어에 옵션과 함께 인수를 전달하여 사용하는 부분 buildSrc - 그레이들이 빌드를 수행할 때 클래스 파일이나 플러그인을 저장하여 참조하는 디렉터리 [간단한 그레이들 실습 예제] 책에서는 아래의 코드를 쓰라고 하였으나 잘 안되었다. Stack Overflow를 찾아보니
오늘은 그레이들과 빌드라는 챕터를 공부하였다. 빌드에 대한 챕터 모두를 읽은 것은 아니지만, 빌드가 무엇이고 그레이들의 빌드 설정파일이 어떠한 것들이 있는지 확인해 보는 시간을 가질 수 있었다. 그레이들의 빌드챕터를 모두 공부한 것은 아니지만, 매일 블로그 포스팅을 하는 것을 목표로 하였기에 오늘 공부한 내용을 포스팅 해본다. 빌드란? 프로그래밍한 소스 코드를 컴파일, 테스트, 배포, 문서화 등을 수행하는 일련의 작업. 빌드 자동화(Build Automation) 반복적으로 수행되는 빌드를 자동화 또는 스크립트 파일로 만들어 적용 대상 코드에 대한 작업을 자동으로 수행할 수 있도록 하는 것. 빌드 자동화의 종류 빌드의 자동화는 세가지가 있는데, 내 개인프로젝트의 경우 Jenkins에서 github의 소스..
왜 메이븐 만으로도 충분하다고 생각하였는데, 그레이들을 채택하는 프로젝트들이 많아지는 것일까. 내가 학교를 졸업할 무렵에 핫하던 메이븐도 아래의 표를 보면 알다시피 하향길에 접어들고 그레이들이 대체 빌드툴로서 대두되고 있다. 일전에 읽었던 메이븐 서적에서도 나와 같은생각을 하면서 메이븐을 공부를 했다는 저자의 말이 나온다. "왜 앤트로도 충분한데 메이븐 기반 프로젝트들로 바뀌고 있는가". 이에대한 대답은 더 좋기때문인 것이다. 그렇다면 그레이들이 메이븐 보다 장점이 무엇이 있는지 책속의 내용을 정리해 보기로 한다. 메이븐 XML 기반으로 컨벤션(Convention)에 의존하고 이용할 수 있는 타깃을 제공 네트워크를 통하여 의존(Dependency) 관계의 모듈을 내려받아 사용할 수 있다. XML의 규칙 ..
2014년 말쯤 첫 회사에 입사하고 메이븐에 대해서 공부를 하면서 이제 왠만한 메이븐의 기능과 라이프사이클을 이해할 것 같다! 라고 생각을 한 후 잠시 개발회사가 아닌 제약회사에서 2년을 보내고 다시 IT회사인 위메프라는 회사에서 일을 하게 된지 벌써 2달이 넘어간다. 이곳에서는 메이븐이 아닌 그레이들을 쓰는데, 도통 모르는 부분 투성이다. 그래서 금일부로 그레이들관련 서적을 매일(되도록이면 아침에) 25분씩 공부를 하며 정리를 하고자 한다. 25분의 공부가 짧고 이렇게 글을 쓰면서 공부를 하게될 경우 진도가 느리게 나가게 되지만, 글을 쓰고 다듬음으로써 공부 내용을 한번더 복기할 수 있게되고 몰랐던 부분에 대해서 다시한번 생각해볼 기회가 있기에 글을 쓰면서 공부를 진행하고자 한다. 그레이들이란? 그레이..
컴퓨터를 구입한지 대략 1년이 넘어가는데 쿨러의 소음이 심해지고 CPU의 사용량도 항상 100%인데 대해 의문을 품고 있어서 인터넷에 검색한 결과 CPU의 쿨러가 영향을 줄 수 있다고 한다. 그래서 CPU쿨러를 교체하고 이를 통해 CPU의 발열성능 향상 및 CPU쿨러 교체를 통한 PC조립 경험을 얻고자 CPU쿨러를 주문하였다. CPU쿨러를 주문하였더니 다음과 같이 CPU쿨러가 택배로 도착하였다. 상자를 개봉하였을때의 모습이다. 본체의 뚜껑을 열어보니 CPU쿨러가 Intel기본 쿨러로 장착되어 있다. CPU쿨러를 해체해보니 cpu위에 써멀구리스가 굳어있다. 굳은 써멀구리스를 닦아내고 CPU쿨러를 장착하고자 메인보드를 본체로 부터 분리시키는 작업을 수행하였다. 본체로부터 분리된 메인보드의 모습이다.. 일단 ..
이번에 알림설정 기능을 개발하다가 FeignClient라는 어노테이션을 발견하게 되었다. 인터페이스 상단에 @FeignClient라고 선언 후, 약간의 설정값만 넣으면 해당 인터페이스 자체가 HTTP 클라이언트가 되어서 서버로 HTTP요청을 할 수 있는 기능으로 보인다. 일단, 인터넷을 리서치하여 기능의 구현은 하였지만, 생각의 정리차 포스팅으로 남긴다. 소개 Feign은 Netflix에서 만든 선언적 Http 클라이언트이다. 여기서 선언적이란 말은 Spring에서 선언적 트랜잭션이라는 용어와 비슷한데, 소스코드가 아닌 어노테이션 선언만으로 트랜잭션을 적용하게 하는 기술이다. Feign에서의 선언적 Http클라이언트 역시 어노테이션 선언만으로 Http 클라이언트를 만들 수 있고 이를 통해서 Http Ap..
프로젝트 진행중 다음과 같은 에러가 발생하였다. 이미 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..
아파치 스파크,, 2016년 10월경에 회사에서 퇴직할 당시 가끔씩 들려오던 이름이다. (마치 지금의 스프링 부트나 하이버네이트 처럼) 이러한 것들을 머릿속에서 지우고 유한화학 IT 매니저로 2년 6개월간 일하고 다시 개발업계로 돌아온 지금 이러한 기술들은 현재 현업에서 주로 쓰이고 있는것으로 보인다. 스프링 부트나 하이버네이트의 경우 헬창닷컴을 개발하면서 사용해 보았기에 친숙하지만 스파크의 경우 그렇지 않다. 스파크는 지금 다른 부서에서 구축 및 운용할 것으로 보이는데 공부하고자 하는 이유는 이 부서가 우리와 협업을 하는 부서이기 때문이고 그렇기 때문에 적어도 스파크의 기본정도는 알고 있어야 예의라는 생각이 들어서이다. 그렇기에 매일같이 적어도 30분은 스파크에 대한 책을 읽거나 고민을 하고 일주일에 ..
나는 지금까지 대략 4년 6개월의 업무 경험을 가지고 있다. 그 중 2년은 SI(System Integration)업체에서 일을 하였었고, 나머지의 기간은 유한화학이라는 제약회사에서 일을 하였었다. SI업체에서 다른 사람들과 협업을 하였을 때는 SVN을 사용하였었고, 유한화학에서는 요즘 유행하는 형상관리툴인 git을 사용하였었다. 유한화학에서 git을 사용할 때는 다른 사람들과의 업무 협업용이 아닌 내 소스코드를 백업할 용도로서의 git을 사용하였었기 때문에 git bash(터미널 상에서 명령어를 이용해 git을 사용하는 툴)을 이용하는 것만으로 충분하였지만, 지금의 회사 위메프에서는 다수의 사람들과 하나의 프로젝트를 동시에 진행하기 때문에 다른사람들의 branch 상태를 보여주는 시각화 툴이 필요하였다..
분명히 컴파일, 빌드가 되고 실행하는것까지 이상이 없는데 IntelliJ 작업환경에서 빨간줄이 그어지는 현상이 발생하였다. 빨간줄 위에 마우스를 갖다놓아보니 발생하는 에러메시지는 아래와 같다. cannot resolve symbol import ~~~~~ 여러가지 해결법을 찾아보았는데 아래의 해결법으로 나는 해결을 하였다. 해결법 ) File > Invalidate Caches / Restart