본문 바로가기

Programing

(403)
[Spock] Internal of spock (Specification) Spock에서 테스트 코드를 구현하기 위해서는 Specification을 직접 혹은 간접적으로 상속받아 구현한다.class MyFirstSpecification extends Specification { 이 spock.lang.Specification는 MockingApi를 상속받는 추상메서드이다.public abstract class Specification extends MockingApi이 Specification 추상클래스는 Groovy의 with와 유사한 기능을 하는 with 구문을 포함해서 예외에 대한 동작 등을 가지고 있다. (버전 1.2 기준) 이 Specification은 MockingApi를 상속받고 있고, MockingApi는 SpecInternals를 상속받는다.SpecInterna..
[curl] curl -I 는 HTTP HEAD 였다. Github에서 저장소 목록을 구해올 일이 생겨서 API를 쓰게 되었다.문제는 기본적으로 30개씩만 가져오도록 pagination이 되어 있었다. 그런데 응답 json에는 추가로 데이터가 있는지, 있다면 가져올 방법에 대해 알려주는 필드가 없었다.레퍼런스를 몇 번 반복해서 읽고 나서야 왜 없는 줄 알았다. 레퍼런스 문서를 보자Pagination의 기본 여기에는 curl -I 어쩌구 명령만 나와 있어서 알턱이 없었다. 그렇다면 저 마이너스 I 옵션은 무엇일까? curl -Iman 명령으로 찾아보았다.--head 명령과 같다. 음, HTTP HEAD 요청을 보내는 것이었다. 결론그러니까 동일한 URL에 대해 HTTP HEAD로 요청하면, 컨텐츠 없이 부가 정보(예. 페이지 정보)를 보내주는 것였다.컨텐츠가 ..
[Java] Generic in depth 2004년 JSR 176 규격에 의해 규정된 J2SE 5.0부터 자바에 제네릭(Generic)이라는 개념이 JSR 14로 추가되었다. 또한 많은 사람들이 Generic 타입이 추가 된 것을 5.0의 큰 변화로 꼽는다. 그런데 자바 카페나 블로그에 올라온 글들을 보면 근거 없는 정보들이 있어 확인이 필요했다. 1. 타입 이름은 아무 의미가 없다? 이 주장과 아래 2번 주장은 'justkukaro님의블로그'에서 발견했다. 위의 주장은 문법상으로는 맞는 말이다. 하지만 일상 생활을 비유로 들자면 우리는 법만 지키고 살면된다라는 말과 다를 바가 없다. 이 법이라는 것은 도덕이라는 개념과 대치되는 개념으로 사용되었다. 만약 (도덕이라는 다른 범주를 무시하고) 법만 지키면서 살면 힘든 세상이 될 것이다. 일상 생활..
[JaCoCo] jacoco.exec 이 파일 낯설다... Jenkins에서 테스트 커버리지 체크를 하고 있다.아래 그림에 보면 jacoco.exec 파일을 다운로드 받을 수 있다고 나온다. 근데 받아보면 그냥 바이너리 파일이다. 어떻게 활용해야 하나? 구글신에게 물어보니 StackOverflow에 답이 있다고 한다.IntelliJ IDEA에서 볼 수 있다고 한다. Analyze > Show Coverage Data ... 이전에 커버리지 분석을 한 적이 없다면 아래와 같이 빈 창이 뜬다. (사실 목록에 있었지만 - 버튼을 눌러서 지우고 캡쳐) + 버튼을 눌러 아까 받은 파일을 추가해본다. (창이 위아래의 크기가 줄어든 것은 기분탓이 아니고 당신의 눈썰미가 좋은 것이다. 너무 길어서 줄여서 캡쳐했다.) 그냥 IntelliJ IDEA 로 분석한 것 처럼 나온다. ..
[JS] reveal.js - 웹 슬라이드 스탠포드 대학교 컴퓨터공학 입문 강좌 cs101를 보다가 슬라이드가 웹에 올라와 있는 것을 보게 되었다. 관련글 : 응답하라 101예) https://web.stanford.edu/class/cs101/lecture02.html#/18 교수가 직접 구현을 하지는 않았을 것 같아서 소스보기를 해보니 reveal.js를 썼음을 알 수 있었다. 예전 회사에서 앨런님이 발표시에 썼던 것으로 기억한다. 좋은점 중 하나는 레벨이라는 개념이 존재한다. 로컬에 설치해서 쓸 수도 있고, 온라인 에디터를 쓸 수 있는데, 일정 금액을 내야 한다. 아니면 전체 공개를 하던지.. Free plan: 하지만 맥에는 기본적으로 keynote라는 적당한 프레젠테이션 프로그램을 쓸 수 있어서 이걸 쓸 기회가 있을지는 잘 모르겠다.
[Java] jOOλ jOOλ is part of the jOOQ series (along with jOOQ, jOOX, jOOR, jOOU) providing some useful extensions to Java 8 lambdas. It contains these classes: 사이트: https://github.com/jOOQ/jOOL 인용된 사이트: for-loop 를 Stream.forEach() 로 바꾸지 말아야 할 3가지 이유
[Test] hamcrest 은 matchers의 애너그램이다. 사이트: http://hamcrest.org/ Hamcrest는 의미 알기 쉽게 유연한 표현식으로 사용할 수 있게 도와주는 매처(Matchers)입니다.오늘 출근하면서 알았는데 Hamcrest의 이름이 그냥 지어진 것이 아니였다.Matchers의 애너그램이었다. Hamcrest -> hamcrest -> mhacrest -> mahcrest -> mathcres -> matchres -> matchers
[OSL] Inkspace에서 사용하는 오픈 소스 소프트웨어 복사가 안되서 캡쳐로 대신한다.일렉트론을 쓰는 구나... 대세인가보다.