개발
-
[MariaDB] MariaDB 에서 ROW NUMBER() 사용하기개발/Database 2018. 1. 23. 15:23
페이징 기능에 꼭 필요한 기능은 아마도 쿼리 실행 결과 출력된 각 행마다 순번을 매겨주는 ROWNUM 일 것이다. 오라클과 티베로에서는 몇 번 ROWNUM 을 써서 쿼리를 짜본 적이 있으나Maria DB에서도 똑같이 선언하면 당연히 안 될 것 같아서 구글 검색 시작 일단 공식 문서 => https://mariadb.com/kb/en/library/row_number/MariaDB에서는 ROW_NUMBER()를 써서 구현해주면 될 것 같다. Syntax는 아래와 같다고 한다.ROW_NUMBER() OVER ( [ PARTITION BY partition_expression ] [ ORDER BY order_list ] ) 오잉?? 제법 다른 DB에서 쓰던 것과 비슷한 모양새가 나온다.Workbench에서 ..
-
스크립트 선언 방법에 따른 차이개발/Javascript & jQuery 2018. 1. 22. 12:09
화면을 만들 때마다 쓰게 되는 자바스크립트 선언아무 생각 없이 써오다가 jQuery를 찾을 수 없다는 부트스트랩 오류 메시지를 보면서 갑자기 의문이 들었다. 스크립트를 선언할 때 아래 세 가지 방법의 차이점도 모르고 막 쓰고 있었는데 과연 차이가 있는 것일까? 현재 표준은 라고 한다. 스크립트 선언은 브라우저의 기본 설정에 맞춰 가는데,HTML5 부터는 대부분의 브라우저 기본값이 js로 파싱하게 되어 있기 때문에 라고 선언해도 아무 문제 없이 동작하고 있었던 것이다. 하위 브라우저와의 호환성까지 고려하면 로 써주는게 가장 정확할 것 같다. 더불어 스타일 태그 역시 로 써주는 것이 가장 정확하나HTML5부터 디폴트로 만 적어도 무리 없이 동작하게 되었다고 한다...
-
소소한 부트스트랩 문제개발/문제 해결 2018. 1. 22. 11:41
디버깅하려고 들어갈 때마다 Uncaught Error : Bootstrap's JavaScript requires jQuery 라는 부트스트랩 에러 메세지가 나왔다. 부트스트랩 기능은 다 멀쩡히 돌아가는 상태여서 일단 놔두고 계속 코딩을 진행했는데 볼수록 거슬림.... 문제의 원인은 정말 별게 아니고jsp 에서 부트스트랩을 선언하는 위치가 jQuery를 선언하는 위치보다 앞서있기 때문에 발생하는 오류다. 즉, 아래와 같이 jquery를 먼저 불러온 후에 부트스트랩을 불러오면 해결
-
이클립스 콘솔창에 쿼리 출력하기개발/문제 해결 2018. 1. 19. 18:13
DB에 셀렉트 쿼리를 날렸는데 파라미터가 안 들어간다면서 오류가 났다.대체 파라미터가 어떻게 들어갔길래 그런건가 싶어서 콘솔창을 확인해봤는데??? 쿼리가 하나도 안 찍혀있다. 맨날 똑똑한 분들이 구축해둔 개발환경에서 손가락만 놀리다보니실행한 쿼리를 이클립스 콘솔창에 출력하려면 별도의 설정이 필요하다는 것도 모르고 살았던 것이다.... 부끄러움을 느끼며 급하게 검색해보니 너무 잘 정리해주신 분이 계셨다.http://addio3305.tistory.com/66 pom.xml, log4j.xml 은 링크대로 수정했다.나는 DB 연결을 root-context.xml 에서 진행했기 때문에 root-context.xml에 설정을 추가했다. 핵심은 log4j.xml에 추가한 jdbc.sqlonly 로거가 쿼리를,jd..
-
Spring + MyBatis + DB = 작은 웹사이트 - (7) 본격 게시판 만들기 서막개발/Web Project (1) - Spring MVC + java + DB 2018. 1. 17. 22:48
오잉 별것도 안했는데 벌써 7번째 포스팅이라니 이게 무슨 일이오아무튼 이번에는 드디어ㅠㅠ 게시판을 붙여보는 시간이다. 되도록이면 한방에 포스팅을 정리하고 싶어서 페이징 처리까지 끝낸 뒤에 글을 쓰려다보니 조금 시간이 걸렸다.참 신기하게도 분명 내가 예전에 써서 잘 돌아갔던 기능들인데 다시 이 프로젝트를 진행하면서 재활용하려니까 안 먹는 것들이 있다.물론 내가 능력이 부족해서 개발환경 세팅이라던가 뭐 그런데서 실수했겠지 ㅠㅠ 하면서도 짜증나는 이 기분덕분에 실무에서는 하루만에 개발 완료할 것을 엄청나게 질질 끌면서 개발했다 흑흑 1. 게시판용 테이블 생성 먼저 DB가 있어야 게시물을 읽고 쓸테니 DB 생성부터 CREATE TABLE `myhome`.`note` ( `sn` VARCHAR(45) NOT NU..
-
Spring + MyBatis + DB = 작은 웹사이트 - (6) JSTL 활용 & 로그아웃 기능 구현개발/Web Project (1) - Spring MVC + java + DB 2018. 1. 17. 22:19
JSTL을 활용하여 로그인 여부에 따라 로그인 / 로그아웃 버튼이 보이게 만들고또한 로그아웃 버튼을 누르면 로그아웃 처리하는 기능을 추가하는 시간이다. 엄청 간단하다. 1. JSTL로 버튼 구현 컨트롤 앞서 로그인 기능을 구현할 때 로그인에 성공하면 session 에 setAttribute를 써서 객체를 추가했다.객체명은 "admin" 이고, 스트링 타입으로 DB에 저장되어있던 관리자의 이름이 들어갔다. 따라서 이 admin 값이 있을 때 / 없을 때로 구분하여 로그인 버튼이 보이도록 소스를 다시 바꿨다. 아래 접기 태그 안을 보면 안에 과 로 조건을 걸어admin 객체가 세션에 있다면 로그아웃 버튼을, 아니면 로그인 버튼이 출력된다. × HOME ABOUT MAKINGS GUESTS ☰ MENUWelc..
-
Spring + MyBatis + DB = 작은 웹사이트 - (5) 폴더 및 소스 분리개발/Web Project (1) - Spring MVC + java + DB 2018. 1. 17. 17:04
이제 진짜진짜진짜 본격적인 소스 구현을 시작하기에 앞서,폴더 구조를 구축해두고 로그인 소스를 home.jsp에서 빼내어 별도의 로그인 화면을 만들고 header.jsp 를 만들어서 붙여줄 예정이다. 진작에 처음부터 따로 만들었으면 몸이 편했겠으나 나는 어리석은 닝겐.... 1. 폴더 구조 만들기 css파일, js파일, 배경화면 등에 쓰일 이미지 파일을 담을 폴더들을 만들어줬다.위치는 scr > main > webapp > resources 아래에 뒀다. 화면들 역시 폴더를 만들어서 각 폴더 안에서 관리하겠다. src >main > webapp > WEB-INF > views 아래에 'admin', 'guest', 'note' 폴더를 각각 생성해줬다.로그인 실패화면인 fail.jsp, 화면의 헤더로 쓰일 ..
-
Spring + MyBatis + DB = 작은 웹사이트 - (4) 로그인 기능 구현개발/Web Project (1) - Spring MVC + java + DB 2018. 1. 12. 18:15
지난번에 DB 연결을 해두긴 했지만 과연 잘 된건지 의심스럽다.나중에 다시 수정해야한다는 번거로움이 있지만 일단 간단하게 홈화면에 로그인 화면을 구현해서 테스트를 해보고 넘어간다. 1. 데이터 만들기 로그인하려면 아이디, 패스워드 등의 데이터가 기록되는 테이블이 필요하다.아직 테이블을 만들지 않았으니 이참에 테이블을 만들면서 관리자도 만들어준다. CREATE TABLE `myhome`.`user` ( `id` VARCHAR(45) NOT NULL COMMENT 'id', `pw` VARCHAR(45) NOT NULL COMMENT 'password', `nm` VARCHAR(45) NOT NULL COMMENT 'user name', PRIMARY KEY (`id`), UNIQUE INDEX `id_UN..