본문 바로가기
반응형

책벌레와 벌레 그 사이 어딘가83

[개념쌓기] N+1 문제 FetchType에 대해 공부한 후 연장선 상에서 N+1문제까지 같이 공부했다. 정리를 글 하나에 같이 하기에는 내용이 너무 많은 것 같아, 가독성을 위해 분리했다. JPA & JPQL N+1을 이해하기 위해서는 JPA와 JPQL에 대해서 알아야한다. 그렇다면 JPA 와 JPQL는 무슨 관계일까 우선 JPQL은 엔티티를 조회하는 객체지향 쿼리이다. 따라서 대상 테이블에 쿼리를 날리는 것이 아니라 엔티티 그 자체에 쿼리를 날리는 것이다. 문법은 SQL과 유사하며 간결하다. JPQL은 결국 SQL로 변환되긴한다. JPA에서 제공하는 메소드 호출만으로는 섬세하게 쿼리 작성이 어렵다는 점에서 JPQL이 탄생하게 되었다. JPQL의 장점은 SQL을 추상화해서 특정 DB에 의존하지 않는다는 점이다.즉, 여러 DB에.. 2023. 1. 2.
[개념쌓기] EAGER & LAZY 프로젝트를 하며 대부분의 경우에서는 FetchType = LAZY라고 할 정도로 보편적으로는 lazy를 쓴다는 것은 알고 있다. 물론 프로젝트를 하며 FetchType.LAZY를 사용할 때도 어떤 점이 장점으로 부각되는지는 알아보았으나, 정리를 따로 해두지를 않았기 때문에 이번 기회에 FetchType에 대해 좀더 자세히 알아보기로 했다. 그렇다면 우선 FetchType이 무엇인지부터 알아보자. 관심없다구요? 그럼 왜 읽ㅇ FetchType : JPA가 하나의 Entity를 조회할 때, 연관관계에 있는 객체들을 어떻게 가져올 것이냐에 대한 설정값 JPA가 무엇인지 모를 수도 있는 사람들을 위해(간단하게 요약한 것이기 때문에 궁금하면 따로 공부해보자) 더보기 ✔JPA(Java Persistance API).. 2023. 1. 2.
[개념쌓기] 오버로딩&오버라이딩 ✅한국의 코리안을 위한 짧은 쇼츠 요약 서머리 오버로딩(Overloading)은 이름은 같으나, 시그니처(파라미터 수,타입)에는 다른 메소드를 중복으로 선언하는 것을 의미하고, 오버라이딩(Overriding)은 부모 클래스의 메소드의 동작 방법을 변경(재정의)하여 우선적으로 사용하는 것이다. ✔오버로딩(Overloading) : 이름은 같으나, 시그니처(파라미터 수,타입)에는 다른 메소드를 중복으로 선언하는 것 오버로딩(Overloading)이라는 사전적 뜻은 '과적하다'라는 뜻이다. C에서는 함수명이 고유해야하는데, 이는 즉슨 하나의 함수가 하나의 기능만을 구현해야 한다는 것이다. 그러나 자바에서는 하나의 메소드 이름으로 여러 기능을 구현하기에 위와 같은 이름을 붙여준 것으로 보인다. 오버로딩의 정의는.. 2022. 12. 31.
[개념쌓기] RDBMS & NoSQL 오늘은 RDBMS와 NOSQL을 정확히 알기 위해 RDB, RDBMS, SQL, NOSQL에 대해 모두 정리할 것이다. ✅한국의 코리안을 위한 짧은 쇼츠 요약 서머리 RDB(관계형 데이터베이스)를 RDBMS(데이터베이스를 관리한다)로 생성하고 수정하고 관리한다. SQL은 RDBMS를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이고, NOSQL(비관계형 데이터베이스)는 RDB 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 방식이다. RDBMS가 클라이언트/서버 환경에 맞는 데이터 저장기술이라면, NOSQL은 클라우드 환경에 맞는 저장기술이다. RDB(Relational DataBase) RDB(Relational DataBase)란 관계형 데이터 모델에 기초를 둔 데이터베이스이다. (구성.. 2022. 12. 30.
[개념쌓기] WAS & WS WAS WERE?뭔 헛ㅅ ㅁWS(Web Server)는 정적인 컨텐츠(html,css,js)를 제공하는 서버이다. ex) Apache, Nginx ㅁ WAS는 DB 조회나, 어떤 로직을 처리해야하는 동적 컨텐츠를 제공하는 서버이다. ex) Tomcat, Jeus 한국의 코리안을 위한 짧은 쇼츠 요약 서머리 WS와 WAS의 제일 큰 차이는 어떤 타입의 컨텐츠를 제공하냐의 차이인 것이다. 웹 서버와 WAS는 각각 독립적으로 존재할 수 있다. 대부분의 WAS는 정적인 컨텐츠를 제공해주기 때문에, 웹 서버 없이 WAS만 존재할 수 있다. 그렇기에 WAS는 웹 서버를 내포하는 개념으로 말할 수 있다. WAS 자체로 웹 서버의 역할을 수행하기 때문에 무조건적으로 웹 서버를 앞단에 두어야 할 이유는 없다. 무슨 말인.. 2022. 12. 28.
[개념쌓기] RESTful하다 ✅REST 란? REST(Representational State Transfer, 자원의 상태 전달) 네트워크 아키텍쳐 원리 ✅RESTful하다란 그럼 무엇일까? RESTful한 API가 아닌 RESTful 그 자체에 대해 궁금증이 생겼다. REST의 원리를 잘 지키는 시스템을 RESTful 하다라고 한다. 🤔그렇다면 REST의 특징은 무엇일까? 우선 REST의 구성을 먼저 알아보자 REST API는 다음으로 이루어져 있다 자원(RESOURCE) - URI 행위(Verb) - HTTP METHOD 표현(Representations) 🤔REST의 특징 1) Uniform(유니폼 인터페이스) URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일 2)Stateless(.. 2022. 12. 25.
[개념쌓기]CSMA/CD? CSMA/CA? cs를 공부하던 중 CSMA/CD와 CSMA/CA 내용이 나왔다. CS스터디 교재가 범위가 넓어, 내용을 압축해 넣다보니 궁금한 것들이 일부 해결되지 않아 조금 더 자세히 알아봤다. 제일 많이 보이는 것들이 CSMA/CD, CSMA/CA이지만 CSMA가 무엇인지 궁금했다. ✅CSMA가 무엇일까? CSMA(Carrier Sense Multiple Access, 반송파 감지 다중 접속) : 각 노드들이 프레임을 전송하기 위해 공유 매체(반송파)에 접근하기 전에 매체가 사용중인지 확인(Carrier Sensing)하며 다중접속(Multiple Access)하는 방식 ✅CSMA/CD가 무엇일까? : LAN의 통신 프로토콜의 종류 중 하나이며, 이더넷 환경에서 사용한다 : 매체 엑세스 제어 방식이며,각 단말이 신.. 2022. 10. 25.
반응형