본문 바로가기

분류 전체보기83

컴파일러(compiler), 인터프리터(interpreter) 차이 컴파일러(compiler) 컴파일러는 프로그램 전체를 스캔하여 이를 모두 기계어로 번역한다. 전체를 스캔하기 때문에 대개 컴파일러는 초기 스캔 시간이 오래 걸린다. 하지만 전체 실행 시간만 따지고 보면 인터프리터 보다 빠르다. 왜냐하면 컴파일러는 초기 스캔을 마치면 실행파일을 만들어 놓고 다음에 실행할때 이전에 만들어 놓았던 실행파일을 실행하기 때문이다. 하지만 단점도 있다. 컴파일러는 고급언어로 작성된 소스를 기계어로 번역하고 이 과정에서 오브젝트 코드(Object Code)라는 파일을 만드는데 이 오브젝트 코드를 묶어서 하나의 실행 파일로 다시 만드는 링킹(Linking) 이라는 작업을 해야한다. 설명만 딱 봐도 뚝딱하고 번역을 하는것 같아 보이진 않는다. 이때문에 컴파일러는 통상적으로 인터프리터 보.. 2022. 12. 29.
Hardware, Middleware, Software 차이 하드웨어(Hardware)의 뜻 컴퓨터나 컴퓨터에 붙어 있는 주변 장치들을 "하드웨어"라고 합니다. 즉, 하드웨어는 컴퓨터의 육체이고, 하나의 "기계"입니다. 컴퓨터 본체, CPU, 하드 디스크, 마우스, 모니터, 비디오 카드, 사운드 카드 등 손으로 만질 수 있는 모든 것이 다 하드웨어입니다. 하드웨어는 "물건"이기 때문에, 인터넷으로 다운로드받을 수가 없습니다. 컴퓨터 가게에 가서 구입해야 합니다. 소프트웨어(Software)의 의미 쉽게 말해서 소프트웨어는 "프로그램"입니다. 컴퓨터로 게임을 한다고 할 때, 컴퓨터 자체에는 어떤 게임도 들어 있지 않습니다. 컴퓨터의 하드 디스크에, 게임 프로그램을 설치해 주어야 컴퓨터로 게임을 할 수가 있게 됩니다. 소프트웨어는 아무리 복잡한 소프트웨어라도 결국 0.. 2022. 12. 15.
카카오의 빅데이터 엔지니어란? 셰프가 요리를 하기 위해서 도구와 공간이 필요하듯이 데이터 사이언티스트와 데이터 엔지니어가 데이터를 마음껏 주무를 수 있는 공간을 플랫폼이라고 하는데요. 이 플랫폼을 설계하고 구축하고 운영하는 일을 데이터 플랫폼 엔지니어링이라고 합니다. 하둡엔지니어링파트에서는 빅데이터 플랫폼 엔지니어링을 수행하고 있습니다. 왜 하둡 사용?) - 여러 개발자들이 동시에 작업할 수 있는 나아가 섬세한 작업이 가능한 플랫폼이어야 한다. 가장 오래되고 보편적이며 가장 검증된 플랫폼인 하둡을 빅데이터 플랫폼으로 선택 카카오의 빅데이터 플랫폼 엔지니어는 이 하둡 플랫폼을 안정적으로 제공하기 위해서 엔지니어링을 수행하는 것 입니다. 구조적으로 정의한다면.. Data Science: 데이터를 수학적, 또는 통계학적 방법으로 분석하고 .. 2022. 12. 5.
[Python] sys.stdin.readline / raw_input() / input() 차이 Python으로 백준 문제를 풀 때 내장 함수 input()으로 입력을 받으면 시간 초과로 오답처리가 되고, sys 모듈의sys.stdin.readline()으로 입력을 받으면 시간 안에 채점이 되는 경우가 자주 발생한다. 왜 그런지 한 번 알아보자. Python 2.x 일단 Python 2.x 버전에서는 사용자 입력을 처리하기 위한 내장 함수로 input()과 raw_input()이 있다. 이 둘의 차이점은 raw_input()은 입력 값을 무조건 문자열로 받는 반면, input()은 입력으로 들어온 값을 evaluate 해서 그 값에 맞는 자료형으로 초기화한다. 아래 예를 보면 숫자 10을 입력했을 때는 integer type이지만, "python"을 입력했을 때는 string type으로 결과가 나.. 2022. 12. 5.