본문 바로가기

프로그래밍

HTTP 서버 응답 코드 (Response Code) 정리 클라이언트(웹 브라우저)에서 서버에 어떠한 요청(리퀘스트, Request)를 하면 서버는 응답(리스폰스, Response)를 보내줍니다. 적절한 처리가 이루어져서 성공 응답과 함께 결과 값을 보내주기도 하고, 정상적인 처리가 되지 않은 경우에는 실패 응답과 함께 에러 정보를 보내주기도 합니다. 웹 개발자라면 기본적으로 서버가 정상 응답한 경우, 200 코드를 보내주는 것은 다들 알고 계실겁니다.200을 포함하여 200번대 응답은 서버에서 정상적으로 처리하여 응답한 경우, 보내주는 값들입니다. 그리고 각 코드는 100번대 단위로 응답 코드가 구분되어 있습니다. (즉, 300번대끼리, 400번대끼리 유사한 형태의 응답 코드라는 의미입니다.)이처럼 3자리 숫자의 첫번째 값(코드)만 보고도 어떤 종류의 응답인지..
[maven] maven spring tomcat7 서버로 자동배포 설정 maven 의 pom.xml에 추가 한다 org.apache.tomcat.maventomcat7-maven-plugin2.2http://192.168.10.13:8080/manager/text admin adminadmin ip주소뒤에 manager/text까지 똑같이 해준다. 그다음 톰캣 설치 디렉토리/conf/tomcat-users.xml 파일을 설정 해준다. 여기서 username과 password는 pom.xml에서 적은 것과 동일해야 한다 그다음 이클립스의 프로젝트 우클릭 > Run As > Run Configuration 실행 우선 Browse Workspace 를 클릭해서 directory 설정해준다. 그리고 Goals:에 tomcat:undeploy tomcat:deploy 를 넣고 Run..
java 날짜 관련 Date,Calendar,SimpleDateFormat 문제점 오늘도 어김없이 java와 관련된 이야기를 포스팅 하려한다. 요 근래 자주 java와 관련있는 포스팅만 하는 것 같다. 다른 것들도 해야 되는데.. 아무튼 오늘은 java의 날짜와 관련된 포스팅을 한다.java의 날짜 관련API(Date, Calendar 기타 등) 설계부터가 잘못 되었고 구현조차 잘못된 클래스로 java의 가장 악명 높은 대표적인 클래스이다. 기존의 날짜 관련 API들은 문서없이 사용하기 쉽지 않고 일관성도 없는데다 알 수 없는 상수들을 남발한다. 한개씩 살펴보자.이상한 월 상수@Test public void constantTest() { Calendar calendar = Calendar.getInstance(); calendar.set(2017, 6, 18); SimpleDateFo..
(Jackson) LocalDate, LocalTime, LocalDateTime - Serialize 잭슨은 JSON -> Java 클래스로 Deserialize, Java 클래스 -> JSON으로 Serialize 할 때 매우 유용한 라이브러리다.하지만 잭슨이 나온 이후에 자바 8이 나왔는지 모르겠는데 LocalDate, LocalTime, LocalDateTime 등등의 클래스를 기본적으로 깔끔하게 처리해주지 못한다. 따라서 이번에는 어렵지는 않지만 새로 프로젝트 구성할 때마다 매번 까먹어서 찾아 헤매던 케이스들을 정리해봤다. 또한 예제의 설명은 스프링 부트를 기준으로 설명하겠다.우선 Deserialize를 안 본 사람은 해당 내용에서 이어지는 포스트이기 때문에 보고 오도록 하자.3줄 요약Serialize 한 형태가 요상하니 jackson-datatype-jsr310을 Dependency에 추가해두자..
(Jackson) LocalDate, LocalTime, LocalDateTime - Deserialize 잭슨은 JSON -> Java 클래스로 Deserialize, Java 클래스 -> JSON으로 Serialize 할 때 매우 유용한 라이브러리다.하지만 잭슨이 나온 이후에 자바 8이 나왔는지 모르겠는데 LocalDate, LocalTime, LocalDateTime 등등의 클래스를 기본적으로 깔끔하게 처리해주지 못한다. 따라서 이번에는 어렵지는 않지만 새로 프로젝트 구성할 때마다 매번 까먹어서 찾아 헤매던 케이스들을 정리해봤다. 또한 예제의 설명은 스프링 부트를 기준으로 설명하겠다.이 글을 본 다음에는 후속작인 Serialize를 보도록 하자.3줄 요약모든 필드마다 @JsonFormat 어노테이션 달아주기 귀찮으니 LocalDate, LocalTime, LocalDateTime 등등에 대한 기본 Cus..
JAVA8 util.time Java 1.8 날짜 정리자바 1.8 이전에는 날짜 연산이 쉽지 않았다. Joda 같은 라이브러리들을 쓰면 된다고 하는데, 필자는 Util 클래스에서 내부적으로 Calendar를 사용하여 연산하고 Date/long/String 간의 변환을 통하여 사용해왔다. 그러던 와중에 자바 1.8의 새로운 날짜들을 보니 신세계가 열렸다. 그래서 간단하게 소개하고 자주 사용될 만한 예제들도 나열하려 한다.먼저 중요하다고 생각되는 클래스들을 소개하겠다.클래스날짜 (Temporal)Instant : machine time에 유용한 1970년 1월 1일부터 시간을 세는 클래스 (millisecond 뿐만 아니라 nanosecond까지 센다)LocalDate : [년,월,일]과 같은 날짜만 표현하는 클래스 (시간은 포함하지 ..
[Mysql]sysdate , now 차이 SYSDATE() 와 NOW()의 차이점 MySQL 내부적으로 현재 날짜 및 시간 정보를 리턴해주는 Built-in함수로 SYSDATE()와 NOW() 2개가 있는데, 내부적으로 SYSDATE()와 NOW()의 작동 방식은 쿼리의 실행 계획에 상당한 영향을 미칠 정도로 크다. 메뉴얼의 내용을 다시 한번 확인해보자. -- // -- MySQL 메뉴얼 -------------------------------------------------------------------- SYSDATE() returns the time at which it executes. This differs from the behavior for NOW(), which returns a constant time that indicat..
[개발환경] 배포 서버 개발을 가정하고, 먼저, 개발 및 운영에 사용할 서버를 어떻게 배치 해야할지를 살펴보자일반적인 서버 개발환겨은 아래와 같이 local,dev,integration,qa,staging 그리고 production 환경을로 나뉘어 진다. 각자의 개발 과정에 따라, 각자의 역할과 목적이 다르고, 그에 따라서 시스템의 크기도 다르다. 꼭 모든 환경을 갖출 필요가 없으며, 프로젝트 환경에 따라서 각 환경을 합치거나 생략해도 된다.그러면 각 환경에 대해서 살펴 보도록 하자.환경설명local로컬 개발 환경먼저 개발을 하려면, 각자 개발자 PC에 개발 및 테스트 환경이 셋업 되어 있어야 한다. 각 개발자마다, 설치된 서버 환경을 local 환경이라고 한다. (예. 각 PC에 MySQL등의 DB와Tomcat등의 제품..