비전공자
-
9일차 - 웹 콘텐츠에서 사용하는 기술CS지식/네트워크 2021. 5. 11. 23:16
오늘은 웹에서 다양한 콘텐츠를 보여주기 위해 사용되는 여러 기술들을 배웠다. 웹 페이지를 표현하기 위한 언어 뿐만 아니라 데이터 송신을 용이하게 하는 XML이라 JSON에 대해서도 알 수 있었다. 1. HTML (HyperText Markup Language) 웹 페이지의 대부분은 HTML로 되어 있기 때문에 HTML에 대해 알아볼 필요가 있다. HTML은 웹 상에서 하이퍼텍스트를 보내기 위해서 개발된 언어이다. 여기서 말하는 하이퍼텍스트란 문서 시스템의 하나로서, 문서 중에 임의의 장소의 정보가 다른 정보에 링크되어 있는 문서이다. 마크업 언어는 문서의 일부에 특별한 문자열(HTML에서는 HTML 태그라고 부른다.)을 붙임으로써 문서를 수식하는 언어이다. 우리가 보고 있는 naver웹 페이지, goog..
-
12일차 - Virtual MemoryCS지식/운영체제 2021. 5. 10. 23:13
지난 시간까지는 물리적 메모리에 프로세스를 올리는 방법과 논리적 주소를 물리적 주소로 바꾸는 방법에 대해 배웠다. 오늘은 프로세스가 실행되면 기본적으로 각각의 프로세스가 가지는 논리적 주소공간인 vritual memory에 대해 배웠다. virtual memory에서 paging기법을 사용하면 어떻게 동작하는지에 대해 알 수 있었다. 1. Demand Paging demand paging은 요청이 있는 경우에 해당 페이지를 메모리에 올리는 것이다. demand paging을 사용하면 다음과 같은 장점이 존재한다. ① I/O양의 감소 ② memory 사용량 감소 ③ 빠른 응답 시간 ④ 더 많은 사용자 수용 저번 시간에 page table에서 해당 page가 물리적 메모리에 있는지를 알려주기 위해 vaild..
-
11일차 - 데이터베이스 언어 SQLCS지식/데이터베이스 2021. 5. 9. 23:17
오늘은 데이터베이스를 조작할 수 있는 언어인 SQL에 대해 배웠다. 데이터베이스를 만들고 관리하기 위해서는 SQL를 사용해야하기 때문에 필수로 알아야한다. 1. SQL(Structured Query Language) SQL은 관계 데이터베이스를 위한 표준 질의어로 데이터정의어, 데이터조작어, 데이터 제어어가 있다. -데이터 정의어(DDL) : 테이블을 생성하고 변경, 제거하는 기능을 제공한다. - 데어터 조작어(DML) : 테이블에 새 데이터를 삽입하거나 테이블에 저장된 데이터를 수정, 삭제, 검색하는 기능을 제공한다. - 데이터 제어어(DCL) : 보안을 위해 데이터에 대한 접근 및 사용권한을 사용자별로 부여하거나 취소하는 기능을 제공한다. 지금부터 데이터 정의어에 대해 자세히 알아보자. 2. 데이터 ..
-
8일차 - HTTP에 기능을 추가한 프로토콜CS지식/네트워크 2021. 5. 8. 22:22
오늘은 기존의 HTTP의 사양에 따른 병목현상을 예방하기 위한 것에 대해 배웠다. HTTP가 처음 개발되었을 때는 단순히 HTML을 전송하기 위한 목적이여서 오늘날에 와서 새로운 기능들을 대처하기에는 부족한 점이 많은 프로토콜이라는 생각이 들었다. 현재는 HTTP 1.1버전을 대부분 사용하지만 1.1버전의 부족한 점을 보완하기위해 2.0버전을 개발 중이라는 것도 알게 되었다. 1. SPDY SPDY는 HTTP의 병목현상을 해소하고 웹 페이지 로딩 시간을 절반 단축하려는 목표로 개발되고 있다. 병목현상은 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상이다. 기존의 HTTP를 사용하면 어떠한 원인으로 병목현상이 발생하는 것일까? - 1개의 커넥션으로 1개의 리퀘스트만 보낼 수 있다...
-
11일차 - Memory Management(2)CS지식/운영체제 2021. 5. 7. 23:31
오늘은 저번 시간에 이어 메모리 관리에 대한 공부를 했다. 메모리 관리를 위한 기법들을 배우고 저번 시간에 배우지 못한 부분인 multi paging과 segmentation에 대해 배웠다. 1. Two-level Page Table 앞 시간에 Paging 기법에 대해서 배웠다. 프로세스를 동일한 크기인 page로 나누어 필요한 부분만 메모리에 올려 사용하는 기법이다. 그러면 two-level page table은 무엇이고 왜 나온 것일까? two-level page table은 말 그대로 page table을 2개 사용하여 paging기법을 구현한 것이다. 기존 paging기법은 하나의 page table을 사용하여 논리적 주소를 물리적 주소로 변환하여 메모리에 접근하는 방식인데 2개의 page tab..
-
10일차 - 관계 데이터 연산CS지식/데이터베이스 2021. 5. 6. 23:17
지금까지 데이터베이스 모델링과 이상현상을 없애기 위한 정규화에 대해 배웠다. 오늘은 릴레이션끼리 연산을 하거나 하나의 릴레이션에 연산을 하여 원하는 릴레이션을 얻는 관계 데이터 연산에 대해 배웠다. 1. 관계 데이터 연산이란 관계 데이터 연산은 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것으로 관계 대수와 관계 해석이 존재한다. 관계 대수는 원하는 결과를 얻기 위해 데이터의 처리과정을 순서대로 기술한 것이고 관계 해석은 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술한 것이다. 정의를 보았을 때는 무엇을 의미하는지 감이 안 올 것이다. 지금부터 관계 대수에 대해 자세히 알아보자. 2. 관계 대수 언어 관계 대수는 위에서 정의한대로 결과를 얻기 위해 릴레이션의 처리과..
-
7일차 - HTTP 인증CS지식/네트워크 2021. 5. 6. 00:57
오늘은 HTTP가 제공하는 표준적인 인증 방법과 SSL 클라이언트 인증, 폼 베이스 인증에 대해 배웠다. 어제 배운 것에서 알 수 있듯이 HTTP는 통신 상대를 확인하지 않기에 약점이 존재한다고 하여 인증의 중요성을 강조했다. 어제는 SSL을 통해서 인증을 구현한다고 하여 HTTP 자체에 인증 방법이 없는 줄 알았는데 오늘 배우면서 제대로 알게 되었다. 1. 인증이란 우리는 누군가와 얘기를 할 때에 서로 알고 있거나 모른다면 통성명을 하여 누군지 알고 시작한다. 하지만 컴퓨터는 클라이언트가 누구인지, 서버가 누구인지 알 수가 없다. 그래서 인터넷을 통한 통신에서는 상대방인지 누구인지 알 수 있도록 정보가 필요하고 정보를 통해 확인된 실체가 정말 맞는지에 대한 확신이 필요하다. HTTP에서는 이러한 기능을..
-
10일차 - Memory Management(1)CS지식/운영체제 2021. 5. 4. 23:42
오늘부터는 메모리를 어떻게 관리하는지에 대해 배웠다. 지난 시간동안 프로세스들이 CPU를 얻는 과정에서 발생하는 일들을 배웠는데 오늘은 프로세스가 실행되고 물리적인 메모리에 올라가면서 발생하는 일들 중 일부분을 배울 수 있었다. 1. memory management의 기본 우선 메모리 관리를 배우기 전에 메모리에 대해 잠깐 언급하자면 메모리는 주소를 통해 접근하는 매체이다. 여기서 주소는 logical address와 physical address로 나뉜다. 1) logical address logical address는 가상주소(virtual address)와 같은 말로 프로세스마다 독립적으로 가지는 주소 공간이다. 각 프로세스마다 주소할당은 0번부터 시작한다. 2) physical address ph..