if문과 switch문은 뭐가 다를까? if문으로 switch문을 대체할 수 있다. (나는 아직... if문이 더 쉬운 것 같다.) let myChoice = 2; switch(myChoice) { case 1: console.log('토끼를 선택한 당신, ...'); break; case 2: console.log('고양이를 선택한 당신, ...'); break; case 3: console.log('코알라를 선택한 당신, ...'); break; case 4: console.log('강아지를 선택한 당신, ...'); break; default: console.log('1에서 4사이의 숫자를 선택해 주세요.'); } if (myChoice === 1) { console.log('토끼를 선택한 당신, ..
'프로그램을 더 빠르게' 혹은 '예전 보다 느리다' 이런 성능 이슈를 해결하기 위해서는 프로그램을 더 빠르게 만들 수 있는 해결방안이 필요하다. 어떻게 더 빠르게 동작하게 할 수 있을까? 사실 프로그램이 실행되는 시간은 두 가지에 의해 결정된다. a. 그 프로그램에 얼마나 많은 instruction이 있는가? b. instruction을 실행하는 속도가 얼마나 빠른가? (즉, instrcution을 줄이거나, instruction의 실행 속도를 높여 프로그램을 더 빠르게 만들 수 있다.) 1. Instruction 개수 줄이기 1) 실행코드를 짧게 만들기 : 프로그래밍 된 코드가 짧다고 실행코드가 짧아지는 것이 아니라, 아예 머신코드로 바꿨을 때 짧아져야하는 것이다. 머신코드에 영향을 미치는 것은 a.언..
CPU의 성능 지표들 1) Clock Speed(Clock Rate) : 1초에 실행할 수 있는 사이클의 갯수 2) CPI(Cycles per instrction) : 한 instrction이 평균적으로 몇 사이클만에 완료되는지를 나타내는 지표, 예를들어 불러오는 load 명령, 저장하는 store명령, 더하는 add명령이 있는데 load명령은 5사이클, store 명력은 3사이클, add 명령은 4사이클이라고 하면 cpi는 이 명령들이 평균적으로 몇 사이클이 소요된느지 나타내는 지표라서 이 예시에서는 cpi가 4라고 할 수 있다. 3) IPC(Instructins per cyle) : 이 CPI를 뒤집으면 IPC가 된다. 4cpi 이면 1/4 ipc이다. cpi 나 ipc나 사실은 같은 개념이긴하다 ...
and,or은 가장 대표적인 논리 연산이다. 컴퓨터에는 0과 1이라는 신호가 있고, 이 신호를 조합해서 새로운 신호를 만드는 체계인데 신호를 조합하는 방식이 바로 논리 연산이다. 논리 연산은 이진법과 함께, 컴퓨터의 원리를 이해하기 위해 꼭 알아야 하는 개념이다. 이진법과 논리 연산을 이해하면 본격적으로 칩이 어떻게 구성되는지 알 수 있고 컴퓨터의 실행방식을 쉽게 이해할 수 있다. AND, OR, NOT은 보통 프로그래밍, 코딩을 할 때 필요한 개념이라고 생각할 수 있지만 프로그램을 설계하거나 플로우차트를 그릴 때 등 논리연산을 이해하면 프로그램의 실행방식을 유연하게 따라갈 수 있다. 세 가지 기본 논리연산 (and,or,not) 1) AND : 둘 다 1이여야 결과가 1 1 0 - 0 0 1 - 0 0..
웹상에서는 사용자들이 체감하지 못하는 섬세한 상호작용이 있다. 통신, 데이터, 파일다운로드 등을 할 때 당연한듯 보이지만, 우리가 익숙한데는 약속된 규칙이 있기 때문이다. 이것을 '프로토콜'이라고한다. 프로토콜: 통신과 데이터 교환의 규칙, 웹페이지의 모든 네트워크 상호작용에 사용되는 규칙의 집합 프로토콜은 다양한 기능과 용도에 따라 http,https,ftp,smtp...등이 있다. 그 중에서 웹페이지의 정보를 주고 받는데 사용되는 http와 https의 차이에 대해 알아보았다. http(hypertext transfer protocol) https(hypertext transfer protocol secure) : 웹브라우저와 웹서버 사이의 데이터를 주고 받기 위한 프로토콜 HTTP, HTTPS의 차..
우리는 일상에서 핸드폰의 용량이 부족하다, 첨부파일이 커서 한 번에 전송할 수 없다는 등 데이터의 '크기'를 이야기하는 말을 자주하곤하는데 이 데이터의 크기를 이루는 '비트'와 '바이트'는 자리수를 나타내는 이진수로 시작한다.데이터 용량을 나타내는 크기가 8gb, 16gb,128gb, 256gb 이렇게 2의 배수 단위로 용량이 늘어나는 것 처럼 보인다. 비트(bit) bit는 binary digit의 약자로 데이터의 최소 단위이다. 이진수로 총 몇 자리인지를 나타낸다. ex) 1001의 경우 4비트, 11001011은 8비트 바이트(Byte) 바이트는 비트의 8배이다. 1 Byte = 8 bit (비트와 바이트 둘 다 알파벳 b로 시작하기 때문에 줄여서 적을때는 더 작은 단위인 bit는 소문자 b로, 더..