[CS / 네트워크] DNS
·
Computer Science
DNS(Domain Name System) DNS란 사람이 읽을 수 있는 도메인 이름(ex. www.naver.com)을 IP 주소로 변환하는 시스템 ‘계층 구조’를 가지는 분산 데이터베이스 구조를 가진다. 구성요소 도메인 네임 스페이스(Domain Name Space) : 도메인 이름 저장을 분산하는 규칙(방법) 네임 서버(Name Server) : 해당 도메인 이름의 IP 주소를 찾는다. 리졸버(Resolver) : DNS 클라이언트 요청을 네임 서버로 전달하고 찾은 정보를 클라이언트에게 제고하는 기능 수행
[CS / 네트워크] IP(Internet Protocol)
·
Computer Science
IP(Internet Protocol) 네트워크 호스트는 IP에서 정의된 규약(Protocol)을 이용해 네트워크 상에서 정보를 주고 받으며, 이 정보는 패킷(Packet) 단위로 전달된다. IP Address는 IP protocol을 사용하는 호스트의 주소 정보이다. 문제점 비신뢰성 : IP는 프로토콜일 뿐이고 보낸 데이터의 흐름에 관여하지 않기 때문에 보낸 패킷이 제대로 갔는지 보장하지 않는다. 즉, 순서가 있는 여러개의 데이터를 보냈을 때 받는 데이터가 같은 순서로 받아질 것이란 보장이 될 수 없다. 혹은 중간에 패킷을 가지고 있던 호스트가 강제종료되어 패킷이 소실될 경우 패킷이 목적지까지 가지 못하고 소실될 수 있다. 비연결성 : 패킷을 받을 대상이 연결 상태임을 확인하지 않고 전송하기 때문에 받..
[CS / 네트워크] TCP / UDP
·
Computer Science
TCP / UDP : 전송계층에서 데이터를 보내기 위해 사용하는 프로토콜 TCP(Transmission Control Protocol) 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜 연결형 서비스로 가상 회선 방식 제공 3-way handshaking과정을 통해 연결을 설정하고 4-way handshakin을 통해 해제한다. 흐름 제어 및 혼잡 제어 높은 신뢰성을 보장하지만 UDP보다 속도가 느리다 서버와 클라이언트는 1대1로 연결된다. UDP(User Datagram Protocol) 데이터를 데이터그램 단위로 처리하는 프로토콜 비연결형 서비스로 데이터그램 방식 제공 정보를 주고 받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않는다. 신뢰성이 낮지만 TCP보다 속..
[CS / 네트워크] OSI 7 계층
·
Computer Science
OSI 7계층 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말합니다. 계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문입니다. 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고, 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠수 있기 때문입니다. 1계층 - 물리계층(Physical Layer) 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송 데이터 전송 단위 : 비트 2계층 - 데이터 링크계층(DataLink Layer) 물리게층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역활 데이터 전송 단위 : 프레임 3계층 - 네트워크 계..
[2022 KAKAO BLIND RECRUITMENT / Java] 신고 결과 받기
·
알고리즘 & 코딩 테스트/Java로 푼 코딩 테스트
📍 생각대로 코딩 ArrayList, 단계를 나누어서 진행 유저 ID =>신고 List 중복제거 => 신고당한 카운트 세기 => 신고당한 횟수가 K번 이상이면 신고자 카운트 증가 import java.util.ArrayList; class Solution { public int[] solution(String[] id_list, String[] report, int k) { int[] answer = new int[id_list.length]; //이름 저장 List ArrayList name = new ArrayList(); for(String id : id_list){ name.add(id); } //신고 List 중복제거 ArrayList reports = new ArrayList(); for(St..
[Java] 자바(Java)란 무엇인가?
·
Java
1. 자바란 무엇인가? 자바는 절차적 언어인 C언어에 객체 지향적 기능을 추가하여 만든 C++과는 달리, 처음부터 객체 지향 언어로 개발된 프로그래밍 언어입니다. 자바는 자바 가상 머신(JVM, Java Virtual Machine)을 사용하기 때문에, 운영체제와는 독립적으로 동작할 수 있습니다. 따라서 자바는 어느 운영체제에서나 같은 형태로 실행될 수 있습니다. 2. 자바의 역사 초기 : 임베디드 프로그램을 위한 언어로 썬 마이크로시스템즈(Sun Microsystems)사의 제임스 고슬링(James Gosling) 팀에 의해 개발 1991년에 오크(Oak)라는 이름으로 시작하여, 1996년에 발표된 1.0.2 버전부터 자바(Java)라는 이름을 사용 1998년 발표된 J2SE 1.2에서는 웹에서도 자바..
마볼링
게임을 좋아하는 개발자의 블로그