spring-god-study / spring-basic

김영한님 스프링 기본 강의를 듣고 서로 인증하고 힘을 내며 잇쌰잇쌰하는 프로젝트
0 stars 3 forks source link

2021.07.12 (월) 인증 #3

Open kyupid opened 3 years ago

kyupid commented 3 years ago

코멘트로 인증 후에 본인 닉네임에 ✅부탁드리겠습니다! 리드미에 눈으로 확인할 수 있도록 진행상황 업데이트할게요😆

arangeblue commented 3 years ago

20210712 (스린이) 핵심원리 기본편 강의

섹션 5. 싱글톤 컨테이너 완료

요약

dnjsrud3407 commented 3 years ago

낑깡 강의명 : 스프링 핵심 원리 - 기본편 수강 회차 : 객체 지향 설계와 스프링

요약

char-yb commented 3 years ago

uiurihappy 강의명 : 스프링 핵심 원리 - 기본편 오늘 강의: 스프링 핵심 원리 이해2 - 객체 지향 원리 적용

  1. 새로운 할인 정책을 개발하고 할인 정책의 SOLID 원칙을 이해하면서 문제점 고찰

    • 클래스의 의존관계를 분석하여 OCP, DIP 위반 사항 체크
  2. 관심사의 분리

    • AppConfig로 구현 객체를 생성하고 연결하는 별도의 클래스 작성
    • 객체 인스턴스의 참조를 생성자를 통해서 연결한다.
    • 기존 psvm에 AppConfig 클래스로 연결하여 실행
    • 중복을 제거하도록 리팩토링 수행
    • 구성 영역에는 AppConfig, 남은 할인 클래스가 사용영역이 된다.
  3. IoC, DI, 컨테이너

    • 프로그램에 대한 제어 흐름에 대한 권한은 모두 AppConfig가 가지고 있게 한다.
    • 의존관계는 정적인 클래스 의존 관계와, 실행 시점에 결정되는 동적인 객체(인스턴스) 의존 관계 둘을 분리해서 생각.
    • 애플리케이션 실행 시점(런타임)에 외부에서 실제 구현 객체를 생성하고 클라이언트에 전달해서 클라이언트와 서버의 실제 의존관계가 연결 되는 것을 "의존관계 주입"
hokyung-lee commented 3 years ago

2021.7.12 스프링 핵심 원리 기본편

첫 시작이라 가볍게 들었습니다. 평일은 출퇴근 시간에 주로 들어서 정리를 크게 하긴 어려울 것 같아 정리는 주말에 한 주간 공부한 것들 정리 예정입니다.

dowon-ahn commented 3 years ago

IP / TCP, UDP / PORT / DNS 정리

인터넷 통신을 위해서, Internet Protocol이 필요하다. IP란 서버의 주소를 일련의 규칙을 가지고 만들어진다. (IPV4, IPV6)

IP로 패킷단위로 데이터를 전송하는데, 데이터의 순서와 PORT 등 여러 정보가 부족하기 때문에 문제가 발생한다. IP 패킷정보 (출발지 IP / 목적지 IP / 기타 ..)

비연결성 : 패킷이 받을 대상이 없어도 패킷을 전송 비신뢰성 : 중간에 패킷이 유실되었는지 확인 불가 패킷이 순서대로 온다는 보장이 없음. 어플리케이션 구분 : 같은 IP를 사용하는 서버에서 어플레케이션이 둘 이상이면 구분이 안됨. (PORT 정보를 기입하지 않기 때문)

이를 해결하기 위해 TCP를 사용한다. TCP = IP + PORT + 전송제어 + 순서 + 검증정보 UDP = IP + PORT

PORT는 같은 IP 내에서 패킷을 받는 어플리케이션을 구분하기 위해 사용한다.

DNS - 서버의 이름을 도메인으로 치환한 것.

kyupid commented 3 years ago

2021.07.12 스프링 핵심 원리 기본편

