1일1복습 10

[네트워크] POST 와 PUT

POST 와 PUT 을 구분하기 위해서는 멱등성이란 용어에 대해 알아야 한다.멱등성,,  💡 멱등법칙(冪等法則) 또는 멱등성(冪等性, 영어: idempotent)은 수학이나 전산학에서 연산의 한 성질을 나타내는 것으로, 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미한다. 즉, 멱등한 작업의 결과는 한 번 수행하든 여러번 수행하든 같다는 것!! HTTP 메서드에서 GET, PUT, DELETE 는 같은 경로로 여러 번 호출해도 결과가 같다.그래서 멱등적이라고 표현할 수 있다. 하지만! POST 는 매 호출마다 새로운 데이터가 추가된다.따라서, POST 연산을 결과가 멱등성을 지키지 않지만, PUT 은 반복 수행해도 그 결과가 멱동적이다. POST 로 동일한 엔티티의 요청을 N 번 보내면 ..

1일1복습 2024.05.18

[DB] DBMS 란?

데이터베이스(DataBase)데이터베이스(DB)는 여러 사람이 공유하고 사용할 목적으로 관리되는 정보(즉, 통합 관리되는 데이터의 저장소이다.)  데이터베이스의 특징데이터 공유 : 많은 사람들이 데이터를 공유할 수 있다중복의 제거 : 데이터를 한 곳에 모으면서 중복되는 데이터를 제거할 수 있다.데이터 통합 : 흩어져 있는 데이터를 한 곳에 모을 수 있다.보안성 : 권한이 있는 관리자만이 데이터를 관리한다면 데이터의 보안을 지킬 수 있다. DBMS(Data Base Management System)DB를 ‘데이터의 집합’이라고 정의한다면,이런 DB를 관리하고 운영하는 소프트웨어를 DBMS(Database Management System)라고 한다.또한 응용프로그램들이 DB에 접근할 수 있는 인터페이스를 제..

1일1복습 2024.05.17

[스프링] Spring 과 Spring Boot 의 차이

