SW/CS 7

병렬성과 비동기성

이 글은 한 권으로 읽는 컴퓨터 구조와 프로그래밍 책을 읽으며 작성했던 요약을 옮긴 글입니다 경합조건? 경합조건 : 잔고가 100만원인 계좌에서 동시에 75만원과 50만원을 인출하려는 경우 은행에서는 계좌를 잠가서(락) 둘 중 한개의 거래만 처리 일부 연산에 대해서는 근본적으로 멀티태스킹을 막아야 함을 의미 경합 조건은 2개 이상의 프로그램이 같은 자원에 동시에 접근하고, 자원 사용 순서에 따라 결과가 달라지는 경우를 뜻함 프로그렘 1 프로그렘 2 잔고 프로그렘1 프로그렘2 잔고 100만 원 100만 원 100만 원 읽음 100만 원 100만 원 읽음 100만 원 읽은 값에 10만 원 더함 100만 원 읽은 값에 10만 원 더함 100만 원 110만 원 write 110만 원 100만 원 읽음 100만 ..

SW/CS 2023.11.03

웹 브라우저

이 글은 한 권으로 읽는 컴퓨터 구조와 프로그래밍 책을 읽으며 작성했던 요약을 옮긴 글입니다 웹 브라우저 추상적인 컴퓨터를 이해하기 위한 가상 머신 인터프리터의 일종 마크업 언어 마크업 : 본문(텍스트)과 구분할 수 있는 마크를 추가할 수 있는 시스템 일부 문자에 특벌한 기능을 넣어 마크업 IBM에서 GML (generalized Markup Language)를 만들고 이를 확장하여 SGML(standard GML)을 표준으로 채택 SGML를 뿌리로 XML, HTML이 만들어짐 (SGML 표준을 준수하지는 않음) 균일 자원 위치 지정자(URL, Uniform Resource Locator) URL을 사용해 HTTP 프로토콜을 통해 서버에게 문서를 요청 서버는 문서를 브라우저에게 보내고, 브라우저는 문서를..

SW/CS 2023.10.16

프로그래밍 언어 처리 - 고수준 언어의 처리 방법(파스트리)

프로그래밍 언어 처리 어셈블리 언어 초기 프로그래머들은 각 명령어에 대한 비트 조합을 외워서 작성 니모닉(mnemonics)을 통해 명령어 작성 기계어 명령어를 나타내는 단어 ADD AX, BX 두 개의 레지스터(AX,BX) 값을 더하는 ADD 명령어를 기계어 명령어 0x02로 변환 주소에 이름(label)을 붙이고, 코드에 주석을 달아 쉽게 읽고 이해하는데 도움 어셈블러 : 어셈블리 언어로 작성된 코드를 읽고 기계어 코드를 생성해주는 프로그램 변환 과정에서 레이블이나 심볼의 값을 결정해 채워 넣어줌 고수준 언어 어셈블리 언어보다 더 높은 추상화 단계에서 작동 소스 코드는 컴파일러에 의해 실행 컴파일러는 소스 코드를 기계어로 번역(compile) 기계어 코드를 목적 코드(object code)라고도 함 ..

SW/CS 2023.08.29

데이터 구조와 처리

데이터 구조와 처리 기본 데이터 타입 프로그래밍 언어는 다양한 기본 데이터 타입 제공 크기(size,비트수)와 해석(interpretation,부호여부, 부동소수점, 문자?,포인터?...) 포인터 컴퓨터 아키텍처에 따라 결정되는 크기의 부호가 없는 정수 정수값이 아니라 메모리 주소로 해석 잘못된 포인터 사용으로 인한 오류를 막기 위해 참조 개념이 탄생됨 참조 객체의 메모리 주소가 아닌 객체를 가르키는 변수를 저장 배열 아파트와 같은 구조 아파트 동 안에 각 집의 호수(인덱스)가 있고 호수에 집(원소)이 존재 각 원소는 0번째 원소의 주소(기저 주소)에서 얼마나 멀리 떨어져 있는지를 나타낸 오프셋으로 지정 가능 참조 지역성 2*2 배열 가정 0층 0호 => 1층 0호 => 0층 1호 => 1층 1호 0층 ..

SW/CS 2023.08.07

인터넷 - TCP / IP

인터넷 TCP/IP 전송 제어 프로토콜(Transmission Control Protocol) / 인터넷 프로토콜 IP는 패킷(데이터그램)을 한 곳에서 다른 곳으로 옮겨줌 TCP는 패킷 수신을 확실히 보장해줌(수신자가 받은걸 확인 해줌) 패킷이 순서대로 전송되고, 손실되지 않고, 오류가 발생하지 않도록 보장 IP 주소 인터넷 상의 각 컴퓨터는 유일한 주소인 IP주소가 할당됨 MAC 주소와 달리 하드웨어에 묶여있지 않음(변경 가능) MAC 주소 네트워크에서 네트워크 인터페이스 컨트롤러를 고유하게 식별하는 64비트 주소 하드웨어에 묶여있음 네트워크 장치의 고유성을 보장하기 때문에, 네트워크 보안에도 사용 네트워크 장치의 제조업체에서 고정적으로 설정 도메인 이름 시스템(DNS,Domain Name System..

SW/CS 2023.08.07

GET, POST 차이

가장 큰 차이점은 프론트엔드에서 백엔드로 데이터 전송시 데이터 암호화 여부이다. 데이터 전송시 데이터를 packet에 담아 전송을 하게 되는데, GET방식의 경우 packet의 Header에 데이터를 담아 URL주소에 데이터 내용 까지 포함되지만, POST방식의 경우 packet의 Body에 데이터가 암호화 되어 전송된다. 따라서 GET방식의 경우 암호화를 거치지 않아서 상대적으로 빠르다는 장점이 있고, POST방식의 경우 암호화와 GET방식 대비 큰 데이터를 전송할 수 있다는 장점이 있다.

SW/CS 2022.07.17