목록분류 전체보기 (159)
개발자공부일기
오늘은 브라우저 주소창에 무언가를 입력했을때 네트워크상에서 일어나는 일들을 알아보겠습니다. 브라우저에서 주소창에 "사과"를 입력하면 다음과 같은 과정이 일어납니다.브라우저는 사용자가 입력한 내용을 분석합니다. 입력된 " 사과 "는 URL 형식이 아니므로 기본 설정된 검색 엔진을 통해 검색하려고 합니다. 검색 엔진의 URL을 생성합니다. 예를 들어, https://www.google.com/search?q= 사과 와 같은 형태로 변환하여 요청을 준비합니다. 검색 엔진의 도메인 이름인 www.google.com을 IP 주소로 변환하기 위해 DNS(Domain Name System)를 확인합니다. 이때 브라우저는 먼저 자신의 캐시를 확인하고, 없으면 운영 체제(OS) 캐시와 라우터 캐시를 차례로 조회합니다. ..
CDN(Content Delivery Network)이란? CDN(Content Delivery Network)은 지리적으로 분산된 서버들을 연결한 네트워크로서 웹 컨텐츠의 복사본을 사용자에 가까운 곳에 두거나 동적 컨텐츠(예: 라이브 비디오 피드)의 전달을 활성화하여 웹 성능 및 속도를 향상할 수 있게 합니다.각 CDN 서버는 이른바 "네트워크 에지(네트워크에서 데이터가 생성되고 소비되는 사용자 또는 장치와 가까운 지점을 의미합니다 )"에 위치합니다. 웹사이트의 출처라 할 수 있는 호스트 서버와 비교하면 사용자와의 거리가 더 가깝습니다. 이러한 이유로 CDN 서버는 흔히 "에지 서버"로 불리곤 합니다. 각 서버는 호스트 서버에 있던 웹 컨텐츠(HTML 파일, 이미지, 오디오, 비디오, 애플리케이션 등)..
데이터링크 계층(Data Link Layer)은 OSI 모델에서 두 번째 계층으로, 물리적 계층에서 전송된 데이터를 정확하게 전달하기 위해 다양한 기능을 담당합니다. 이 계층은 주로 프레임 단위로 데이터를 송수신하며, 데이터의 오류 제어와 흐름 제어, 접근 제어 등을 처리합니다.1. 프레임 구성 (Framing)프레임은 데이터링크 계층에서 패킷을 전송 가능한 단위로 변환한 것입니다. 물리 계층에서 비트 단위로 전송된 데이터를 데이터링크 계층은 프레임 단위로 나누어 전송합니다.프레임 구성의 주요 역할:데이터링크 계층에서 프레임을 정의하는 이유는 데이터의 시작과 끝을 명확히 구분하기 위해서입니다. 네트워크에서는 데이터를 전송할 때 연속된 비트의 흐름으로 보내지는데, 만약 구분자가 없으면 수신자는 어디서 데이..
문제 설명당신은 도서관의 대여 기록을 관리하는 시스템을 운영하고 있습니다. 대여 기록이 저장된 BOOK_RENTALS 테이블에서 연체된 책들에 대한 정보를 분석하려고 합니다. BOOK_RENTALS 테이블은 아래와 같은 구조로 되어있습니다.rental_idbook_idmember_iddays_renteddue_datereturn_date11001201102024-01-102024-01-202100220252024-01-052024-01-043100320382024-01-082024-01-154100120472024-01-072024-01-0651002205122024-01-122024-01-1561003206152024-01-152024-01-25 각 컬럼에 대한 설명은 다음과 같습니다.days_rent..
이번주에 드디어 과제를 마무리했다. 개인과제랑 비슷한게 많아서 코딩은 그렇게 어려운건 없었고 평소에 약하다고 생각했던 매서드들을 활용해보니 좋았고 팀과의 협업도 원만했다.팀원들과 코드리뷰를 같이 하면서 새로운 매서드라던가 사용법들에 대해 많이 얻어갔던거 같다.API 명세서가 좀 말썽이었는데 TIL에 썼듯이 많이 반려당해서 많이 공부했다. 이런 정확하게 메뉴얼이 있지않고 정해지지 않은 것들이 좀 힘들었다. 이것도 자주 보다보면 확립되리라 믿는다.이제 남는 시간에 계속 SQL문법과 약한 매서드들을 눈에 익히려 하고 있다. 꾸준히만 잘 해보자.
물리 계층은 OSI 모델에서 네트워크 통신의 가장 기본이 되는 첫 번째 계층입니다. 이 계층은 비트 전송을 담당하며, 네트워크에서 데이터를 물리적으로 전송하는 데 필요한 모든 요소를 정의합니다. 물리 계층은 실제 데이터가 전송되는 하드웨어 및 물리적 연결을 다루므로, 네트워크 통신의 기초적인 부분을 담당합니다.물리 계층의 주요 역할물리 계층의 주요 역할은 다음과 같습니다:비트의 표현 (Bit Representation): 물리 계층에서 데이터는 비트로 표현됩니다. 비트는 0과 1의 이진수로 표현되며, 이를 전기적 신호, 빛의 신호, 또는 무선 신호로 변환하여 전송합니다. 예를 들어, 구리선에서는 전압을 통해 1과 0을 표현하고, 광섬유에서는 빛의 유무로 데이터를 표현합니다.데이터 전송률 (Data Tra..
reduce는 복잡한 로직을 처리하거나 데이터를 축약해 새로운 구조를 생성할 때 매우 강력합니다. 아래에 다양한 예제들을 통해 활용 방법을 보여드리겠습니다.1. 배열의 중첩 합계 구하기중첩 배열의 모든 숫자를 더하는 예제입니다.const nestedArray = [[1, 2, 3], [4, 5], [6, 7, 8, 9]];const totalSum = nestedArray.reduce((accumulator, currentArray) => { const arraySum = currentArray.reduce((sum, num) => sum + num, 0); return accumulator + arraySum;}, 0);console.log(totalSum); // 45동작:외부 reduce..
WITH는 SQL에서 서브쿼리를 정의하고 이를 마치 테이블처럼 사용할 수 있도록 하는 기능입니다. WITH는 보통 공통 테이블 표현식(CTE, Common Table Expression) 이라고 불리며, 반복적인 쿼리나 복잡한 서브쿼리를 단순화하고 가독성을 높이는 데 유용합니다.기본 문법WITH cte_name AS ( -- 서브쿼리 SELECT column1, column2 FROM table WHERE condition)SELECT *FROM cte_nameWHERE other_condition;여기서 cte_name은 CTE의 이름이고, 그 뒤에 서브쿼리 내용을 적습니다. 그 후에 SELECT 구문에서 CTE를 테이블처럼 사용할 수 있습니다.예시 1: 간단한 WITH 사용WIT..