2013-12-24

컴퓨터 신간

컴퓨터신간 2013-12-24 - [자바스크립트 테스트와 디버깅] 포함 6종

자바스크립트 테스트와 디버깅
전용우 지음 / 인사이트 / 2013년 12월
소프트웨어 테스트 자동화 - 테스팅 전문가들의 생생한 사례연구 스토리로 익히는
도로시 그레이엄 & 마크 퓨스터 지음, 여용구 외 옮김 / 에이콘출판 / 2013년 12월
누구나 쉽게 쓰는 앱 디자인의 비결 - 핵심을 짚는 명확한 UX 디자인의 힘
로버트 후크만 주니어 지음, 심규대 옮김 / 에이콘출판 / 2013년 12월
열혈강의 영상 처리 프로그래밍 - 기초 알고리즘부터 라이브러리 활용까지
이희석 지음 / 이한디지털리(프리렉) / 2013년 12월
자바 7의 새로운 기능 - 100가지가 넘는 예제로 살펴보는
리차드 리스 & 제니퍼 리스 지음, 남기혁 옮김 / 에이콘출판 / 2013년 12월
마리아DB 따라잡기 - 구글이 선택한 차세대 데이터베이스 MariaDB
다니엘 바솔로뮤 지음, 이동국 옮김 / 에이콘출판 / 2013년 12월


http://blog.aladin.co.kr/755686115/6770191
at December 24, 2013 at 01:58PM

2013-12-10

스프링 파일 다운로드 가장 간단한 구현

스프링으로 파일 다운로드 구현할 때 보통 파일을 읽어서 복사하는 코드를 작성하게 된다. 하지만 한 줄로 해결하는 방법이 있더라.

@RequestMapping(value="/{id}/download", method=RequestMethod.GET, produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ResponseBody
public FileSystemResource download(@PathVariable("id") SomeObj obj, HttpServletResponse response) {
    File file = myService.toFile(obj);
    response.setHeader("Content-Disposition", "attachment; filename=" + file.getName());
    /** 보통 아래와 같이 구현했었다. 이것도 간단하긴 한데...
    try {
        FileCopyUtils.copy(new FileInputStream(file), response.getOutputStream());
        response.flushBuffer();
    } catch (IOException e) {
        log.info("Error writing file to output stream. Filename was '" + file.getName() + "'");
        throw new RuntimeException("IOError writing file to output stream");
    }
    */
    /* 그냥 객체 하나만 던져주면 된다. */
    return new FileSystemResource(file);

}

2013-12-09

rm 명령어 안먹네?

왜 “rm -rf “XXX*.gif” 했는데 파일이 안지워질까? 머 차차 알아보기로 하고 일단…

$ find . -name "FILE-TO-FIND" -exec rm -rf {} \;
OR
$ find . -type f -name "FILE-TO-FIND" -exec rm -f {} \;

2013-12-03

mysql remote connection 설정

my.cnf 파일에서 bind-address를 0.0.0.0로 바꾸자. 특정 ip로 설정할 수도 있지만 localhost도 listen해야 하므로 두개 이상 설정해야 하고, 두개를 등록하는 방법은 없다. 0.0.0.0으로 하고 firewall을 세팅해야 한다.

bind-address        = 0.0.0.0
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';