본문 바로가기

Eclipse: Maven을 사용해서 Dynamic Web Project 생성하기 이클립스에서 웹어플리케이션을 생성하려면,New > Proejct > Web > Dynamic Web Project를 선택하면 JSP 기반의 동적 웹 프로젝트를 만들 수 있다.이렇게 만든 프로젝트의 레이아웃은 다음과 같다. 하지만 TDD와 Maven의 장점을 Spring MVC 프로젝트에서 느끼고 나서 이 프로젝트 템플릿은 잘 사용하지 않게 되었다. Spring MVC 프로젝트의 레이아웃은 다음과 같다. 디렉토리가 main/test 쌍으로 되어 있는 것은 Maven의 특성인데 JUnit 같은 테스트프레임워크를 이용한 TDD를 사용할 때 편리한 구조이다. 실제 war로 deploy할 파일을 만들 경우 해당 디렉터리는 빌드에서 제외가 되기 때문에 패키징도 쉽다.또한 프로젝트에서 필요한 라이브러리(.jar)를 ..
ASP.NET Web API 2 Restful 웹서비스. 사실 이것에 대한 구현은 자바로 해보았다. Restlet이라는 프레임워크를 사용했었는데 Visual Studio 2013에서는 이것을 'ASP.NET Web API 2'을 이용해서 쉽게 구현을 할 수 있다고 한다.나는 2008을 쓰는데 어떡하누... techdaysmini 토요세미나 4회 "ASP.NET 서비스 플랫폼으로 날다!"에서 3번째 세션에 관련된 내용을 다루고 있어서 우선 사용은 하지 못하지만 기록 및 공유차원에서 적어본다.URL은 http://www.microsoftvirtualacademy.com/Content/ViewContent.aspx?et=7150&m=7148&ct=26215 이고 필요에 따라서는 동영상을 받을 수도 있고 슬라이드도 PDF로 받을 수 있다. R..
MS SQL Server 2012에서 생긴 Sequence 써야할까? MS SQL Server 2012에 시퀀스가 추가 되었다.오라클이나 PostgreSQL에서는 자동증가 컬럼을 위한 객체로 시퀀스라는 것을 가지고 있다.MS SQL에는 Identity를 가지고 있어서 자동증가 필드로 지정이 가능하다. 이것에 대한 일반적인 사항은 '엑셈(EXEM)의 기술백서'에서 잘 다루고 있으니 참고하면 될 것 같고 궁금한 점은 Identity가 Sequence에 비해 동시성 문제가 발생할 가능성이 있느냐는 것이다.우리 부서의 전직 오라클 DBA를 했던 분은 대량의 데이터를 넣는 테이블에 자동증가컬럼을 사용할 경우 최종 값을 찾기 위해서 계속 검색을 해야 하기 때문에 검색하는 동안에 LOCK이 발생한다고 알고 있었다. 좀 오래되었지만 SQL Server 2005 시대(2006년 4월) 작..
PostgreSQL에서 inet이나 macaddr을 쓰는 것이 좋을까? PostgreSQL의 데이터 타입을 보면 네트워크 정보를 저장하기 위해 고안된 타입이 있습니다.IPv4나 IPv6를 위한 inet과 MAC 주소를 위한 macaddr이 그것이다. cidr도 있지만 개인적으로 사용할 일이 적어 패스합니다. 보통은 varchar를 통해 문자열로 저장을 하는데 이런 타입이 있는 이유는 무엇이고 이런 타입을 쓸 때의 장점에 대해 알아보자. 우선 테스트로 테이블을 만들어보고CREATE TABLE network( id integer, ip_varchar character varying(50), mac_varchar character varying(50), ip_inet inet, mac_macaddr macaddr, CONSTRAINT network_pk PRIMARY KEY (i..
현재 설정되어 있는 트랜잭션 격리 수준(transaction isolation level)확인하기 PostgreSQL에는 3가지 트랜잭션 격리 수준이 존재한다.READ COMMITTEDA statement can only see rows committed before it began. This is the default. REPEATABLE READAll statements of the current transaction can only see rows committed before the first query or data-modification statement was executed in this transaction. SERIALIZABLEAll statements of the current transaction can only see rows committed before the first ..
redmine - c# 문법 하이라이트 redmine에서 문법 하이라이트는 coderay라는 라이브러리를 사용한다. http://coderay.rubychan.de/ 지원 언어중에 아쉽게도 C#이 없다.하지만 레드마인쪽에 보니 csharp을 지원하도록 하는 것이 있었다. 방법: http://www.redmine.org/boards/3/topics/11616파일: http://www.redmine.org/attachments/download/3231/csharp.rb (아래 Dimitry Popov가 댓글 달아 놓은 것을 사용했다. Redmine 2.2.x 버전이다) dkfo http://www.redmine.org/attachments/download/9745/csharp.rb를대상: E:\BitNami\redmine-2.2.2-0\ruby\..
Microsoft SQL Server Management Studio에서 수행가능한 스크립트 크기 Management Studio에서 다량의 스크립트를 수행하면 아래와 같은 에러가 생긴다.스크립트를 실행할 수 없습니다.'System.OutOfMemoryException' 형식의 예외가 Throw되었습니다. (mscorlib) 30000개의 지문데이터를 입력하려는데 에러가 났다.사실 3만 레코드는 큰데이터는 아니었으나 지문 데이터 자체가 바이너리에 있다보니 메모리에 수행하는데 제약이 있는 것 같다. 이분법하여 얼마나 메모리에 올릴 수 있나 테스트를 해보았다. 30000개 : 74.1MB (77,759,999 바이트) 실패20000개 : 49.4MB (51,840,000 바이트) 실패10000개 : 24.7MB (25,920,000 바이트) 성공/실패 : 2분 12초 걸림 10000개를 두 번째 수행할 ..
소켓 프로그래밍 튜토리얼 at binarytides.com binarytides.com에 괜찮은 튜토리얼이 있어 기록용으로 링크를 저장해본다. 영문으로 되어 있지만 쉽게 읽고 따라할 수 있다.작성자는 Siver Moon이다. Winsock tutorial – Socket programming in C on windows (링크)Socket programming in C on Linux – tutorial (링크)Server and client example with C sockets on Linux (링크)Programming udp sockets in C on Linux (링크) 그외 http://www.binarytides.com/category/programming/sockets/c-sockets/