spring/스프링 핵심 원리 강의 내용 정리
-
좋은 객체 지향 설계의 5가지 원칙(SOLID)spring/스프링 핵심 원리 강의 내용 정리 2023. 12. 5. 18:01
클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리 - SRP : 단일 책임 원칙 - OCP : 개방-폐쇄 원칙 - LSP : 리스코프 치환 원칙 - ISP : 인터페이스 분리 원칙 - DIP : 의존관계 역전 원칙 SRP 단일 책임 원칙 Single responsibility principle - 한 클래스는 하나의 책임만 가져야 한다 - 하나의 책임이라는 것은 모호하다 - 클 수 있고, 작을 수 있다 - 문맥과 상황에 따라 다르다 - 중요한 기준은 변경이다. 변경이 있을 때 파급이 적으면 단일 책임 원칙을 잘 따른 것 - 예) UI 변경, 객체의 생성과 사용을 분리 OCP 개방-폐쇄 원칙 Open/closed principle - 소프트웨어 요소는 확장에는 열려 있으나, 변경에..
-
좋은 객체 지향이란spring/스프링 핵심 원리 강의 내용 정리 2023. 12. 5. 18:00
좋은 객체 지향이란? 객체 지향 특징 - 추상화 - 캡슐화 - 상속 - 다형성 객지 지향 프로그래밍 - 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지 를 주고받고, 데이터를 처리할 수 있다. (협력) - 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프 트웨어 개발에 많이 사용된다. 다형성 - 레고 블럭 조립하듯이 - 키보드 마우스 갈아 끼우듯이 - 컴퓨터 부품 갈아 끼우듯이 - 컴포넌트를 쉽고 유연하게 변경하면서 개발할 수 있는 방법 예를들면, 운전자와 자동차가 있다 자동차 역할에는 어떤 차종이 와도 운전자 - 자동차의 관계는 변하지 않는..
-
스프링이란spring/스프링 핵심 원리 강의 내용 정리 2023. 12. 5. 17:58
스프링이란? 스프링은 여러 기술들의 모음이다 필수 - 스프링 프레임워크, 스프링 부트 선택 - 스프링 데이터, 스프링 세션, 스프링 시큐리티, 스프링 Rest Docs, 스프링 배치, 스프링 클라우드 그외에도 많은 기술이 있다. spring.io - Project - Overview 에 들어가면 볼 수 있다 핵심은 스프링 프레임워크이며, 이 모든 기술들을 편하게 사용할 수 있도록 도와주는게 스프링 부트이다 스프링 프레임워크 - 핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트, 기타 - 웹 기술 : 스프링 MVC, 스프링 WebFlux - 데이터 접근 기술 : 트랜잭션, JDBC, ORM 지원, XML 지원 - 기술 통합 : 캐시, 이메일, 원격접근, 스케줄링 - 테스트 : 스프링 기반 테스트 지원 ..
-
스프링 탄생 배경spring/스프링 핵심 원리 강의 내용 정리 2023. 12. 5. 17:57
스프링의 핵심 가치는 객체지향 프로그래밍에 있다 이해하기가 어려운 이유도 이와 같다 백엔드 개발자로 성장하려면 이런 스프링의 핵심 가치와 원리를 이해할 필요가 있다 스프링이 없던 시절부터 왜 등장하게 되었는지까지 알아보자 스프링 탄생 배경 EJB라는 자바의 표준 기술이 있었다 그 당시에는 오픈소스 같은 것은 사파의 기술로 불렸다 스프링 + jpa 같은 종합 선물 세트였다 금융권 같은 곳에서 굉장히 많이 사용했다 이론은 좋았지만... 비싸고, 느리고, 복잡했다 그러한 고통 속에서 개발자들은, 순수한 자바로 돌아가자는 의견을 내게 된다 그래서 나오게 된 기술이 POJO 라는 말 까지 나왔다 오래된 방식의 자바 오브젝트를 쓰자 라는 뜻이다 그러던 중 두명의 개발자가 나왔다 두 개발자가 각각 (미래의)스프링, ..