목록분류 전체보기 (340)
삶 가운데 남긴 기록 AACII.TISTORY.COM
여기서는 limit 기능이 존재하는 DBMS를 대상으로 페이징 처리를 다룹니다.Spring MVC 패턴으로 lombok과 mybatis를 이용한다고 가정합니다. LIMITSELECT * FROM 테이블이름 ORDER BY tno DESC LIMIT 0, 10; -- 0개 건너 뛰고 10개 표시: 즉 1 page 보기SELECT * FROM 테이블이름 ORDER BY tno DESC LIMIT 10, 10; -- 10개 건너 뛰고 10개 표시:즉 2 page 보기SELECT * FROM 테이블이름 ORDER BY tno DESC LIMIT 20, 10; -- 20개 건너 뛰고 10개 표시:즉 3 page 보기 위 예제를 보면 아시겠지만 limit 건너뛰어야할게시물수, 가져와야할게시물수.이렇게 해당 페이지를..
인물번호인물이름0아이제나흐1아이헨돌프2암츠돌프3알트링겐4안스바흐5버겐자일6베라7에렌베르크8에르라흐9오이겐10오벨슈타인11오프레서12올라우13칼나프14키슬링15키르히아이스16크냅슈타인17구텐존18크라젠19크라프20그리스21크리히22그뤼네만23그릴팔처24크루젠슈테른25그래저26그뢰브너27그로테볼28케슬러29켐프30자우켄31잔데르즈32샤우덴33샤프트34슈타인호프35슈타인메츠36슈타덴37슈토크하우젠38슈트라이트39슈나이더40슈마허41슈무데42쉬러43진쳐44제크트45세르벨46존넨페르스47좀바르트48딕켈49디터스돌프50디르센51투르나이젠52드레벤츠53드로이젠54나이세바흐55노르드하임56바이엘라인57하우흐58하우프트만59파트리켄60바르트하우저61하르바슈타트62비텐펠트63뷔로64힐데스하임65파렌하이트66페르너67포겔6..
여기서는 한국어와 영어만을 대상으로 합니다. properties 파일 작성Spring MVC 프로젝트에서... src/main/resources 경로에 message_ko.properties 와 message_en.properties 파일을 생성합니다.그러면 빌드와 배포를 했을 때 WEB-INF/classes 경로(classpath)에 프로퍼티 파일들이 생성됩니다.이 프로퍼티 파일들은 유니코드로 저장되며, 이클립스를 전자정부프레임워크를 사용하거나 properties editor 플러그인을 사용하면 자동으로 유니코드를 한국어로 표기해줍니다.Help > Install New Software... > Add...Name : properties editorLocation : http://propedit.sour..
Quartz 1.8.6Spring3.X 프로젝트에서는 Quartz 2.X 이상을 지원하지 않아서 보통 Quartz 1.8.6을 많이 사용합니다.http://www.quartz-scheduler.org/downloads/ Downloads www.quartz-scheduler.org Maven pom.xml org.springframework spring-core 3.1.2.RELEASE org.springframework spring-context-support 3.1.2.RELEASE org.springframework spring-tx ..
html 파일에 한글 설정 server.xml 한글 설정GET방식에서는 질의 문자열들을 URI에 포함되기 때문에 URI인코딩 처리 작업을 해야 합니다.server.xml 파일에 URIEncoding="UTF-8" 프로퍼티를 설정합니다. web.xml 한글 설정 encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* POST 전송 방식은 요청 body에 담아 전달됩니다.CharacterEncodingFilter는 http..
관점 지향(Aspect Oriented Programming)로깅보안/인증트랜잭션리소스 풀링에러 검사 / 처리정책멀티 스레드 안전 관리데이터 영속처리위 항목들은 소프트웨어 개발 시 발생하는 공통적인 문제들입니다.핵심 관심(core concern)은 업무 로직을 말합니다.횡단 관심(cross-cutting concern)은 위에서 언급한 로깅이나 보안등 공통 시스템 로직을 말합니다. 이처럼 업무 기능과 시스템 기능간에 결합성을 제거하도록 분리하여 작성하는 방법을 관점 지향이라고 합니다. 관점 지향 용어advice : 관점이 언제, 무엇을 하는지를 정의joinpoint : 관점이 실행될 수 있는 위치들pointcut : joinpoint 중에서 advice 하는 위치(어디서)aspect : advice +..
Spring bean을 XML로 관리 할 수 있지만, bean객체가 많아지면 XML 설정도 많아져 불편해집니다.그래서 나온 방법이 auto wiring(bean 연결) 과 annotation wiring(bean 연결) 입니다. annotation wiring어노테이션 와이어링을 사용하기 위해서는 context를 관리하는 XML 설정 파일에 context 네임스페이스를 추가해야 합니다. 이렇게 패키지 이름을 component-scan 으로 지정해주면 Spring이 자동으로 bean을 스캔해서 발견해줍니다. @Autowired Spring의 기본 의존성 주입을 위한 어노테이션입니다.필드, 생성자, setter 메서드에 사용할 수 있습니다.타입 와이어링을 시도 한 후 실패하면 이름 와이어링으로 후보 be..
Spring bean스프링 프레임워크가 관리하는 클래스들의 인스턴스 객체들을 Spring bean 이라고 합니다. Spring bean 설정 방법XML로 설정 할 때에는 아래 처럼 설정합니다. 어노테이션을 이용해서 설정할 때에는 아래처럼 클래스 위에 @Configuration 어노테이션을 설정하고, 메서드 위에는 @Bean 어노테이션을 설정해 줍니다.패키지 경로는 net.aacii.app 으로 가정합니다.import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import net.aacii.app.service.SampleService;import net.aaci..
Spring MVC 프로젝트 구조 설명src/main/java/ : 자바 소스 경로src/main/resources/ : 실행시 자동 참고되는 경로(주로 설정파일, log4j.xml 등등)src/test/java/ : 테스트 자바 코드 경로src/test/resources/ : 테스트 관련 설정 파일 경로src/webapp/WEB-INF/spring/appServlet/ : sevlet-context.xml 외 spring 설정 파일src/webapp/WEB-INF/spring/ : root-context.xml 외 spring 설정 파일src/webapp/WEB-INF/views/ : MVC 패턴 중 view 페이지(jsp) 들이 위치 한 경로src/webapp/WEB-INF/ : tomcat의 ..
인터페이스를 이용한 느슨한 결합의 필요성애플리케이션이 프로젝트 도중 설계가 바뀌거나 유지 보수 중에 클래스에 변경이 이루어 지는 경우는 흔하게 발생합니다.그런 상황에 대응하기 위해 스프링에서는 인터페이스를 이용해 클래스간 느슨한 결합을 하도록해서 의존 관계에 있는 클래스들이 도중에 바뀌더라도 인터페이스가 바뀌지 않는 이상 다른 클래스에 없도록 하는 것입니다. 의존성 주입(Dependency Injection)의존성 주입은 디자인 패턴으로 제어의 역전(Inversion of Control)을 구현하기 위한 방법중의 하나입니다.객체를 직접 생성하는 것이 아닌 외부에서 생성하여 주입 받는 방법을 말합니다.예를 들어 컨트롤러들은 서비스 객체들을 가져다 주입 받아 사용하는데, 이런 컨트롤러들은 서비스 객체에 ..
WSL2 네트워크WSL 에서는 윈도우의 물리적 네트워크 인터페이스를 사용하는데 반해 WSL 2는 경량 VM에서 리눅스 커널이 실행됩니다.가상화된 네트워크 어댑터가 있어서 자체 IP 주소가 할당되어 네트워크를 이용할 수 있습니다.윈도우에서 PowerShell을 실행시키고 다음 명령어를 입력하면 네트워크 어댑터 정보를 확인할 수 있습니다.Get-NetAdapter *WSL* | Format-List IP 주소를 확인하려면 PowerShell에서 다음과 같이 입력합니다.Get-NetAdapter *WSL* | Get-NetIPAddress | Format-List IPAddress 우분투 배포판의 IPWSL의 우분투 배포판의 IP는 NAT 가상 네트워크에 속해 있으므로 터미널을 열고 ifconfig으로 알아..
애플리케이션이 어떤 작업의 영향으로 다른 작업도 자동으로 같이 실행되어야 하는 경우가 종종 있습니다.이를 위해서 자바에서는 옵저버 패턴을 사용합니다. 특정한 구독자(subscriber)들을 보관하고 있다가 이벤트를 발행(publish)하면 구독자들이 실행하는 방식입니다. ServletContext Listener서블릿 API는 여러 이벤트에 맞는 리스너들을 인터페이스로 정의해두었습니다.이를 이용해서 애플리케이션이 시작되거나 종료될 때 특정 작업을 수행하거나, session에 특정한 작업에 대한 감시와 처리, request에 특정한 작업에 대한 감시와 처리들을 할 수 있습니다.import lombok.extern.log4j.Log4j2;import javax.servlet.annotation.WebLis..
싱글톤 패턴: 하나의 인스턴스만 사용하기 위한 디자인 패턴으로 스레드 풀링, 커넥션 풀링 등에서 주로 사용합니다. 인스턴스를 생성할 때 참조 변수를 private static으로 합니다. 생성자를 private로 한다. 이는 외부에서 new로 인스턴스를 생성하지 못하게 합니다.인스턴스를 리턴하는 public static getInstance() 메서드를 제공합니다. 이 메서드 내부에서 인스턴스를 생성할 때 null 체크 후 생성해서 인스턴스를 리턴 해야 합니다.멀티스레드 환경에서는 위 getInstance메서드를 synchronized 해야 안전합니다. 하지만 전반적인 성능 저하 때문에 일반적으로 아래와 같은 패턴으로 코딩합니다.싱글톤패턴1public class InitializationOnDemandH..
AWS 계정생성https://aws.amazon.com/ko/free 무료 클라우드 컴퓨팅 서비스 - AWS 프리 티어AWS 프리 티어 제품 및 서비스를 통해 AWS 플랫폼, 제품 및 서비스를 무료로 체험해 볼 수 있습니다. AWS 프리 티어 서비스의 100가지 제품 및 서비스를 찾아보세요.aws.amazon.comAWS프리티어로 무료 계정 생성을 합니다. 계정 생성에 필요한 정보들을 입력하고 결제 정보와 연락처 정보를 입력합니다.지원 플랜 선택은 무료로 선택하고 완료합니다.AWS 인스턴스를 생성하기 전에 AWS 계정 보안 설정을 참고해 주세요. AWS 인스턴스 생성1. AWS 콘솔에 로그인합니다. 2. EC2(Elastic Compute Cloud)를 이용하겠습니다. 콘솔에 로그인 버튼을 클릭한 후 ..
젠킨스는 자바 오픈소스 소프트웨어이며 플러그인으로 다른 다양한 시스템들과 연동할 수 있습니다. 주요기능git과 연동웹 인터페이스테스트 보고서 생성빌드 및 테스트 자동화코드 품질 감시인증 권한 관리배포 관리 자동화분산 빌드그루비 스크립트를 사용한 잡 스케줄링 젠킨스 설치젠킨스를 사용하려면 JDK와 메이븐이 필요합니다.여기서는 JDK11 이상을 설치했다고 가정합니다.젠킨스는 도커를 사용하거나 윈도우, 리눅스 용으로 포팅된 바이너리를 이용할 수 있습니다.LTS 버전을 다운로드 받습니다.여기서는 Generic Java package (.war) 을 다운받는다고 가정합니다.https://jenkins.io JenkinsJenkins – an open source automation server which enab..
