728x90
반응형

전체 글 551

DNS 서버 동작과 소켓을 통한 데이터 송수신 동작 개요

3. 전 세계의 DNS 서버가 연대한다 3-1. DNS 서버의 기본 동작 DNS 서버의 기본 동작은 클라이언트에서 조회 메시지를 받고 조회의 내용에 응답하는 형태로 정보를 회답하는 일이다. 조회 메시지에는 다음의 세 가지 정보가 포함되어 있다. (a) 이름 : 서버나 메일 배송 목적지와 같은 이름이다. (b) 클래스 : DNS의 구조를 고안했을 때 인터넷 이외에도 네트워크에서의 이용까지 검토하여 식별하기 위해 클래스라는 정보를 준비하였다. 하지만 현 재에는 인터넷 이외의 네트워크는 소멸되었으므로 클래스는 항상 인터넷을 나타내는 'IN'이라는 값이 된다. (c) 타입 : 이름에 어떤 타입의 정보가 지원되는지를 나타낸다. 타입에 따라 클라이언트에 회답하는 정보의 내용이 달라진다. → 이름과 타입에 따라 조사..

CS/네트워크 2023.07.21

HTTP 통신과정, 리졸버를 이용한 DNS 서버에서 IP 조회하기

1. HTTP 리퀘스트 메시지 작성 URL은 http://로 시작하는 것 뿐만 아니라 ftp:, file:, mailto: 등 여러가지가 존재한다. 이와 같이 쓰는 방법은 다양하지만 모든 URL에는 하나의 공통점이 있다. → URL의 맨 앞에 있는 문자열, 즉 http:, ftp:, file:, mailto:라는 부분에서 액세스하는 방법을 나타낸다는 점이다. 그러므로 여기에는 엑세스 할 때의 프로토콜 종류가 쓰여있다고 생각하면 된다. 가장 먼저 이렇게 액세스 요청 리퀘스트 메시지를 작성한다. 1-2. 브라우저의 URL 해석 브라우저가 처음 하는 일은 웹 서버에 보내는 리퀘스트의 메시지를 작성하기 위해 URL을 해독하는 것이다. 아래 사진과 같은 방법으로 해독한다. 1-3. 파일명을 생략한 경우 위처럼 h..

CS/네트워크 2023.07.21

KT 에이블 스쿨[AIVLE School] 4기 수도권 AI 개발자 최종 합격 후기

24년 2월 졸업(?)을 앞두고 있는 입장에서 그리고 2023년도의 고용 시장 상태를 마주하는 입장에서 취업은 막막한 일 중 하나였다. 내가 원하는 것을 이루기 위해서 무엇을 해야 할지 고민하고 차근 차근 하나씩 해 나가는 중이라고 생각하는데, KT 에이블 스쿨 4기 모집 공고를 봤다. 나는 2학기 학점이 아직 적지 않게 남아있었고 지원한다고 하더라도 붙는다는 확률이 100%가 아니라고 생각했기에 일단 지원해보자 라는 생각으로 지원했다. 모집공고를 보면 알겠지만 학생이 대상이 아닌 정말 취업을 눈 앞에 두고 있는 사람들을 대상으로 진행하는 교육 과정 및 취업 연계 프로그램이다. 해당 교육 과정의 성적 10% 내에 들면 KT본사와 다른 계열사를 선택하여 바로 면접을 볼 수 있는 기회가 주어진다. 취준생 입..

공부 외 2023.07.17

[2장] 데이터 입출력 구현

※ DBMS : 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해주는 소프트웨어이다. [DBMS의 필수 기능 3가지] 기능 설명 정의(Definition) 기능 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능 조작(Manipulation) 기능 데이터 검색, 갱신, 삽입, 삭제 등을 위해 인터페이스 수단을 제공하는 기능 제어(Control) 기능 데이터의 무결성, 보안, 권한 검사, 병행 제어를 제공하는 기능 ※ 스키마 : 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 것 종 류 내 용 외부 스키마 - 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것 개념 스키마 - 데이터베이스의 전체적인..

CS/CS 2023.07.17

[1장] 요구사항 확인

※ 소프트웨어 생명주기 : 소프트웨어를 개발하기 위한 과정을 각 단계로 나눈 것 ※ 나선형 모형 : 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 개발하는 모형을 보헴이 개발 1. 계획 수립 2. 위험 분석 3. 개발 및 검증 4. 고객 평가 ※ 폭포수 모형 : 이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭짓고 그 결과를 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론이다. ※ 애자일 모형 : 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형이다. [대표적인 개발 모형] 스크럼 XP 칸반, Lean, 기능 중심 개발(FDD ; Feature Driven Development) ※ 애자일 개발 4가지 핵심 가치 프로세스와 도구보다..