옛날 옛적에 EJB(대충 스프링이랑 JPA를 합쳐놓은듯한 기술?) 라는 어마무시한게 있었는데 2002년 당시 스프링의 기반 기술을 만든 로드 존슨이 EJB 없이 고품질의 확장가능한 어플리케이션이 개발가능함을 보여주었고 30,000라인 이상의 기반 기술을 책으로 예제 코드를 보여줌, 책 출간 이후에 많은 사람들이 예제코드를 프로젝트에 적용하기도하며 유겐휠러, 얀 카로프가 로드존슨에게 오픈소스 프로젝트를 제안하고 스프링 회사를 차리고 지금까지 으쌰으쌰중.

dowon-ahn commented 3 years ago

URI / URL / URN 정리

URL(Resource Locator)

Uniform : 리소스 식별하는 통일된 방식 Resource : 자원, URI로 식별할 수 있는 모든 것 (HTML을 포함한 모든 구분할 수 있는 데이터) Identifier : 식별자

URL : Locator : 리소스가 있는 위치를 지정 URN : Name : 리소스에 이름을 부여 위치는 변할 수 있지만, 이름은 변하지 않는다.

URI가 URL을 포함하는 개념이지만, 일반적으로 URL과 URI는 같은 의미로 쓰임.

Scheme://[userinfo@]host[:port][/path][?query][#fragment]

cxz5309 commented 3 years ago

스프링 핵심 원리 - 기본편

1. 객체 지향 설계와 스프링

스프링이란?

스프링의 기술들

spring.io -> project -> overview 로 다양한 스프링 프로젝트를 확인 가능하다.

그래서 스프링이란?

  1. 스프링 DI 컨테이너 기술
  2. 스프링 프레임워크
  3. 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계(일반적)

스프링 핵심 개념

kimminju commented 3 years ago

오늘 저는 야간작업 대기 중에 듣는 거라 1강만 정리할게요 ㅎ 2021.07.12 월 1강 이야기 - 자바 진영의 추운 겨울과 스프링의 탄생

  1. EJB(Enterprise JavaBeans) 1) 장점
    • 별도 서버 분산기술
    • 컨테이너 기술, 설정에 의한 트랜잭션관리
    • 엔티티빈(Entity Bean)이라는 ORM 기술을 갖고 있음 2) 단점
      • 비쌈
      • 어렵고 복잡하다
      • 느리고 지저분하다
      • EJB 인터페이스에 의존적으로 설계가 필요
      • Entity Bean은 기술이 낮다
  2. ORM(Object Relational Mapping) 1) JPA 2) 쿼리를 안쓰고 JAVA 객체를 편하게 DB에 저장하고 꺼내는 기술
  3. POJO(Plain Old Java Object) 1) 오래된 방식에 간단한 JAVA OBJECT로 돌아가자
  4. EJB를 탈출하자 1) 스프링
    • 개발자 : Rod Johnson(로드 존슨)
    • EJB 컨테이너 대체
    • 단순함의 승리
    • 현재 사실상 표준 기술 2) Hibernate
    • 개발자 : Gavin King(개빈 킹)
    • EJB 엔티티빈 기술을 대체
    • JPA(Java Persistence API) 새로운 표준 정의 3) JPA(Java Persistence API)
    • 오픈 소스
    • EJB 엔티티빈 -> 등장 -> 하이버네이트 -> 자바표준 -> JPA
    • JPA 구현체들(하이버네이트, EclipseLink, 기타)
  5. 스프링 역사 1) EJB 문제점 지적(로드존슨 책 출간) -> EJB 없이 고품질, 확장가능한 애플리케이션 개발 할 수있음을 보여줌 2) 30,000라인 이상의 기반기술 예제코드 선보임 3) BeanFactory, ApplicationContext, POJO, 제어의 역전, 의존관계주입 4) Juergen Hoeller(유겐힐러), Yann Caroff(얀카르프) -> 로드존슨에게 프로젝트 제안 5) 스프링 핵심코드 상당수 유겐휠러가 개발 6) 스프링 이름 : 전통적인 J2EE(EJB)라는 겨울을 넘어 새로운 시작 7) 2014년 스프링 부트 1.0 출시 2017년 스프링 프레임워크 5.0 , 스프링 부트 2.0 출시 -리액티브 프로그래밍 지원(비동기 논블로킹기술지원)
sablemarten commented 3 years ago

sablemarten(검은담비)

스프링 핵심 원리 - 기본편

스프링이란?