목록개념정리 (17)
밍쎄의 코딩공간
[인공지능과 머신러닝 그리고 딥러닝]- 기본적으로 3가지는 포함 관계에 있다. (인공지능 > 머신러닝 > 딥러닝) # 인공지능: 인공지능 (AI, Artificial Intelligence)은 인공적으로 지능을 만든 것✔️ HOW? 점진적인 학습 알고리즘을 통해 스스로를 개선하여 데이터가 프로그래밍을 수행하도록 지원✔️ WHY? 왜 인공지능을 사용하려고 할까? ➡️ (사람이 직접 규칙을 정해줌) : 여러번 데이터를 통해 규칙을 도출하여, 새로운 데이터에 대해서도 자동화/최적화 하기위해 # 머신러닝: 머신러닝 (ML. Machine Learning)은 기계가 인간의 개입없이 스스로 학습하는 기술✔️ HOW? 데이터와 정답을 지속적으로 전달하여 스스로 원..
단순하게 가닥을 잡아본 것. 1. 엔티티 클래스 생성 import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import java.time.LocalDate; @Entity public class Dividend { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String companyName; private LocalDate dividendDate; private double amount; // gette..
간략하게 정리해본 계좌(Account)만들기 1. 프로젝트 생성 및 의존성 추가: 스프링 부트 프로젝트를 생성합니다. Spring Initializr (https://start.spring.io/)를 사용하거나 스프링 부트 CLI를 이용할 수 있습니다. 프로젝트 설정에서 사용할 언어, 빌드 도구, 의존성 등을 선택합니다. 계좌 생성에는 Spring Web과 Spring Data JPA 등의 의존성이 필요합니다. 이를 pom.xml (Maven) 또는 build.gradle (Gradle) 파일에 추가합니다. 2. 데이터베이스 모델의 정의 : Account라는 이름의 클래스를 생성하여 계좌 정보를 표현하는 모델 클래스를 만듭니다.데이터베이스 모델 정의: @Entity public class Account ..
MemberService public interface MemberService { Member findById(MemberId id); Member findByEmail(Email email); void changePassword(PasswordDto.ChangeRequest dto); Member updateName(MemberId id, Name name); } 위 와 같은 인터페이스는 좋은 구조라고 생각지 않습니다. 우선 인터페이스를 두어서 얻는 이점은 세부 구현체를 숨기고 인터페이스를 바라보게 함으로써 클래스 간의 의존관계를 줄이는 것, 다형성을 사용 하는 것 이 핵심이라고 생각합니다. 조금 더 쉽게 정리하면 하나의 인터페이스를 구현하는 여러 구현체가 있고 기능에 따라 적절한 구현체가 들어가서 ..

싱글톤 컨테이너 웹 애플리케이션과 싱글톤 @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new AppConfig(); MemberService memberService1 = appConfig.memberService(); MemberService memberService2 = appConfig.memberService(); System.out.println("memberService1 = " + memberService1); System.out.println("memberService2 = " + memberService2); Assertions.assertThat(memberService1).is..

스프링 부트란? 스프링을 편리하게 사용할 수 있도록 지원하는 프레임워크입니다. 이 툴을 사용하면서 제가 와닿는 강점은 아래와 같습니다. 그렇다면 스프링의 핵심 개념은 무엇일까요? 본질적으로 스프링은 자바 언어 기반의 프레임워크입니다. 따라서 객체 지향이라는 강력한 특징을 살려낼 수 있는, 즉 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 역할을 해줍니다. 객체 지향의 특징 이어서 객체 지향이 어떤 특징을 갖고 있는지 알아보면서, 이를 스프링에서는 어떻게 지원하는지 확인해보겠습니다. 객체 지향 프로그래밍의 의미는 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위인 객체들의 모임으로 파악하고자 하는 것입니다. 각각의 객체는 메세지를 주고받고, 데이터를 처리할 수 있습니..