boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : CS50 Sandbox & CS50 IDE 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 검색 알고리즘 배열을 복습하자면 한 자료형의 여러 값들이 메모리상에 모여있는 구조를 말한다. 컴퓨터는 이 값들에 접근할 때 배열의 인덱스(indx)를 이용해 하나 하나 찾아보아야 한다. 특정 값이 배열 안에 존재하는지를 확인하는 방법(검색 알고리즘)은 배열이 정렬되어 있는지 여부에 따라 선형 검색과 이진 검색을 사용할 수 있다. 선형 검색 배열이 정렬되어 있지 않은 경우에 사용하기 좋은 검색 알고리즘. 배열..
CS
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : CS50 Sandbox & CS50 IDE 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 명령행 인자 이전까지 CS50 Sandbox 에서 컴파일 하는 명령어로 make와 clang을 이용해왔다. $ clang prac.c $ make prac.c 컴파일하고자 하는 코드 외에도 컴파일 후 저장하고자 하는 파일명과 같은 추가적인 정보를 함께 줄 수도 있는데 이런 정보들을 명령행 인자(command-line arguments) 라고 부른다. 이전에 사용해본적이 있는 -o 도 명령행 인자의 예시이다...
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : CS50 Sandbox & CS50 IDE 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 문자열 문자열(string)은 CS50 라이브러리 내의 자료형 중 하나로 문자(char)들의 배열이다. 만일 string s = "HI!"; 가 존재하면, s는 메모리 상에서 배열 형태로 저장되고 인덱스를 이용해 각 문자에 접근하는 것도 가능하다. (ex. s[1] = "I") #include #include int main(void){ string s = "HI!"; printf("%c", s[1]); /..
·CS
프론트엔드 기술 면접에 100이면 100 등장하는 브라우저 렌더링 설명하기!자세히 학습해보고 면접 답안으로 활용하기 좋게 요약까지 해보자 📐 브라우저의 기본 구조브라우저 렌더링을 이해하기 이전 브라우저의 주요 구성 요소를 아래와 같이 살펴볼 수 있다. 브라우저는 다음과 같이 여러 단계의 레이어로 구성되어 있다. 각각의 레이어를 확인해보자. 사용자 인터페이스(UI)브라우저가 볼 수 있는 거의 모든 것. 요청한 페이지를 보여주는 창 외의 모든 UI를 의미한다.ex. 북마크, 주소창, 뒤로 가기/앞으로 가기, 새로고침, 환경설정 등브라우저 엔진사용자 인터페이스와 렌더링 엔진 사이 동작을 제어하는 중개자 역할이다.ex. 사용자가 사용자 인터페이스의 새로고침 버튼을 눌렀을 때, 브라우저 엔진이 새로고침 명령을 ..
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : CS50 Sandbox & CS50 IDE 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 메모리 이전에 자료형과 하드웨어의 한계에 대해 공부하며 가볍게 언급했던 메모리에 대해 다시 알아보자. 자료형 메모리 크기 bool 불리언 1byte (8bit) char 문자 1byte (8bit) int 정수 4byte (32bit) float 실수 4byte (32bit) long (더 큰) 정수 8byte (64bit) double (더 큰) 실수 8byte (64bit) string 문자열 ??byt..
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : CS50 Sandbox & CS50 IDE 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 컴파일링 처음 C언어를 공부하면서 컴파일에 대해 짧게 짚고 넘어갔었다. (참고) 컴파일(compile)은 우리가 작성한 코드(소스 코드)를 컴퓨터가 이해할 수 있는 언어의 코드(머신 코드)로 번역해주는 과정이다. 컴파일링을 수행하는 프로그램을 컴파일러(compiler)라고 칭하며 CS50 Sandbox 로 실습하는 중에는 컴파일러로 clang 을 사용했다. 예제로 a.c 라는 프로그램을 작성하고나서 hell..
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : https://sandbox.cs50.io/ 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 하드웨어의 한계 컴퓨터에는 메모리 혹은 RAM(Random Access Memory)이라고 칭하는 물리적 저장 장치가 있다. 우리가 작성한 모든 프로그램은 실행 중에 RAM에 저장된다. 쉽게 말하자면 컴퓨터가 여러 일들을 한 번에 할 때 기억하기 위해 사용한다. 다만 이 저장 공간은 유한하다. 1GB, 4GB, 8GB와 같이 메모리는 저장할 수 있는 크기의 한계를 갖는다. 즉, 컴퓨터가 할 수 있는 일에는..
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : https://sandbox.cs50.io/ 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 사용자 정의 함수 루프를 이용해서 3번 기침을 출력하는 코드를 작성해보자. #include #include int main(void){ for(int i=0; i
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : https://sandbox.cs50.io/ 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org 자료형과 형식 지정자 C언어에서는 변수가 다양한 data type(자료형)을 사용한다. 그리고 각 자료형 별로 다른 형식 지정자를 사용한다. 자료형 형식 지정자 bool 참/거짓 ex) true, false char 작은 따옴표 안에 들어간 딱 한개의 문자 ex) 'a', 'Z', '?' %c string 문자열 쌍 따옴표 안에 들어간 한 개 이상의 문자들 ex) "hello" %s int 정수. 최대 4..
boostcource 모두를 위한 컴퓨터 과학 (CS50 2019) : David J. Malan www.boostcourse.org/cs11 실습환경 : https://sandbox.cs50.io/ 모두를 위한 컴퓨터 과학 (CS50 2019) 부스트코스 무료 강의 www.boostcourse.org C언어 오래되고 전통적인 순수 텍스트 기반의 언어 C 이전에 스크래치를 사용해서 만들어보던 프로그램을 이제는 프로그래밍 언어로 작성해볼 수 있다. int main(void){ } 는 "초록색 깃발을 클릭했을 때"와 같은 시작을 의미하는 부분이라 이해해볼 수 있다. 간략하게 C언어는 #include int main(void) { ... } 에서 ... 위치에 동작할 코드를 작성한다. 즉, 핵심은 printf..