Knowledge/개발지식

PDU(protocol data unit)각 계층에서 송수신되는 메시지의 단위를 PDU라고 한다. 즉, 상위 계층에서 전달받은 데이터에 현재 계층의 프로토콜 헤더(및 트레일러)를 추가하면 현재 계층의 PDU가 된다. 현재 계층의 PDU = 상위 계층 데이터 + 현재 계층의 프로토콜 헤더(및 트레일러) 네트워크 참조 모델 별 PDU 정리표OSI 계층 PDUTCP/IP 계층응용 계층데이터(메시지)응용계층표현 계층 ==세션 계층==전송 계층세그먼트(TCP), 데이터그램(UDP)전송계층네트워크 계층 패킷인터넷 계층데이터 링크 계층프레임네트워크 엑세스 계층물리 계층비트= 포함되기도 안되기도 한다. PDU는 주로 전송 계층 이하의 메시지를 구분하기 위해 사용한다. 전송 계층보다 높은 계층에서는 일반적으로 데이터 혹..
스프링부트 프로젝트를 주로 사용하는데 의존성이라는 표현을 자주 사용하게 된다. 의존성을 설명할 때 주로 프레임워크나 라이브러리를 같은 프로젝트 개발에 있어 특정 기능을 구현하기 위한 예시로 많이 사용이 된다. 간단히, 이야기하면 의존성이란 프로젝트에서 사용하는 라이브러리와 프레임워크를 의미하게 된다.위 이미지는 스프링부트 프로젝트를 만드는 것을 도와주는 https://start.spring.io/ 페이지이다.  여기서 스프링부트라는 프레임워크에 라이브러리 Dependencies를 추가하여 사용하게 된다.  그럼 라이브러리와 프레임워크에 차이는 무엇이 일까? 라이브러리우선 라이브러리가 무엇인지 알아보자. 라이브러리는 프로그래밍 개발할 때 미리 만들어진 있는 기능을 가져다 사용하는 것을 의미한다. 재사용 가..
2023.11.10 - [Knowledge/개발지식] - [스진초 5기/개발지식] DDD 설계와 SQL 중심 설계 [스진초 5기/개발지식] DDD 설계와 SQL 중심 설계 오늘의 주제는 DDD 설계이다. DDD 설계는 워낙 요즘 많이 사용하고 팀프로젝트나 실무에선 기본으로 사용되기 때문에 DDD 프로젝트의 구조(패키지 구조 등...)엔 생각보단 익숙하다. 하지만 '왜 사 jh7722.tistory.com 위 글에서 관계형 데이터베이스를 활용한 SQL 중심 개발의 문제점을 다뤘었다. 이번에 JPA 공부를 다시 시작하면서 SQL 중심개발과 ORM를 활용한 객체 중심 개발의 차이를 알아야 필요가 있어 정리한다. 객체와 관계형 데이터베이스의 차이를 나타내는 4가지 핵심 1. 상속 관계형 데이터베이스는 기본적으로..
오늘의 주제는 DDD 설계이다. DDD 설계는 워낙 요즘 많이 사용하고 팀프로젝트나 실무에선 기본으로 사용되기 때문에 DDD 프로젝트의 구조(패키지 구조 등...)엔 생각보단 익숙하다. 하지만 '왜 사용하지?'라고 물으면 정확히 대답하기가 어렵다. 그렇기 때문에 DDD 설계가 어떤 방식이며 왜 사용되는지 정리할 필요가 있다. 우선 DDD 설계를 설명하기 전 SQL 중심 설계가 무엇인지 알아볼 필요가 있다. SQL 중심 설계란? SQL 중심 설계(SQL-Driven-Design)는 데이터 모델을 중심으로 시스템을 설계하는 것을 의미한다. 데이터베이스의 스키마와 구조가 시스템의 핵심이 되며, SQL(CRUD) 작업이 업무의 주된 임무가 된다. 즉, 데이터의 흐름이 가장 중요한 요소가 되는 설계기법이다. 설계..
2023.10.10 - [Knowledge/개발지식] - [개발지식] 빌드와 컴파일 [개발지식] 빌드와 컴파일 오늘 부트캠프에서 빌드와 컴파일에 대한 이야기가 나왔다. 느낌적으론 알 거 같은데 말로 표현하려니 어려워 따로 정리를 해보려고 한다. 빌드와 컴파일은 프로그래밍에서 중요한 단계이다. Ja jh7722.tistory.com 이전글 중에 빌드와 컴파일에 대해 정리하였다. 이번엔 스프링에서 주로 사용하는 2개의 빌드관리툴인 Maven과 Gradle를 정리해 보자. 빌드 관리 도구 두 개념을 설명하기 전 일단 빌드 관리 도구가 무엇인지부터 알 필요가 있다. 소스코드를 컴파일, 테스트, 패키징 등의 빌드 프로세스를 자동화하고 관리를 해주는 도구를 의미한다. 이 도구를 사용하면 개발 프로젝트에서 반복적인 ..
오늘 부트캠프에서 빌드와 컴파일에 대한 이야기가 나왔다. 느낌적으론 알 거 같은데 말로 표현하려니 어려워 따로 정리를 해보려고 한다. 빌드와 컴파일은 프로그래밍에서 중요한 단계이다. Java를 주언어로 쓰고 있으니 Java 기준으로 용어를 설명해 보자. 컴파일(Complie) 컴파일을 설명하기전 우리는 프로그래밍 언어가 인간의 언어인지 컴퓨터의 언어인지를 파악할 필요가 있다. 우린 우리가 짠 코드를 해석할 수 있으니 인간의 언어이다. 우린 궁극적으로 프로그래밍을 통해 컴퓨터 프로그램이 되어 동작시키는 것이기 때문에 인간의 언어인 프로그래밍 언어를 컴퓨터가 해석할 수 있게 번역을 시켜주는 역할이 필요하다. 우린 그것을 "컴파일한다" 라고 표현한다. 그럼 컴파일을 해주는 역할을 하는 것은 "컴파일러"라고 지..
JH_DEV77
'Knowledge/개발지식' 카테고리의 글 목록