Spring Java 기반 애플리케이션 개발을 지원하는 오픈소스 애플리케이션 프레임워크: 스프링이 사용되기 이전에는 초기 기업에서 EJB(Enterprise Java Bean) 방식의 기술을 이용해서 Web Application 을 서비스했다. EJB 는 데이터베이스 처리 및 트랜잭션 처리 등 기업용 애플리케이션 개발에 필요한 기술을 제공했다.: 특정 회사의 EJB 컨테이너가 없이는 기술이 구현이 어렵고 프로그래밍 모델이 복잡하며, 자동화된 테스트가 거의 불가능하다는 치명적 단점을 가지고 있다.이러한 EJB 의 단점을 해결하여, 순수 자바 객체(POJO)만을 사용하여 복잡성을 제거하고, 단순하고 가벼운 코드로 기업용 애플리케이션을 개발하기 위한 목적으로 개발된 프레임워크이다.: POJO(Plain Old..

1일1복습 2024.05.16

[DB] 인덱스(Index) - 개념, 장단점, 인덱스의 자료구조

1. 인덱스(Index)란데이터베이스의 테이블에 대한 검색 속도를 향상시켜주는 자료구조테이블의 특정 컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터를 정렬한 후 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장컬럼의 값과 물리적 주소를 key, value 의 한 쌍으로 저장목차, 색인이라고 생각하면 됨데이터 = 책의 내용, 인덱스 = 책의 목차, 물리적 주소 = 책의 페이지 번호책에서 원하는 내용을 찾을 때 목차나 색인을 이용하면 훨씬 빠르게 정보를 찾을 수 있다.이처럼 테이블에서 원하는 데이터를 찾기 위해 인덱스를 이용하면 빠르게 찾을 수 있다.  2. 인덱스(Index)의 장단점장점테이블을 검색하는 속도와 성능이 향상시스템의 전반적인 부하를 줄일 수 있다. : 핵심은 인덱스에 의해 데이터들이 정렬..

1일1복습 2024.05.15

[자바] JVM 이란

자바는 OS 에 독립적인 특징을 가지고 있다. JVM 이 OS 와 프로그램의 사이에서 기계어로 해석해주는 역할을 한다. JVM컴퓨터가 어떤 프로그램을 실행하려면, 그 프로그램이 컴퓨터의 언어(기계어)로 작성되어야 한다.하지만 우리는 복잡하고 해석하기 어려운 기계어를 직접 작성하지 보다는 코드를 작성한다.컴퓨터가 이해할 수 있는 기계어로 변환해주는 역할어떤 운영체제에서도 Java 코드가 실행될 수 있도록 해주는 것컴파일된 바이트 코드를 기계가 이해할 수 있는 기계어로 반환스택 기반의 가상 머신메모리관리와 GC를 수행 자바 코드 실행과정개발자가 자바코드를 작성한다..java 인 파일을 자바 컴파일러를 통해 자바 바이트 코드로 컴파일한다.바이트 코드 : JVM 에서 작동하도록 만든 이진코드즉, JVM 이 이해..

1일1복습 2024.05.14

[디자인 패턴] MVC 패턴

MVC 패턴이란?MVC(Model-View-Controller)패턴은 컴퓨터 공학에서 소프트웨어 설계와 아키텍처를 위한 디자인 패턴 중 하나주로 사용자 인터페이스(UI)를 가진 응용프로그램에서 사용애플리케이션의 개발과 유지보수를 쉽게 하기 위해 데이터, 프레젠테이션, 프로세싱을 서로 분리한다. 구성 요소모델 - Model애플리케이션의 핵심 데이터와 비즈니스 로직을 나타냄데이터 저장소와의 상호 작용, 데이터 처리 및 유효성 검사와 같은 작업을 수행독립적으로 작동뷰와 컨트롤러와 직접적으로 통신하지 않음뷰 - View사용자에게 보여지는 애플리케이션의 UI 부분역할모델에서 데이터를 받아 사용자에게 표시입력을 컨트롤러에 전달애플리케이션의 데이터 표시와 관련된 모든 작업을 처리컨트롤러 - Controller사용자 ..

1일1복습 2024.05.13

[Git] git 영역과 상태 용어 정리

Git의 3가지 영역 정리working directory현재 작업하고 있는 영역. 즉, 작업을 하고 있는 프로젝트 디렉토리아직 추적(track)하고 있지 않은 상태staging area$ git add 명령어로 전달한 파일들이 존재하는 영역commit 을 하게 되면 staging area 에 있는 파일들만 commit 에 반영됨repositoryworking directory 의 변경 이력들이 저장되어 있는 영역commit 들이 모여있는 저장소  Git 의 상태 정리1. untracked 상태파일이 Git 에 의해서 그 변동사항들이 추적되지 않고 있는 상태working directory 에 있는 파일이지만 Git 으로 버전관리를 하지 않고 있는 상태⇒ 파일을 새로 생성하고 그 파일을 한 번도 git ad..

1일1복습 2024.05.12

[자바] 접근제어자

접근제어자 - access modifier클래스와 클래스멤버(필드, 메소드, 생성자)를 사용할 때, 접근할 수 있는 범위를 지정접근제어자 or 접근 지정자 라고 불림public, private, protected, (default) 1. 클래스의 접근 제어자클래스를 정의할 때 사용할 수 있는 접근제어자는 public과 default 이다.public 클래스 : 모든 클래스에서 해당 클래스에 접근이 가능하다. (패키지 상관없음)default 클래스 : 클래스 앞에 접근제어자가 없으면 default 클래스로, 같은 패키지 안의 클래스에서만 접근이 가능하다.public class Fruit { // public 클래스 ...}class Apple { // default 클래스 ..

1일1복습 2024.05.11

[자바] 데이터 타입 - 기본형/참조형

타입이란?해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 것자바에는 크게 기본형 타입과 참조형 타입이 있다. 기본형 타입(Primitive type)총 8개의 타입이 존재자바에서 미리 형식을 정의하여 제공기본값이 존재하기 때문에 Null 개념이 존재하지 않음만약, 기본형 타입에 Null 을 넣고 싶다면 래퍼 클래스를 활용하면 됨실제 값을 저장하는 공간스택(Stack) 메모리에 저장주로 문법상의 에러로 빨간 줄이 쳐지는 경우처럼 컴파일 시점에 담을 수 있는 크기를 벗어나면 에러를 발생시키는 컴파일 에러가 발생한다.  타입할당되는 메모리 크기기본값데이터의 표현 범위논리형boolean1 bytefalsetrue, false정수형byte1 byte0-128 ~..

1일1복습 2024.05.10

[네트워크] GET 과 POST 요청의 차이

GET서버로부터 정보를 요청하는 메소드주로 데이터를 조회할 때 사용GET 요청은 URL 파라미터를 포함하여 전송되며, 브라우저에 기록이 남을 수 있음GET 요청은 데이터의 길이에 제한이 없음 POST서버로 데이터를 제출하는 메소드데이터를 생성하거나 수정할 때 사용POST 요청은 요청 본문에 데이터를 담아 전송되며, 브라우저에는 기록이 남지 않는다POST 요청은 데이터의 길이에 제한이 있음

1일1복습 2024.05.09