전체 글 137

[ 컴퓨터 네트워크 ] 2.2 Web and HTTP (1)

웹은 HTTP로 나타낸다. 브라우저 주소 입력창에 URL을 입력하면 웹서버로부터 리소스를 얻을 수 있다. 클라이언트는 서버에 요청을 하고 응답을 받는다. 이때 클라이언트에서 서버까지 데이터 이동의 흐름은 HTTP라는 프로토콜에 의해 진행된다 ! 1. 웹이란 ? 웹 브라우저 - 클라이언트 / 웹 서버 - 서버 그물과 같은 망 → 네트워크의 링크로 연결되어있다. 웹은 HTML파일 기반의 여러가지 Object들이 참조되어 구성된 페이지이다. ** Object는 HTML 파일 ,JPEG이미지, applet, audio 파일 등이 있다. 그리고 이 오브젝트는 URL이라는 주소를 통해 addressing 될 수 있다. *** URL (host name : 웹 서버의 도메인 네임 / ip주소 ) + path name..

[ 컴퓨터 네트워크 ] 2.1 network of application 원리

새로운 Chapter로 들어왔다 ! Chapter 1 에서 다루었던 컴퓨터 네트워크와 인터넷에서 배운 5계층을 각 계층별로 자세히 배운다. Chapter2에서는 Layer에 대해서 application에 관한 내용을 자세히 다룬다. network application의 원리에 대해 설명하고 웹과 HTTP, FTP, 메일에서 사용되는 프로토콜, DNS, P2P applications, 비디오 스트리밍, socket프로그래밍 ,UDP, TCP에 관한 내용을 배울 예정이다. 5 layer에 대해서는 지난 포스팅에서 자세히 다루어보았다. [ 컴퓨터 네트워크 ] 1.5 - 1.7 Protocol Layer개요 및 보안 1.5 Protocol layers, service models 네트워크는 복잡하다. 매우! 네..

[ 컴퓨터 네트워크 ] 1.5 - 1.7 Protocol Layer개요 및 보안

1.5 Protocol layers, service models 네트워크는 복잡하다. 매우! 네트워크는 복잡하며 수많은 'pieces'가 존재한다. - host, routers, links of various media, applications, protocols, hardware, software등등 이러한 수많은 네트워크 시스템을 다루기 위해 layer(계층)을 구성했다 ! * layers : 각각의 layer들이 서로 다른 기능을 수행한다. * layer마다 각자의 tool이 있고 독립적으로 구성되어있다. ** 독립적 구성 : layer끼리 서로 영향을 끼치지 않음 1. why layering? 앞서 말했듯이 네트워크는 복잡하고 layer는 복잡한 시스템을 다루는 방법이다 . 독립적으로 구성된 la..

[백준/Python]15624번: 피보나치 수 7 (DP)

1. 문제 15624번: 피보나치 수 7 첫째 줄에 n번째 피보나치 수를 1,000,000,007으로 나눈 나머지를 출력한다. www.acmicpc.net 2. 해결 사실 해결 방법은 단순했다. - DP를 사용해자. - [ 알고리즘 ] 다이나믹 프로그래밍(DP) - 개념 - 문제에서 '구하라는 값'에 집중하자 → 나머지 값을 메모이제이션에 넣어보자 ~ 3. 코드 n = int(input()) dp= [0,1,1] for i in range(3,n+1): dp.append((dp[i-1]+dp[i-2])%1000000007) print(dp[n]) 4. 잊지말자 많이 헤멨던 문제다. DP를 배우기 전 그냥 재귀호출로만 풀다가 시간초과, 런타임 에러를 띄우고.. DP를 배우고 다시 돌아왔다. 하지만 메모리 ..

[알고리즘]/BOJ 2023.03.19

[ 알고리즘 ] 다이나믹 프로그래밍(DP) - 개념

