Strategy Pattern여러 알고리즘을 하나의 추상적인 접근점을 만들어 접근점에서 서로 교환 가능하도록 하는 패턴 정리하자면 같은 기능을 하는 하나의 인터페이스를 생성하여 사용 객체에게 주면 그 인터페이스에서 뭘 담아서 사용하든 각기 맡은 다른 전략을 사용하여 client에게 줄 수 있다. 예를 들어 게임에서 캐릭터라는 객체가 있으면 그 객체가 할 수 있는 것은 공격이라는 행동이다. 공격이라는 행동에는 그 캐릭터가 무슨 무기를 들고있는가에 따라 공격이 달라진다. Strategy Pattern에서 중요한 것은 interface를 만들고 그 interface에 어떤 class를 담아 사용객체에게 넘겨 줄 것인지 라고 생각한다. interface가 어떤 기능을 할 것인지 이 기능의 정리가 필요할 듯. 잘..
이번 게시글에서는 mybatis를 직접 써 보려고 한다. src/resources 경로에 mybatis-config.xml 파일을 만든다. 그리고 mappers라는 폴더를 만들고 그안에 또 MemberMapper.xml 파일을 만들어 준다. 123456789101112131415161718192021222324252627 select * from member where name='you' Colored by Color Scriptercs 그렇게 한 뒤 위의 코드를 각 xml파일에 추가해서 넣어 준다. MemberMapper에서 select는 resultType을 DTO로 설정해주었다. @Repsotory에서 member.test로 부르면 member 매퍼에 해당하는 xml파일에 와서 test에 해당하는 ..
지난 게시글에서는 jsp파일을 만들고 home에서 컨트롤러 매핑을 거쳐 새로운 jsp페이지를 데려오는 과정을 만들어 보았다. 이번 게시글에는 새로운 jsp페이지에 DB에 저장된 값을 전달하는 것을 해 볼 것이다. Oracle 쿼리쓰기 DB에 저장된 값을 가져오기 위해서는 일단 DB에 무언가가 저장이 되어 있어야 할 것이다. 그럼 Oracle Developer를 키고 생성되어있는 사용자와 비밀번호를 입력한 후 쿼리입력창으로 가자. 123456create table member (id varchar2(20) primary key not null,name varchar2(20) not null); insert into member values ('ryeom','you');cs 새로운 테이블을 만들고 그 안에 ..
Spring을 사용하며 굉장히 편하다고 느끼는 것은 DB관리이다. mybatis를 사용하면 코드가 비교적 깔끔해 진다. 예전에 jsp로 만든 MVC project의 일부이다. 1234567891011121314151617181920212223242526272829303132333435 Connection con; PreparedStatement pstmt; ResultSet rs; Board_Bean b_bean=new Board_Bean(); int result=0; public boolean boardInsert(Board_Bean board){ String sql=""; int result=0; try{ sql = "INSERT INTO LG_BOARD(BOARD_NUMBER,BOARD_TITLE,..
Spring Project를 생성하자마자 Run on Server 하면 요렇게 2018? 12? 17? 막 요런 이상한 물음표들이 마구 뜨게 된다. 한글 설정을 UTF-8로 안해줘서? 맞음ㅇㅇ.. 그 설정을 어디서 하능가? 하니 여기에!!!!!!!!!!!!! web.xml file을 찾아 태그 안에 걍 맨 밑줄에 넣어주면 끝 ! 12345678910111213141516171819 encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* Colored by Color Scriptercs 이거 딱 넣어주면 이거처럼 깔끔하게 한글이 나오기 시작한다!
SQL Developer는 oracle에서 제공하는 SQL문을 손쉽게 쓸 수 있는 무료 툴이다. ORACLE 설치 바로가기 오라클 사이트로 들어가면 아래와 같은 화면이 열린다. 메뉴 → 다운로드 및 시험판 → 데이터베이스 → oracle database 위와 같은 과정으로 oracle database를 클릭한다. 그리고 Developer tool 카테고리의 오른쪽 4번째에서 SQL Developer를 클릭한다. Accept License Agreement를 누르고, 프로그램을 설치. - JDK가 설치 되어있지 않으면, Windows 64-bit with JDK 8 included 다운. - JDK가 설치 되어있다면 Windows 32-bit/64bit 다운. sqldeveloper.exe 실행하기 그리고..
JSP에서 제공하는 내장 객체들 중 page, session, request, application 객체는 해당객체에 정의된 유효범위 안에서 필요한 객체들을 저장하고 읽어들임으로써 서로 공유할 수 있는 특정한 영역을 가지고있다. 내장객체는 더 많지만 여기서는 중요한 4가지만 다룰 것이다. 1. page 영역 (영역객체 : pageContext) 해당 page에 진입했을 때 클라이언트가 제공 받는 위치(JSP page). page에서 다른 page로 값을 넘겨줄 때에는 request객체를 사용하면 된다. 2. request 영역 (영역객체 : request) 클라이언트의 요청이 처리되는 동안 유효. page와 page사이에 위치. page01 | page02 | page03이 있을 경우. page01에서 ..
자바를 활용해서 정수 값을 넣고 출력하는 것을 만들어 보았다. data산출 방식인 Stack과 Queue 두가지 방식을 사용해서 선택하여 숫자를 출력하는 것이다. Queue는 선입선출로 data가 출력된다 Frist In Frist Out(FIFO)으로 먼저 들어간 data가 맨 먼저 나가는 형식이다. 위 그림과 같이 맨 먼저 push된 data A가 맨 첫번째로 pop되는 것을 볼 수 있다. Stack방식은 다음 그림과 같다. Stack은 위 그림처럼 컵과 같다. 맨 처음 들어간 data A는 맨마지막 들어간 C가 나오고 B가 나오고 나서야 맨 마지막에 나올 수 있다. 이러한 방식을 Frist In Last Out(FILO)이라고 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ..
복사생성자(복사하는 기능) → 주로 public 함수 4가지 1. 객체 생성시 매개변수로 객체를 넘겨줄경우. 2. 객체 생성시 객체를 대입할경우. 3. 멤버함수에 매개변수로 객체를 선언할 경우. 4. 멤버함수에서 객체를 리턴할경우. 복사생성자도 생성자임. 객체등록도해주면서 카피를 같이함. C++ 일반적 생성자와 복사생성자가 있음. 클래스에 있는 모든 필드(값)를 전체 카피함. A(const A &aa) { } 얕은 복사(디폴트) → 기본적으로 제공됨. 깊은 복사(개발자가 직접 코딩을 해야한다) → 명시적으로 일일히 작업 해주어야 한다. 언제? 필드를 포인터로 사용했을 경우에는 무조건 깊은 복사를 해야한다. 복사생성자함수 1. 호출시기 1) 객체 생성시 객체를 인자로 줄 경우. A aa; => 생성자호출 ..