분류 전체보기
-
BOJ) 바이러스 (2606, JAVA)알고리즘/백준 2020. 8. 24. 16:39
풀이 전형적인 find - union 문제라고 할 수 있겠다. n 대의 컴퓨터가 연결되어 있고, 연결 관계가 주어진다. (그래프) 연결된 컴퓨터들 중 하나만 바이러스 걸려도 연결된 컴퓨터 모두 바이러스가 걸린다. 1번 컴퓨터가 바이러스 걸렸을 때, 몇 대의 컴퓨터가 추가적으로 바이러스 걸리는지 구하는 문제다. 풀이는 간단했다. 우선 parents 배열, find, union 메소드를 만들어 줬다. 그리고 입력을 받으면서 따로 graph에 저장하지 않고, 바로 find -union을 해줬다. 이후, 2번 ~ n번까지 컴퓨터를 돌면서 parent를 찾아 1번의 parent와 같다면 답에 더해줬다. (union할 때, 더 큰수의 parent를 작은 수로 설정해서 아마 1번의 parents는 언제나 1일것이다...
-
URI, URLCS 지식/네트워크 2020. 8. 23. 20:52
URI & URL URI (Uniform Resource Identifier) 웹 서버가 리소스를 고유하게 식별할 수 있게 하는 것 URL과 URN 두가지가 있는데, 일반적으로 URL을 이용한다. URL 특정 서버의 한 리소스에 대해 구체적 위치를 서술 URN 리소스가 어디에 위치해 있든 찾을 수 있는 방식 URL (Uniform Resource Locator) ://:@:/?질의# 스킴(scheme) 사용할 프로토콜을 말하며, 리소스에 어떻게 요청, 접근한 것인지 명시 웹에서 주로 HTTP 프로토콜을 사용 그 밖에 ftp, mailto(이메일),rtsp(스트리밍)과 같은 프로토콜을 사용할 수도 있음 사용자 이름과 비밀번호 어떤 서버는 자신이 가지고 있는 데이터에 접근하기 위해 사용자 이름과 비밀번호를 ..
-
TCP / UDP, 소켓CS 지식/네트워크 2020. 8. 23. 20:45
TCP(전송제어 프로토콜) IP의 핵심 프로토콜 중 하나로 TCP/IP라는 명칭으로 널리 불린다. 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간의 일련의 옥텟을 안정적으로, 순서대로, 에러없이 교환하도록 한다. 전송 계층에 위치 ~> 네트워크 정보 전달 통제 웹 브라우저들이 월드와이드웹(WWW)에서 서버에 연결할 때 사용, 이메일 전송 or 파일 전송에 사용됨 프로토콜 작동 연결 생성 연결을 생성하기 위해 3방향 핸드셰이크를 이용 자료 전송 SYN => 클라이언트가 서버에게 SYN 메세지를 전송 ~> 이 메세지에 포함된 시퀀스 번호는 클라이언트가 임의로 설정한 값 A SYN-ACK => 서버가 클라이언트에게 SYN-ACK 메세지로 응답 ~> 이 메세지에 포함된 시퀀스 번호는..
-
DNS (Domain Name Server)CS 지식/네트워크 2020. 8. 23. 20:39
DNS (Domain Name Server) 도메인 네임 네트워크 상에서 컴퓨터를 식별하는 호스트명 도메인 레지스트리에 등록된 이름 호스트명의 일부분, DNS 상에서 해당 호스트명 및 하위 호스트명들은 일반적으로 해당 등록자에게 권한이 주어짐 DNS 서버 구조 3가지 형태로 나뉘고, 트리 형태로 구성됨 루트 DNS 서버 도메인 이름공간의 최고점에 있는 정보를 보유한 네임 서버(인터넷 핵심 담당) TLD(Top Level Domain) === 최상위 레벨 도메인 네임 DNS 서버 같은 상위 레벨 도메인(com, org, gov)과 kr,uk,us 와 같은 모든 국가의 상위 레벨 도메인 포함 책임 DNS 서버 인터넷에서 접근하기 쉬운 페이지를 가진 기관은 호스트 네임을 IP 주소로 연결시키는 역할 리졸버 (..
-
서브넷(서브 네트워크), IPv4, IPv6CS 지식/네트워크 2020. 8. 23. 20:33
서브넷(=== 서브네트워크) sub net === sub netting CIDR(Classless Inter-Domain Routing) 클래스 네트워크를 더 작은 네트워크로 나누는 방법 조금 더 유연하게 네트워크 구성 가능 IP 고갈을 늦추기 위해 등장 서브넷 마스크 상위 비트 네트워크 식별자의 비트 수 연속된 1 값을 가짐 하위 비트 호스트 식별자의 비트 수 연속된 0 값을 가짐 서브넷 표기법 4바이트 IP 주소 / 숫자 숫자는 0~32의 값 => 네트워크 식별자 호스트 식별자는 0으로 채워짐 ex ) 0.0.0.0/0 => 인터넷 전체 구축 단계 서브넷을 위해 사용될 호스트 비트의 수를 결정 새로운 서브넷 네트워크 ID를 열거 각 새로운 서브넷 네트워크 ID 별, IP 주소를 열거 호스트 비트 개수..
-
스키마 3계층 ( 외부 스키마, 개념 스키마, 내부 스키마)CS 지식/데이터베이스 2020. 8. 17. 11:53
스키마의 3계층 데이터베이스 관리 시스템은 외부적 스키마에 따라 명시된 사용자의 요구를 개념적 스키마에 적합한 형태로 변경 다시 내부적 스키마에 적합한 형태로 변환 외부 스키마(External Schema) = 사용자 뷰(View) 사용자나 응용프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있음 ~> 서브 스키마(Sub Schema)라고도 한다. 하나의 데이터베이스 시스템에는 외부 스키마가 여러 개 존재할 수 있음 하나의 외부 스키마를 여러 응용 프로그램이나 사용자가 공용할 수도 있음 같은 데이터베이스에 대해서도 서로 다른 관점에서 정의할 수 있도록 허용 일반 사용자는 질의어(SQL)을 이용하여 DB를 사용 응용 프로그..
-
Async & Await , PromiseJava Script/기본 개념 정리 2020. 8. 17. 11:46
비동기란 ? 요청한 내용을 응답해 줄 것을 약속한다는 의미 즉, 요청과 응답이 바로 일어날 수도, 다른 시간대에 일어날 수도 있음 콜백함수란 ? 콜백이란 이름이 있는 것이 아니라, 함수의 사용 용도가 call / back인 함수를 의미한다. 클릭 이벤트가 발생할 때 출력되는 콜백 함수와 같은 말을 들어본 적이 있을 것이다. Promise란 ? promise로 구현된 비동기 처리 함수는 콜백을 예측 가능한 패턴으로 사용하도록 도와준다. 콜백 함수 안에서 생성된 프로미스 객체를 활용해 콜백함수가 성공,실패,오류 경우에 따라 후속 처리를 할 수 있다. 순차적이지 않은 비동기 함수의 실행 순서를 제어할 수 있게 도와준다. 콜백 패턴에 비해 코드 가독성이 좋고 반환된 결과물을 사용하기 편하다. Promise 작동..
-
멀티 스레드의 임계 구역과 뮤텍스, 세마포어CS 지식/운영체제 2020. 8. 17. 11:37
임계 구역과 뮤텍스, 세마포어 임계 영역 한개의 연산을 둘 이상의 쓰레드가 동시에 실행할 경우 발생할 수 있는 코드 블록 쓰레드 안에 있는 코드 블록이 임계 영역이 된다. 따라서, 문제가 발생하지 않게 독점을 보장해줘야 함. (Lock, 동기화) 동기화 기법 뮤텍스(Mutex => Mutual Exclusion) 쓰레드의 동시 접근을 허용하지 않음 Mutex를 이용해서 특정 변수로 접근하는 쓰레드를 차단하면, 나머지 쓰레드는 대기줄에서 기다린다. 뮤텍스를 사용한 쓰레드가 뮤텍스를 반환하면, 대기줄에 있는 순서대로 쓰레드가 변수가 접근 뮤텍스 생성, 삭제, 잠금, 잠금해제 함수가 있음 단, 뮤텍스 잠금 후 해제를 하지 않으면, 잠금 함수는 블로킹 상태에 빠져 못나감 이 상태를 데드락 상태라고 부름 뮤텍스 ..