전체 글

IT에 관심있는 사람들을 위한 블로그
Spring

Spring - Java (Method)

🌱 오늘의 주제 : Java (Method) 🌱 Method 클래스 안에만 작성해야한다. : 반복적인 행동을 줄여서 어디든 갖다쓸 수 있는 명령 모음이다.반복적인 행동을 하는 명령들에 이름을 붙여서 그 이름만 호출해서 사용해보자! method 기본형식 public (반환타입) 메소드명(파라미터) { //명령내용 return (반환값) } 재료 = 파라미터 (없을 수도 있음) 명령 = 실행코드 결과 = 반환값 (없을 수도 있음) 🌱 변수 변수는 "값을 담는 상자" 이다. 변수를 선언할 때는 (자료의 종류)(변수명)=(값)의 순서를 따른다 변수명은 일반적으로 1)영어, 2)소문자 시작, 3)구분은 대문자로 한다 자바는 항상 코드를 작성하고 제일 마지막에 세미콜론(;)을 넣는다.

Spring

Spring - MVC 패턴이란? (Model-View-Controller)

🌱 오늘의 주제 : MVC 패턴이란? (Model-View-Controller) 📲 모델 (Model) 데이터를 가진 객체를 모델이라고 지칭합니다. 데이터는 내부의 상태에 대한 정보를 가질 수도 있고, 모델을 표현하는 이름 속성으로 가질 수 있습니다. 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보합니다. 이와 같은 통보를 통해 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가, 제거, 수정할 수 있습니다. 모델의 규칙 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야만 함 뷰나 컨트롤러에 대해서 어떠한 정보도 알지 말아야 함 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야 함 🖥️ 뷰 (View) View는 클라이언트 측 기술은 HTML/C..

Spring

SQL 이란?

🌱 오늘의 주제 : SQL 이란? 🌱 💾SQL: DBMS에서 사용하는 언어 SQL(Structured Query Language)은 관계형 데이터베이스에서 사용되는 언어로, ‘에스큐엘’ 또는 ‘시퀄’로 읽습니다. 관계형 DBMS 중 MySQL를 배우려면 SQL을 필수로 익혀야 합니다. SQL이 데이터베이스를 조작하는 ‘언어’이긴 하지만 일반적인 프로그래밍 언어(C, 자바, 파이썬 등)와는 조금 다른 특성을 갖습니다. SQL은 특정 회사에서 만드는 것이 아니라 국제표준화기구에서 SQL에 대한 표준을 정해서 발표하고 있습니다. 이를 표준 SQL이라고 합니다. 그런데 문제는 SQL을 사용하는 DBMS를 만드는 회사가 여러 곳이기 때문에 표준 SQL이 각 회사 제품의 특성을 모두 포용하지 못한다는 점입니다. 그..

Spring

ERD란?

🌱 오늘의 주제 : ERD란? 매번 연관된 테이블들을 머릿속으로 도식화 하는것보다 ERD로 시각화 하여 차후에 다른 분들이 개발을 맡게 되더라도 도움이 되도록 구성을 해보려고 한다. 🌱 ERD(Entity Relationship Diagram) 한국말로 직역하자면 개체-관계 모델이다. 쉽게 생각하면, 테이블간의 관계를 설명해주는 다이어그램이라고 볼 수 있으며, 이를 통해 프로젝트에서 사용되는 DB 의 구조를 한눈에 파악할 수 있다. 즉, API를 효율적으로 뽑아내기 위한 모델 구조도라고 생각하면 된다. 🌱 ERD Notation 한국말로 직역하자면 개체-관계 모델이다. 쉽게 생각하면, 테이블간의 관계를 설명해주는 다이어그램이라고 볼 수 있으며, 이를 통해 프로젝트에서 사용되는 DB 의 구조를 한눈에 파악..

Spring

Spring - dto와 entity를 구분해서 구현한 이유

🌱 오늘의 주제 : dto와 entity를 구분해서 구현한 이유 🌱 dto와 entity를 구분 dto 객체는 View layer와 데이터를 주고받을 때 사용된다. entity객체는 db layer와 데이터를 주고받을 때 사용된다. 절대로 테이블과 매핑되는 Entity 클래스를 Request/ Response 클래스로 사용해서는 안됩니다 Entity 클래스는 가장 Core한 클래스라고 보시면 되는데요. 수많은 서비스 클래스나 비지니스 로직들이 Entity 클래스를 기준으로 동작합니다. Entity 클래스가 변경되면 여러 클래스에 영향을 끼치게 되는 반면 Request와 Response용 DTO는 View를 위한 클래스라 정말 자주 변경이 필요합니다. View Layer와 DB Layer를 철저하게 역할 ..

Spring

Spring - Entity와 Repository차이

🌱 오늘의 주제 : Entity와 Repository차이 🌱 Entity(엔티티) 데이터베이스(Database, DB) 에 쓰일 필드와 여러 엔티티간 연관관계를 정의한다. 데이터베이스는 엑셀처럼 2차원 테이블이라고 생각하면 되는데, 이 테이블에 서비스에서 필요한 정보를 다 저장하고 활용한다. @Entity : 클래스 위에 선언하여 이 클래스가 엔티티임을 알려준다. 이렇게 되면 JPA에서 정의된 필드들을 바탕으로 데이터베이스에 테이블을 만들어줌 세로의 열 부분이 Column 이고, 가로의 행 부분이 엔티티 객체가 된다. 이 테이블 전체가 엔티티 이고, 각 1개의 행들이 엔티티 객체가 되는 것이라고 생각하면 된다 필드라는 것은 엔티티의 각 Column을 의미한다 어노테이션은 엔티티와 데이터베이스를 매핑하는 ..

Spring

Spring - 엔터티(Entity)

▶오늘의 주제 : 엔터티(Entity) ▶ 엔터티(Entity)란? 데이터 베이스의 개념 중에서도 데이터 모델에 대해 공부를 시작할 때 제일 먼저 나오는 개념이 '엔터티(Entity)' 이다. 엔터티는 쉽게 말해 실체, 객체라고 생각할 수 있다. - 엔터티는 사람, 장소, 물건, 사건, 개념 등과 같은 명사에 해당된다. - 엔터티는 업무상 관리가 필요한 것에 해당된다. - 엔터티는 저장 되기 위한 어떤 것(Thing)에 해당된다. 예를 들어 학교라는 곳에선 과목이라는 엔터티가 존재할 수 있다. 그리고 엔터티는 인스턴스의 집합으로 나타나게 됩니다. 즉 과목이라는 엔터티가 있다면, 수학, 영어, 국어와 같은 인스턴스가 과목이라는 엔터티에 포함되는 것이다. 이때 엔터티는 자신이 가지고 있는 인스턴스를 설명할 ..

Spring

Spring - ORM, JPA, Spring Data JPA 차이점

▶오늘의 주제 : ORM, JPA, Spring Data JPA 차이점 ▶ JPA 애플리케이션을 객체지향 언어로 개발하고 관계형 데이터베이스로 관리한다면 객체-관계형간의 차이를 해결하기 위해 JPA를 사용한다. 1. 객체와 관계형 DB 연결 2. JPA 내부 동작 JPA는 영속성 컨테스트를 사용하여 db와의 통신을 효율적으로 관리한다. 이러한 영속성 컨텍스트에 대한 JPA상에서 구현체를 EntityManger라고 한다. 이러한 EntityManger는 Entity에 대한 생명주기를 관리하고 db와의 연결정보를 저장해둔다. Entity에 대한 CRUD는 연결정보를 바탕으로 JPA가 자동으로 생성해준다. 이러한 쿼리문은 EntityManger가 관리를 하다가 필요시 처리 ▶ ORM ORM은 객체와 DB 테이..

Spring

Spring - 영속성 컨텍스트란?

▶오늘의 주제 : 영속성 컨텍스트란? ▶ 영속성 컨텍스트란? 영속성 컨텍스트란 엔티티를 영구 저장 하는 환경 이라는 뜻 입니다. 어플리케이션(🤔 지금은 여러분의 자바 코드 그 자체라고 생각하시면 좋을 것 같습니다)이 데이터베이스에서 꺼내온 데이터 객체를 보관하는 역할을 합니다. 영속성 컨텍스트는 엔티티 매니저를 통해 엔티티를 조회하거나 저장할때 엔티티를 보관하고 관리합니다. ▶ 비영속(New) 비영속(New) : 영속성 컨택스트와 관계가 없는 새로운 상태입니다. 해당 객체의 데이터가 변경되거나 말거나 실제 DB의 데이터와는 관련없고, 그냥 Java 객체인 상태죠! // 엔티티를 생성 Member minsook = new Member(); member.setId("minsook"); member.setUs..

Spring

Spring - 절차지향 프로그래밍, 객체지향 프로그래밍, 관점지향 프로그래밍은 각각 어떻게 다른가요?

▶오늘의 주제 절차지향 프로그래밍, 객체지향 프로그래밍, 관점지향 프로그래밍은 각각 어떻게 다른가요? ▶절차지향 프로그래밍 (Procedural Programming) 컴퓨터가 해야 할 일을 시간의 흐름에 따라 순차적으로 프로그래밍하는 방식 컴퓨터의 작업 처리 방식과 유사하기 때문에 객체지향 언어를 사용하는 것에 비해 더 빨리 처리되어 시간적으로 유리하지만, 유지보수 및 디버깅이 어려움 메모를 할 때, 하나의 메모장에 생각나는대로 순차적으로 작성. 대표적인 예로는 C언어. ▶객체지향 프로그래밍 (Object-Oriented Programming) 역할별로 클래스를 나누어 프로그래밍 하는 방식 하나의 사물 (객체) 에 하나의 의미를 부여하는 것처럼 프로그래밍 핵심 기능을 모듈화하여 하드웨어가 같은 기능을 ..

요가하는 개발자
요가하는 개발자