CS/CS 기초
-
/* 본 게시물은 ' ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [비글리] 문자 인코딩이란? : https://vigli.tistory.com/52 [얄팍한 코딩사전] 문자 인코딩, 유니코드, UTF-8이 뭔가요? : https://www.youtube.com/watch?v=1jo6q4dihoU 1. 인코딩이란? 위키백과에 따르면 '인코딩'이란 정보의 형태나 형식을 변환하는 처리나 처리 방식으로 정의되어있다. 즉, '어떤 정보를 미리 약속한 규칙으로 가공해서 컴퓨터가 이해하게 만든다'라고 보면 된다. 인코딩은 문자, 동영상, 사진 등 다양한 분야에서 사용되고 있다. 그 중 '문자 인코딩'에 대해 ..
[CS] 인코딩/* 본 게시물은 ' ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [비글리] 문자 인코딩이란? : https://vigli.tistory.com/52 [얄팍한 코딩사전] 문자 인코딩, 유니코드, UTF-8이 뭔가요? : https://www.youtube.com/watch?v=1jo6q4dihoU 1. 인코딩이란? 위키백과에 따르면 '인코딩'이란 정보의 형태나 형식을 변환하는 처리나 처리 방식으로 정의되어있다. 즉, '어떤 정보를 미리 약속한 규칙으로 가공해서 컴퓨터가 이해하게 만든다'라고 보면 된다. 인코딩은 문자, 동영상, 사진 등 다양한 분야에서 사용되고 있다. 그 중 '문자 인코딩'에 대해 ..
2021.09.24 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [BoostCourse HTTP 이해하기] : https://www.boostcourse.org/mo316/lecture/17089?isDesc=false # HTTP란? 우리는 인터넷에서 데이터를 주고 받을 때 HTTP를 많이 사용한다. 웹 브라우저에서 서버에 연결하고 웹페이지를 받아 와 화면에 보여줄 때 사용하는 것이 HTTP이기 때문에 인터넷에서 웹페이지를 요청하고 응답으로 받을 때는 HTTP를 사용한다고 생각하면 된다. 그러면 HTTP는 무엇일까? HTTP에 앞서 소켓에 대해 간단히 설명해보자. 소켓 소켓은 서버 소켓과 클라이언트 소켓을 만들고 서로 연결하는 과정을 거치게 된다. 서버 소켓은 연결을 기다리는 역할을 하고 클..
[Web] HTTP 이해하기/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [BoostCourse HTTP 이해하기] : https://www.boostcourse.org/mo316/lecture/17089?isDesc=false # HTTP란? 우리는 인터넷에서 데이터를 주고 받을 때 HTTP를 많이 사용한다. 웹 브라우저에서 서버에 연결하고 웹페이지를 받아 와 화면에 보여줄 때 사용하는 것이 HTTP이기 때문에 인터넷에서 웹페이지를 요청하고 응답으로 받을 때는 HTTP를 사용한다고 생각하면 된다. 그러면 HTTP는 무엇일까? HTTP에 앞서 소켓에 대해 간단히 설명해보자. 소켓 소켓은 서버 소켓과 클라이언트 소켓을 만들고 서로 연결하는 과정을 거치게 된다. 서버 소켓은 연결을 기다리는 역할을 하고 클..
2021.08.03 -
/* 본 게시물은 '모두를 위한 컴퓨터 과학(2019)' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [C 기초] : https://www.boostcourse.org/cs112/lecture/119004?isDesc=false 1. C 기초 컴파일러 우리가 직접 작성한 코드는 “소스 코드” 라고 불립니다. 이를 2진수로 작성된 “머신 코드”로 변환해야 컴퓨터가 이해할 수 있습니다. 이런 작업을 컴파일러라는 프로그램이 수행해줍니다. 터미널창의 명령어 프롬프트에서 “$” 기호 옆에우리가 원하는 명령어를 입력하면 됩니다. clang hello.c 라는 명령어는 “clang” 이라는 컴파일러로 “hello.c”라는 코드를 컴파일하라는 의미입니다. 명령 프롬포트 우리가 마우스와 그래픽으로 하는 일은 모두 ..
[cs] C언어/* 본 게시물은 '모두를 위한 컴퓨터 과학(2019)' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [C 기초] : https://www.boostcourse.org/cs112/lecture/119004?isDesc=false 1. C 기초 컴파일러 우리가 직접 작성한 코드는 “소스 코드” 라고 불립니다. 이를 2진수로 작성된 “머신 코드”로 변환해야 컴퓨터가 이해할 수 있습니다. 이런 작업을 컴파일러라는 프로그램이 수행해줍니다. 터미널창의 명령어 프롬프트에서 “$” 기호 옆에우리가 원하는 명령어를 입력하면 됩니다. clang hello.c 라는 명령어는 “clang” 이라는 컴파일러로 “hello.c”라는 코드를 컴파일하라는 의미입니다. 명령 프롬포트 우리가 마우스와 그래픽으로 하는 일은 모두 ..
2021.07.13 -
/* 본 게시물은 '쿠키와 세션이란? ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 https://juyoung-1008.tistory.com/2 기본적으로 쿠키와 세션은 http 프로토콜의 약점을 커버하기 위해서 존재한다. http 프로토콜은 다음과 같은 2가지 특성을 가지고 있다. Connectionless : 클라이언트가 request를 서버에 보내면, 서버는 클라이언트에게 response를 서로 접속을 끊는 특성이다. Stateless : 접속을 끊는 순간 클라이언트와 서버의 통신은 끝나고 상태 정보는 유지되지 않는 특성이다. 이 2가지 특성이 http의 장점이자 약점이다. 장점은 통신을 유지하고 있을 때 낭비되는 리소스를 줄인다는 것은 큰 장점이지만 동시에 약점이 존재한다. 약점은 통신을..
[Web] 쿠키와 세션/* 본 게시물은 '쿠키와 세션이란? ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 https://juyoung-1008.tistory.com/2 기본적으로 쿠키와 세션은 http 프로토콜의 약점을 커버하기 위해서 존재한다. http 프로토콜은 다음과 같은 2가지 특성을 가지고 있다. Connectionless : 클라이언트가 request를 서버에 보내면, 서버는 클라이언트에게 response를 서로 접속을 끊는 특성이다. Stateless : 접속을 끊는 순간 클라이언트와 서버의 통신은 끝나고 상태 정보는 유지되지 않는 특성이다. 이 2가지 특성이 http의 장점이자 약점이다. 장점은 통신을 유지하고 있을 때 낭비되는 리소스를 줄인다는 것은 큰 장점이지만 동시에 약점이 존재한다. 약점은 통신을..
2021.07.09 -
이진법으로 숫자를 표현했다면 문자는 어떻게 표현을 할까? 당연히 숫자로 표현하면 된다. 그러기 위해서는 우리는 약속을 해야한다. 'A' 라는 대문자를 숫자 몇으로 할 것인지는 사람마다 다를 수 있기 때문에 우리는 약속을 했다. 그것이 바로 ASCII이다. ASCII 'A' 는 65로 약속을 했는데 이를 이진법으로 바꾸면 01000001 이다. 하지만 ASCII는 8비트까지 지원하기 때문에 한계가 있다. 그래서 등장한게 UniCode이다. Unicode 유니코드는 32비트까지도 지원을 하므로 우리가 표현할 수 있는 정보들이 많아진다. 예를 들어 😂 이런 이모티콘까지 숫자로 약속하여 표현할 수 있다. 이 이모티콘은 10진법으로 128,514이다. 2진법으로는 11111011000000010 이다. 만약 우리..
[CS] 컴퓨팅 사고 - 정보의 표현이진법으로 숫자를 표현했다면 문자는 어떻게 표현을 할까? 당연히 숫자로 표현하면 된다. 그러기 위해서는 우리는 약속을 해야한다. 'A' 라는 대문자를 숫자 몇으로 할 것인지는 사람마다 다를 수 있기 때문에 우리는 약속을 했다. 그것이 바로 ASCII이다. ASCII 'A' 는 65로 약속을 했는데 이를 이진법으로 바꾸면 01000001 이다. 하지만 ASCII는 8비트까지 지원하기 때문에 한계가 있다. 그래서 등장한게 UniCode이다. Unicode 유니코드는 32비트까지도 지원을 하므로 우리가 표현할 수 있는 정보들이 많아진다. 예를 들어 😂 이런 이모티콘까지 숫자로 약속하여 표현할 수 있다. 이 이모티콘은 10진법으로 128,514이다. 2진법으로는 11111011000000010 이다. 만약 우리..
2021.06.27 -
컴퓨터 과학은 문제 해결에 대한 학문입니다. 문제 해결은 입력(input)을 전달받아 출력(output)을 만들어내는 과정입니다. 그 중간에 있는 과정이 바로 컴퓨터 과학입니다. 우리가 일상적으로 쓰는 123은 백이십삼으로 인식할 것이다. 이는 우리가 일상 생활에서 쓰는 것이 십진법이기 때문이다. 그럼 컴퓨터가 쓰는 수의 체계는 무엇일까? 바로 이진법이다. 왜 굳이 컴퓨터는 이진법을 쓸까? 2진법은 전기를 통해 연산하는 , 전기를 켜고 끄는 ( 1/0 ) 방식으로 작동하는 컴퓨터에게 적합한 방법이기 때문이다. 컴퓨터에는 수 많은 트렌지스터(스위치라고 생각하면됨)가 있고 이는 on/off 상태를 통해 0과 1을 표현한다. 비트 비트는 컴퓨터에서 가장 작은 단위로 0/1로 이루어져 있다. 바이트 8비트가 모..
[CS] 컴퓨팅 사고 - 2진법컴퓨터 과학은 문제 해결에 대한 학문입니다. 문제 해결은 입력(input)을 전달받아 출력(output)을 만들어내는 과정입니다. 그 중간에 있는 과정이 바로 컴퓨터 과학입니다. 우리가 일상적으로 쓰는 123은 백이십삼으로 인식할 것이다. 이는 우리가 일상 생활에서 쓰는 것이 십진법이기 때문이다. 그럼 컴퓨터가 쓰는 수의 체계는 무엇일까? 바로 이진법이다. 왜 굳이 컴퓨터는 이진법을 쓸까? 2진법은 전기를 통해 연산하는 , 전기를 켜고 끄는 ( 1/0 ) 방식으로 작동하는 컴퓨터에게 적합한 방법이기 때문이다. 컴퓨터에는 수 많은 트렌지스터(스위치라고 생각하면됨)가 있고 이는 on/off 상태를 통해 0과 1을 표현한다. 비트 비트는 컴퓨터에서 가장 작은 단위로 0/1로 이루어져 있다. 바이트 8비트가 모..
2021.06.27