일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 키-값 데이터베이스
- dbms
- 숫자 형식
- 배열 3요소
- 함수
- 자바 오류
- DoitSQL
- SQL입문
- 우아한테크
- 페이지분석
- DoIt
- 데이터베이스
- 예제
- 자바 예외
- Doit입문SQL
- R1C3
- DoitSQL입문
- 예외
- 크롤링 오류
- HTML역사
- 크롤링
- 함수 선언
- 생성자
- SQL
- 숫자형식오류
- html
- 배열 예제
- 자바
- 웹브라우저 수용도
- 웹 브라우저 전쟁
- Today
- Total
목록분류 전체보기 (221)
프로그래밍
2023.08.16.수 JDBC Template 현재의 JDBCUtil은 같은 코드가 계속 반복되고 있다 이를 JDBC Template 패턴을 활용하여 모듈화 / 캡슐화를 할 것이다 DB가 하는일이 주로 정형화된 순서로 진행되기 때문 Template 패턴 => 유사 / 반복되는 알고리즘을 캡슐화하여 재사용하는 패턴 코딩 순서가 정해져 있는 정형화된 기술에서 특히 유용하게 활용 JDBC, 트랜잭션, Mybatis. JPA, ... ※ 패턴 : MVC, 팩토리(결합도가 낮아짐), 싱글톤(메모리 성능 향상-> 동일한 객체를 하나만 사용) JDBC Template 클래스 적용하여 구현 먼저 pom.xml에 의존성을 추가해준다 org.springframework spring-jdbc ${org.springfram..
2023.08.11.금 AOP 예제 포인트 컷을 여러 개 등록할 수 있으며 해당 경우가 흔하다 주로 CUD는 DB에 직접적인 변화를 주기 때문에 데이터에 대한 확실한 검증이 필요하다 상대적으로 보안, 우효성 검사, 트랜잭션, ... 등이 많이 필요로 한다 반면에 R은 DB에 변화가 없다 보려는 데이터에 접근할 수 있는 권한이 있는지만 확인하면 되는 경우가 다수이다 ∴ 상대적으로 공통 로직이 적게 필요하다 일부 포인트컷에만 어드바이스(횡단관심, 공통로직)가 동작할 수 있는 설정이 가능하다 어드바이스 동작 설정 메서드 before: 비즈니스 메서드 전에 어드바이스가 호출됨 after: 비즈니스 메서드 후에 어드바이스가 호출됨 after-returning: 비즈니스 메서드 OUTPUT반환후에 어드바이스가 호출..
2023.08.10.목 AOP AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이다 기존에는 OOP, 즉,객체지향 프로그래밍 방식을 사용하였는데 보다 높은 응집도를 위해 AOP 방식을 사용해보도록 하자 현재 로그인 로직은 다음과 같다 1. 로그 출력(객체 확인) 2. 수행할 메서드의 보안 / 인증 / 허가(API) 확인(권한 확인 / 인가 확인) 3. 비즈니스 메서드 실행 4. 관제 로그 작성 ※ 컴퓨터가 모든 수행을 기록에 남긴다. 그걸 관제식이라고 하며 관제 로그라고 한다 Controller 메서드 1.(개발자용) 로그 2. 권한 확인 : 보안, 인증, 허가 3. 비즈니스 메서드(CRUD, 핵심 로직, 핵심 관심) 4. 트랜잭션, 보안 관제 로그, .... 비즈..
2023.08.08.화 2-Layerd 아키텍처 스타일 : 표현 계층과 비즈니스(핵심) 계층의 통합 : 프레젠테이션 레이어와 비즈니스 레이어의 통합 현재의 프로그램 작동 방식은 다음과 같다 1) 브라우저(Client, 사용자)에서 서버로 요청 2) DispatcherServlet 서블릿 생성 후 의존 주입 3) 요청에 맞는 Controller 객체를 호출하여 사용 해당 방식은 유지보수가 불리하며 AOP 적용이 불가하다 이를 해결하기 위해 표현 계층(프레젠테이션 레이어)/비즈니스 레이어를 사용하여 보자 더보기 ※ 현재 유지보수 불리한 상태 ※ 1) 서버에서는 DBMS 변경이 잦다 즉, DAO 변경 또한 잦다 "DAO"를 직접 이용하고 있기 때문에 결합도가 높아서 유지보수 불리 (객체를 직접 사용하면 결합도..
2023.08.07.월 테스트계정 / 검색 예제 현재까지 학습한 내용인 Spring MVC 방식으로 테스트계정과 검색 예제를 구현해보자 [@ModelAttribute("이름")] VIEW에서 사용할 데이터를 세팅하려는 목적으로 활용하는 @(어노테이션) @Controller 파트에서 해당 @을 사용하면 @RequestMapping보다 먼저 수행된다 ※ 가장 먼저 실행된다는 특징이 있다 해당 방식을 사용할시 무슨 검색이 되어야하는지 VIEW가 몰라도 괜찮아진다 DB 구조를 모르더라도 VIEW 구현이 가능해진다 request라는 NOT POJO인 무거운 객체를 쓰지 않을 수 있다는 장점 또한 있다 단, VO에 tmp 멤버변수를 생성하는것이 보편적인 방식이다 @Controller public class Main..
2023.08.03.목 커맨드 객체 @ 1. @Repository M, DAO 2. @Service C, Service 3. @Controller C, implement Controller를 대신함 현재 @Controller를 사용하기 때문에 메서드 강제성이 없다 즉, 메서드 시그니처가 고정되어 있지 않다 그렇기 때문에 특정 요청에 대해 Controller 객체를 찾아가는 mapping과 리턴타입(OUTPUT) 등을 자유롭게 조작할 수 있으며 메서드명과 인자(INPUT)값 또한 마찬가지이다 그래서 우린 이를 마음대로 조작할 수 있고 @RequestMapping과 메서드명의 변화로 인해 하나의 클래스 파일에 여러개의 메서드를 위치시킬 수 있게 된다 → 응집도 상승 Command 객체 컨테이너는 객체를 생성..