전체 글
-
[3-ch13 게시판] MyBatis와 스프링에서 페이징 처리하기Back-End/Spring Legacy 2022. 8. 28. 11:36
이전 포스팅에서 힌트(hint)와 ROWNUM, 인라인뷰를 사용해서 원하는 값을 추출하는 방법을 알아봤다. 그렇다면 직접 웹 페이지에 적용하기 위해 MyBatis에 적용하는 법을 알아보려 한다. 페이징 처리 관련 내용은 아래 링크 클릭! https://wonisdaily.tistory.com/62 [3-ch12 Spring web 게시판] 페이징 처리, 힌트(hint), ROWNUM & 인라인뷰 적용 order by의 문제 데이터의 양이 많을수록 정렬이라는 작업은 많은 리소스를 소모한다. 데이터베이스를 이용할 때 웹이나 애플리케이션에서 가장 신경쓰는 부분은 1) 빠르게 처리되는 것, 2) 필요한 wonisdaily.tistory.com MyBatis는 SQL을 그대로 사용할 수 있기 때문에 인라인 뷰를 ..
-
[오라클 에러] ORA-00911: invalid character 부적절한 문자프로그래밍 언어/에러노트 2022. 8. 28. 11:02
ORA-00911: invalid character 에러,, 오랜만에 본다. MyBatis 이용해서 스프링 웹 프로젝트 작업할 때 xml에 세미콜론 조심하라는 말 듣곤했었는데 이렇게 에러로 만났다. xml 작성할 때 sqldeveloper에서 미리 테스트 해보고 복사해서 붙여넣었더니 세미콜론도 그대로 붙여 에러 나는 것!! ORA-00911: invalid character 면 xml 파일부터 확인해보자.
-
[3-ch12 Spring web 게시판] 페이징 처리, 힌트(hint), ROWNUM & 인라인뷰 적용Back-End/Spring Legacy 2022. 8. 28. 09:51
order by의 문제 데이터의 양이 많을수록 정렬이라는 작업은 많은 리소스를 소모한다. 데이터베이스를 이용할 때 웹이나 애플리케이션에서 가장 신경쓰는 부분은 1) 빠르게 처리되는 것, 2) 필요한 양만큼만 데이터를 가져오는 것이다. 예를들어, 거의 모든 웹페이지에서 페이징을 하는 이유는 최소한의 필요한 데이터만을 가져와 빠르게 화면에 보여주기 위함이다. 만일 수백 만개의 데이터를 매번 정렬해야 하는 상황이라면 사용자는 정렬된 결과를 볼 때까지 오랜 시간을 기다려야만 하고, 특히 웹에서 동시에 여러 명의 사용자가 정렬이 필요한 데이터를 요청하게 된다면 시스템에는 많은 부하가 걸리게 되고 연결 가능한 커넥션의 개수가 점점 줄어서 서비스가 멈추는 상황을 초래하게 된다. 실행 계획과 order by 오라클의 ..
-
[3-ch11 Spring view] 게시글 조회, 수정/삭제, 뒤로가기 처리Back-End/Spring Legacy 2022. 8. 26. 16:21
조회 페이지 작성 조회 페이지는 입력 페이지와 거의 유사하지만 게시물의 번호(bno)가 출력된다는 점과 모든 데이터가 읽기 전용으로 처리된다는 점이 가장 큰 차이점이다. 목록 페이지에서 링크를 통해 GET 방식으로 특정 번호의 게시물을 조회할 수 있다. @GetMapping("/get") public void get(@RequestParam("bno") Long bno, Model model) { log.info("get" ); model.addAttribute("board", service.get(bno)); } get.jsp는 게시물의 번호를 보여줄 수 있는 필드를 추가한다. 모든 데이터는 readonly를 지정해서 작성한다. 특정 게시글 조회 페이지에선 데이터를 전송할 일이 없기에 form 태그를 ..
-
[3-ch11 Spring view] 게시판 목록, 등록 jsp 화면 처리하기, jQuery 통해 Modal 창 띄우기Back-End/Spring Legacy 2022. 8. 24. 16:46
화면 처리 템플릿 화면을 개발하기 전에는 반드시 전체 레이아웃이나 디자인이 반영된 상태에서 개발하는 것을 추천한다. 웹 디자이너가 같이 참여하지 못한다면 BootStrap을 이용한 무료 디자인을 찾아보는 것도 좋다. 오늘 포스팅할 페이지들은 모두 아래 파일을 베이스로 잡아두었다. 목록 페이지 작업과 includes 스프링 MVC의 JSP를 처리하는 설정을 servlet-context.xml에 아래와 같이 작성되어 있다. 스프링 MVC의 설정에서 화면 설정은 ViewResolver라는 객체를 통해 이뤄지는데, 위의 설정을 보면 '/WEB-INF/viesws'를 이용하는 것을 볼 수 있다. WEB-INF 경로는 브라우저에서 직접 접근할 수 없는 경로이므로 반드시 Controller를 이용하는 모델 2방식에서..
-
[jQuery란?] 정의&사용법 , $(document).ready(), 선택자 종류, toggle프로그래밍 언어/JavaScript 2022. 8. 24. 14:52
제이쿼리란? 자바스크립트 코드를 좀 더 직관적으로 이해할 수 있도록 짧고 단순한 코드 형태로 변형하여 제공하는 것. 자바스크립트 : document.getElementById(“p”).innerHTML = “웹 프로그래밍“; 제이쿼리 : $(“#p”).html(“웹 프로그래밍”); 1. 자바스크립트의 문서 객체 모델 DOM과 이벤트 객체는 호환성이 떨어지는 단점이 존재했다. 예를들어 인접 요소 선택자 중 다음 요소 선택자는 브라우저별로 결과가 달랐다. 이를 해결하기 위해 등장한 제이쿼리는 호환성 문제를 해결했다. 2. 편리한 애니메이션 효과 기능 구현. jQuery 라이브러리 HTML에 연동하기 1. 다운로드 방식 : jquery 라이브러리 파일을 다운받아 HTML에서 해당 파일을 불러와 연동하는 방식 ..
-
[HTML/CSS/JS] DOM, innerHTML, window.open() 알아보기프로그래밍 언어/HTML&CSS 2022. 8. 24. 13:09
DOM 이란? 문서 객체 모델(The Document Object Model, DOM)은 HTML, XML 문의 프로그래밍 interface이다. DOM은 문서의 구조화된 표현 (structured representation)을 제공하며 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공하며 그들이 문서 구조, 스타일, 내용 등을 변경할 수 있게 돕는다. DOM은 구조화된 nodes와 property와 method를 갖고 있는 objects로 문서를 표현한다. 이들은 웹 페이지를 스크립트 또는 프로그래밍 언어들에서 사용될 수 있게 연결시켜주는 역할을 담당한다. 웹 페이지는 일종의 문서(document)이다. 이 문서는 웹 브라우저를 통해 그 내용이 해석되어 웹 브라우저 화면에 나타나거나 HTML..
-
[JavaScript 란?] 자바스크립트 개념, 변수, 함수, 객체 사용 예제프로그래밍 언어/JavaScript 2022. 8. 24. 12:04
JavaScript, 자바스크립트란? 자바스크립트는 객체(object) 기반의 스크립트 언어이다. HTML로 웹의 내용을 작성하고, CSS로 웹을 디자인하며, 자바스크립트로는 웹의 동작을 구현할 수 있다. 자바스크립트는 주로 웹 브라우저에서 사용되나, Node.js와 같은 프레임워크를 사용하며 서버 측 프로그래밍에서도 사용할 수 있다. 1. 객체 기반의 스크립트 언어이다. 2. 동적이며, 타입을 명시할 필요가 없는 인터프리트 언어이다. 3. 자바스크립트는 객체 지향형 프로그래밍과 함수형 프로그래밍을 모두 표현할 수 있다. 대소문자를 구분하여 작성하며 문장은 세미콜론(;)으로 구분된다. 큰따옴표와(" ") 작은따옴표(' ')를 구분해서 사용한다. 1. 요소의 추가 및 삭제 2. CSS 및 HTML 요소의 ..