ORM(Object-Relational Mapping)에서 발생하는 성능 이슈 중 하나로, 특정 엔티티를 조회 할 때 연관된 엔티티들을 추가로 조회하면서 불필요한 쿼리가 다시 실행되는 문제 하나의 Review엔티티를 가져올 때 관련된 Participants 엔티티가 존
테이블에 데이터를 입력하는 명령어\-> INSERT INTO 테이블(컬럼1, 컬럼2...) VALUES(데이터1, 데이터2...);이미 저장된 데이터를 수정하고 싶을 때 사용하는 명령어\-> UPDATE 테이블 SET 속성 = 데이터 WHERE;이미 저장된 데이터를 삭
하나의 SQL문 안에 포함되어 있는 또 다른 SQL문, 알려지지 않은 기준을 이용한 검색에 사용괄호를 감싸서 사용단일행 또는 복수행 비교연산자와 함께 사용 가능ORDER BY 사용 불가WHERE 구에 SELECT 문을 사용하면 서브쿼리컬럼을 반환하는 서브쿼리, 주로 S
FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY테이블에 입력된 데이터를 조회하기 위해서 사용되며, 특징 컬럼/행 만 조회 가능① SELECT : 모든 컬럼을 출력(''은 모든 컬럼을 의미)② FROM 테이블명 :
어떤 사건이 자기 자신을 포함하고 있거나 또는 자기 자신을 사용하여 정의하고 있을 때 이를 재귀적(recursive)이라고 합니다1은 자연수입니다.자연수 n의 바로 다음 정수도 자연수입니다.0 != 1n > 0이면 n! = n X (n-1)!매개변수 n에 전달받은 값이
데이터 모델링은 현실 세계를 단순화하여 표현하는 기법추상화 : 현실세계, 개념을 일정한 형식으로 간략하게 표현단순화 : 현실세계를 정해진 표기법으로 단순하고 쉽게 표현, 핵심에 집중 + 불필요 제거명확화 : 불분명함(애매모호함)을 제거하고 정확하게 현상을 기술업무 설명
ERD내에서 중복요소를 찾아 제거해 나가는 과정함수 종속성을 이용해 릴레이션을 연관성이 있는 속성들로만 구성되도록 분해해서 이상현상이 발생하지 않도록 Step By Step Approach로 수행같은 성격과 내용의 컬럼이 연속적으로 나타내는 컬럼이 존재할 때, 해당 컬
브랜치 전략이 여러 개발자가 하나의 저장소를 사용하는 환경에서 저장소를 효과적으로 활용 하기 위한 work-flow브랜치의 생성, 삭제, 병합 등의 git의 유연한 구조로 활용해서, 각 개발자들의 혼란을 최대한 줄이며 다앙한 방식으로 소스를 관리하는 역할브랜치 생성에
Git이란 분산형 버전 관리 시스템(Version Control System)의 한 종류이며, 빠른 수행 속도에 중점을 둔다.버전관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정시점의 버전을 다시 꺼내올 수 있는 시스템각 파일을 이전 상태로 되돌릴 수 있다
REST는 Representational State Transfer라는 용어의 약자로서 2000년도 로이 필딩의 박사학위 논문에서 최초로 소개되었습니다.로이 필딩은 HTTP의 주요 저자 중 한 사람으로 그 당시 웹(HTTP) 설계의 우수성에 비해 제대로 사용되어지지 못
큰 문제를 작은 문제로 나누어 해결하고, 이를 저장하여 중복 계산을 방지하는 알고리즘 기법일반적으로 최적 부분 구조, 중복 부분 문제를 만족하는 문제에서 사용최적 부분 구조 : 문제의 최적 해가 부분 문제들의 최적 해로 구성될 수 있음중복 부분 문제 : 동일한 작은 문
데이터를 일시적으로 쌓아 놓는 자료구조로, 데이터의 입력과 출력 순서는 후입선출(LIFO: Last In First Out) 방식가장 나중에 넣은 데이터를 가장 먼저 꺼냅니다. 스택에 데이터를 넣는 작업을 푸시(push)데이터를 꺼내는 작업을 팝(pop)
선형 탐색 알고리즘(Linear Search Algorith) > 맨 앞 부터 순서대로 요소를 검색하는 알고리즘 > 1. 맨 끝부터 하나하나 원하는 값을 찾아본다. > 2. 원하는 값을 찾으면 탐색을 종료한다.
단일 터미널 세션 내에서 여러 터미널 창을 실행하고 관리할 수 있도록 해주는 도구여러 세션 관리하나의 tmux 세션에서 여러 창을 열고 각 창을 독립적으로 실행할 수 있음각 창은 여러 개의 패널로 분할 가능세션을 종료하지 않고 나중에 재접속 가능세션 유지 및 복구SSH
웹소켓에서 메시지를 처리할 때 메시지의 목적을 구분하지 않았기 때문에 모든 메시지가 전송 로직으로만 처리되었습니다.messageType으로 메시지 타입 구분메시지 타입 기반 설계 : 메시지의 목적에 따라 타입을 구분함으로써 코드의 명확성과 가독성을 크게 향상 시킬 수
MongoDB에 데이터를 저장할 때 시간이 GMT로 저장되는 것은 정상적은 동작이다.내부적으로 UTC를 사용하여 날짜와 시간을 저장하는데 이를 조회하거나 표시할 때 로컬 시간대로 변환할 수 있습니다.MongoDB는 Data 타입 데이터를 UTC로 저장한다. Spring
NoSQL 데이터베이스의 대표적인 예로, 전통적인 관계형 데이터베이스와는 다른 방식으로 데이터를 저장하고 관리합니다.JSON과 유사한 문서(Document) 형태로 데이터를 저장하며, 높은 확장성과 유연성을 제공합니다.문서 지향(Document-Oriented) ∘ 데
Spring Boot나 Hibernate를 사용하여 양방향 연관 관계를 정의했을 때 직렬화 과정에서 문제가 발생할 수 있습니다.순환 참조는 객체 A가 객체 B를 참조하고, 객체 B가 다시 객체 A를 참조하는 상황을 의미합니다.Jackson 라이브러리가 제공하는 @Jso
역할 : 웹 브라우저와 웹 서버 간에 데이터를 전송하는 프로토콜특징∘ 클라이언트-서버 모델∘ 상태 비저장(stateless) : 각 요청은 독립적으로 처리되며, 서버는 요청 간의 상태를 유지하지 않음.주요 메서드∘ GET : 데이터 요청∘ POST : 데이터 전송∘ P
고성능의 HTTP 및 역방향 프록시 서버, 메일 프록시 서버, 일반 TCP/UDP 로드 밸런서로 사용되는 오픈 소스 소프트웨어1) HTTP 웹 서버정적 콘텐츠 제공에 최적화 되어 있습니다.동적 콘텐츠는 외부 애플리케이션 서버와의 연동을 통해 처리2) 역방향 프록시(Re