CS

· CS
machine code (instruction) opcode 와 operand 의 집합으로 구성되어 있다 opcode mov, sub, jmp 같은 명령어 operand 해당 명령의 대상이 되는 데이터를 찾는 주소. byte code compiler 에 의해 생성된 중간단계의 코드 JVM 이 해석할 수 있는 단계의 코드.
· CS
콜백 함수 란 콜백 함수는 나중에 수신 함수에 의해 호출될 것으로 예상되며 다른 함수에 인수로 전달되는 함수 입니다. 이 방식은 비동기식 혹은 이벤트 구동 함수에서 사용된다. 콜백 함수는 네트워크 통신이나 파일 입출력 작업과 같이 완료하는 데 오랜 시간이 걸릴 수 있는 작업을 처리하기 위해 주로 사용된다. 태스크가 완료될 때까지 프로그램 실행을 차단하지 않아도 된다. 이 예제는 네트워크 통신에서 service 와 어플리케이션 구성요소가 binding 하기 위해서 bindService 함수를 사용하는 예시이다. // get context context = getApplicationContext(); // bind service Intent intent = new Intent(context, Connecti..
· CS
가상화란 가상화란 애플리케이션이나 서비스를 실행하는 데 사용할 수 있는 하드웨어 플랫폼, 운영 체제, 저장 장치 또는 네트워크와 같은 리소스의 가상 버전 생성을 의미합니다. 가상화를 사용하면 단일 물리적 리소스에서 여러 가상 인스턴스를 생성하고 실행할 수 있으므로 리소스 활용도가 높아지고 확장성이 향상되며 IT 인프라의 유연성이 향상됩니다. 가상화의 유형 서버 가상화: 여기에는 단일 물리적 서버에서 여러 가상 서버를 실행하는 것이 포함됩니다. 각 가상 서버는 고유한 운영 체제, 응용 프로그램 및 리소스가 있는 독립 시스템으로 작동합니다. 데스크톱 가상화: 여기에는 단일 물리적 시스템에서 여러 가상 데스크톱을 실행하는 것이 포함됩니다. 각 가상 데스크톱은 고유한 운영 체제, 애플리케이션 및 사용자 인터페이..
· CS
포트 운영체제 통신의 종단점. 하드웨어에서에도 사용되고, 소프트웨어에서는 프로세스나 네트워크를 식별하는 논리단위로 사용됨. 포트를 사용하는 프로토콜을 전송계층프로토콜 이라 부르며 여기엔 전송제어프로토콜(TCP) 과 사용자데이터그램 프로토콜(UDP)가 있다. 동작 통신을 할 때 Client와 Server가 있는데, 두 기기가 통신을 할 때 IP주소로만 통신을 하면 통신의 종류(웹인지, 메일인지)를 파악하지 못함. 그래서 IP주소에 포트를 더한 소켓 주소로 통신을 하기로 함. 각 프로그램의 서버는 특정 포트에서 대기를 하며, 클라이언트가 약속된 포트로 접속하면 실행된다. 이를테면 HTTP의 포트번호는 80번인데 어떤 사이트를 8080포트로 들어가면 어떻게 될까? 웹서버는 80번 포트에서 대기중인데 클라이언트..
· CS
블록암호 블록 암호는 고정 길이의 평문 블록(Plain text)을 키를 사용하여 동일한 길이의 암호문 블록(Cipher text)으로 변환하는 암호화 알고리즘입니다. 양방향 암호화 중 대칭키 암호화 방식을 사용합니다. 해시함수 메시지 다이제스트(해시 함수)는 다양한 길이의 입력을 받아 원본 메시지의(Plain text) 고유한 디지털 지문을 나타내는 고정 크기 출력(Digest)을 생성하는 암호화 알고리즘입니다. 단방향 암호화인 Hash 함수를 사용합니다. 차이점 블록 암호가 메시지의 암호화 및 암호 해독에 사용되는 반면 메시지 다이제스트(해시함수)는 메시지 무결성 및 신뢰성을 확인하고 메시지에 대한 무단 수정을 감지하는 데 사용됩니다. 메시지 다이제스트는 종종 메시지의 디지털 서명을 만드는 데 사용되..
· CS
base64 Base64는 이진 데이터를 ASCII 문자열 형식으로 나타내는 이진-텍스트 인코딩 체계입니다. 일반적으로 이미지, 오디오 파일 및 기타 이진 데이터와 같이 일반 텍스트로 안정적으로 표현할 수 없는 데이터를 전송하고 저장하는 데 사용됩니다. Base64 인코딩 체계에서 3개의 이진 바이트(즉, 24비트)의 각 그룹은 64개의 가능한 문자 집합에서 4개의 문자로 변환됩니다. 이 64자는 영어 알파벳의 26개의 대문자와 소문자, 10개의 숫자, "+" 및 "/" 기호로 구성됩니다. 또한 "=" 기호는 인코딩된 문자열의 끝에 패딩 문자로 사용되어 마지막 바이트 그룹이 완료되지 않았음을 나타냅니다. Base64로 인코딩된 결과 문자열은 원래 이진 데이터보다 길지만 수신자가 동일한 Base64 알고리..
· CS
프로세스 실행중인 프로그램, 레지스터, 스택, 포인터, 데이터의 집합체이며 자원할당의 기본단위. 구성 CPU시간 (프로그램이 CPU 차지한 시간) 주소공간 (물리적 실체에 대응하는 주소의 범위를 정의한 공간) 독립된 메모리 stack 지역변수, 매개변수 등 임시메모리 저장. 함수 호출시 생성, 종료 시 반환 heap malloc, new 등 프로그래머 동적 사용 공간 data 전역변수, 정적변수, 배열, 구조체 등 메모리 저장. 프로세스 종료까지 유지 code 작성한 코드 저장. 프로세스 종료까지 유지 특징 프로세스 당 최소 1개 스레드 사용 별도 주소공간에서 실행 프로세스간 변수는 기본적으로 접근 불가하며 통신을 통해 접근해야함 스레드 프로세스 내에서 동작되는 여러 실행의 흐름으로 프로세스가 할당받은 ..
· CS
HTTP 구조 HTTP 헤더와 본문으로 구성되어 있다. HTTP 본문에는 실제로 통신과정에서 주고 받을 컨텐츠가 담겨져 있다. HTTP헤더는 HTTP메시지(요청/응답)와 본문에 대한 정보를 말해주고 있다. 이에 대해서 이해하는 것이 실제로 중요하다. 해당 메시지가 제공하는 기능에 대한 최소한의 정보가 정리된 요약본이라고 할 수 있기 때문이다. 헤더에 그 프로토콜에 불필요한 내용을 담으면 네트워크로 전송되는 데이터의 크기가 커져서 빠른 전송이 불가능하기 때문에 프로토콜을 설계할 때부터 꼭 필요한 내용만 담아야 하고, 모든 기능이 표현되어야 한다. 이에 대해 HTTP 헤더는 크게 세가지로 구성되어 있다. General Header 전송되는 컨텐츠에 대한 정보보다는, 요청/응답이 이루어지는 날짜 및 시간등에 ..
· CS
HTTP 란 HyperTest Transfer Protocol로 문서간에 링크를 전송하는 프로토콜. HTML, 텍스트, 이미지, 음성, 영상, JSON 등 모든 형태의 데이터가 전송이 가능. 서버간의 데이터 전송에도 거의다 이거 씀. HTTP/1.1, HTTP/2 는 TCP를 기반으로 하고 있다. 하이퍼텍스트란 참조(하이퍼링크)를 통해 독자가 한 문서에서 다른 문서로 즉시 접근할 수 있게 하는 텍스트 HTTPS HyperTest Transfer Protocol SSL(Secure Socket Layer) HTTPS 는 HTTP에서 보안이 강화된 친구. HTTPS간에 전송되는 데이터는 추가적인 보안 계층이 존재. (TLS, 전송 보안 계층 프로토콜) 특징 클라이언트 서버구조 - request, respon..
· CS
아스키코드 아스키코드는 '한 문자'를 1byte 즉 7bit 에 담아내는 규칙이다. 아스키코드는 ASCII로 American Standard Code for Information Interchange 의 약자이다. 이를테면 53도 두 문자기에 0x35 0x32 로 표현이 된다. 문자를 나타내는 규칙에 아스키코드만 있는건 아니다. 이를테면 Base64는 6bit 를 한문자에 담아낸 규칙이고, bytetohex는 4bit 를 한 문자에 담아내는 규칙이다. 아래에서 설명할 확장아스키코드는 한 문자를 8bit 에 담아내는 규칙이고, unicode 는 2byte 즉 16bit 를 한 문자에 담아내는 규칙이다. C/C++에서 char 가 1byte(8bit) 인 것으로 기억하면 된다. c언어는 언어의 특성상 메모리..
· CS
허브 여러 컴퓨터를 연결해 네트워크를 만들어주는 장치로 데이터패킷 수령시 연결된 모든 장치에게 보내는 장치 허브의 단점 단순 분배 중계기로 IP할당 불가. 연결된 모든 장치에 패킷을 뿌리기에 데이터 전송 대역 분리해야함. 허브에 연결된 네트워크에서 하나의 디바이스에서 전송된 데이터프레임을 허브로 연결된 모든 디바이스에게 모두 전송하는 플러딩 즉 충돌이 많아짐. 보안이 안좋아 요즘 잘 안씀. 허브의 종류 L1더미허브 멀티포트 리피터 전기적 신호를 증폭시켜 들어온 데이터 재전송. LAN 최대 전송길이 연장, 접속 가능 창비 많아짐. 스위치 연결된 장치들의 IP, MAC주소 테이블을 갖고 원하는 목적지에 데이터패킷을 전송하는 장치. 라우터가 Internet 에서 길을 찾아 준다면 스위치는 LAN 에서 길을 찾..
· CS
1계층. 물리계층. 전기적, 기계적, 기능적 특성으로 OSI(Open Systems Interconnection) 모델은 데이터가 네트워크를 통해 전송되는 방식을 설명하는 개념적 모델입니다. 각각 특정 기능을 가진 7개의 레이어로 구성됩니다. 레이어는 다음과 같습니다. 물리적 계층: 구리 또는 광섬유 케이블과 같은 물리적 매체를 통해 원시 데이터를 전송합니다. 데이터 링크 계층: 이더넷 케이블과 같은 물리적 링크를 통해 안정적인 데이터 전송을 제공합니다. 네트워크 계층: 서로 다른 네트워크 간에 데이터를 라우팅하고 주소 지정 및 패킷 조각화를 처리합니다. 전송 계층: 엔드포인트 간에 안정적이고 효율적인 데이터 전달을 제공하고 오류 복구 및 흐름 제어를 담당합니다. 세션 계층: 서로 다른 네트워크 장치에 ..
yeonlee
'CS' 카테고리의 글 목록