분류 전체보기
-
8. 스프링 트랜잭션개발자 수업/Spring 2022. 1. 4. 22:59
1. 트랜잭션 (Transaction) 1) 여러 개의 DML 명령문을 하나의 논리적인 작업 단위로 묶어서 관리하는 것 2) All 또는 Nothing 방식으로 작업을 처리함으로써 작업의 일관성 유지함 3) 웹 애플리케이션에서 Service 클래스의 각 메서드가 애플리케이션의 단위 기능을 수행 4) 웹 애플리케이션의 트랜잭션은 대부분 서비스 클래스에 적용함 2. 단위 기능 예 1) 게시글 조회 시 해당 글을 조회하는 기능과 조회수를 갱신하는 기능 2) 쇼핑몰에서 상품 주문 시 주문 상품을 테이블에 등록하는 기능과 주문자의 포인트를 갱신하는 기능 3) 은행에서 이체 시 이체자의 잔고를 갱신하는 기능과 수신자의 잔고를 갱신하는 기능 3. 이체를 통한 트랜잭션 기능 1) 트랜잭션 적용 전 은행 계좌 이체 - ..
-
기타 사이트들 (계속 추가할 예정)개발자가 되려고 2022. 1. 3. 23:31
- 간단하게 HTML 써보는 사이트 https://jsbin.com/?html,output JS Bin Sample of the bin: jsbin.com - 유효성 검사 도구 https://validator.w3.org/ The W3C Markup Validation Service Validate by File Upload Note: file upload may not work with Internet Explorer on some versions of Windows XP Service Pack 2, see our information page on the W3C QA Website. validator.w3.org - CSS 게임 https://flukeout.github.io/ CSS Diner A ..
-
Chapter 12 멀티 스레드 확인문제 정답프로그래밍 언어/이것이 자바다 2022. 1. 2. 22:02
1. 스레드에 대한 설명 중 틀린 것은 무엇입니까? ① 자바 애플리케이션은 메인(main) 스레드가 main() 메소드를 실행시킨다. ② 작업 스레드 클래스는 Thread 클래스를 상속해서 만들 수 있다. ③ Runnable 객체는 스레드가 실행해야 할 코드를 가지고 있는 객체라고 볼 수 있다. ④ 스레드 실행을 시작하려면 run() 메소드를 호출해야 한다. 2. 동영상과 음악을 재생하기 위해 두 가지 스레드를 실행하려고 합니다. 비어 있는 부분에 적당한 코드를 넣어보세요. public class ThreadExample { public static void main(String[] args) { Thread thread1 = new MovieThread(); thread1.start(); Thread ..
-
7. MyBatis Framework 사용 (수정중)개발자 수업/Spring 2021. 12. 31. 14:39
1. MyBatis 개요 1) 자바 오브젝트와 SQL문 사이의 자동 Mapping 기능 지원하는 ORM 프레임워크임 2) SQL문을 별도 파일로 분리해서 관리 - SQL문과 자바 코드의 분리 - SQL에 변경이 있을 때마다 다시 컴파일하지 않아도 됨 3) SQL을 그대로 이용하면서 도메인 객체나 VO 객체를 중심으로 개발이 가능함 4) 퍼시스턴스 프레임워크 5) XML 형태로 서술된 JDBC 코드라고 할 수 있을 정도로 JDBC 모든 기능을 제공함 6) 데이터소스(DataSource) 기능과 트랜잭션 처리 기능 제공 2. MyBatis3의 주요 컴포넌트 1) MyBatis 설정파일(SqlMapConfig.xml) - DB 접속 주소 정보, Mapping 파일의 경로 등 고정된 환경정보 설정 2) Mapp..
-
6. Spring MVC개발자 수업/Spring 2021. 12. 30. 16:24
1. MVC(Model-View-Controller) 패턴 1) 아키텍쳐 패턴 2) 주목적 : Business logic과 Presentation logic을 분리하기 위함 3) 사용자 인터페이스로부터 비즈니스 로직을 분리 -> 시각적 요소와 그 이면에서 실행되는 비즈니스 로직이 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있음 4) Model : 애플리케이션의 정보(데이터, Business Logic 포함) View : 사용자에게 제공할 화면(Presentation Logic) Controller : Model과 View 사이 상호 작용을 관리 2. MVC 컴포넌트 역할 1) 모델(Model) 컴포넌트 - 데이터 저장소(DB)와 연동 - 사용자가 입력한 데이터나 사용자에게 출력할 데이터를..
-
5. AOP개발자 수업/Spring 2021. 12. 29. 19:14
1. 관점 지향 프로그래밍의 등장 1) 주기능인 회원 등급 구현시 로깅 기능, 보안 기능, 트랜잭션 기능 등의 보조기능을 일일이 구현해야 함 2) 규모가 있는 웹 애플리케이션일 경우 이런 작업을 수작업으로 하기에는 소스코드 복잡해짐 유지관리에 문제가 생길 수 있음 -> AOP(Aspect Oriented Programming)를 이용해 주기능과 보조기능을 분리해서 메서드에 적용함 2. 핵심기능과 부가기능 1) 업무(Biz)로직을 포함하는 기능을 핵심 기능(Core Concerns) 2) 핵심기능을 도와주는 부가적인 기능(로깅, 보안 등)을 부가기능(Cross-cutting Concerns) 3) 객체지향의 기본 원칙을 적용하여도 핵심기능에 부가기능을 분리해서 모듈화하긴 어려움 3. AOP 개요 1) 애플..
-
4. IoC와 DI개발자 수업/Spring 2021. 12. 29. 19:07
1. IoC (Inversion of Container) 개념 1) 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 의미 2) 디자인 패턴에 해당 2. IoC 컨테이너 1) 스프링 프레임워크도 객체에 대한 생성 및 생명주기를 관리 기능 제공 2) IoC 컨테이너 기능 제공 - 객체 생성, 의존성 관리 - POJO의 생성, 초기화, 서비스, 소멸에 대한 권한 - 개발자들이 객체 생성을 컨테이너에게 맡김 3. IoC 분류 1) DL (Dependency Lookup) : 의존성 검색 2) DI : 의존성 주입 (각 클래스간 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것) - Setter Injection - Setter 메서드를 이용한 의존성 삽입 - Const..
-
3. 스프링 의존성 주입개발자 수업/Spring 2021. 12. 29. 09:58
1. 의존성 주입 1) 개발자가 직접 코딩을 통해 컴포넌트(클래스)에 부여하는 것이 아니라 컨테이너가 연관 관계를 직접 규정하는 것 2) 각 클래스들의 변경이 자유로워짐 (loosely coupled, 약한 결합) 3) 예 - 쇼핑몰 - 상품 관리, 주문 관리, 회원 관리, 게시판 관리 등 구성됨 - 서로 관련있는 기능들은 강하게 결합(tightly coupled)하고, 관련이 없는 기능들은 약하게 결합(loosely coupled)해야 좋은 프로그램임 2. 의존성 주입 장점 1) 코드를 단순화할 수 있음 2) 애플리케이션 더 쉽게 유지 및 관리 가능 3) 기존 구현 방법은 개발자가 직접 코드 안에서 객체의 생성과 소멸을 제어했지만 의존성 주입은 객체의 생성, 소멸과 객체 간의 의존 관계를 컨테이너가 제..