전체 글 150

[Javascript] 자바스크립트란?

자바스크립트란 웹 브라우저에서 이벤트가 있다면 화면을 동적(변화가 있는)으로 제어해주는 언어이다 (예를 들어 마우스 클릭이나 스크롤을 내리던지 버튼을 클릭하던지 하는 어떠한 행동) 그중 node.js 라는 프레임워크는 자바스크립트는 원래 웹페이지 화면단에서만 동적으로 변경해주는 스크립트언어 였다면 node.js는 서버단까지 제어 해줄수 있는 프레임워크 이다. jquery는 예전부터 많이 사온 라이브러리로서 node.js와는 다르게 서버에서 > 뷰단으로 보낸 데이터를 출력해주는 용도로 사용하고있다 (보통 백엔드 개발자라면 , html css js를 하지만 js를 많이 공부안하고 백엔드 영역으로 공부를 많이 할텐데 jquery는 예전부터 현재까지 뷰단에서 출력이나 , 이벤트 처리 부분으로 많이 사용 되고있다..

자바스크립트 2021.01.17

[Javascript] 자바스크립트 변수,데이터타입

변수 선언 - let (ES6에 새롭게 추가된 키워드) 예전에는 var로 선언했음(하지만 요즘엔 쓰면 좋지않음) 아래처럼 자료형을 선언하지않고도 값을 넣을수가있음(위험부담이큼) Block scope을 무시함 그에 비해 let은 검증을 해준다. 자료형이 선언되있지않으면 , 자료형을 선언하기도 값을 넣으면 에러를 뱉어줌 1 2 3 age = 4; console.log(age); var age; cs 2. GlobalScope - 괄호 밖에 선언된 변수.(어느 곳에서나 접근가능) Block scope - 괄호 블럭안에 선언된 변수는 {} 괄호 안에 서만 사용가능 1 2 3 4 5 6 7 8 9 let global = 'global name'; { let name='kst'; console.log(name); ..

자바스크립트 2021.01.01

[Spring] 16 REST 방식으로 전환

모바일 시대가 되면서 WEB분야의 가장 큰 변화는 서버 역할의 변화라고 할수 있다. 과거에는 서버의 데이터를 소비하는 주체가 '브라우저'라는 특정한 애플리케이션으로 제한적이었다면, 모바일의 시대가 되면서 앱이나 웹은 서버에서 제공하는 데이터를 소비하게 된다. 과거의 서버는 브라우저라는 하나의 대상만을 상대로 데이터를 제공했기때문에, 아예 브라우저가 소화가능한 모든 데이터를 HTML이라는 형태로 전달하고, 브라우저는 이를 화면에 보여주는 역할을 해왔다. 스마트폰에서는 앱(APP)이라 불리는 고유한 애플리케이션을 이용해서, 데이터를 소비하게 되고 보이는 화면 역시 자신만의 방식으로 서비스 하게된다. 앱에서 서버에 기대하는 것은 완성된 HTML이 아니라 그저 자신에게 필요한 순수한 데이터만을 요구하게 되었다...

[Spring] 14 페이징 화면처리

1 2 3 4 5 Colored by Color Scripter cs 페이지를 보여주는 작업은 다음과 같은 작업을 통해서 진행한다. - 브라우저 주소창에서 페이지 번호를 전달해서 결과를 확인하는 단계 - JSP에서 페이지 번호를 출력하는 단계 - 각 페이지 번호에 클릭 이벤트 처리 - 전체 데이터 개수를 반영해서 페이지 번호 조절 페이지 처리는 단순히 링크의 연결이기 때문에 어렵지 않지만, 목록페이지에서 조회페이지, 수정 삭제 페이지까지 페이지 번호가 계속 유지되어야 하기때문에 신경 써야할게 많다. 14.1 페이징 처리 할때 필요한 정보들 - 현재 페이지 번호(page) - 이전과 다음으로 이동 가능한 링크의 표시 여부(prev,next) - 화면에서 보여지는 페이지의 시작 번호와 끝 번호(startPa..

[Spring] MyBatis와 스프링에서 페이징 처리

페이징 처리를 위해서는 SQL을 실행할때 몇가지 파라미터가 필요하다는점이다. 페이징 처리를 위해서 필요한 파라미터는 1)페이지번호(pageNum) , 2) 한페이지당 몇개의 데이터(amount)를 보여줄지 페이지 번호와 몇개의 데이터가 필요한지 별도의 파라미터로 전달해도 되지만, 아예 이 데이터를 하나의 객체로 묶어서 전달하는 방식이 확정성이 더좋다. org.zerock.domain 패키지에 Criteria 클래스 작성. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 package org.zerock.domain; import lombok.Data; @Data public class Criteria { private int pageNum; //페이지 번호..

[Spring] 오라클 데이터 베이스 페이징처리

1 2 select /*+ INDEX_DESC(tbl_board pk_board) */ rownum rn, bno, title, content from tbl_board where bno > 0 cs * 일반적으로 페이징처리는 크게 번호를 이용하거나 '계속 보기'의 형태로 구현됨 12.1 order by의 문제 데이터 베이스를 이용할때 웹이나 애플리케이션에서 가장 신경 쓰는 부분은 1)빠르게 처리 되는것, 2)필요한 양만큼만 데이터를 가져오는것. 빠르게 동작하는 SQL을 위해서는 order by를 이용하는 작업을 최대한 자제, order by는 데이터가 많은경우 엄청난 성능의 저하를 가져오기때문. 1)데이터가 적은경우, 2)정렬을 빠르게 할수 있는 방법이 있는경우가 아니라면 주의 12.1.1 실행계획과 ..

