본문 바로가기

전체 글

(54)
DB 발전 과정 데이터베이스(Database): 데이터의 저장소 데이터베이스 관리 시스템(DBMS): 데이터베이스를 운영하고 관리하는 소프트웨어 SQL(Structed Query Language): 구조화된 질의 언어, 데이터베이스의 모든 작업을 통제하는 비절차적 언어 비절차적 언어?데이터베이스 사용자(이하 사용자)가 SQL을 사용해 원하는 작업의 결과만 기술하고, 그 작업이 어떻게 수행될 것인지는 전혀 고려하지 않아도 된다는 것을 의미한다  DBMS 발전과정 1) 계층 DBMS계층적 데이터 모델은 데이터 모델의 가장 오래된 유형이다. 트리와 같은 구조로 데이터를 구성된다.각 노드에는 정화히 하나의 부모 노드가 있고, 부모노드는 자식노드를 여러개 가질 수 있다.  2) 네트워크 DBMS 계층적 데이터 모델의 고급 버전이..
Session VS JWT 우선 HTTP에 대해 짚고 넘어간다.특징:클라이언트 서버 구조무상태 프로토콜(Stateless)비 연결성(Connectionless) 무상태정의: 서버가 클라이언트의 상태를 가지고 있지 않는 것이다.장점: 비용(리소스)를 줄임, 서버의 확장성에 용이( 응답 서버를 쉽게 바꿀 수 있기 때문에 무한한 서버 증설이 가능)단점: 모든 정보를 각 서버에게 전달해야하기 때문에 요청이 복잡해진다.비연결성정의: 클라이언트와 서버거 한 번 연결을 맺은 후, 클라이언트 요청에 대해 서버가 응답을 마치면 맺었던 연결을 끊어버리는 성질장점: 연결을 유지하기 위한 리소스를 줄이면 더 많은 연결을 할 수 있다.단점: 동일한 클라이언트의 모든 요청에 대해, 매번 새로운 연결을 시도/해제의 과정을 거쳐야하므로 연결/해제에 대한 오버..
싱글톤(singleton) 패턴 싱글톤(Singleton) 패턴이란?스프트웨어 디자인 패턴에서 싱글톤 패턴은 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 재사용하는 형태를 말한다.프로그램 내에서 객체가 단 하나만 존재하는 것이 보장되야 하거나, 객체의 크기가 커서 여러 번 재사용해야하는 경우에 주로 사용된다. 스프링 빈(Spring bean)이란?스프링 IoC 컨테이너에 의해서 관리되고 애플리케이션의 핵심을 이루는 객체들을 스프링 빈이라고 한다. 빈은 스프링 컨테이너에 의해서 인스턴스화되어 조립되고 관리된다. 스프링 컨테이너가 관리해준다는 점을 제외하면 자바 객체이다.  스코프 : 존재할 수 있는 범위즉, 빈 스코프는 스프링 빈이 존재할 수 있는 범위를..
스프링(Spring)이란? 정의: 엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주는 오픈소스 경량급 애플리케이션 프레임워크 경량급?스프링은 수십개의 세부 모듈 및 수십만줄의 방대한 코드로 이루어진 프레임워크이지만 기존에 스프링 대신 사용하던 기술들과 비교하여 스프링을 사용할 때 개발자가 작성해야 할 코드가 상대적으로 단순하다는 것을 의미한다. 애플리케이션 프레임워크?애플리케이션을 개발하는 데에 있어 필요한 모든 업무 분야 및 모든 기술과 관련된 코드들의 뼈대를 제공한다. 스프링(Spring) 특징POJO(Plain Old Java Object) 프로그래밍 지향: 즉 순수 Java만을 통해서 생성한 객체를 의미한다. 순수 Java만을 사용한다는 것은 Java 및 Java의 스펙에 정의된 기술만 사용한다는 의미이다..
[SprinBoot] .yml key 문제 해결 이전에 riot api key를 service파일에서 .yml파일로 옮겼는데 swagger에서 제대로 조회되지않는 문제 발생→ postman에서 테스트할 때는 정상적으로 api를 끌어오는데 swagger에서는 되지않음. application.ymlriot: key: "RGAPI-5f44309c-116f-40d4-8cf4-3d07c1263221"                                                                                                ↓private String mykey = "RGAPI-5f44309c-116f-40d4-8cf4-3d07c12632**";service로 옮기니 swagger에서도 정상적으로 작동함yml파일에..
[프로젝트 마무리] Swagger + postman 정리 Swagger          Postman다음부터는 테스트 코드 작성해야겠다 생각..
[SpringBoot] Custom Exception Q. Custom Exception을 만드는 이유?Standard Exception만으로 커버하기 힘든 경우가 있기때문여러 예외 상황과 맞물려 비즈니스 로직의 명확성을 높인다.예외에 대한 응집도를 향상시키고싶은 경우 → Standard 사용시, 같은 예외를 발생시키는 장소가 많아지면 중복 예외 코드가 생기게 되는 문제가 발생한다. Custom을 사용하면 예외 발생 후 후처리가 용이해진다.상세한 예외 정보를 제공하고싶은 경우 예외 생성 비용을 줄일 수 있음 → trace를 재정의함으로써 stack trace 생성 비용을 줄일 수 있다. @Getter@AllArgsConstructorpublic class CustomException extends RuntimeException{ private fina..
[JPA] 양방향 매핑 순환참조 문제 오류java.lang.IllegalStateException: Cannot call sendError() after the response has been committed at org.apache.catalina.connector.ResponseFacade.checkCommitted(ResponseFacade.java:504) ~[tomcat-embed-core-10.1.8.jar:10.1.8] at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:348) ~[tomcat-embed-core-10.1.8.jar:10.1.8] at jakarta.servlet.http.HttpServletResponseWrapper.s..