목록프론트엔드 공부/CS50 (7)
On a couch
01 HTML HTML HTML(Hyper Text Markup Language)은 웹 페이지의 내용을 나타내는 언어입니다. 사용자가 웹 페이지를 요청하면 웹 서버는 페이지의 내용을 HTML로 보내고, 웹 브라우저는 HTML을 해석해 페이지를 사용자에게 보여줍니다. HTML 기본 은 문서가 HTML 문서라는 것을 알려줍니다. 그런 다음, HTML 코드에는 여러 개의 요소(element)들이 중첩되어 들어갑니다. html 태그 안에는 head와 body, 두 가지 다른 요소가 있습니다. head 요소는 웹 페이지 자체의 정보를 포함합니다. body 요소는 웹 페이지의 주 내용 영역입니다. HTML 문서는 트리 계층 구조라고 생각할 수 있습니다. html 요소가 트리의 가장위에 있습니다. head와 body..
1. 인터넷 기초 (프로토콜) 인터넷 프로그래밍을 통해 인터넷에서 실행되는 코드도 작성할 수 있습니다. 다양한 시스템들과 프로토콜(Protocol, 통신 규칙)들이 갖추어져 있고, 모든 인터넷 요소들이 더불어 동작해야 인터넷을 효과적으로 사용할 수 있습니다 IP 주소 인터넷상에 있는 장치들은 IP 주소(Internet Protocol Address)를 할당 받습니다. IP 주소는 인터넷에 연결된 장치들을 식별하고 특정 장치를 찾을 수 있도록 해줍니다. 또한, 정보가 어디에서 어디로 보내는지를 인터넷이 알 수 있도록 합니다. 정보에 대한 반송 주소와 도착 주소가 있다는 점에서, 실제 우편을 보내는 것과 매우 비슷합니다. IP 주소는 203.253.15.17 와 같이 #.#.#.# 의 형태입니다. 각 #은 ..
06 커맨드 라인 커맨드라인 프로그램을 명령줄(Command-line)에서 실행시킬 때, 보통 ./프로그램_이름 같은 명령어로 실행했을 것입니다. C에서는 프로그램의 명령행 인자(command-line arguments)들을 명시할 수 있고, 명령줄에 인자들을 명시하여 사용자가 프로그램의 main 함수에 인자들을 전해줄 수 있게 합니다. 이 기능은 GetString처럼 프로그램이 실행 중일 때 입력값을 전달받는 방법 대신 사용할 수 있습니다. argc, argv 여러분이 써보았을 법한 make, cd, clang, mkdir와 같은 명령어 프로그램들은 모두 명령행 인자들을 받습니다. C에서 명령행 인자들은 main 함수에 입력값으로 전달됩니다. 하지만 우리가 이전에 작성했던 main 함수에서는 void를..
01 컴파일 컴파일 과정(Compile) 컴파일은 소스 코드를 오브젝트 코드로 변환시키는 과정입니다. 여기서 소스 코드는 여러분이 C언어와 같은 프로그래밍 언어로 작성한 코드이고, 오브젝트 코드는 기계 코드라고도 알려져 있는데, 0과 1로 이루어져 있으며 컴퓨터에게 프로그램이 어떻게 실행되어야 하는지 알려주는 코드입니다. make 명령어 자체는 컴파일러가 아니고, clang이라는 컴파일러를 호출해서 C 소스 코드를 오브젝트 코드로 컴파일 하도록 합니다. 전처리(Precompile) # 으로 시작되는 C 소스 코드는 전처리기에게 실질적인 컴파일이 이루어지기 전에 무언가를 실행하라고 알려줍니다. 예를 들어, #include는 전처리기에게 다른 파일의 내용을 포함시키라고 알려줍니다. stdio.h 파일의 내용..
01 문장 출력 #include int main(void) { printf("hello world\n"); } 첫 번째 C 프로그램 1행에서, #include 는 이 프로그램이 stdio.h라는 파일 안에 들어 있는 미리 작성된 함수들에 접근할 수 있도록 합니다. 이로 인해 화면에 문자를 보여주는 역할을 하는 printf라는 함수를 가져다 사용할 수 있습니다. 3행의 int main(void)는 프로그램의 시작점을 정의합니다. 중괄호 안의 내용이 어떠한 것이든 main 함수의 한 부분이 됩니다. printf는 문자열을 화면에 출력하는 함수입니다. C에서 문자열은 항상 큰따옴표 안에 작성해야 합니다. printf 괄호 안에는 화면에 보여주고자 하는 문자열을 입력값으로 넣어줄 수 있습니다. 이 경우 문자열은..
01 알고리즘 1. 알고리즘이란 컴퓨팅이 입력 - 처리 - 출력하는 과정일 때, 알고리즘은 입력자료 -> 출력형태로 만드는 처리 과정을 뜻함. 즉, 입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열입니다. 알고리즘을 정확하고 효율적으로 짜면 시간과 공간을 절약할 수 있다. 2. 의사코드 알고리즘을 표현하는 방법으로는 자연어(natural language), 의사 코드(Pseudocode), 순서도(flowchart)등이 있다. 프로그래밍은 컴퓨터가 알아들을 수 있게 정해진 코드를 사용해야하는 반면, 의사코드는 정해진 방법이 없어 문법 제약을 덜 받으므로 알고리즘 표현에 많이 사용된다. 02 선형(linear) 탐색 선형탐색 : 원하는 원소가 발견될 때까지 ..
01. 하드웨어 1. 컴퓨터 내의 하드웨어 컴퓨터의 하드웨어는 크게 중앙처리장치, 기억장치, 입출력장치로 구성된다. 중앙처리장치(Central Processing Unit, CPU)는 프로세서라고도 불리며, 입력장치에서 받은 명령을 실제로 처리함. CPU의 1초 동안의 연산량과 속도를 측정하는 단위는 기가헤르츠(GHz)이다. 기억장치는 입력된 명령이나 데이터가 저장되는 공간이다. 주기억장치에는 RAM(Random Access Memory)이 있다. RAM은 입출력이 가능한 메모리로서, 응용 프로그램을 일시적으로 불러오거나, 데이터를 일시적으로 저장하는데 사용되는 기억 장치이다. RAM이 정보 저장 용량은 기가바이트(GB)로 표기된다. 보조기억장치인 하드드라이브(C:)는 영구적으로 데이터를 저장한다. 많이..