[Spring] 프레젠테이션(웹)계층의 CRUD구현

*Controller 를 작성하기 전에는 반드시 현재 원하는 기능을 호출하는 방식에 대해 테이블로 정리한후 코드로 작성하자 TASK URL Method Parmeter From URL이동 전체 목록 /board/list GET 등록 처리 /board/register POST 모든항목 입력화면 필요 이동 조회 /board/read GET bno=123 삭제 처리 /board/modify POST bno 입력화면 필요 이동 수정처리 /board/remove POST 모든 항목 입력화면 필요 이동 controller 패키지는 servlet-context.xml에 기본적으로 설정되어 있으므로 별도의 설정필요 없음. controller에서 전체 목록을 가져오는 처리를 작성. Service타입의 객체와 연동해야하므..

스프링 MVC 프로젝트의 기본 구성

* 각 영역의 Naming Convention(명명규칙) 프로젝트를 3-tier로 구성하는 일반적인 이유는 '유지보수'에대한 필요성때문 각영역은 독립적으로 설계되어 나중에 특정한 기술이 변하더라도 필요한 부분을 교체하도록 하는 방식 해당 연결 부위는 인터페이스를 이용해서 설꼐하는것이 일반적인 구성방식 - xxxController : 스프링 MVC에서 동작하는 Controller 클래스를 설계할때 사용 - xxxService,xxxServiceImpl : 비즈니스 영역을 담당하는 인터페이스 - xxxDAO,xxxRepository : DAO나Repository라는 이름으로 영역을 따로 구성하는것이 보편적. 다만 별도의 DAO를 구성하는대신 Mybatis의 Mapper 인터페이스를 활용 - VO, DTO :..

Spring Framework 2020.12.15

[Spring] 스프링의 MVC의 Controller

스프링 컨트롤러는 다음과 같은 특징이 있다 1. jsp에서 쓰던 HttpServletRequest,HttpServletResponse를 거의 사용할필요없이 기능구현 2. 다양한 타입의 파라미터 처리, 다양한 타입의 리턴타입 사용가능 3. get,방식 post방식 등 전송방식에 대한 처리를 어노테이션 처리가능 4. 상속/인터페이스 방식 대신에 어노테이션만으로도 필요한 설정기능 컨트롤러 클래스에는 @Controller 어노테이션을 필수로 적용 / 그래야 자동으로 스프링의 객체로 등록됨 그 이유는 servlet-context.xml에 이라는 태그를 이용해 스캔해서 객체로 생성함. 1 2 3 4 5 6 7 8 9 10 11 package org.zerock.controller; import org.springf..

[Spring] 스프링 MVC의 기본구조

*스프링 프레임 워크란? 스프링 MVC는 스프링의 서브 프로젝트라는것. 스프링은 하나의 기능을 위해서 만들어진 프레임워크가 아니라 '코어'라고 할수 있는 프레임워크에 여러 서브 프로젝트를 결합해서 다양한 상황에 대처할수 있도록 개발됨 *프로젝트의 로딩구조 프로젝트 구동시 관여하는 xml은 web.xml, root-contex.xml, servlet-context.xml 파일임. web.xml은 Tomcat 구동과 관련된 설정이고 나머지 두파일은 스프링과 관련된 설정 프로젝트 구동은 web.xml에서 시작 에는 root-contex.xml 경로가 설정되있고 에는 스프링 mvc의 ContextLoaderListener가 등록되있음 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1..