JVM

    좋은 객체 지향의 5가지 원칙 SOLID

    ※ 본문은 김영한 선생님의 인프런 '스프링 핵심 원리 - 기본편' 강의를 듣고 정리한 내용임을 알립니다. ▶ SRP 단일 책임 원칙 한 클래스에 하나의 책임만 '하나'의 책임이 모호할 수 있음 (클 수도 있고 작을 수도 있고, 문맥과 상황에 따라 다름) 중요한 기준은 변경 → 변경이 있을 때 파급 효과가 적다면 SRP를 잘 따른 것 ▶ OCP 개방-폐쇄 원칙 소프트웨어 요소는 확장에는 열려있지만 변경에는 닫혀 있어야 함 확장을 하려면 기존 코드를 변경해야 한다는 의문이 생길 수 있음 → 다형성을 활용하여 인터페이스를 구현한 새로운 클래스를 만들어서 새로운 기능을 구현하는 방식을 활용해야 함 ▶ LSP 리스코프 치환 원칙 프로그램의 객체는 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바뀔 수 있어야 ..

    Spring이란 무엇인가

    ※ 본문은 김영한 선생님의 인프런 '스프링 핵심 원리 - 기본편' 강의를 듣고 정리한 내용임을 알립니다. ▶ Spring의 간략한 탄생 배경 옛날에는 EJB(Enterprise Java Beans)를 활용하여 개발을 진행하였으나 무척 까다로운 방법이었음 2002년, Rod Johnson이 EJB의 문제점을 지적하며 약 30,000 라인의 기반 기술을 예제 코드로 선보임 책 출간 직후 Juergen Hoeller, Yann Caroff가 Rod Johnson에게 오픈소스 프로젝트 제안 EJB라는 겨울을 넘어 새로운 시작이라는 뜻으로 'Spring'이라는 이름을 지었음 스프링의 핵심 코드의 상당수는 유겐 휠러가 지금도 개발 중 지금 시대에 자바 기술을 사용할 때 스프링과 JPA가 가장 큰 메인 기술로 자리잡..

    김영한 선생님의 스프링 입문 강의를 공부하고서

    ※ 블로그를 운영해본 적이 없고 웹 개발에 대한 능력도 아직 초보적인 수준이라 본문의 내용이 미흡하거나 두서 없을 수 있다는 점 미리 양해 부탁드립니다. ※ 본문은 김영한 선생님의 인프런 '스프링 입문' 강의를 듣고 정리한 내용임을 알립니다. ◈ 공부한 내용 정리 1. 프로젝트 환경설정 https://start.spring.io → 스프링 프로젝트를 간단하게 만들 수 있도록 도와줌 Maven 보다는 Gradle 스프링은 톰캣이라는 웹 서버를 내장하고 있음 어플리케이션 실행 방식은 gradle 실행보다는 intelliJ 실행 (settings에서 gradle 검색 후 변경할 것) 스프링 부트 2.4부터는 application.properties에 'spring.datasource.username=sa'를 ..