전체 글 143

도메인 이름이란?

1. DomainName 도메인네임은 네트워크 상에서 컴퓨터를 식별하는 호스트네임을 가르키며, 좁은의미로는 도메인 레지스트레에 등록된 이름을 말합니다. 등록된 도메인 네임은 호스트네임의 일부분으로 DNS 상에서 해당 호스트네임 및 그 하위의 호스트네임들은 일반적으로 해당 등록자에게 주어집니다. 예를 들어, 네이버 메일과 네이버 웹툰을 비교해보겠습니다. 네이버 메일 : mail.naver.com 네이버 웹툰 : comic.naver.com 여기서 mail, comic은 naver.com이라는 도메인네임에서 각각의 서비스를 구분하기 위한 호스트 네임입니다. 네트워크를 구성하고 네트워크 안에서 IP주소가 아닌 호스트네임을 사용하기 위해서는 호스트네임과 IP를 관리해주는 테이블이 필요합니다. 네트워크의 게이트웨..

Studying/Roadmap 2022.03.08

DNS의 동작 원리

1. DNS? 인터넷에 연결되어 있는 장치들(컴퓨타, 스마트폰, 서버..)은 각각의 장치를 식별할 수 있는 IP주소를 가지고 있으며, 이를 숫자 형태로 나타냅니다 ex) 115.68.24.88 하지만 이런 숫자는 사람이 이해하고 기억하기 어렵기 때문에 각 IP에 이름을 부여할 수 있게 되는데 그것을 도메인이라고 합니다. 우리가 입력한 도메인 주소를 IP 주소로 변환하는 과정이 필요한데 이것을 담당하는 시스템을 DNS(Domain Name System) 라고 할 수 있습니다. 터미널에서 nslookup을 입력하면 내 PC에 설정된 DNS 서버가 기본 서버로 표출 되는 것을 확인할 수 있습니다. DNS 서버의 정보를 확인하고 싶은 도메인을 입력하면 (google.co.kr), 하단의 IP가 매핑된 것을 확인..

Studying/Roadmap 2022.03.07

자릿수의 합

