분류 전체보기 138

[프로그래머의 길, 멘토에게 묻다]

1. 어떤 사람이 이 책을 읽어야 하는가? 개발하는 것을 장인정신으로 무언갈 만드는 것이라고 비유한다면,개발자의 삼단계가 있다.견습공, 숙련공, 마스터 -- 이 책에서는 계속 이 개념을 언급한다 견습공과 숙련공의 초반정도 레벨인 사람이 읽어야할 책이다. 특히 견습공! 회사다닌지 1년 반쯤 됐는데, 지금 읽기에 딱 맞는 책인듯 하다. 나이가 들어도 계속 개발하고 싶은 사람,그저그런 개발자가 아닌 마스터가(훌륭한 개발자) 되고 싶은 사람,내가 지금 잘하고 있는것인지. 잘하려면 어떻게 해야하는지 고민하는 사람을 위한 책이다. 2. 구성 어떻게 하면 그들에게 도움을 줄 수 있을지 매우 고민하고 생각하고 노력하고 쓴 책이라는 것이 느껴진다. 이 책에서 중요한 키워드는 바로 '패턴' 이다.패턴이라 함은 어떤 틀을 ..

일상/책 2012.10.28

java + temporary table. 임시테이블 사용하기. MYSQL

임시테이블을 쓰는 경우는 여러가지가 있겠지만,다음 예제는 select시 in문 대신 temporary table을 사용하는 법이다. 만약 id가 1,2,3,4,5 인 것을 가져와야 한다고 하자.쿼리는 이렇게 된다. SELECT * FROM TABLE WHERE ID IN (1,2,3,4,5) 만약 검색할 ID의 개수가 1,000개 이상이라면??... 방안중에 하나로 임시테이블을 쓸 수 있다. IN문에 들어갈 번호들을 임시테이블에 쫙 넣고, 임시테이블과 테이블과 INNER JOIN을 하는것이다. 예제 ㄱㄱ 1. 임시테이블 생성 CREATE TEMPORARY TABLE IF NOT EXISTS TEMP_TABLE ( ID BIGINT(20) NOT NULL ) 2. 임시테이블에 INSERT (일반 INSER..

개발/Database 2012.10.26

리눅스에서 IP 보는법

리눅스에서 ip를 보려면 아래 명령어를 친다. ifconfig 그런데 -bash: ifconfig: command not found 라는 에러가 뜬다면./sbin/ifconfig 라고 치면 된다. 근데 나는 ifconfig만 치고도 아이피를 보고싶다. 그럼환경변수를 변경 해야한다. 1. 홈 디렉토리로 간다. cd ~ 2. .bash_profile 파일 열기 vi .bash_profile 3. 환경변수 설정 이렇게 되어있는 환경변수를 PATH=$PATH:$HOME/bin 아래와 같이 변경한다. PATH=$PATH:$HOME/bin:/sbin bin에서 찾고 ifconfig가 없으면 sbin에서 찾는다. 4. 저장하고 나와서(:wq) bash안의 파일을 읽는다.현재 쉘의 환경변수 재설정. source .ba..

개발/ETC 2012.10.16

String to Date. 스트링을 Date 타입으로 변환

XML API에서 날짜가 넘어왔는데 String으로 받고 보니까 이렇게 생겼다. "Thu Jan 19 10:00:00 KST 2012" 내 목적은 2012.01.19 형식으로 변환하는것. 일단 DATE로 변환시키고 2012.01.19 형태로 스트링으로 저장할 것임. DateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH); SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd", Locale.KOREA); String beforeDate = "Thu Jan 19 10:00:00 KST 2012"; Date date = dateFormat.parse(bef..

개발/JAVA 2012.09.25

XStream으로 XML , Object 변환하기

XML을 파싱할 일이 생겼다. 뭐를 쓸까 하다가 튜토리얼이 간단해보이는 XStream 선택.용도에 맞게 써야된다고 하는데 .. 아무튼 ㅋㅋ JAR 를 라이브러리에 추가한 후 사용한다. 오브젝트를 XML로 생성.XML을 오브젝트로 생성. 하는 예제.. ㄱㄱ 출력하고 싶은 XML의 형태 1 사자 16 2 고양이 26 굵은글씨 부분은 (루트부터 ~ 맨 안쪽에있는 element 바로 윗단계)element마다 클래스를 각각 생성한다. 각각 생성된 클래스 안에는 바로 아래 자식 element 필드를 넣는다. 이것이 규칙이자 핵심임. - Object Root Element Object ()@Data // getter, setter public class PersonList { private List personLis..

개발/JAVA 2012.09.20

