본문 바로가기

개발

(81)
java7 특징 및 예제 1. Performing a switch statement on a string - Switch문 내에서 문자열 사용 가능 public String getTypeOfDayWithSwitchStatement(String dayOfWeekArg) { String typeOfDay; switch (dayOfWeekArg) { case "Monday": typeOfDay = "Start of work week"; break; default: throw new IllegalArgumentException("Invalid day of the week: " + dayOfWeekArg); } return typeOfDay;} 특징 : 대소문자를 구분한다. Deprecate @ExpectedExceptionBackgro..
하이버네이트 메타데이터 어노테이션을 왜 사용해야 하는지. - 메타데이터의 필요성하이버네이트는 클래스와 테이블, 프로퍼티와 열, 연관관계와 외래키, 자바타입과 SQL 타입간의 매핑을 기술할 메타데이터를 필요로 한다. 이 정보를 객체/관계형 매핑 메타데이터라 한다. 객체지향과 SQL시스템간의 서로 다른 타입 시스템 및 관계 표현에 대한 변환을 정의하고 관장한다. 이 메타데이터를 다루는 방법은 2가지가 있는데 1. XML로 다루는 방법2. 어노테이션으로 다루는 방법이 있다. - 왜 어노테이션 기반을 써야하는지각자 장단점이 있겟지만 어노테이션 기반으로 다루는 방법을 설명한다. 어노테이션 기반은 메타데이터를 물리적으로 별도 파일로 분리하지 않고 그것이 기술하는 정보 옆에 두는것이다. EJB3.0과 자바 퍼시스턴스 표준을 기반으로 하는 하이버네이트 애노테이션을 hiber..
http 웹에 관해서(미디어 타입, 트렌젝션, 메서드 종류) 웹 콘텐츠는 웹 서버에 존재. 웹 서버는 http 로 통신하기 때문에 http 서버라고 불린다. 웹 서버는 인터넷의 데이터를 저장하고 http 클라이언트가 요청한 데이터를 제공한다. ex> 클라이언트는 http 요청을 /index.html으로 보내고 서버는 http 포맷으로 되어있고 길이는 3150 글자이다라고 응답을 보낸다. 웹 서버는 웹 리소스를 관리하고 제공하는데 리소스는 웹 콘텐츠의 원천이다. 리소스는 웹에 콘텐츠를 제공하는 모든것인데 그림파일, 워드파일, 등 모든 종류의 파일을 포함한다. - 미디어 타입 -인터넷은 수천가지 데이터 타입을 다루어서 http는 웹에서 전송되는 객체에 각각 mime(multipurpose internet mail extensions = 다목적 인터넷 메일 확장) 타입..
simpleframework 사용법 1. XML2. Framework for java3. Rapid development of XML4. Offer serialization and deserialization (직렬화, 역직렬화)​​XML(extensible markup language)이란~ •확장 마크업언어•바이너리 파일 + 텍스트 파일•데이터를 기술하고 구조화하는 것과 관련•정보를 접근하는 소프트웨어가 편리하도록 하기 위함. ​ Offer serialization and deserialization 직렬화(Serialization) ◈ 객체를 저장하는 기법 ▣ 역직렬화(Deseialization) ◈ 직렬화된 객체를 복원하는 기법 직렬화를 하는 이유는 객체의 메모리가 프로그램이 실행되는 동안에 유지되는 순간적인 메모리이기 때문에 이것..
웹 로봇, 스파이더, 크롤러 robot.txt 웹 로봇은 자동으로 웹 사이트를 탐색하며 정보를 가져와서 처리한다. 로봇은 웹 사이트를 방문하고 그 안에 있는 링크를 수집하면서 데이터 베이스 엔진에 정보를 추가한다. 이 로봇은 하는 역할에 따라 웹 로봇, 스파이더, 크롤러로 불리게 된다. 로봇은 웹 사이트에서 부적절 하게 동작할수 있는데 사람보다 빠르게 http 요청을 만들 수 있고, 오류를 가지고 있거나 논리적 결함이 있는 로봇이라면 웹 서버에 극심한 부하를 줄 수 있다. 또 웹 사이트가 바뀌어서 로봇이 존재하지 않는 URL에 대한 요청을 보내면 존재하지 않는 접근 요청과 에러 페이지를 제공하는 부하로 웹 사이트 기능이 떨어 질수 있다. 이러한 이유로 로봇의 동작을 더 잘 제어할 수 있는 메커니즘을 제공하는 단순하고 자발적인 기법이 제안되었다. 이 ..
hibernate id 생성 전략 incrementgenerates identifiers of type long, short or int that are unique only when no other process is inserting data into the same table. Do not use in a cluster.클러스터에서는 사용하지 말것.identitysupports identity columns in DB2, MySQL, MS SQL Server, Sybase and HypersonicSQL. The returned identifier is of type long, short or int.sequenceuses a sequence in DB2, PostgreSQL, Oracle, SAP DB, McKoi or a gen..
maven 외부 jar 추가 maven을 이용해서 개발하다보면 알아서 라이브러리를 관리해 줘서 편하지만 메이븐 중앙 리파지토리에서 포함 안된 외부 jar를 포함 시켜야 할때가 있다. 다른 회사들과 모듈연동이나 암호화할때 jar파일만 받아서 그 api를 호출하는 방식일때 사용된다. 그럼 외부에서 제공해주는 jar 파일을 메이븐 프로젝트에 추가 시켜줘야하고 회사의 사설 리파지토리가 있으면 그쪽에 jar를 넣어주고 dependency를 추가하면 별다른 설정없이 외부 jar를 사용가능하다. 그렇게 하지 못한다면 프로젝트내 특정디렉토리를 리파지토리로 잡고 그 안에 외부 jar를 넣으면 된다. pom.xml에 in-project custom jars file://${project.basedir}/external 이런식으로 선언해주면 proje..
웹페이지 한글 출력,servlet 한글 출력,물음표 표시 해결, 웹 브라우져에 따른 파라미터 처리,오라클 케릭터셋-2 2014.04.27. 22:52 장장 4일에 걸쳐서 안되던게 이제서 해결이 됬다.. 웹 프로그래밍을 하면 참 할게 많구나 하는 생각이 든다. 내가 맡은 역활은 서버단을 구축하는건데 데이터 - 서버(가공) - 디비(추출) - 서버(가공) - 웹 여기서 (서버-디비-서버)를 맡았다. 하다보니 안되는 부분이 있었는데 한글로 출력하는 부분이었다. 일단 데이터를 받는 부분 부터 웹브라우져의 인코딩, 서블릿 소스의 인코딩, ​​디비와 인코딩 등 여러 인코딩 상황에 있었는데 하나만 해결해자라는​생각 때문에 나중보니 어디서 부터 수정해야할지 감이 안잡혀서​다시 이걸 다 고치는데 힘들었다............​ 일단 브라우져마다 인코딩이 다른것은 1편에서 언급했고, 톰켓은 두가지​방법을 이용해서 get방식으로 전달된 파..