백엔드

·백엔드
최근 면접에서 ORM을 사용해서 N+1 문제가 발생하면 ORM을 쓰지 않으면 되는거 아니냐 라는 질문을 받았다.당시 나는 ORM기술을 적용하면 간편하다고만 알았지 구체적으로 어떤 장단점이 있는지는 알지 못했다. 그래서 이번에는 ORM기술을 사용하는 이유와 장단점에 대해 알아보려고 한다. ORM이란? ORM (Object-Relational Mapping)은 객체 지향 프로그래밍 언어의 객체와 관계형 데이터베이스(RDB)의 테이블을 자동으로 연결(매핑)하여, 마치 객체처럼 데이터베이스를 다룰 수 있게 해주는 기술입니다. 즉, 개발자가 복잡한 SQL 쿼리를 직접 작성하지 않고도 객체 지향적인 코드로 데이터베이스를 조작할 수 있도록 도와줍니다. 그렇기 때문에 ORM은 사용하면 다음과 같은 장점이 있다. OR..
·백엔드
N+1 문제는 주로 JPA를 사용해서 쿼리를 조회할 때 조회하는 객체랑 연관관계가 있는 데이터를 조회할 때 N+1개의 쿼리가 발생해 N+1문제라 한다.N+1 문제는 데이터베이스와 ORM(Object-Relational Mapping)을 사용할 때 자주 발생하는 성능 문제입니다. 주로 연관 관계가 있는 데이터를 조회할 때, 불필요하게 많은 SQL 쿼리가 실행되는 상황을 의미합니다. 이를 예시와 함께 자세히 설명하겠습니다. N+1 문제란?N: 연관된 엔티티의 개수.+1: 부모 엔티티를 조회하기 위한 최초의 쿼리.즉, 부모 엔티티를 조회한 뒤, 연관된 자식 엔티티를 개별적으로 조회하기 위해 N번의 추가 쿼리가 발생하는 문제입니다.주로 ORM 프레임워크(예: Hibernate, JPA, Django ORM 등)..
·백엔드
이번 글은 협업플랫폼 개발 프로젝트에서 Kafka를 적용하기까지 공부한 내용과 과정을 담을 예정이다.Kafka(카프카)란?Apache Kafka는 실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산 데이터 스트리밍 플랫폼입니다. 기록 스트림은 데이터 스트림을 기반으로 한 데이터를 저장하거나 처리하는 것을 의미합니다. 데이터 스트림(data stream)은 데이터가 지속적으로 생성되고, 시간에 따라 값이 변하는 데이터의 흐름을 의미합니다. 기본 개념Kafka는 발행-구독(pub-sub) 메시징 시스템을 기반으로 하며, 데이터 스트림을 처리하는 분산 플랫폼입니다. LinkedIn에서 개발되었으며, 현재는 Apache 소프트웨어 재단에서 관리하고 있습니다. 주요 특징1. 고성능: 초당 수백만..
·백엔드
수업 실습을 하던 중 서버를 켜두고 1시간 가량 점심을 먹고 왔는데 컴퓨터가 전원이 꺼져있었다.재부팅하고 다시 서버를 시작했는데 Cause: zip END header not found 에러가 발생 그외의 에러는 나오지 않았다.Cause: zip END header not found이 에러는 .gradle에서 나는 에러로 컴퓨터가 강제종료 되면서 .gradle에 문제가 생긴것 같다  해결방법 나는 .gradle폴더를 삭제 후 gradle-wrapper.properties 폴더에서 gradle 버전을 수정 후 다시 빌드 했더니 해결할 수 있었다 여담으로 몇일전에도 서버를 실행할 때 gradle버전이 이미 8.5인데 또 8.5최신으로 업그레이드 하라는 에러가 뜨면서 빌드가 아에 안되는 문제가 발생해 해결하지..
·백엔드
Java란?Java는 널리 사용되는 객체지향 프로그래밍 언어 Java의 컴파일 과정개발자가 자바 소스코드가 포함된 자바 파일 생성javac.exe 실행파일이 소스코드를 자바 바이트코드(.class)로 변환 => 컴파일 과정java.exe(JVM) 실행파일이 .class를 한줄씩 기계어로 변환 자바 바이트코드란?자바 가상 머신이 이해할 수 있는 언어로 변환된 자바 소스 코드확장자는 .class를 쓴다자바 인터프리터(interpreter) : 자바 바이트 코드를 읽고 해석JIT 컴파일러 : 최종적인 기계어로의 번역 담당컴파일 과정에서는 소스코드 문법적인 오류를 잡아내고런타임 과정에서는 숫자를 0 으로 나누는 실행과정에서의 오류를 잡아낸다 JVM(자바 가상 머신)이란?Java Virtual Machine의 약..
말감78
'백엔드' 카테고리의 글 목록