전체보기
-
오전에 프로그램을 하나 수정하면서 발견한 오류 ORA-01006검색 결과, Java에서 ? 에 값이 없거나 잘 못 들어가는 경우 생기는 오류라고 한다.. 디버깅 과정을 거쳐보니 xml에 주석을 달았던 것이 문제였다.지금 프로그램은 xml에서 바인드 변수(:)를 이용해 java단으로부터 특정 값들을 받아오고 있다.문제가 발생한 이유는 조건절을 주석으로 막아놔서 java단에서는 값이 넘어오는 데 그 값을 처리못해 생긴 오류였다. 아래는 문제의 조건절..(테이블명만 임의로 수정했다) WHERE A.조건='Y'AND B.조건 IN( SELECT 조건 FROM C WHERE C조건='Y' AND C조건 AND (C.조건=NVL(:값1, 값2) OR C.조건2=NVL(:값1, 값2)) ) 다음부터 조심하자. +피드..
[Oracle]ORA-01006 : 바인드 변수가 없습니다 2018. 5. 15. -
IBSheetIBSheet는 별도의 개발툴 없이 자바스크립트를 통해 각 기능을 설정함으로써 기능 구현이 가능하다.Ajax 통신을 통해 데이터를 XML 또는 JSON 형태로 받아 화면에 로딩한다. IBSheet는 여러 기능이 제공되는데,각 컬럼별 다양한 데이터 타입과 포맷을 제공한다. 이제 반은 아는 정도가 되었으려나...또 합계/소계/누계 등 숫자연산 기능도 제공한다.결과적으로 IBSheet는 DB에 저장 된 다량의 데이터를 리스트로 조회하거나 입력,수정,삭제하는 경우 유용하게 사용되는 것 같다. 오늘은 IBSheet의 함수를 이용해 특정 기능이 작동되는 데 조건을 주었다.오늘 알게 된 함수는 CellValue와 GetSelectionRows()이다. CellValue(Row, Col) 스크립트에서 사용..
[IBSheet]CellValue와 GetSelectionRows() 2018. 5. 10. -
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. -
취업 후에 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.