${} : Model 에 있는 값 꺼내기 리다이렉트 웹에 데이터 보내기: Model 웹에 데이터 등록하기: Form form package com.hello.hellospring.controller; public class MemberForm { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } package com.hello.hellospring.controller; import com.hello.hellospring.domain.Member; import com.hello.hellospring.service.MemberService; imp..
회원 관리 예제 - 백엔드 개발 비즈니스 요구사항 정리 회원 도메인과 레포지토리(회원 도메인을 저장하고 불러올 수 있다.일종의 저장소 개념) 만들기 회원 레포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 비즈니스 요구사항 정리 데이터 : 회원 ID, 이름 기능: 회원 등록, 회원 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 일반적인 웹 애플리케이션 계층 구조 컨트롤러: 웹 MVC 의 콘트롤러 역할 서비스: 핵심 비즈니스 로직 구현한다. 레포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리한다. 도메인: 비즈니스 도메인 객체. 예 ) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리된다. 클래스 의존 관계 아직 데이터 저장소가 선정되지 않아서 우선 ..
필터 필터는 HTTP 요청과 응답을 변경할 수 있는 재사용가능한 클래스이다. 필터는 객체의 형태로 클라이언트에서 오는 요청과 최종 자원사이( 서블릿, Jsp ..) 에 위치해 클라이언트의 요청 정보를 변결 가능하다. 또한, 최종 자원과 클라이언트로 가는 응답 사이에 위치해 최종 자원의 요청 결과를 알맞게 변경할 수 있다. 여러 필터가 모여 하나의 필터 체인을 형성한다. 필터의 순서는 요청과 응답이 반대로 작용한다. 필터의 응용 사용자 인증 캐싱 필터 자원 접근에 대한 로깅 응답 데이터 변환( html 변환, 응답 헤더 변환, 데이터 암호화 등) 공통 기능 실행 Servlet ContextListener 구현 서블릿에서 다양한 시점에서 발생하는 이벤트와 이벤트를 처리하기 위한 인터페이스이다. 웹 컨테이너는..
MVC 패턴 구현 Jsp 웹 어플리케이션 구조는 크게 모델1 구조와 모델2 구조로 나뉜다. 이는 jsp 에서 모든 호직과 출력을 처리하느냐 아니면 jsp 에서 처리하냐의 차이이다. 모델 1 구조 모델 2 구조 모델1 모델2 장점 - 배우기 쉽다. - 기능과 jsp 의 직관적인 연결 - 로직과 뷰의 분리로 유지보수가 쉽다. - 콘트롤러 서블릿에서 권한 검사나 인증과 같은 공통 기능 처리가 가능하다. - 확장이 용이 된다. 단점 - 로직과 뷰가 혼잡되어 코드가 복잡해짐. - 유지보수가 힘들어진다. - 자바 언어에 친숙하지 않으면 접근하기 쉽지 않다. - 작업량이 많다. MVC 패턴 모델: 비즈니스 영역에 대한 로직을 처리한다. (로직 처리 클래스, 자바 빈) 뷰: 비즈니스 영역에 대한 프레젠테이션 뷰( 즉,..
자바 서블릿은 자바를 사용해 웹페이지를 동적으로 생성하는 서버픅 프로그램 혹은 사양으로 부른다. JSP가 HTML 문서 안에 Java 코드를 포함하고 있는 반면, 서블릿은 자바 코드 안에 HTML을 포함하고 있다는 차이점이 있다. HttpServlet 를 상속해야한다. 서블릿 로딩: 웹 컨테이너가 서블릿 객체를 생성하고 init() 메소드를 호출하는 과정이다. 서블릿 컨테이너는 처음 서블릿을 생성할 떄, 서블릿 객체를 생성한다. 이후, 요청이 오면 앞서 생성한 서블릿 객체를 그대로 사용한다. load-on-startup 을 설정하면 웹 어플리케이션을 시작할 때, 서블릿을 로딩할 수 있다.
데이터베이스 프로그래밍 3요소 DBMS: 데이터베이스 관리 시스템 데이터베이스: 데이터를 저장할 공간 DBMS 클라이언트: 데이터베이스를 사용하는 어플리케이션 Transaction 관리를 위해 InnoDB 를 이용한다 JDBC 실행 JDBC 드라이버 로딩 데이터베이스 커넥션 수행 쿼리 실행을 위한 Statement 객체 생성 쿼리 실행 쿼리 실행 결과 사용 Statement 종료 데이터베이스 커넥션 종료 jdbc 드라이버는 DBMS의 통신을 담당하는 자바 클래스로써, DBMS 마자 별도의 JDBC 통신이 필요하다. JDBC 드라이버 로딩 ( 맨 처음 한 번만 로딩하면 된다. ) class.forName("JDBC 드라이버 클래스의 완전한 이름") 데이터베이스 커넥션 수행 DriverManager.getC..
정리하려고 쓴글인데 https://kils-log-of-develop.tistory.com/659?category=923003 이 글이 좀 더 잘썼다. 아직 좀 더 고민이 필요한 부분이다. 람다식 함수적 프로그래밍 y=f(x) 형태의 함수로 구성된 프로그래밍 기법 데이터를 매개값으로 전달하고, 결과를 받는 코드들로 구성 객체 지향 프로그래밍보다 효율적인 경우 대용량 처리시 유리 데이터 포장 객체를 생성 후 처리하는 것보다, 데이터를 바로 처리하는 것이 속도에 유리하다. 멀티 코어 cpu 에서 데이터를 병렬 처리하고, 취합할때, 객체보다 함수가 유리하다. 이벤트 지향 프로그래밍(이벤트가 발생하면 핸들러 함수 실행)에 적합 반복적인 이벤트 처리는 핸들러 객체보다는 핸들러 함수가 적합 현대적 프로그래밍 기법 ..
직렬화 기술 이해 자바 직렬화란? [cs 직렬화] 컴퓨터 과학, 그 중에서 데이터 저장소(data storage )의 맥락에서 직렬화는 객체의 상태 혹은 데이터 구조를 기록할 수 있는 포맷 혹은 데이터 (예를 들면 파일 또는 메모리 버퍼 또는 네트워크 연결링크를 통해 전송될 수 있는 형태)로 변환하며, 나중에 동일 혹은 다른 컴퓨터 환경에서 재구성할 수있게끔 하는 절차이다. 자바의 직렬화는 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록, 바이트 형태로 데이터를 변환하는 기술, 그리고 바이트 변환 데이터를 다시 객체로 변환하는 기술(역 직렬화)을 아울러 이야기합니다. 시스템적으로 JVM 에 메모리에 상주하고 있는(메모리, 힙) 객체 데이터를 바이트 형태로 변환..
- Total
- Today
- Yesterday
- 세션불일치
- 유용한웹사이트
- 자바
- 스프링 프레임워크 핵심 기술
- 자바인강
- 참고 링크
- 환경세팅
- 자바 인강
- 쿠버네티스
- 자바 인강이 듣고 싶다면 => https://bit.ly/3ilMbIO
- https://cupjoo.tistory.com/96
- hot
- 쉘스크립트
- django
- EC2
- vim
- 패스트 캠퍼스
- 크론탭
- 언제나 함께해요
- AWS
- 배포
- CKA
- pycharm
- linter
- 디비
- 패스트캠퍼스
- 마크다운
- 자스계의백과사전
- 주피터노트북 설치
- 파이참
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |