일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- 부트캠프
- 백엔드
- UXUIPrimary
- 디자인교육
- 환급챌린지
- 객체지향
- OPENPATH
- 내일배움카드
- 오픈패스
- 패스트캠퍼스
- 오블완
- UXUI기초정복
- 내일배움캠프
- 국비지원교육
- 백엔드 부트캠프
- KDT
- mysql
- Spring
- 오픈챌린지
- Be
- 백엔드개발자
- 디자인강의
- 국비지원취업
- 국비지원
- baekjoon
- 티스토리챌린지
- 디자인챌린지
- Java
- UXUI챌린지
- Today
- Total
목록프로그래밍/Java (13)
군만두의 IT 공부 일지
목차7장. 스프링 부트와 스프링 MVC 이해 이 장에서 다룰 내용- 첫 번째 웹 앱 구현하기- 스프링 부트를 사용한 스프링 앱 개발하기- 스프링 MVC 아키텍처 이해하기7.1 웹 앱이란웹 앱: 웹 브라우저로 접속하는 모든 앱7.1.1 웹 앱에 대한 일반적인 개요웹 앱클라이언트 측(the client side): 사용자가 직접 상호 작용하는 부분. 웹 브라우저는 웹 서버에 요청을 보내고, 서버에서 응답을 수신하며, 사용자가 앱과 상호 작용할 수 있는 방법을 제공한다. 웹 앱에서는 프런트엔드(frontend)라고도 한다.서버 측(the server side): 클라이언트에서 요청을 수신하고 응답에 데이터를 회신한다. 응답을 보내기 전에 클라이언트가 요청한 데이터를 처리하고, 저장하는 로직을 구현한다. 웹 앱..
목차5장. 스프링 컨텍스트: 빈의 스코프 및 수명 주기이 장에서 다룰 내용- 싱글톤 빈 스코프 사용하기- 싱글톤 빈을 위한 즉시 및 지연 인스턴스 생성하기- 프로토타입 빈 스코프스코프(scope): 스프링에서 빈을 생성하고 수명 주기를 관리하는 방식싱글톤(singleton)프로토타입(prototype)5.1 싱글톤 빈 스코프 사용5.1.1 싱글톤 빈의 작동 방식싱글톤은 스프링에서 가장 많이 사용되는 기본 빈 스코프이다.스프링은 컨텍스트를 로드할 때 싱글톤 빈을 생성하고 빈에 이름(빈 ID)을 할당한다. 특정 빈을 참조할 때 항상 동일한 인스턴스를 얻기 때문에 이 스코프를 싱글톤이라고 한다.스프링 컨텍스트에서 이름이 다른 경우 동일한 타입의 인스턴스를 더 많이 가질 수 있다. 스프링에서 싱글톤은 동일한 타..
목차4장. 스프링 컨텍스트: 추상화이 장에서 다룰 내용- 인터페이스를 사용하여 계약 정의하기- 스프링 컨텍스트에서 빈 추상화 사용하기- 추상화와 함께 의존성 주입 사용하기4.1 계약 정의를 위한 인터페이스 사용인터페이스: 자바에서 특정 책임을 선언하는 데 사용하는 추상 구조. '무엇이 발생해야 하는지(필요 대상)'를 지정.인터페이스를 구현하는 객체: '어떻게 그것이 발생해야 하는지(발생 방법)'를 지정.4.1.1 구현 분리를 위해 인터페이스 사용예시 1) 목적지로 이동하려고 우버(Uber) 같은 차량 공유 앱을 사용할 때,차량 공유 앱 = 인터페이스고객 = 이동을 요청함서비스를 제공할 수 있는 차를 가진 드라이버 = 고객 요청에 응할 수 있음고객과 드라이버는 앱(인터페이스)으로 분리되어 있어 서로에 대해..

목차 제목: 스프링 마스터 저자: 로렌티우 스필카, 정성권 번역 출판사: 길벗 가격: 33,000원 기초부터 탄탄하게 배워서 바로 쓰는 스프링 입문 '이것이 자바다' 스터디가 끝나고, 이번에는 스프링 스터디를 진행하려고 한다. 해당 용어에 대해 부족한 점이 많은 것 같아, 여러 책들을 분석한 결과 적절한 구성의 책을 선정하였다.2장. 스프링 컨텍스트: 빈 정의이 장에서 다룰 내용- 스프링 컨텍스트의 필요성 이해하기- 스프링 컨텍스트에 새로운 객체 인스턴스 추가하기컨텍스트: 프레임워크가 관리할 모든 객체 인스턴스를 추가하는 앱의 메모리 공간스프링이 객체를 볼 수 있게 하려면 컨텍스트에 객체를 추가해야 한다.객체 인스턴스를 빈(Bean)이라고 한다.2.1 메이븐 프로젝트 생성메이븐..
목차21장. 자바 21에서 강화된 언어 및 라이브러리21.6 가상 스레드가상(virtual) 스레드: 처리량이 높은 동시 애플리케이션을 개발할 때 사용할 수 있는 경량(lightweight) 스레드가상 스레드 개요지금까지는 서버 애플리케이션에서 사용자 요청을 동시에 처리(요청별 스레드)하기 위해 스레드풀링을 사용했다.풀링: 제한된 개수로 스레드를 운용하는 것14장에서 스레드풀링을 학습했다. 스레드풀에서 초당 200개의 요청을 동시에 처리할 때 10개의 스레드를 사용했다면, 초당 2000개의 요청을 동시에 처리하려면 스레드풀에는 100개의 스레드가 풀링되어야 한다.자바 17까지: 운영체제가 제공하는 플랫폼(platform) 스레드를 래핑했기 때문에 스레드와 플랫폼 스레드가 1:1로 매핑된다.플랫폼 스레드는..
목차17장. 스트림 요소 처리17.1 스트림이란?컬렉션 및 배열에 저장된 요소를 반복 처리하기 위해서는 for 문을 이용하거나 Iterator(반복자)를 이용했음.List list = ...;for(int i=0; iSet set = ...;Iterator iterator = set.iterator();while(iterator.hasNext()) { String item = iterator.next(); // 요소 처리}Java 8부터는 컬렉션 및 배열의 요소를 반복 처리하기 위해 스트림(Stream)을 사용할 수 있다.Stream stream = list.stream();Stream.forEach( item -> //item 처리 );List 컬렉션의 stream() 메소드로 Stre..

목차14장. 멀티 스레드14.6 스레드 동기화멀티 스레드는 하나의 객체를 공유해서 작업할 수 있다.하지만 다른 스레드에 의해 객체 내부 데이터가 쉽게 변경될 수 있기 때문에 의도했던 것과는 다른 결과가 나올 수 있다.위 사진에서 UserThread에 저장된 데이터가 날아간다.스레드가 사용 중인 객체를 다른 스레드가 변경할 수 없도록 스레드 작업이 끝날 때까지 객체에 잠금을 건다.객체 내부에 동기화(synchronized) 메소드와 블록이 여러 개 있다면 스레드가 이 중 하나를 실행할 때, 다른 스레드는 일반 메소드는 실행 가능하지만 해당 메소드와 다른 동기화 메소드 및 블록을 실행할 수 없다.동기화 메소드 및 블록 선언동기화 메소드를 선언하려면 synchronized 키워드를 인스턴스나 정적 메소드에 붙..
목차13장. 제네릭13.1 제네릭이란?Box 클래스에 넣을 내용물을 content 필드라고 선언하려고 할 때, 타입을 무엇으로 해야 할까?public class Box { public Object content;}Box box = new Box();box.content = 모든 객체;Box는 다양한 내용물을 저장해야 하므로 특정 클래스 타입으로 선언할 수 없기 때문에, Object 타입으로 선언한다. 모든 객체는 부모 타입인 Object로 자동 타입 변환이 되므로, content 필드에는 어떤 객체든 대입이 가능하다.Object 타입: 모든 클래스의 최상위 부모 클래스문제: Box 안의 내용물을 얻을 때, 어떤 객체가 대입되어 있는지 확실하지 않다. instanceof 연산자로 모든 종류의 클래스를..