일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SWEA
- Flutter
- php 프로그래밍 입문
- JAVA SPRING
- 자바
- php 프로그래밍
- 배열
- php 프로그래밍 입문 연습문제
- 한정 분기
- 자바 스프링
- php
- C
- spring
- 플러터 개발환경 설정
- C언어
- 백준
- Java
- 스프링
- php 프로그래밍 입문 솔루션
- 파이썬
- php 프로그래밍 입문 문제풀이
- 최단 경로
- 페이코 추천인
- php 프로그래밍 입문 3판
- 페이코 초대코드
- 페이코 추천인코드
- programmers
- php 프로그래밍 입문 예제
- 페이코 친구코드
- 플러터
- Today
- Total
목록spring (67)
ImJay
[Java Spring] 2-11. 회원 도메인 실행과 테스트 1. 앞서 클래스 다이어그램은 정적이고, 객체 다이어그램은 동적이라고 설명한 바 있다. 2. 이전 시간 클래스 다이어그램을 바탕으로 프로그램을 작성하였다. 이번에는 실행과 테스트로 객체 다이어그램에 대한 프로그램을 제작해보자. 3. hello.core 패키지 내에 MemberApp 클래스 생성 4. 코드 작성 package hello.core; import hello.core.member.Grade; import hello.core.member.Member; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; public class MemberA..
[Java Spring] 2-10. 회원 도메인 개발 1. java/hello/core 에 member 패키지 생성 2. member 패키지에 Grade enum 생성 3. 코드 작성 package hello.core.member; public enum Grade { BASIC, VIP } - 회원 등급은 일반 회원, VIP 회원으로 나뉜다고 조건에서 정했다. 4. member 패키지에 Member class 생성 5. 코드 작성 package hello.core.member; public class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade..
[Java Spring] 2-9. 회원 도메인 설계 1. 회원 도메인 요구사항 - 회원을 가입하고 조회할 수 있다. - 회원은 일반과 VIP 두 가지 등급이 있다. - 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정) 2. 회원 도메인 협력 관계 - 도메인 협력 관계는 기획자들도 볼 수 있는 그림이다. 3. 회원 클래스 다이어그램 - 클래스 다이어그램은 도메인 협력 관계를 바탕으로 개발자들이 구체화한 그림이다. - 클래스 다이어그램은 실제 서버를 실행하지 않고, 클래스들만 분석해서 볼 수 있는 그림이다. 4. 회원 객체 다이어그램 - 클래스 다이어그램에서 MemoryMemberRepository 가 들어갈지, DbMemberRepository 가 들어갈지 동적으로 결..
[Java Spring] 2-8. 비즈니스 요구사항과 설계 1. 회원 - 회원을 가입하고 조회할 수 있다. - 회원은 일반과 VIP 두 가지 등급이 있다. - 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정) 2. 주문과 할인 - 정책 회원은 상품을 주문할 수 있다. - 회원 등급에 따라 할인 정책을 적용할 수 있다. - 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. (나중에 변경 될 수 있다.) - 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶다. 최악의 경우 할인을 적용하지 않을 수 도 있다. (미확정) 3. 요구사항을 보면 회원 데이터, 할인 정책 같은 부분은 지..
[Java Spring] 2-7. 프로젝트 생성 1. 사전 준비물 - Java 17 설치 - IDE: IntelliJ 또는 Eclipse 설치 2. 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 - Spring Boot 버전과 Java 버전은 자신에게 맞는 걸로 선택 - 3.0.2 버전은 자바 17부터 호환 가능 세팅 완료 후 GENERATE 버튼 클릭 3. 본인의 작업공간에 압축해제 4. IntelliJ 실행 후 해당 프로젝트 열기 5. 실행하여 정상적으로 생성되었는지 확인 6. IntelliJ 설정에서 Gradle 검색 후 빌드, 테스트를 IntelliJ 로 설정해준다. (프로젝트 생성시 항상 해줄 것)
[Java Spring] 2-6. 객체 지향 설계와 스프링 1. 스프링 이야기에 왜 객체 지향 이야기가 나오는가? - 스프링은 다음 기술로 다형성 + OCP, DIP를 가능하게 지원 - DI(Dependency Injection): 의존관계, 의존성 주입 - DI 컨테이너 제공 - 클라이언트 코드의 변경 없이 기능 확장 - 쉽게 부품을 교체하듯이 개발 2. 스프링이 없던 시절로 - 옛날 어떤 개발자가 좋은 객체 지향 개발을 하려고 OCP, DIP 원칙을 지키면서 개발을 해 보니, 너무 할일이 많았다. 배보다 배꼽이 크다. 그래서 프레임워크로 만들어버림. - 순수하게 자바로 OCP, DIP 원칙들을 지키면서 개발을 해보면, 결국 스프링 프레임워크를 만들게 된다. (더 정확히는 DI 컨테이너) - DI 개념..
[Java Spring] 2-5. 좋은 객체 지향 설계의 5가지 원칙(SOLID) 1. SOLID : 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리 - SRP: 단일 책임 원칙(single responsibility principle) - OCP: 개방-폐쇄 원칙 (Open/closed principle) - LSP: 리스코프 치환 원칙 (Liskov substitution principle) - ISP: 인터페이스 분리 원칙 (Interface segregation principle) - DIP: 의존관계 역전 원칙 (Dependency inversion principle) 2. SRP: 단일 책임 원칙(single responsibility principle) - 한 클래..
[Java Spring] 2-4. 좋은 객체 지향 프로그래밍이란? 1. 객체 지향 프로그래밍 - 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. (협력) - 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 2. 유연하고, 변경이 용이? - 컴퓨터 부품 갈아 끼우듯이 컴포넌트를 쉽고 유연하게 변경하면서 개발할 수 있는 방법 3. 다형성(Polymorphism)의 실세계 비유 - 역할과 구현으로 세상을 구분 - 자동차가 바뀌어도 운전자는 운전을 할 수 있다. 내가 차를 K3에서..
[Java Spring] 2-3. 스프링이란? 1. 스프링 생태계 2. 스프링 프레임워크 - 핵심 기술, 웹 기술, 데이터 접근 기술, 기술 통합, 테스트, 언어 3. 스프링 부트 - 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용 4. 스프링이라는 단어는 문맥에 따라 다르게 사용된다. - 스프링 DI 컨테이너 기술 - 스프링 프레임워크 - 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계 5. 스프링은 왜 만들었을까? - 스프링은 자바 언어 기반의 프레임워크 - 자바 언어의 가장 큰 특징 : 객체 지향 언어 - 스프링은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크 - 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크
[Java Spring] 2-2. 자바 진영의 추운 겨울과 스프링의 탄생 1. 2000년대 초반 자바 진영에서는 EJB 가 표준 기술이었다. 2. 그러나 비싸고, 어렵고, 느리고, 복잡하다. 3. 그렇게 탄생한게 스프링과 하이버네이트. 4. 이는 나중에 JPA 표준 인터페이스에 합쳐진다. 5. 스프링은 EJB의 문제점을 지적하면서 시작하였고, 이름은 전통적인 J2EE(EJB)라는 겨울을 넘어 새로운 시작이라는 뜻으로 짓게 되었다. 6. 왜 로드 존슨이 스프링을 만들었을까, 얼마나 매력적이었길래 오픈소스화 했을까? 강의를 진행하면서 깨우쳐보자.