8월, 2017의 게시물 표시

(JSON) ObjectMapper 및 각종 JSON 사용예

ObjectMapper mapper = new ObjectMapper(); String ACCESS_TOKEN = "sadasda"; List<BanWordRequest> banwordRequests = new ArrayList<>(); banwordRequests.add(temp1); banwordRequests.add(temp2); //리스트 형 자료를 JSON 문자열로 변환. (리스트가 될 수도 있고 그냥 도메인 클래스여도 상관 없음.) String body = mapper.writeValueAsString(banwordRequests); //헤더 생성 HashMap headers = new HashMap(); headers.put(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE); //파라미터 추가 JSONObject jsonObject = new JSONObject(); jsonObject.add("access_token", ACCESS_TOKEN); //리퀘스트 생성 //URI 생성 URI expanded = new UriTemplate(resourceUrl); String resourceUrl = URLDecoder.decode(expanded.toString(), "UTF-8");

(트러블 슈팅) 메이븐 라이브러리 의존성 문제

(상황) 로컬에서 잘 작동되던것이 배포 후 라이브러리가 없다는 문제가 발생한 상황 <dependency>             <groupId>com.google.api-client</groupId>             <artifactId>google-api-client</artifactId>             <version>1.20.0</version>  </dependency>         <dependency>             <groupId>com.google.guava</groupId>             <artifactId>guava</artifactId>             <version>18.0</version>         </dependency> 구글 api-client가 등록되어 있고 guava도 포함되어있을 떄 충돌 api가 guava를 포함         <dependency>             <groupId>com.google.api-client</groupId>             <artifactId>google-api-client</artifactId>             <version>1.20.0</version>             <exclusions>                 <exclusion>                     <groupId>com.google.guava</groupId>                     <artifactId>guava-jdk5</artifactId>                 &

(Jackson) JSON 변환 주소

http://noritersand.tistory.com/240 http://wiki.fasterxml.com/JacksonInFiveMinutes https://stackoverflow.com/questions/4783421/how-can-i-include-raw-json-in-an-object-using-jackson https://avaldes.com/json-tutorial-jackson-annotations-part-2/#json_raw_value

(Maven) 메이븐 라이프사이클(Lifecycle)과 플러그인 실행

Maven은 clean,  build(default), site의 세 가지 라이프사이클을 제공하고 있다. 각 라이프 사이클은 순서를 갖는 단계(phase)로 구성된다. 또한, 각 단계별로 기본적으로 실행되는 플러그인 골이 정의되어 있어서 각 단계마다 알맞은 작업이 실행 된다. [디폴트 라이프사이클의 주요 단계] 1. generate-sources : 컴파일 과정에서 포함될 소스를 생성한다. 예를들어, DB 테이블과 매핑되는 자바코드를 생성해주는 작업이 이 단계에서 실행된다. 2. process-sources : 필터와 같은 작업을 소스 코드에 처리한다. 3. generate-resources : 패키지에 포함될 자원을 생성한다. 4. process-resources : 필터와 같은 작업을 자원 파일에 처리하고, 자원 파일을 클래스 출력 디렉토리에 복사한다. 5. compile : 소스 코드를 컴파일해서 클래스 출력 디렉토리에 클래스를 생성한다. 6. generate-test-sources : 테스트 소스 코드를 생성한다. 예를들어, 특정 클래스에서 자동으로 테스트 케이스를 만드는 작업이 이 단계에서 실행된다. 7. process-test-resources: 필터와 같은 작업을 테스트 소스 코드에 처리한다. 8. generate-test-resources: 테스트를 위한 자원 파일을 생성한다. 9. process-test-resources : 필터와 같은 작업을 테스트 자원 파일에 처리하고, 테스트 자원파일을 테스트 클래스 출력 디렉토리에 복사한다. 10. test-compile: 테스트 소스코드를 컴파일해서 테스트 클래스 출력 디렉토리에 클래스를 생성한다. 11. test : 테스트를 실행한다. 12. package : 컴파일 된 코드와 자원파일들을 jar, war와 같은 배포형식으로 패키징한다. 13. install : 로컬 리포지토리에 패키지를 복사한다. 14. deploy : 생성된 패키지 파일을

