전체보기
-
MVC(Model View Controller)MVC 패턴은 모델1과 모델2로 나누어진다.MVC는 사용자에게 보여지는 화면과 데이터를 처리하는 부분이 나누어져 있는 것을 의미한다. Model : 데이터 처리 담당(DB와 연동하는 로직)View : 화면 담당(디자인)Controller : Model과 View사이의 통신 역할 모델1은 웹 브라우저의 요청을 뷰 단에서 받아 Jsp 단독으로 처리하는 방식이다.간단히 말해 웹 브라우저의 요청을 처리하는 비즈니스 로직이 Jsp 페이지에 섞여있는 것이 모델1 구조이다.모델2는 클라이언트의 요청과 처리를 담당하는 뷰 단과 비즈니스 로직을 처리하는 모델이 분리되어 있는 구조이다. 모델1은 구조가 단순하기 때문에 간단한 웹 페이지의 경우 효율적인 사용이 가능하다. 반면에..
MVC 패턴 2018. 5. 8. -
웹 프로젝트를 진행할 때 Tomcat을 연동해 개발했었다.문득 개념을 짚고 넘어갈 필요성을 느껴 정리해본다. WAS와 WEB Server서버는 사용자(클라이언트)의 요청을 받아 처리하는 시스템이다.웹 서버와 WAS의 차이점을 알아보자. WEB Server웹 서버는 사용자의 요청에 따라 html이나 데이터들을 http프로토콜을 이용해 전송한다. 웹 서버는 정적 데이터 처리에 효율적이다.정적 데이터란 정해져 있는, 이미 생성 되어있는 데이터를 의미한다. 미디어 파일이나 단순 html 파일과 같은 리소스를 제공하는 서버는 WAS보다 웹 서버를 이용하는 것이 더 빠르고 효율적이다.사용자의 요청 중 웹 서버 자체적으로 처리할 수 없는 것들은 WAS에게 넘겨 처리 결과를 받아와서 사용자에게 넘겨주는 역할을 수행하기..
WAS 그리고 Tomcat(+웹 서버와 차이점) 2018. 5. 4. -
면접을 보러 다닐 때 추상 클래스 개념에 대해 질문받은 적이 있습니다. 오랜만에 생각이 나서 정리를 하기로 했습니다. 추상화(Abstract) 추상적이란 것은 눈으로 볼 수 없는 것을 의미한다. 추상화는 구체적인 개념으로부터 공통된 부분들만 추려 일반화하는 것을 말한다. 롤이라는 게임은 탑, 미드, 바텀, 정글이라는 포지션으로 구성 된다. 그림과 같이 각각의 챔피언들은 공통된 포지션으로 추려져 크게 탑, 미드, 바텀(정글 제외)으로 나눠진다. 각각의 챔프들을 추상화한 것이다. 이 때 카밀, 피즈나 제드와 같은 챔프는 눈으로 확인할 수 있지만(생김새 또는 행동) 탑, 미드, 바텀이라는 그 자체는 우리가 눈으로 확인할 수 없다. 탑, 미드, 바텀 자체를 눈으로 확인할 수 없듯 추상 클래..
[Java]추상 클래스 2018. 5. 4. -
취업 후에 DB를 만지는 일이 더 많아진 것 같다.. Outer Join(외부조인) Outer Join은 Inner Join에 반대되는 개념이다.Inner Join은 조인 조건절을 만족하는 레코드만 출력을 시키지만 Outer Join은 조건절을 만족하지 않는 레코드도 출력을 시키며 조인되는 해당 컬럼의 값은 Null로 표시된다. 오라클에서 Outer Join을 사용하는 경우 흔히 (+)연산자를 사용한다. 이해를 확실히 하기 위해 간단한 쿼리를 만들어 테스트하였다. SELECT A.A, A.B, B.A, B.BFROM ( SELECT '1' A, 'TEST_A' B FROM DUAL UNION ALL SELECT '2' A, 'TEST_B' B FROM DUAL UNION ALL SELECT '3' A, ..
[Oracle]Outer Join(외부조인) 2018. 5. 2. -
쿼리를 만들다보면 은근히 많이 사용하면서도 또 자주 까먹는 함수... SELECT DECODE(A.TNAME, 'A', 'Correct!', 'Incorrect!')FROM ( SELECT 'A' TNAME FROM DUAL ) A A.TNAME : 컬럼명(기준값)'A' : 비교값'A'와 같다면 'Correct!''A'와 같지않다면 'Incorrect!' +업무 중에 현업에서 엑셀로 자료가 넘어오면 해당 자료에 DB를 수정해야 할 때가 있다.이 때 쿼리를 만들어 엑셀 자료와 DB자료를 동일하게 보기 위해 자주 쓰는 "ORDER BY DECODE" 까먹지 않기 위해 기록.. SELECT A.이름FROM ( SELECT '김철수' 이름 FROM DUAL UNION ALL SELECT '이영희' 이름 FROM..
[Oracle]DECODE 2018. 5. 1. -
어제 좋아요 기능 구현에 대해 포스팅을 했었다.기능 구현까지는 되기는 했다. 하지만 문제가 있다고 말했었는데.. 문제는 테이블의 INSERT였다.좋아요 테이블을 만들어 사용을 했기 때문에 반드시 Row가 있어야 했다.(기능이 정상적으로 작동한 것은 테스트용으로 몇 개의 Row를 임의로 입력해줬기 때문이다)지금 생각해보면 당연한 일이었는데 그 때는 왜그랬을까.. 어쨌든 Row를 추가시켜줘야했다.그럼 어떤 상황에서 추가를 시켜주면 좋을까 생각을 했다.회원가입 시? 아니면 게시글을 조회할 때? 좋아요를 눌렀을 때?회원가입 시는 적절하지 못했다. 왜냐하면 좋아요 테이블에는 게시글의 번호를 가져오기 때문에..여러 테스트 끝에 게시글 조회 시가 가장 적절하다고 판단했다.게시글을 조회할 때 회원 번호와 해당 게시글 ..
[JQuery+Ajax]좋아요 기능 구현 - (2) 2018. 5. 1. -
관련 소스는 https://github.com/eeesnghyun/LikeFunction에서 확인하실 수 있습니다. 학부시절 취업성공패키지로 한 학기를 대신한 국비지원교육을 받을 수 있었다.교육당시 재미삼아 개인프로젝트를 진행했었는데 그 때 만들었던 좋아요 기능을 기록에 남기려고 한다.이 기능을 구현하기 위해 3일을 넘게 애먹었던 것 같다... 내가 생각한 로직은 아래와 같다.1)유저가 게시판을 조회 한다.2)좋아요 버튼을 클릭 시 로그인 여부를 파악한다.3)회원 여부를 로그인을 통해 파악한다.(회원이라면 통과, 비회원이라면 회원가입)4)좋아요 클릭시 +1, 취소시 0 이 때, DB(좋아요 테이블을 따로 제작)에는 좋아요 번호가 PK로 등록되어 있으며 게시판 번호와 회원번호는 FK 그리고 좋아요 체크값(..
[JQuery+Ajax]좋아요 기능 구현 - (1) 2018. 4. 30. -
웹 프로젝트를 할 때 간단한 효과를 주기 위해 많이 사용했던 기술입니다. 자바스크립트를 사용해 효과를 줄 수 도 있지만 CSS를 사용해 간단히 수정했습니다. hover 속성과 transition hover는 사용자가 마우스를 올렸을 때, 효과를 주는 CSS의 한 기능이다. 여기에 transition을 사용하면 자연스러운 전환이 가능하게 된다. transition은 원하는 요소의 시간을 지연시켜 애니메이션이 가능하도록 해준다. transition의 속성 중 duration을 이용해 몇 초 동안 재생할 지 설정이 가능하다. (webkit은 구글, 사파리 브라우저에 적용을 뜻함) 현재 블로그에서 사용한 코드.. .css .area_menu .btn_cate .area_menu .btn_cate:hover{ b..
마우스 오버시 자연스러운 배경색 전환 2018. 4. 27.