CS/CS 2023.07.17

[4장] 서버 프로그램 구현

※ 모듈화 : 시스템의 기능들을 모듈 단위로 나누는 것 - 모듈화는 모듈 간 결합도의 초소화와 응집도를 최대화 하는 것이 목표 ※ 추상화 : 전체적이고 포괄적인 개념을 설계한 후 구체화시켜 나가는 것 유형 내용 괴정 추상화 자세한 수행 과정을 정의하지 않고, 전반적인 흐름만 파악할 수 있게 설계하는 방법 자료 추상화 데이터의 세부적인 속성이나 용도를 정의하지 않고, 데이터 구조를 대표할 수 있는 표현으로 대체하는 방법 제어 추상화 이벤트 발생의 정확한 절차나 방법을 정의하지 않고, 대표할 수 있는 표현으로 대체하는 방법 ※ 정보 은닉 : 한 모듈 내부에 포함된 절차와 자료들의 정보가 감추어져 다른 모듈이 접근하거나 변경하지 못하도록 하는 기법 ※ 아키텍처 패턴 : 아키텍처를 설계할 때 참조할 수 있는 전..

CS/CS 2023.07.16

[5, 6장] 인터페이스 구현 / 화면 설계

※ 요구사항 검증 방법 1. 요구사항 검토 계획 수립 2. 검토 및 오류 수정 3. 베이스라인 설정 동료검토 워크 스루 : 명세서를 미리 배포하여 사전 검토 인스펙션 : 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견 프로토타이핑 : 소프트웨어 견본품으로 예측 ※ 인터페이스 요구사항 검증의 주요 항목 완전성 일관성 명확성 기능성 검증 가능성 추적 가능성 변경 용이성 ※ 미들웨어 [Middleware] : 운영체제와 응용 프로그램 또는 서버와 클라이언트 사이에서 다양한 서비스를 제공하는 소프트웨어 DB RPC [Remote Procedure Call] MOM [Message Oriented Middleware, 메시지 지향 미들웨어] TP-Monitor [Transaction..

CS/CS 2023.07.16

[12장] 제품 소프트웨어 패키징

※ 소프트웨어 패키징 : 모듈별로 배포용 설치 파일을 만드는 것을 말하며 사용자 중심으로 진행한다. 기능 식별 → 모듈화 → 빌드 진행 → 사용자 환경 분석 → 패키징 및 적용 시험 → 패키징 변경 개선 → 배표 ※ 릴리즈 노트 작성 항목 Header : 릴리즈 이름, 소프트웨어 이름, 버전, 날짜 등 개요 : 소프트웨어 및 변경사항 전체에 대한 간략한 내용 목적 : 해당 릴리즈 버전에서의 새로운 기능이나 수정된 기능의 목록과 릴리즈 노트의 목적에 대한 간략한 개요 문제 요약 : 수정된 버그에 대한 간략한 설명 또는 릴리즈 추가 항목에 대한 요약 재현 항목 : 버그 발견에 대한 과정 설명 수정/개선 내용 : 버그를 수정/개선한 내용을 간단히 설명 사용자 영향도 SW 지원 영향도 노트 면책 조항 연락처 ※..

CS/CS 2023.07.16

[11장] 응용 SW 기초 기술 활용 (2)

※ IP : 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소 IPv4 8비트씩 4부분, 총 32비트 네트워크 부분의 길이에 따라 A 클래스에서 E 클래스까지 총 5단계로 구성 IPv6 16비트씩 8부분, 총 128비트 각 부분을 16진수로 표현하고, 콜론으로 구분 유니캐스트 (Unicast) : 1대1 통신 멀티캐스트 (Multicast) : 1대다 통신 애니캐스트 (Anicast) : 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신 ※ 서브넷팅 : 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것 ※ 도메인 네임 : 숫자로 된 IP 주소를 사람이 이해하기 쉬운 문자 형태로 표현한 것, 이러한 시스템을 DNS(Domain Name System)라고 함 ※ O..

CS/CS 2023.07.16

[11장] 응용 SW 기초 기술 활용 (1)

※ 운영체제 : 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임 ※ 운영체제의 목적 처리 능력 (Throughput) 반환 시간 (Turn Around Time) 사용 가능도 (Availability) 신뢰도 (Reliability) ※ UNIX : AT&T 벨(Bell) 연구소, MIT General Electric이 공동 개발한 운영체제 시분할 시스템(Time Sharing System) 트리(Tree) 구조의 파일 시스템 ※ UNIX 시스템 구성 커널(Kernel) UNIX의 가장 핵심적인 부분으로 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할 담당 프로세스(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리,..

CS/CS 2023.07.16
728x90
반응형