(이탈리아어) 영어는 be 동사 이탈리아어는 Essere 동사

I am = Io sono [이오쏘노] 1. 나는 ~입니다. (이오쏘노) 2. 우리는 ~ 입니다. [노이씨아모] -> Noi siamo~ 3. 너는 ~이다. [뚜 쌔이] ->Tu sei~ 4. 너희는 ~이다. [보v이 씨에데] -> Voi siete ~ 5. 당신은 ~입니다. [래이 애] -> Lei e~ 6. 당신들은 ~입니다. [보v이 씨에떼] -> Voi Siete ~ 7. 그는 ~입니다. [루이 애] ->Lui e 8.

(영어)

*choir 합창대. 성가대 *pope 교황 예) The sistine choir traces it history back 500 years, connecting the modern choir to singers that accompanied popes during the Middle Ages It`s been three decades the sistine Chapel choir has performed in the United States Choir members are looking forward to their US tour this September * shed 없애다, 탈피하다. 예) The group of 20 adults and 30 boys hope the beauty of their songs and technical skills of their performance help them shed a more recent nickname * routine (틀에박힌) 연기, 몸짓 * screamer 스크리머, 날카롭게 소리지르는 사람 예) In past decades, the choir was known more for their voulme and exaggerated operatic routine, prompting some to call them the "Sistine Screamers" * intimate 분위기 있는, 편안한 *  acoustics 음향사태, 음향시설 예) Today, their melodic sound is more in line with their musical history and the intimate acoustics of their famous chapel * halt 중단하다, 멈추다. * fall within ~의 범위에 들어가다. -> Solber`s airport falls within a ten mile raius of Trump`s

(자바8 - 함수형 프로그래밍 기법)

함수를 마치 일반값처럼 사용해서 인수로 전달하거나, 결과로 반환받거나, 자료구조에 저장할 수 있음을 의미한다. 일반 값처럼 취급할 수 있는 함수를 일급 함수 라고 한다. 바로 자바8이 이전버전과 구별되는 특징 중 하나가 일급 함수를 지원한다는 점이다. 자바8에서는 ::연산자로 메서드 레퍼런스를 만들거나 (int x) -> x + 1 같은 람다표현식으로 직접 함숫값을 표현해서 메소드를 함숫값으로 사용할 수 있다. 자바8에서는 다음과 같은 메서드 레퍼런스로 Integer.parsetInt를 저장 할 수 있다. Function<String, Integer> strToInt = Integer.parseInt 1. 고차원 함수 2. 커링 대부분 애플리케이션은 국제화를 지원해야 하는데 이때 단위 변환 문제가 발생할 수 있다. 보통 변환요소와 기준치 조정요소가 단위 변환 결과를 좌우한다. 다음은 섭씨를 화씨로 변환하는 공식이다. CtoF(x) = x*9/5 + 32 다음과 같은 패턴으로 단위를 표현할 수 있다. 1. 변환요소를 곱함 2. 기준치 조정요소를 적용 static double converter(double x, double y, double f) {   return x * f + b; } 위와같이 하면 인수에 변환요소와 기준치를 넣는 일은 귀찮은 일이며 오타도 발생하기 쉽다. 다음은 커링이라는 개념을 활용해서 한 개의 인수를 갖는 변환 함수를 생산하는 '팩토리' 를 정의하는 코드이다. static DoubleUnaryOperator curreidConverter(double f, double b) {  return (Double x) -> x * f +b; } 위 메소드에 변환요소(f)와 기준치 (b) 만 넘겨주면 우리가 원하는 작업을 수행할 함수가 반환된다. 예를들어, 다음은 팩토리를 이용해서 원하는 변환기를 생성하는 코드다. DoubleUnaryOper