본문 바로가기

전체 글

(108)
2020.11.9 일자 수업 : Chain of Responsibility, MyBatis, Persistence Framework 실습 - Chain of Responsibility CommandFilterManager의 내부적인 작동 구조를 LinkedList와 비슷하게 할 수도 있다. CommandFilterManager는 LinkedList가 Node를 관리하듯이 firstChain과 lastChain을 갖는다. Chain은 LinkedList의 Node와 같다. Chain은 수행할 작업을 담은 filter와 다음 Chain을 가리키는 nextChain을 갖는다. 어떤 Chain에 대해서 doFilter를 호출하면 해당 Chain 안에 담긴 filter에 대해서 doFilter를 호출한다. 그리고 각 Filter는 doFilter 메서드 몸체에서 작업을 수행한 후 두 번째 파라미터로 받은 nextChain에 대하여 doFilt..
2020.11.5 일자 수업 : DAO interface, 커넥션 객체 공유, 로그인 실습 - DAO Interface MariaDB를 사용하는 dao.mariadb 패키지와 Oracle을 사용하는 dao.oracle 패키지를 만들었다고 가정할 때, 기존에 사용하고 있는 패키지 클래스에서 다른 패키지의 클래스들로 사용 DAO를 변경할 때마다 DAO를 사용하는 코드를 모두 수정해야 한다. 이 불편함을 해소하기 위해 DAO 클래스에 대한 사용 규칙, 즉 인터페이스를 정의하여 클래스 대신 인터페이스를 사용하도록 한다. 일단, mariaDB를 사용하고 있는 DAO 클래스는 com.eomcs.pms.dao.mariaDB에 모두 집어넣고, com.eomcs.pms.dao 패키지에는 DAO 인터페이스를 집어넣을 것이다. 일단 BoardDao를 인터페이스로 바꾸어 com.eomcs.pms.dao에 넣어..
2020.11.2 일자 수업 : 관계 테이블 만들기, 무결성 DBMS의 SQL문 실행과정 SQL 구분 분석(Parsing) 문법의 유효성 검사(Syntax Check) : 문법의 규칙을 준수하는지 검사한다. 예) select form pms_board-> form은 잘못된 SQL 문법이다. SQL 문의 의미 검사(Semantic Check) : SQL 문에서 지정하는 컬럼이나 테이블, 뷰 등이 유효한지 검사한다. 예) select from pms_okok -> pms_okok 테이블이 없다면, semantic 오류이다. SQL 공유 풀 검사(Shared Pool Check) : 공유 풀은 SQL 문에 대해 생성된 실행 계획(execution plan)등을 보관한다. 공유 풀에 저장된 값 중에서 SQL ID와 일치하는 값이 있는지 조사한다. 일치하는 값이 없으면 해..
Do it! HTML5 + CSS3 : 3장 이미지와 하이퍼링크 이미지 웹에서 사용하는 이미지 형식 웹 페이지에서 사용할 수 있는 이미지 파일은 파일 크기가 크지 않으면서도 화질이 좋아야하기 때문에 몇가지 파일 형식만 사용할 수 있다. 만약 다른 형식으로 된 이미지 파일에서 사용하려면 다음과 같은 파일 형식으로 변환해야 한다. 파일 형식 설명 GIF(Graphic Interchange Form) 표시할 수 있는 색상 수가 256가지 뿐이나, 다른 이미지 파일 형식에 비해 파일 크기가 작아 작은 이미지로 사용되며, 투명한 배경이나 움직이는 이미지를 만들 수 있다는 장점이 있다. JPG/JPEG(Joint Photographic Experts Group) 사진을 위해 개발된 형식으로 GIF보다 다양한 색상과 명암을 표현할 수 있다. 저장을 반복하다보면 화질이 떨어질 수 ..
모두의 네트워크 4장 : 데이터 링크 계층 : 랜에서 데이터 전송하기 데이터 링크 계층의 역할과 이더넷 랜에서 데이터를 주고 받으려면 두번째 계층인 데이터 링크 계층의 기술이 필요하다. (랜 - 비교적 가까운 거리에 위치한 장치들을 서로 연결한 네트워크) 데이터 링크 계층 : 네트워크 장비 간에 신호를 주고 받는 규칙을 정하는 계층으로, 랜에서 데이터를 정상적으로 주고받기 위해 필요한 계층이다. 이더넷 : 랜에서 적용되는 규칙들 중 가장 일반적으로 가장 많이 사용되는 규칙이다. 이더넷은 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고 받을 때 사용한다. (허브 - 랜을 구성할 때 한 사무실이나 가까운 거리에 있는 장비들을 케이블을 사용하여 연결하는 장치로, 전기 신호를 복원시키고, 해당 전기 신호를 전달받은 포트를 제외한 모든 포트에게 전달한다.) 허브는 신호를 전송한 ..
러닝 자바스크립트 2장 : 자바스크립트 개발 도구 실무에서 반드시 사용하게 될 자바 스크립트 도구는 다음과 같다. Git Node : 브라우저 밖에서 자바스크립트를 실행할 수 있게 하는 도구이다. 노드와 함께 설치되는 npm은 이 리스트의 다른 도구를 설치할 때 필요하다. Gulp : 반복적인 개발 작업을 자동화하는 빌드 도구이다. Grunt도 널리 쓰인다. Babel : ES6 코드를 ES5로 변환하는 트랜스컴파일러이다. ES린트 : 자주하는 실수를 피하고, 더 나은 프로그래머가 되도록 돕는 린트 프로그램이다. 2.2.4 깃과 버전 컨트롤 먼저 프로젝트 루트에서 저장소를 초기화한다. 아래의 명령은 저장소를 만드는 명령이다. 이제 프로젝트 루트에 숨김 디렉토리 .git이 생긴다. 버전 컨트롤을 사용하다 보면 빌드 과정에서 생기는 파일, 임시 파일과 같이..
러닝 자바스크립트 1장 : 첫번째 애플리케이션 1.1 시작은 브라우저에서 이 책은 전통적이고, 현실적이기도 한 이유로 브라우저 기반 프로그램부터 만들어 볼 것이다. 또한 브라우저 기반 프로그램부터 만드는 이유는 또 하나가 있는데, 그래픽 라이브러리를 사용하기 편리하다는 점 때문이다. 프로그래밍 개념과 시각적 요소를 결합하여 훨씬 이해하기 쉽도록 하기 위해서이다. 이 예제를 선택한 배경에는 이벤트 주도 프로그래밍 같은 중요한 개념으로 자연스럽게 연결된다는 이유도 있다. 1.2 사용할 프로그램 프로그램을 만들기 위해 필요한 것은 브라우저와 텍스트 에디터 뿐이다. 필자는 프로그래밍에 사용하는 브라우저로 파이어폭스를 선택했고, 앞으로 이 책에서 브라우저를 설명할 때에는 파이어폭스를 기준으로 할 것이다. 코드를 작성하려면 텍스트 에디터가 필요하다. 텍스트 에..
2020.10.29 일자 수업 : JDBC, JDBC Driver JDBC JDBC 와 JDBC Driver의 관계 JDBC implements MariaDB JDBC Driver Driver | // ..|............................|............................|-> new Connection() // ..|............................|..........return............| // ..|........return..............|0 이렇게 되면, DBMS는 board_id 값이 0보다 큰, 모든 레코드를 삭제하는 것이다. 또 다른 사례로는, 데이터를 변경하는 예제에서도 사용자가 다음과 같이 입력할 수도 있다. 번호? 12 제목? zzz 내용? haha', view_count=1..