1. 다이나믹 프로그래밍(DP)이란 ? 큰 문제를 작은 문제로 나누어 푸는 알고리즘 다이나믹 프로그래밍, 동적계획법은 문제를 어떤 형태로 변형시켜 쉽게 푸는 방법을 의미한다. * 여담이지만 '동적(Dynamic)'은 멋있어보여서 붙은 이름이라고 한다. 처음에 이 사실을 모르고 Dynamic에 집중해서 이 알고리즘을 보았는데 .. 계속 어느 부분이 동적으로 작동한다는 거지? 라고 생각했었다. 이 사실을 알고 나서는 '계획법'을 집중해서 보게 되었다.. ! 2. DP의 2가지 필수 조건 1) Overlapping Subproblem 같은 문제는 항상(구할 때 마다) 정답이 같다. 큰 문제가 작은 문제로 세분화될 수 있고, 같은 방법으로 풀릴 때 ex. 피보나치 수 - Fib(n-1) = Fib(n-2) + ..

[알고리즘] 2023.03.18

[ 컴퓨터 네트워크 ] 1.4 Delay, Loss, Throughput

더보기 배우는 양도 많고 어려운 네트워크 .. 그래도 알수록 재밌는 것 같다. 1.4에서는 delay, loss등의 패킷 전송 시 발생할 수 있는 문제점의 원인들에 대해서 다루어보고 Throuput이라는 처리량에 대한 부분을 다룬다. 전체적인 성능 측정에 대한 부분을 다루는 장이었다. 이 부분에 집중하며 포스팅을 작성해보겠다. - 개요 1. Delay 와 Loss가 발생하는 과정 패킷 큐가 라우터 버퍼에 보관된다. 패킷이 링크에 도달하는 속도 > 패킷이 링크에서 나가는 속도 -> 패킷 큐가 자신의 차례를 기다림 딜레이 발생 버퍼에 패킷을 받을 자리가 없으면 손실(Loss)가 발생 ** 버퍼 : 데이터를 한 곳에서 다른 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역 ** 버퍼링 ( =..

[ 컴퓨터 네트워크 ] 1.3 Network core

Network core packet switching, circuit switching, network structure 네트워크의 구성은 여러가지이다. 앞서 포스팅에 작성했던 네트워크 엣지, 엑세스 네트워크, 그리고 오늘 다루어 볼 네트워크 코어까지 ! 이 외에도 있지만 오늘은 네트워크 코어에 대해 배운 내용을 자세히 써보려고 한다. 1. 네트워크 코어란? Mesh of interconnected router 수많은 라우터들이 그물처럼 얽혀있는 구조 즉, 라우터들의 연결 2. 네트워크에서 데이터가 움직이는 방법(데이터 교환 방식) 패킷교환(Packit Switching)과 회로교환(Circuit Switching) 패킷교환(Packit Switching) : 호스트가 애플리케이션 계층메세지(layer ..

[리액트 실습] 로그인 화면 구성 1 (컴포넌트 뼈대 잡기)

*유튜브 인브로즈님의 실습 영상을 참조하여 작성한 포스팅입니다. [리액트 실습] 로그인 화면 만들기 0 (React Hooks - useEffect, useState ) * 유튜브 인브로즈님의 실습 영상을 참조하여 작성한 포스팅입니다. 드디어 영화 앱 실습 포스팅을 끝내고 '로그인 화면 만들기' 포스팅을 가져왔다. 우선 개발에 앞서 이번 포스팅에서는 리액 0lrlokr.tistory.com 이번 포스팅에서는 Login컴포넌트의 뼈대를 잡아보려한다. useState, useEffect와 같은 함수는 쓰이지 않을 예정이며 리액트의 CSS, HTML의 기초적인 부분에 대해 다루어볼 것이다. 1. 뼈대잡기 우선 create-react-app을 활용하여 login-review 디렉토리를 만들어주었다. (복습 겸 ..

FE/React 2023.03.06

[백준/Python] 3040번: 백설 공주와 일곱 난쟁이 (완전탐색)

1. 문제 3040번: 백설 공주와 일곱 난쟁이 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. www.acmicpc.net 2. 해결 - 완전탐색 (Brute-Force)를 사용하여 풀었다. - 우선 아홉난쟁이 중 합이 100인 난쟁이 7명을 찾아야하는데 7명을 찾기보다는 아닌 2명을 제외하는 것이 더 간단해보인다. - (전체 합 - 아닌 두명의 숫자 합)을 통해서 구할 수 있다. - 나머지 2명이 중복되지 않게 2중 for 문을 사용해주었다. (아래에 예시 코드를 작성하였다) - 완전탐색을 하며 i,j를 찾아도 9C2 = 36으로 충분히 작은 수가 나오므로 완전..

[알고리즘]/BOJ 2023.03.06