분류 전체보기 474

RestTemplate POST 요청 시 유의할 점. (RequestBody HashMap 사용)

스프링에서 제공하는 RestTemplate 을 이용하여 Post 요청을 하려면, RestTemplate template = new RestTemplate(); return template.postForObject("http://111.222.333.444/api/test/", map, Map.class);위와 같은 형태로 하면 된다. 위의 경우는 Same Policy Origin 때문에 CORS 를 해야하는 상황에서 Proxy 를 둔 상황이다. 아무튼, 위와 같이 Post 요청을 할 때 requestBody 를 인자로 전달해야하는데 이 requestBody 가 postForObject의 두번째 인자이고, Object 타입이다. 위 예에선 두번째 인자로 보낸 map이다. requestBody 를 map으로..

스칼라의 자료구조 공부중 - 자바와의 비교.

스칼라의 단방향 연결 리스트를 보다가, 자바로 먼저 구현해봐야겠다는 생각에 자바로 초간단 단방향 연결 리스트를 구현해보았다. package kwo2002.java; /** * Created by kwo2002 on 2015-08-06. */ public class SingleNode { private SingleNode next; private E e; public SingleNode(E e) { e = this.e; } public SingleNode(E e, SingleNode next) { e = this.e; next = this.next; } public void appendToTail(E e) { SingleNode end = new SingleNode(e); SingleNode current..

Data Access 기술 선정

정상혁님이 쓰신 글 Java에서 XML없이 SQL개발하기 을 보고 Mybatis 를 버려야겠다는 생각을 했다. 정상혁님의 글 내용중에도 있지만, 현재 Mybatis 를 썼을 때 발생하는 장점이 많이 퇴색했다. Mybatis 는 조인된 결과를 담는 ResultMap 과 내부에서 쓰는 Association 같은 것을이 너무 불편했고, 쿼리에선 값이 정상적으로 조회되는데 Mybatis 결과가 객체에 정상적으로 셋팅되지 않을때, 이유를 알기 어렵고, 쿼리 결과를 개발자가 직접 핸들링 하기가 힘들다. 또한 Mybatis 에서 제공되는 기법들은 Spring JDBC에서도 모두 제공되고 있다. 그런데, 국내에서는 Mybatis 가 거의 관례처럼 돼버렸다. 요즘은 그래도 김영한 ORM 전도사님께서 국내최초로 ORM 책..

M X N 행렬의 한 원소가 0이라면, 해당 원소가 속한 행과 열의 모든 원소를 0으로 바꾸는 함수를 작성하라

/** * Created by kwo2002 on 2015-08-04. */ object MatrixZero { def getZeroElemIndex(matrix: Array[Array[Int]]): Array[Array[Int]] = { def go(i: Int, j: Int): (Int, Int) = { if (i > matrix.length) { (-1, -1) } else { if (matrix(i)(j) == 0) { (i, j) } else { if (j >= matrix(i).length - 1) { go(i + 1, 0) } else { go(i, j + 1) } } } } val zeroIndex: (Int, Int) = go(0, 0) if (zeroIndex._1 >= 0) { mod..