반응형 객체지향7 토비의 스프링 Vol.1 8장 스프링이란 무엇인가 8.1 스프링이란 무엇인가? 스프링에 대해 가장 잘 알려진 정의는 '자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크'다. 이 문장을 풀어서 살펴보자. 애플리케이션 프레임워크 경량급 자바 엔터프라이즈 개발을 편하게 오픈소스 애플리케이션 프레임워크는 특정 계층이나, 기술, 업무 분야에 국한되지 않고 애플리케이션의 전 영역을 포괄하는 범용적인 프레임워크를 말한다. 애플리케이션 프레임워크는 애플리케이션 개발의 전 과정을 빠르고 편리하며 효율적으로 진행하는데 일차적인 목표를 두는 프레임워크다. 경량급 스프링이 가볍다는 건 기술수준이 가볍다거나, 스프링이 유치하고 용도가 제한적이라는 의미가 아니다. 불필요하게 무겁지 않고 가볍고 단순한 환경에서도 엔터프라이즈 개발의 고급 기술을 대부분.. 독서/토비의 스프링 2023. 2. 21. 토비의 스프링 Vol.1 2장 테스트 2장은 테스트에 관련된 내용입니다. 실습은 아래에서 확인할 수 있습니다. https://github.com/happysubin/book-study/commit/d31fcf6587d719e39cb28e62abc7ff7634b7c179 Feat: 토비의 스프링 2장 학습 마무리 · happysubin/book-study@d31fcf6 Show file tree Showing 4 changed files with 127 additions and 33 deletions. github.com 스프링이 제공하는 가장 중요한 가치는 객체지향과 테스트다. 이번 2장에서는 스프링이 제공하는 가장 중요한 가치 중 하나인 테스트에 대해 살펴본다. 애플리케이션은 요구사항이 들어오면서 변하고 복잡해진다. 테스트 코드를 잘 작성.. 독서/토비의 스프링 2023. 2. 14. 우아한 객체지향 정리 이번에는 유튜브에서 조영호님이 발표하신 강의 우아한 객체지향을 정리해보려고 합니다. 객체지향과 해당 예제에 관심이 많아서..ㅎㅎ 영상 링크와 발표 깃허브 링크는 포스팅 맨 아래에 있습니다. 1. 의존성 1.1 설계란 코드를 어떻게 배치할 것인가. 즉 어떤 클래스에 어떤 코드가 들어가고, 어떤 패키지에 어떤 클래스가 들어갈 것인지, 프로젝트에 어떤 코드를 작성할 것인가에 대한 내용이 설계다. 설계의 핵심은 바로 변경에 초점을 맞추는 것이다. 같이 변경되는 것들을 같이 넣어야 한다. 같이 변경되지 않는 것들은 따로 넣어야 한다. 1.2 의존성이란 의존성이 있다는 것은 B가 변경되면 A도 같이 변경될 수 있다는 의미다. 중요한 부분은 변경될 수 있다는 점이다. 위 그림의 예시처럼 A가 B에 의존하고 B가 변경.. 기록 및 회고 2022. 9. 14. 객체지향의 사실과 오해 1 ~ 4장 현재 필자는 자바지기 박재성님이 운영하시는 NextStep 교육 웹사이트에서 수강한 자바 플레이 그라운드 with TDD, 클린코드 마지막 블랙잭 미션을 진행하고 있다. 미션을 해결하기 위해 도메인을 설계하고 있는데, 생각보다 많이 어렵다. 특히 인스턴스 변수 2개까지만 사용하라는 요구사항이 너무 어렵게 느껴져, 객체지향에 관한 보충 공부가 필요하다고 느껴졌다. 그래서 몇 달 전에 읽은 객체지향의 사실과 오해(줄여서 객사오라고 부르겠다)를 다시 읽었다. 이번 포스팅은 객사오 1장부터 4장까지 다시 읽으면서 기억하고 싶은 중요한 부분을 남기려고 한다. 그럼 바로 시작하겠다. 1장. 협력하는 객체들의 공동체 객체지향은 현실 세계를 모방하는 것이 아니다. 새로운 세계를 창조하는 것이다. 여러 객체가 동일한 역.. 독서/객체지향의 사실과 오해 2022. 8. 16. NextStep 자바 플레이 그라운드 with TDD, 클린코드 part 2 자바지기 박재성님이 운영하시는 NextStep 교육 웹사이트에서 수강한 자바 플레이 그라운드 with TDD, 클린코드에 대한 공부 기록을 남기려고 합니다. 이번 포스팅은 TDD를 사용해 자동차 경주 게임 구현 미션에 관한 포스팅입니다. 강의를 통해 느낀 점 (피드백을 보기 전) 우선 해당 단원에서 제시한 프로그래밍 요구사항은 다음과 같다. 자바 코드 컨벤션을 지키면서 프로그래밍한다. 기본적으로 Google Java Style Guide을 원칙으로 한다. 단, 들여쓰기는 '2 spaces'가 아닌 '4 spaces'로 한다. indent(인덴트, 들여쓰기) depth를 3이 넘지 않도록 구현한다. 2까지만 허용한다. 예를 들어 while문 안에 if문이 있으면 들여쓰기는 2이다. 힌트: indent(인덴.. 프로젝트 2022. 7. 31. 토비의 스프링 Vol.1 1장 오브젝트와 의존관계 2023.02.13 복습 및 정리 실습 레포는 아래와 같습니다. https://github.com/happysubin/book-study/tree/main/%ED%86%A0%EB%B9%84%EC%9D%98%20%EC%8A%A4%ED%94%84%EB%A7%81 이번 포스팅은 토비의 스프링 3.1 1장에 관한 학습 기록입니다. 1장 도입부 자바는 객체지향 언어다. 우리가 학습하는 스프링은 자바를 기반으로 한 프레임워크다. 자바를 기반으로 만들어진 기술, 스프링이 제일 중요하게 여기는 핵심 가치는 바로 객체지향적인 프로그래밍이다. 그러므로 스프링은 오브젝트(객체)에 제일 관심을 많이 둔다. 오브젝트 간의 관계에 집중하며, 라이프 사이클에 집중한다. 더 나아가서는 오브젝트 설계, 어떤 단위로 만들어지는지까지 관.. 독서/토비의 스프링 2022. 7. 21. JPA 2023. 02.07 09:00 복습 시작 JPA란 무엇인가? JPA는 자바 진영의 ORM 기술 표준이다. 그럼 ORM이란 무엇인가? ORM은 Object-Relational Mapping의 줄임말이다. 이름 그대로 객체와 관계형 데이터베이스를 매핑하는 것이다. 즉 SQL을 직접 짜지 않고 자바 코드로 편하게 객체를 ORM 프레임워크에 저장하면 데이터베이스에 저장할 수 있다. 예전에 Express와 Prisma를 다루어본 적이 있어서 쉽게 이해가 갔다. JPA에 대해 간단히 알아보았다. 그럼 더 중요한 궁금증이 남아있다. 우리는 왜 JPA, 즉 ORM을 사용할까? 웹 서비스를 운영하려면 고객 데이터도 저장하고 서비스 데이터도 저장해야 하고 또 이 데이터들을 사용해야 한다. 그러면 데이터를 저장하고 꺼내오.. 개발/JPA 2022. 2. 22. 이전 1 다음 반응형