N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 툴력하는 프로그램을 작성하세요. 각 자연수의 자릿수의 합을 구하는 함수를 def digit_sum(x)를 꼭 작성해서 프로그래밍 하십시오. -입력 설명 첫 줄에 자연수의 개수N(3max: max=tot res=x print(res) 풀이 전에 문제에 자릿수의 합을 구하는 def digit_sum(x)을 사용하라고 명시되어 있습니다. def는 함수를 만들 때 사용하는 예약어로, 함수 이름 뒤 괄호 안의 매게 변수는 이 함수에 입력으로 전달되는 값을 받는 변수입니다. def 함수명(매개변수): 반복문 시작 전에 함수를 먼저 선언해줍니다. 매개변수를 x로 선언합니다. 자릿수를 더해야 하기 때문에 sum=0으로 초기화 시켜놓고..

Algorism/Python 2022.03.07

정다면체

두 개의 정N면체, 정M면체의 두 개의 주사위를 던져서 나올 수 있는 눈의 합 중 가장 확률이 높은 숫자를 출력하는 프로그램을 작성하세요. 정답이 여러 개일 경우 오름차순으로 출력합니다. -입력 설명 첫 번째 줄에는 자연수 N과 M이 주어집니다. N, M은 4, 6, 8, 12, 20 중 하나입니다. -출력 설명 첫 번째 줄에 답을 출력합니다. -입력 예제 4 6 -출력 예제 5, 6, 7 n, m = [4, 6] cnt = [0]*(n+m+1) max = 0 for i in range(1, n+1): for j in range(1, m+1): cnt[i+j]+=1 for i in range(n+m+1): if cnt[i]>max: max=cnt[i] for i in range(n+m+1): if cnt..

Algorism/Python 2022.03.07

브라우저는 어떻게 동작하는가?

1. 브라우저(Browser)란? 우리가 흔히 브라우저라고 말하면, 웹 브라우저를 의미합니다. 웹 브라우저는 웹 서버에서 이동하며 쌍방향으로 통신하고, HTML문서나 파일을 출력하는 그래픽 사용자 기반의 응용 소프트웨어를 말합니다. 구글 크롬, 엣지, 사파리, 오페라 등등 많은 브라우저의 종류가 있지요. 브라우저의 주요 기능은 클라이언트가 선택한 자원을 서버에 요청하고 브라우저에 표시하는 기능을 합니다. 여기서 자원(Resource)은 보통 HTML 문서지만, PDF 혹은 이미지 그 외 다른 형태일 수도 있습니다. 리소스의 주소는 URI에 의해 정해집니다. 2. 브라우저의 구조 브라우저를 구성하는 주요 요소는 위의 사진과 같이 구성되어있습니다. 1. 사용자 인터페이스 : 사용자가 접근하는 영역으로, UR..

Studying/Roadmap 2022.03.05

HTTP란?

1. HTTP? 저희가 주소창에서 볼 수 있는 HTTP(HyperText Transfer Protocol)는 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고 받을 수 있는 프로토콜을 말합니다. 클라이언트(사용자)가 브라우저(Chrome, Safari 등)를 통해 어떤 서비스를 url(Uniform Resource Locator = web address)을 통해 요청을하면 서버에서는 클라이언트의 요청사항에 맞는 결과를 찾아 응답하는 형태로 동작하게 됩니다. 이 때, 클라이언트가 요청할 시에는 정보를 HTML 형태로 받고 싶은지, JSON형태로 받고 싶은지 명시를 해주는 경우가 많습니다. (HTML, JSON은 나중에 공부해보겠습니다.) 2. HTTP의 특징 저번에 인터넷의 동작에서 공부한 TCP/IP..

Studying/Roadmap 2022.03.05

프로그래머스 - 크레인 인형뽑기 게임

https://programmers.co.kr/learn/courses/30/lessons/64061?language=python3 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr def solution(board, moves): stacklist = [] answer = 0 for move in moves: for i in range(len(board)): if board[i][move-1] != 0: stacklist.append(board[i][move-1]) board[i][move-1] = 0 if len(stacklist) ..

Algorism/Python 2022.03.04

대표값 구하기

N명의 학생의 수학성적이 주어집니다. N명의 학생들의 평균(소수 첫째자리 반올림)을 구하고, N명의 학생 중 평균에 가장 가까운 학생은 몇 번째 학생인지 출력하는 프로그램을 작성하세요. 답이 2개일 경우 성적이 높은 학생의 번호를 출력하고, 만약 답이 되는 점수가 여러 개일 경우 번호가 빠른 학생의 번호를 답으로 한다. -입력설명 첫 줄에 자연수 N(5

Algorism/Python 2022.03.04

인터넷의 동작 원리

1. 인터넷 인터넷은 정보를 담고 있는 컴퓨터들을 *TCP/IP라는 통신 프로토콜을 이용하여 서로 정보를 주고 받도록 한 컴퓨터 네트워크입니다. TCP/IP는 통신규약(protocol)의 모음으로 전송제어 프로토콜인 TCP와 인터넷 프로토콜인 IP로 이루어져 있습니다. TCP는 근거리 통신망, 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간 옥텟(8bit)을 안정적, 순서대로 교환할 수 있게 해주는 전송하는 역할을 하며, IP는 네트워크 상 컴퓨터의 고유한 주소로 4bit로 이루어진 주소입니다. 요약하면, 인터넷은 TCP/IP를 이용하여 서로 데이터를 주고 받도록 하는 네트워크를 말하는 것입니다. 2. 네트워크 네트워크는 분산되어 있는 컴퓨터들을 하나의 망(통신망)으로 연결한 것을 말합니다. ..

Studying/Roadmap 2022.03.04