Knowledge

범위에 따른 네트워크 분류네트워크를 형성했다고 가정했을 때, 네트워크의 범위는 일반 가정이 될 수도 있고, 기업이 될 수도 있다. 네트워크 구성 범위는 다양하다. 네트워크의 구성 범위가 다양한 만큼, 범위에 따라 분류하는 기준이 존재한다. 그것을 크게 LAN, WAN으로 분류한다.  LANLAN은 Local Area Network의 약자로 이름 그대로 가까운 지역을 연결한 근거리 통신망이다. 예를 들어 가정, 기업, 학교처럼 한정된 공간에서의 네트워크를 의미한다. 그림을 보고 이해해보면 LAN이라는 묶음들은 모두 한정된 공간에 구성된 네트워크이며, 세 집합 모두 LAN이라고 볼 수 있다. 좁은 범위를 케어하므로 앞으로 나올 넓은 범위를 케어하는 다른 네트워크 분류보다 안정성이 높고, 속도상 이점이 있다...
네트워크 네트워크란 여러 장치가 서로 연결되어 정보를 주고받을 수 있는 통신망이다.  네트워크의 네트워크, 인터넷 네트워크란 여러 장치가 서로 연결되어 정보를 주고받는 것이라는 의미가 주변의 장치하고만 연결됨을 의미한다는 것이 아니다.  네트워크와 연결된 지구 반대편 장치와도 연결이 가능하다. 이를 가능하게 하는 기술이 바로 인터넷이다.인터넷은 여러 네트워크를 연결하는 '네트워크의 네트워크'이다. 네트워크의 기본 구조네트워크는 서로를 연결하는 통신망이다. 이 모양을 생각해 보면 그래프 형태를 띠어 있음을 알 수 있다.  그래프(graph)는 다음 그림과 같이 노드(node)와 노드를 연결하는 간선(edge)으로 이루어진 자료구조이다. 모든 네트워크는 '노드', 노드를 연결하는 '간선', 노드 간 주고받는..
스프링부트 프로젝트를 주로 사용하는데 의존성이라는 표현을 자주 사용하게 된다. 의존성을 설명할 때 주로 프레임워크나 라이브러리를 같은 프로젝트 개발에 있어 특정 기능을 구현하기 위한 예시로 많이 사용이 된다. 간단히, 이야기하면 의존성이란 프로젝트에서 사용하는 라이브러리와 프레임워크를 의미하게 된다.위 이미지는 스프링부트 프로젝트를 만드는 것을 도와주는 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. 상속 관계형 데이터베이스는 기본적으로..
스프링 프로젝트 하면 ResponseEntity 나 Custom 응답을 만들어서 프런트엔드와 소통한다. 거기에 꼭 포함되는 게 HTTP Status Code이다. 자주 사용하는 200, 201, 400, 401은 알지만 나머지는 그냥 안 쓰는 코드네 이걸로 사용해야지 하고 사용했던 경험이 있다. 이참에 HTTP 상태코드를 정리해 보자. HTTP Status Code(HTTP 상태코드) HTTP 상태코드는 3자리 숫자로 만들어지며, 첫 번째 자리는 1에서 5까지 제공한다. 첫 번째 자리가 4와 5인 경우는 정상적인 상황이 아니라고 판단되므로 관리자나 개발자가 확인하여 처리해줘야 한다. 1xx(정보) : 요청을 받았으며 프로세스를 계속 진행한다. 2xx(성공) : 요청 정상 처리되었다. 3xx(리다이렉션) ..
이번에 프런트엔드와의 협업을 하다 CORS 설정을 접하게 되었다. 설정은 검색을 해서 해결은 했지만 CORS에 대해 자세히 이해하면 더 좋을 것 같다는 생각을 해 정리를 해보았다. CORS란? CORS란 Cross-Origin Resource Sharing의 약자로, 웹 브라우저에서 실행되는 스크립트가 다른 도메인의 리소스에 접근할 수 있도록 하는 보안 기술이다. 보안 정책으로 인해 브라우저는 동일 출처 정책(Same-Origin Policy)을 따르며, 이는 웹 페이지에서 로드된 문서나 스크립트가 동일한 출처(프로토콜, 호스트, 포트가 동일)에서만 리소스에 접근할 수 있다는 것을 의미한다. 동일 출처 정책에 위반되는 경우 1. 프로토콜 - http와 https는 프로토콜이 다르다. 2. 도메인 - do..
개발자들이 인증 관련 처리를 하다 보면 세션, 쿠키, 토큰, JWT 등의 단어들을 맞닥뜨리게 된다. 이 단어들의 각각 의미가 무엇이며, 인증처리 간의 어떻게 연결되어 사용될 수 있는지 알아보자. 쿠키 vs 토큰? 인증처리를 할 때 가장 많이 하는 질문 중 하나이다. '인증 처리를 쿠키로 하는 것이 좋은가요? 아니면 토큰 방식이 좋은가요?' 사실 이 질문은 쿠키에 대한 지식이 부족하기 때문에 하는 질문 중 하나이다. 우선 쿠키에 대해 우선 알아보자. 쿠키란 우리가 사이트에 방문하면 브라우저는 서버에 요청(Request)을 보낸다. 서버는 요청에 대한 응답(Response) 보내는데 데이터와 페이지 정보 등을 전달하게 된다. 또한 브라우저에 저장할 쿠키도 전달하게 된다. 그러면 브라우저는 해당 쿠키를 저장하..
오늘의 주제는 DDD 설계이다. DDD 설계는 워낙 요즘 많이 사용하고 팀프로젝트나 실무에선 기본으로 사용되기 때문에 DDD 프로젝트의 구조(패키지 구조 등...)엔 생각보단 익숙하다. 하지만 '왜 사용하지?'라고 물으면 정확히 대답하기가 어렵다. 그렇기 때문에 DDD 설계가 어떤 방식이며 왜 사용되는지 정리할 필요가 있다. 우선 DDD 설계를 설명하기 전 SQL 중심 설계가 무엇인지 알아볼 필요가 있다. SQL 중심 설계란? SQL 중심 설계(SQL-Driven-Design)는 데이터 모델을 중심으로 시스템을 설계하는 것을 의미한다. 데이터베이스의 스키마와 구조가 시스템의 핵심이 되며, SQL(CRUD) 작업이 업무의 주된 임무가 된다. 즉, 데이터의 흐름이 가장 중요한 요소가 되는 설계기법이다. 설계..
JH_DEV77
'Knowledge' 카테고리의 글 목록 (2 Page)