JAVA spring 프레임워크로 하는 JqGrid cell 값 수정 (edit)

JqGrid에서 셀을 클릭하면 입력창으로 바뀌고, 엔터치면 입력된 내용으로 수정시키기. 1. 셀을 입력모드로 바꿀지의 옵션을 지정해야함. jqGrid 소스의 일부colModel:[ {name:'id', index:'id', width:55, key:true}, {name:'invdate', index:invdate', width:90}, {name:'name', index:'name asc, invdate', width:100, editable:true}, {name:'amount', index:'amount', width:80, align:"right"}, {name:'txt', index:'tax', width:80, align:"right} ], name만 변경할 수 있도록 설정해놓았다.editab..

개발/Javascript 2012.09.14

[해변의 카프카] 무라카미 하루키의 소설을 좋아하는 이유

무라카미 하루키의 소설을 처음 읽은 것은 2007년 초여름이었다. 우연한 계기로 읽게 됐다. 해변의 카프카를 읽고 감명을 받아서 다른 작품들도 읽어봤지만 해변의 카프카만큼의 감동은 아니었다. 해변의 카프카는 하루키가 모든것을 담은 소설이라고 했다. 요새 1Q84를 읽다가 다시 해변의 카프카를 읽어보니 왜 본인의 입으로 모든것을 담았다고 했는지 알 것 같다. 하루키는 팬들도 많지만, 그의 소설이 왜 좋은지 모르는 사람도 많다. 외설적이고 적나라하다는 평도 적지 않다. 솔직히 그렇긴 한 면도 없진 않다. 왜 좋아하는지 모르는 사람들의 대부분은 이런 의견인 것 같다. '읽을땐 그냥 읽었는데 결국에 이 소설은 무엇을 의미하는지 알 수가 없고 어렵다' '읽고나서 스토리가 무엇인지 생각해보면 생각나는게 없고 허무?..

일상/책 2012.09.12

Java와 jqgrid 기초!!

전 블로그에 써놓은 글은... 다시 읽어보니까 뭔소린지 모르겠어서 다시 차근차근 정리한다.ㅋㅋㅋ 처음 하는 무언가를 배울 때는 큰 흐름을 먼저 알아야 한다! 알아보기 쉽게 소스와 함께 흐름을 정리 하겠음. .. 1. JQGrid 라이브러리 다운받기 http://www.trirand.com/blog/?page_id=6 2. 그리드를 뿌릴 페이지(jsp)와 컨트롤러(액션)를 만든다. Controller @RequestMapping("/main") public String view() { return "view"; // view.jsp } 3. 그리드를 뿌릴 페이지 view.jsp 버전은 업데이트 됐을지도 모른다. 3.1 라이브러리 include하기 이름을 끼워맞춰서 순서대로. 꼭 아래와 같은 순서대로 넣을 ..

개발/Javascript 2012.09.12

Java에서 CSV 파일 생성,다운로드. 한글 인코딩~

DB에서 받아온 데이터를 웹페이지에서 CSV 파일로 다운받게 하기.아래는 한글 깨지는것도 처리 해놓은 방법임! 이렇게하면 CSV파일을 어딘가에 저장하지 않고도 바로 다운로드 할 수 있음. 옛~날에 PHP로 해봤으면서 왜 자바에서는 흐름도 못잡고 몇일을 삽질 했을까ㅠㅠㅠㅠㅠ 1. HTML 페이지에서 다운로드 링크를 건다. 엑셀파일다운로드 2. Controller (Action) 1번에서 링크 클릭하면 타고 들어오는 액션.. @RequestMapping("/total") public ResponseEntity getTotalList() { List totalList = totalService.getTotal(); // DB에서 가져온 데이터리스트 HttpHeaders header = new HttpHeade..

개발/Spring 2012.09.12

MyBatis] There is no getter for property named.. error

어제 단 한문장 때문에 에러가 나서 3시간동안 해맨거..... 내가 쓴 문법은 아래와 같았다. SELECT * FROM TABLE WHERE NAME = #{name} 이렇게 했을 뿐인데 There is no getter for property named 'name' in 'class java.lang.String'이런 에러가 계속 나타났다. if문을 지우면 #{name}에는 이상없이 잘 실행된다는거. 이유는if문에서 name을 가져오는 방식이 parameterType 안에 들어있는 클래스에서getter 메소드로 name을 받아오기 때문이다. 즉, 에러 그대로 String 객체에 name을 뱉어주는 getter 메소드가 없기 때문이다.Integer를 넘기거나 Long을 넘긴 사람이라면 다들 안됐을 것이다..

개발/Database 2012.09.07