CS/기타

    8 great ideas in computer architecture

    Design for Moore's Law 무어의 법칙을 고려한 설계 컴퓨터 설계에는 수년이 걸리기때문에 그 기간동안 반도체 칩속의 소자 수는 2배에서 4배가 되고 성능은 상승할것이다 라는 아이디어. Use abstraction to simplify desgin 설계를 단순화 하는 추상화 컴퓨터 설계자나 프로그래머는 무어의 법칙의 따라 자원의 수가 급격히 증가함으로 설계 시간또한 증가하는것을 방지하기위한 기술을 개발해야됬다. 생산성을 높이는 핵심 기술중 하나인 추상화를 사용한다는 것. 하위수준의 상세한 기술을 보이지 않게 함으로서 상위 수준 모델을 단순화하는것이 추상화. Make the common case fast 자주 생기는 일을 빠르게 자주 발생하는 일을 빠르게 만드는것이 드물게 발생하는 일을 빠르고..

    .DS_STORE

    .DS_STORE 란? Desktop Services Store 의 약자로 , 애플에서 정의한 파일 포맷이다. 애플의 맥OS X 시스템이 폴더에 접근할 때 생기며, 해당 폴더에 대한 메타데이터를 저장하는 파일이다. 즉, mac의 finder로 폴더에 접근하면 자동으로 생기는 파일이다. (메타데이터는 해당 디렉토리의 특성, 구조 등에 관한 내용을 말한다.) .DS_store 파일은 프로젝트와 하등 관련없는 파일로 ,윈도우의 thumb.db 파일과 비슷하다고 볼 수 있다. 맥에서 생성되지만, 파일을 공유하는 과정에서 종종 공유되기도 한다고 한다. 하지만, 포렌식적 관점에서 다음과 같은 정보들이 유용하게 사용될 수 있다. spotlight comment 정보 : mac에서는 파일에 원하는 태그를 걸면, 파일탐..

    markdown 문법

    markdown 문법

    1. Headers 큰제목: 문서 제목 This is an H1 ============= This is an H1 작은제목: 문서 부제목 This is an H2 ------------- This is an H2 글머리: 1~6까지만 지원 # This is a H1 ## This is a H2 ### This is a H3 #### This is a H4 ##### This is a H5 ###### This is a H6 This is a H1 This is a H2 This is a H3 This is a H4 This is a H5This is a H6 ####### This is a H7(지원하지 않음) 2. BlockQuote 이메일에서 사용하는 > 블럭인용문자를 이용한다. > This is a..

    컴퓨터구조 정리

    컴퓨터의 종류 컴퓨터의 종류를 크기와 성능, 용량, 사용 목적 등에 따라 여러 종류로 나눌 수 있다. 슈퍼컴퓨터(Super computer): 고 성능, 고 용량의 컴퓨터다. 기상 해석, 핵융합 시뮬레이션 등 대량의 데이터의 고속 처리를 목적으로 한다. 대형 컴퓨터(Main Frame): 대용량, 고속 처리를 주 목적으로 한다. 연구소, 기업, 은행 등에서 사용한다. 보통 여러 대의 단말기를 연결해서 다수의 사용자가 동시에 사용한다. 개인용 컴퓨터(PC: Personal Computer): 개인이 사용하는 컴퓨터다. Desktop, Laptop이 있고 최근에는 Tablet과 SmartPhone도 PC로 인식한다. 임베디드 컴퓨터(Embedded Computer): GPS(내비게이션), 휴대폰, 자동차 등..

    Stack과 Heap

    Stack과 Heap

    메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 한다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하는데 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 4가지가 있다. 코드(code) 영역 데이터(data) 영역 스택(stack) 영역 힙(heap) 영역 코드(code) 영역 메모리의 코드(code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 부른다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 된다. 데이터(data) 영역 메모리의 데이터(data) 영역은 프로그램의 전역 변수와 정적(static) 변수..

    라이브러리 vs 프레임워크

    라이브러리 vs 프레임워크

    라이브러리 라이브러리란 필요한 기능들이 모여있는 코드의 묶음이다. 자주 사용되는 기능들을 라이브러리(객체나 함수등의 형태)로 만들어두면, 필요할 때마다 직접 호출하여 사용할 수 있다. 물론 남들이 만들어둔 외부 라이브러리도 가져다 사용할 수 있다. 1) Browser환경에서 script src 로 불러들이는 js파일(JQuery 등) 2) node.js 환경에서 npm으로 설치한 모듈 3) Python 환경에서 pip로 설치한 패키지/모듈 4) Java 환경에서 설치한 jar 프레임워크 프레임워크는 작업(work)의 구조(frame)가 정해져 있는 라이브러리라고 볼 수 있다. 단, '프레임워크가 원하는 방식'대로 다양한 기능을 제공한다. 앱/서버 등의 구동, 메모리 관리, 이벤트 루프 등의 공통된 부분은..

    API

    API

    API는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 인터페이스는 어떤 기계간의 장치끼리 정보를 교환하기 위한 수단이나, 방법을 의미한다. 예를 들어서 집에서 TV를 켜기 위해서 리모콘을 들고 TV에 리모콘 전원 버튼을 누름으로써 TV가 켜지게된다. 즉, 사전에 TV와 통신을 하기 위해서 리모콘에서는 TV에 정의된 규격에 의해 어떤 신호를 보낼 수 있도록 만들어진 장치이며, 이러한 신호를 서로 주고 받기 위한 방법을 인터페이스라고 하는한다. API는 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)를 정리하고, 주문(명령)을 받으면 요리사(응용프로그램)와 상호작용하여 요청된 메뉴(명령에 대한 값)를 전달한다. 쉽게 말해,..

    정적 웹페이지와 동적 웹페이지

    정적 웹페이지와 동적 웹페이지

    인터넷을 이용하면서 접속하게 되는 웹 페이지는 크게 두 가지로 나뉜다. 마치 컴퓨터에 저장된 메모장 파일을 열어보듯이 그대로 보는 정적 웹 페이지, 다른 변수들에 의해서 변경되어 보이는 동적인 웹 페이지. 사실 사용자 입장에서는 서버에서 처리된 HTML로 이루어진 웹 페이지만 전달받기 때문에, 굳이 웹 페이지를 정적인 웹 페이지와, 동적인 웹 페이지를 구분 지을 필요는 없다. 그러나, 소셜 미디어 플랫폼이 다양해지면서, 인터넷을 이용하는 사람이라면 개인 sns계정부터 블로그, 쇼핑몰까지 굳이 사업을 하지 않더라도 커뮤니케이션의 일환으로 크고 작든 자신만의 웹 페이지를 운영하고 있다. 정적 웹 페이지 웹 서버에 이미 저장된 html 문서를 클라이언트에게 전송하는 웹 페이지 사용자는 서버에 저장된 데이터가 ..