728x90
반응형

Web 88

ArgumentResolver

ArgumentResolver 컨트롤러의 메소드 인자로 사용자가 임의의 값을 전달하는 방법을 제공하고자 할 때 사용 서비스 운영 중에 받는 여러 종류의 데이터(파라미터)를 공통으로 처리할 수 있도록 구현된 인터페이스 예로, 세션에 저장된 값 중 특정 이름의 값을 메소드의 인자로 전달할 때 ArgumentResolver를 Controller 단에서 사용하면 중복 코드 (HttpSession의 세션 로드, HttpServletRequest의 요청 URL 및 ip 정보 로드 등)을 깜끌하게 처리할 수 있다 ArgumentResolver 작성 방법 HandlerMethod ArgumentResolver 인터페이스를 구현한 클래스 작성 supportsParameter 메소드를 오버라이딩한 후 원하는 타입의 인자가..

Web/Java+Spring 2021.07.13

Interceptor

인터셉터(Interceptor) Interceptor는 Dispatcher servlet에서 Handler(Controller)로 요청을 보낼 때, Handler에서 Dispathcer servlet으로 응답을 보낼 때 동작합니다. 스프링 DispathcerServlet의 내부 동작 클라이언트로부터 요청이 들어왔을 때 필터가 존재하면 필터를 수행 아래 사진같은 경우 스프링에서 제공된 charset을 지정하는 필터가 정의되어 있었음 web.xml이나 그와 같은 일을 하는 부분에 이 필터를 등록 필터는 요청을 받기 전, 응답이 나가기 전에 수행됨 그 다음에 DispatcherServlet이 수행 필터처럼 선처리 작업이 존재한다면 먼저 선처리 작업을 해주고 HandlerMapping을 통해서 실제 어떤 Han..

Web/Java+Spring 2021.07.13

Spring MVC에서 Session 사용하기

@SessionAttributes & @ModelAttribute Controller 위쪽에 SessionAttributes를 적고 메소드의 인자로 ModelAttribute를 적었는데 인자로 전달될 이름이 같은 경우 먼저 세션에서 전달된 이름으로 저장된 객체를 찾고 해당 객체에 요청으로부터 넘어온 값을 설정해서 전달. 메소드가 return한 값은 argument의 이름을 key로 하여 세션에 저장되게 됨 아래의 예제는 세션에 값을 초기화하는 목적으로 사용되었습니다. setUpUserForm() 메서드에서 반환하는 User 객체가 이 user 라는 이름으로 세션에 저장됨 @SessionAttributes("user") public class LoginController { @ModelAttribute("..

Web/Java+Spring 2021.07.08

상태유지기술 (Cookie & Session)

웹에서의 상태 유지 기술 HTTP프로토콜은 상태 유지가 안되는 프로토콜입니다. - 이전에 무엇을 했고, 지금 무엇을 했는지에 대한 정보를 갖고 있지 않습니다. (로그인, 장바구니 등) - 웹 브라우저(클라이언트)의 요청에 대한 응답을 하고 나면 해당 클라이언트와의 연결을 지속하지 않습니다. 이 클라이언트가 두 번째, 세 번째 요청을 할 때 누구인지 정보를 알게 하는 것 상태 유지를 위해 Cookie와 Session기술이 등장합니다. 쿠키(Cookie)와 세션(Session) 쿠키 - 유지해야 할 정보를 사용자 컴퓨터에 저장 저장된 정보를 다른 사람 또는 시스템이 볼 수 있는 단점 (공용 PC에서...) 유효시간이 지나면 사라짐 세션 - 서버에 저장 - 서버가 종료되거나 유효시간이 지나면 사라집니다. 쿠키..

Web 2021.07.08

form 태그로 데이터 보내기

브라우저는 form 태그를 사용해서 사용자 입력을 받으면 이를 쉽게 전송해줍니다. Email Password form전송을 위한 html 태그는 딱 정해진 건 없습니다. 이를 찾아보면 여러 가지 형태로 form을 구성할 수가 있습니다. 위 예제코드처럼 input 태그를 사용해서 값을 입력받을 수 있으며, input 태그의 type에 따라서 다양한 입력을 받을 수가 있습니다. 어떻게 서버로 전송될까요? input type이 submit (혹은 button type이 submit) 인 엘리먼트가 있을 경우, 해당 엘리먼트를 클릭하거나 다른 폼 엘리먼트 요소에서 엔터를 치면 form에 입력한 정보가 자동으로 서버로 넘어갑니다. 그럼 어디로 전송될까요? form태그의 action속성에 적어주면 됩니다. 어떤 값..

Web/Frontend 2021.07.08

정규표현식 (regular expression)

정규 표현식 문자열의 특정 패턴을 찾을 수 있는 문법 패턴을 찾아서 추출, 삭제, 치환 등의 문자열 조작을 할 수 있다 몇 가지 유용한 사례 입니다. 회원가입 시 입력한 내용이 규칙을 따르고 있는지 확인할 때 이메일, 주소, 전화번호(숫자사이 - 기입 여부) 규칙 검증 신용카드 번호 패턴, 우편번호 textarea에 입력된 것 중 불필요한 입력값 추출 트랜스파일링 - 최근 문법으로 된 코드를 현재 지원되는 문법으로 치환해야할 때 개발 도구에서의 문자열 치환 간단한 사용법 숫자 하나 찾기 var result = "abc3zzz".match(/\d/)[0]; console.log(result);​ 숫자 두 개 찾기 var result = "abc32zzz".match(/\d/)[0]; console.log(..

Web/Frontend 2021.07.07

생성자 패턴으로 TabUI 만들기

자바스크립트의 객체 리터럴 var healthObj = { name : "달리기", lastTime : "PM10:12", showHealth : function() { console.log(this.name + "님, 오늘은 " + this.lastTime + "에 운동을 하셨네요"); } } healthObj.showHealth(); 이와 같은 객체가 여러 개 필요하다면? healthObj2, healthObj3 .. 중복하여 여러개를 만드는 방법 외에는? 객체를 동적으로 생성하는 방법 함수를 이용 h는 객체. h안에 Health 함수를 한 번 더 불러서 h2 객체를 만듦 function Health(name, lastTime) { this.name = name; this.lastTime = last..

Web/Frontend 2021.07.07

Clean Code

클린 코드라는 것은 읽기 좋은 코드, 가독성 있는 코드를 말합니다. 사람마다 더 좋은 코드가 무엇인지는 조금씩 다를 수 있습니다. 클린코드 내용을 담고 있는 책이나 글을 많이 보면, 어떤 코드가 좋은지 점점 알 수가 있습니다. 더 좋은 방법은 많은 사람에게 코드리뷰를 받는 것입니다. 아래 몇몇 예시는 클린코드를 만드는 몇 가지 examples에 지나지 않습니다. 이를 참고로 클린코드가 어떤 것인지 알게 되길 바랍니다. 이름 (Conding Convention) 이름을 짓는 건 쉬운 일은 아니지만, 읽기 좋은 코드를 만드는데 필수 요소입니다. 이런 부분을 고려하세요. 함수는 목적에 맞게 이름이 지어져 있는가? 함수 안의 내용은 이름에 어울리게 하나의 로직을 담고 있는가? 함수는 동사 + 명사이며 함수의 의..

Web/Frontend 2021.07.06

handlebar를 활용한 템플릿 작업

handlebar 대표적인 template 라이브러리 구글에 handlebar cdn을 검색하여 스크립트 태그 복사해오기 min은 mini file로 압축된 파일을 의미 min이 마지막에 붙은 것으로 복사해오기 https://cdnjs.com/libraries/handlebars.js handlebars.js - Libraries - cdnjs - The #1 free and open source CDN built to make life easier for developers Handlebars provides the power necessary to let you build semantic templates effectively with no frustration - Simple. Fast. Relia..

Web/Frontend 2021.07.06

jQuery 프레임워크에 대해

$ == document.querySelector() Framework 웹에서 할 수 있는 것들이 많아지면서, Single Page Application이라는 서비스개념이 등장했습니다. (SPA는 페이지 갱신 요청 시, 갱신에 필요한 데이터만 전달받아 새로고침 없이 페이지를 갱신) 즉 웹에서 데이터처리나 복잡한 Ajax처리, routing처리 등이 많아지면서, 이를 편리하게 해주는 Framework가 나왔습니다. React, Angular, Vue, Ember와 같은 것들이 그런 것입니다. 이를 사용하면 좀 더 쉽게 DOM제어를 할 수 있고, Data조작을 View에서 분리해서 관리할 수 있습니다. 그리고 component방식으로 개발할 수 있어 재사용가 능한 코드를 만들 수도 있고요. 라이브러리가 유용..

Web/Frontend 2021.07.01
728x90
반응형