분류 전체보기
-
Spring MVC 2 - Cookie, Session카테고리 없음 2023. 10. 25. 16:25
1. 패키지 구조설정 도메인 : 화면,UI,기술,인프라 등등 영역을 제외한 시스템이 구현해야하는 핵심 비지니스 업무 영역 향후 web등의 패키지를 다른 기술로 바꾸어도 도메인은 그대로 유지할 수 있어야함 이말은 web은 domain을 알고있지만, domain은 web을 모르도록 설계해야함 web은 domian에 의존하지만, domain은 web을 의존하지 않는다. *ItemRepositroy에서 ItemForm을 받지 않고 Item으로 변환해야했던 이유임 public Optional findByLoginId(String loginId) { return findAll().stream() .filter(m -> m.getLoginId().equals(loginId)) .findFirst(); } * > Me..
-
Spring MVC 2 - 검증 (2) BeanValidationWeb/Spring 2023. 10. 25. 12:47
1. Bean Validation이란 - 검증로직은 대부분 비슷함! 일반적인 로직이다. - 이러한 검증로직을 모든 프로젝트에 적용할 수 있도록 공통화하고 표준화 한 것이 Bean Validation이다. - Bean Validation은 기술 표준임 -> 여러 검증 애노테이션과 인터페이스의 모음 [구현체 하이버네이트 Validator] (ex JAP가 표준기술 -> 구현체 하이버네이트) 2. Bean Validation 시작 - 순수 BeanValidation (쓰려면, 의존관계 gradle에 추가하자) - 검증 애노테이션 @NotBlank : 빈값 + 공백만 있는 경우 @NotNull: null을 허용하지않는다. @Range(min,max) : 범위 안의 값 @Max(9999) : 최대 9999까지만 ..
-
SpringMVC 2 - 검증Web/Spring 2023. 10. 24. 22:17
- 고객이 입력한 데이터를 유지한 채 어떤 오류가 발생했는지 친절하게 알려주자 - 컨트롤러의 중요한 역할 중 하나는 HTTP 요청이 정상인지 검증하는 것 1. 검증 V1 (직접검증) - 사용자의 데이터가 정상이면, PRG - 정상이 아니면, 모델에 사용자 입력 값과 오류 결과를 담아서 다시 상품등록폼으로 가자 Map errors = new HashMap(); // 오류 담을 것 1.1 특정 필드 검증로직 if (!StringUtils.hasText(item.getItemName())) { errors.put("itemName", "상품 이름은 필수입니다."); //필드와 에러메시지 맵핑 } if (item.getPrice() == null || item.getPrice() < 1000 || item.ge..
-
Spring MVC 2 - 국제화/메시지Web/Spring 2023. 10. 24. 14:44
1. 메시지/국제화 기능이란 - 만약 html에 출력하는 상품명 -> 상품이름으로 모두 고쳐야할 경우 - 모든 상품명에 찾아서 이를 모두 수정해야한다. (하드코딩 되어 있다) - 메시지는 이러한 것들을 한번에 관리하도록 기능을 제공한다. item=상품 item.id=상품 ID item.itemName=상품명 item.price=가격 item.quantity=수량 addForm.html editFrom.html - 국제화는 이러한 메시지 기능에서 한발 더 나아가, 나라별로 보여줄 메시지를 한번에 관리할 수 있게한다. - acept-language값을 사용하거나, 사용자가 선택하도록하여 쉽게 다른 언어로 치환할 수 있다. 2. 스프링 메시지 소스 설정 - 스프링은 기본적인 메시지 관리 기능을 제공한다. Me..
-
자바스터디(1)언어/JAVA 2023. 10. 18. 01:00
1. 절차지향 to 객체지향 - 과거의 프로그래밍은 절차지향적이었다. 다른 말로 프로세스 지향적이었다. - 데이터를 조작하는 코드를 별도로 분리(함수 혹은 프로시저)로 쪼개고 각 프로시저들이 데이터를 조작하는 방식이다. - 각 프로시저는 다른 프로시저를 사용할 수 있고, 각 프로시저는 같은 데이터를 사용할 수 있다.(프로시저간 데이터 공유) ex) 평균 계산 프로그램 : 각 과목 점수 데이터 읽어서 합+평균구하기(함수1) -> 화면출력(함수2) 이때 각 프로시저는 데이터를 공유하는 방식 -> 데이터 중심적 구현 - 프로세스를 한눈에 볼 수 있다는 장점이 있지만 명백한 한계점이 존재한다. 1. 프로그램 규모가 커지면, 함수가 너무 많이 증가 2. 데이터 이름 의미 등등 변경이 생기면 함수를 하나씩 다 수정..
-
javascript 추가문법카테고리 없음 2023. 10. 16. 17:52
-prototye - 클래스와 계단함수 class Calculator2{ constructor(x,y){ this.x=x; //this를 통한 추가는 prototype과 가까움! -> 객체 단에 추가하는 것보단 this.y=y; } plus(){ return this.x+this.y; } minus(){ return this.x - this.y; } } //상속 class Calc3 extends Calculator2{ constructor(x,y,z){ super(x,y); this.z=z; } plus2() { return this.x+this.y+this.z; } } //계단형 함수 function plus(x){ return function (y) { return x+y; }; } //함수 리턴 ..
-
javascript() - 문서 객체 모델 DOM카테고리 없음 2023. 10. 16. 14:18
1. 문서 객체 모델이란 - 웹 문서 전체 또는 일부분을 동적으로 만들기 위해, 웹 문서의 모든 요소를 제어할 수 있어야함 - 문서의 모든 정보 요소를 자바스크립트로 가져와 프로그래밍시 사요애야함 이떄 사용하는 것이 DOM입니다. - 자바스크립트를 이용하여 웹 문서에 접근하고 제어할 수 있도록 객체를 사용해 웹 문서 체계적으로 정리하는 방법 - HTML 웹문서의 DOM을 HTML DOM, XML은 XML DOM - 텍스트 이미지 모든 요소를 객체로 정의 ex 문서 전체는 document, 삽입한 이미지는 image 객체임 2. DOM 트리 DOM은 웹 문서의 부모 요소와 자식 요소로 구분함 이렇게 태그가 구성되어 있다면, html > body,head 다시 body > h1,img 이런식의 트리구조임 또..
-
스프링 MVC - 웹 페이지 만들기Web/Spring 2023. 10. 15. 16:15
1. 프로젝트 생성 스프링 부트 2.7, packaging Jar, dependencies: Spring Web, Thymeleaf,Lombok 1.1 /resources/static/index.html -> 웰컴페이지 추가함 2. 요구사항 분석 상품을 관리할 수 있는 서비스 만들기 상품 도메인 : 상품 ID, 상품명, 가격, 수량 상품 관리 기능 : 상품목록, 상품상세, 상품등록,상품 수정 3. 상품 도메인 개발 @Data public class Item { private Long id; private String itemName; private Integer price; private Integer quantity; public Item() { } //.. } > price와 quantity는 Int..