개발자 수업
-
28. WebSocket개발자 수업/JSP 2022. 2. 3. 16:55
1. 소켓 (Socket) 1) 네트워크에서 동작하는 프로그램의 종착점(endpoint) 2) ip 주소와 port 번호로 이루어짐 3) 서버와 클라이언트가 양방향 통신할 수 있게 해주는 소프트웨어 장치 - 둘 다 소켓을 생성하여 연결해줘야함 2. 소켓 통신 절차 1) 서버에서 서버용 소켓(ServerSocket)을 생성, 클라이언트의 접속 대기함 2) 클라이언트가 소켓(Socket) 생성하여 서버로 연결 요청함 3) 서버가 접속을 허가(accept)함 4) 서버와 클라이언트는 각각 통신을 위한 I/O 스트림 생성함 5) 스트림을 통해 서버와 클라이언트가 통신함(write, read) 6) 클라이언트가 모든 작업을 마친 후 소켓 종료(close)함 7) 서버는 새로운 클라이언트 접속을 위해 대기(acce..
-
14. 스프링 게시판개발자 수업/Spring 2022. 1. 15. 12:19
1. 작업내역 1) 관련 라이브러리 추가 2) 마이바티스 관련 설정 3) 타일즈 설정 4) 게시판 목록 표시 5) 새 글 추가 - 글쓰기 시 로그인 2. 로그인 과정 1) 글 목록창(listArticles.jsp) 페이지에서 요청 시 미리 세션에 isLogOn 속성을 저장함 2) 글쓰기를 클릭하면 자바스크립트 함수에서 isLogOn 속성 값 체크하고 true가 아니면 memberController에게 로그인 페이지를 요청함 3) memberController는 속성을 세션에 저장함 4) 로그인 페이지에서 ID와 비밀번호 입력함 memberController에서 로그인에 성공하면 글쓰기 페이지로 이동함 5) 2)번에서 isLogOn 속성이 true면 바로 글쓰기 페이지로 이동함 3. 이미지 테이블 컬럼 자..
-
13. Spring RESTful API개발자 수업/Spring 2022. 1. 12. 17:15
1. Open API (Application Programming Interface) 1) 개방형 API 2) API : 응용 프로그램 개발할 때 사용하는 인터페이스 3) 프로그래밍에서 사용할 수 있는 개방되어 있는 상태의 인터페이스임 4) 대부분 Open API는 REST 방식으로 지원됨 2. REST (Representational Safe Transfer) 1) HTTP URI + HTTP Method 2) HTTP URI를 통해 제어할 자원(Resource)을 명시하고, HTTP Method(GET, POST, PUT, DELETE)를 통해 해당 자원을 제어하는 명령을 내리는 방식의 아키텍처임 HTTP Method CRUD -----------------------------------------..
-
12. 스프링 지원 기능들개발자 수업/Spring 2022. 1. 12. 17:14
1. 다중 파일 업로드 1) CommonsMultipartResolver - 여러 개의 파일을 한꺼번에 업로드 가능 2. 썸네일 이미지를 이용하면 상품목록 나열 시 빠르게 표시할 수 있음 3. 이메일 사용하기 1) 스프링에서 이메일 라이브러리 이용해서 쉽게 이메일 기능 구현 가능 2) 구글의 SMTP 서버 이용해서 이메일 기능 구현 4. 상품 이미지나 링크가 포함된 광고 이메일 보내기 5. 스프링 인터셉터(Interceptor) 1) 브라우저 요청 시 요청 메서드 호출 전후에 기능을 수행함 (개발자가 원하는 기능) 2) 필터와 기능이 유사 3) 필터보다 좀 더 자유롭게 위치를 변경해서 기능을 수행함 4) 쿠키 제어, 파일 업로드 등 작업을 수행함 6. 국제화와 메세지 다루기 1) i18n (Interna..
-
10. 메이븐과 스프링개발자 수업/Spring 2022. 1. 7. 10:06
1. Maven 1) 라이브러리 관리 + 빌드 툴 - 의존성 라이브러리 관리(pom.xml) 2) 프로젝트 구조와 내용을 기술하는 선언적 접근 방식의 오픈 소스 빌드 툴 3) 편리한 Dependent Library 관리 4) 프로젝트 종속 라이브러리들과 그 라이브러리에 의존하는 Dependency 자원까지 관리할 수 있음 5) 여러 프로젝트에서 프로젝트 정보나 jar파일들을 공유하기 쉬움 6) 빌드 프로세스를 일관되게 가져갈 수 있음 7) 프로젝트 전반의 리소스 관리와 설정 파일 그리고 이와 관련된 표준 디렉토리 구조를 처음부터 일관된 형태로 구성하여 관리할 수 있음 - 오픈소스 라이브러리들은 컴파일 할 때 합쳐져 하나의 기능을 이룸 - 컴파일보다 더 많은 과정을 거치게 됨 - 이런 과정을 빌드라고 하고..
-
9. 스프링 어노테이션개발자 수업/Spring 2022. 1. 4. 22:59
0. Bean 등록 메타정보 구성 1) XML 단독 사용 - 모든 Bean을 명시적으로 XML에 등록하는 방법 - Bean 개수가 많아지면 XML 파일을 관리하기 번거로움 - 설정파일을 공유해서 개발 -> 동시 수정, 충돌 .. - DI에 필요한 적절한 setter 메서드 반드시 존재해야 함 2) XML과 빈 스캐닝(Bean Scanning) 혼용 - Bean으로 사용될 클래스에 특별한 어노테이션을 부여해주면 이런 클래스를 자동으로 찾아서 Bean으로 등록함 1. 스프링 어노테이션 (Annotation) 1) 기존에 XML에서 빈 설정을 어노테이션을 이용해서 자바 코드에서 설정하는 방법 2) 기능이 복잡해짐에 따라 XML에서 설정하는 것보다 유지보수에 유리함 3) 현재 애플리케이션 개발 시 XML 설정 ..
-
8. 스프링 트랜잭션개발자 수업/Spring 2022. 1. 4. 22:59
1. 트랜잭션 (Transaction) 1) 여러 개의 DML 명령문을 하나의 논리적인 작업 단위로 묶어서 관리하는 것 2) All 또는 Nothing 방식으로 작업을 처리함으로써 작업의 일관성 유지함 3) 웹 애플리케이션에서 Service 클래스의 각 메서드가 애플리케이션의 단위 기능을 수행 4) 웹 애플리케이션의 트랜잭션은 대부분 서비스 클래스에 적용함 2. 단위 기능 예 1) 게시글 조회 시 해당 글을 조회하는 기능과 조회수를 갱신하는 기능 2) 쇼핑몰에서 상품 주문 시 주문 상품을 테이블에 등록하는 기능과 주문자의 포인트를 갱신하는 기능 3) 은행에서 이체 시 이체자의 잔고를 갱신하는 기능과 수신자의 잔고를 갱신하는 기능 3. 이체를 통한 트랜잭션 기능 1) 트랜잭션 적용 전 은행 계좌 이체 - ..