
* 컴퓨터의 자료 표현 방식 - 내부적 표현 (수치) > 정수 표현 (고정소수점): 10진 방식 (Unpack/Pack), 2진 방식 (절대치, 1의 보수, 2의 보수) > 소수 표현 (부동소수점) - 외부적 표현 (문자): BCD 코드, ASCII 코드, EBCDIC 코드 * 고정소수점 표현 방식 - 10진 연산: Pack 방식은 연산에 사용하고 Unpack 방식은 입출력에 사용함 - 2진 연산: 10진수 전체를 2진수로 바꿔서 저장 > 그냥 쓰기: 부호 비트만 1로 바꿔주면 음수를 뜻함 > 1의 보수: 음수인 경우 숫자를 다 뒤집음. 음수도 덧셈만으로 처리할 수 있게 된다 > 2의 보수: 음수인 경우 숫자를 다 뒤집고 거기에 +1. 1의 보수보다 표현가능한 수의 개수가 1개 더 많다 * 부동소수점 표..

* 부울 대수 X와 Y의 수치가 아닌 논리적 상관관계를 다루는 것 * 논리 게이트의 종류 - AND: 곱하기로 표현 (A · B 또는 AB) - OR: 더하기로 표현 (A+B) - NOT: 위에 바 (bar) 위의 3가지가 가장 기본적인 게이트이며 이 3가지를 조합해서 나머지도 만들 수 있다. - XOR: 동그라미 안에 더하기 들어가 있는 거... 두 데이터를 비교할 때 쓸 수 있다. X와 Y가 달라야 결과가 1 - NAND: AND의 부정. NAND만으로 모든 조합논리회로를 구현 - NOR: OR의 부정 - XNOR: XOR의 부정 * 논리식 간소화 - AND, OR에 대해 교환법칙, 결합법칙, 분배법칙 성립 - 멱등 법칙: A+A=A, A*A=A - 보수 법칙: A+~A=1, A*~A=0 - 항등 법..

* 자료구조의 분류 선형 구조: 리스트, 스택, 큐, Deque 비선형 구조: 트리, 그래프 * 선형 자료 구조 - List: 흔히 말하는 배열. 메모리에 연속적으로 저장 - Linked List: 연속적인 공간이 없어도 되고 삽입, 삭제가 용이하지만 포인터를 위한 추가 공간 필요 - Stack: 후입선출 (LIFO). 인터럽트 처리, 수식 계산, 서브루틴의 복귀 번지 저장, 0-주소 저장 방식 등에 이용 - Queue: 선입선출 (FIFO). OS의 스케줄링 등에서 이용 - Deque: 리스트의 양쪽 끝에서 삽입, 삭제가 가능. 스택과 큐의 복합 형태. '데크' 라고 써 있는데 자꾸 디큐라고 읽고싶어진다. * 비선형 자료 구조 - 트리 그래프의 특수한 형태라 할 수 있음. 사이클을 이루지 않는 그래프...

* 데이터베이스의 정의와 특성 - DB의 정의 1) 통합된 데이터: 한곳에 모아서 통합해놓은 데이터 2) 저장된 데이터: 컴퓨터 하드웨어에 저장되어 있는 데이터 3) 운영 데이터: 어떤 조직의 기능을 수행하기 위해 필요한 데이터 4) 공용 데이터: 여러 사용자들이 공동 소유/관리/이용하는 데이터 - DB의 특성 1) 실시간 접근성: 실시간으로 요청에 대해 응답해야 함 2) 내용에 의한 참조: DB의 데이터는 그 주소나 위치에 의해서가 아니라 내용에 의해 참조됨 3) 동시 공유: 같은 내용의 데이터를 여럿이 공유할 수 있음 4) 계속적 변화: DB는 데이터의 삽입, 삭제, 갱신 등을 통해 계속해서 내용이 바뀜 * 스키마 데이터베이스의 구조, 즉 어떻게 생겼냐를 정의한 것 - 스키마의 3계층 1) 외부 스키..
이번달 말에 있는 2회 정보처리기사 시험을 치기로 했다. 사실 컴공과 졸업생에게 정보처리기사가 필요한가에 대한 갑론을박이 많다. 학부 시절 인맥도 별로 없었고 지금도 개발자 커뮤니티 같은걸 하지도 않아서 정확히는 모르겠지만, 보통 학부 4학년 때 그냥 다들 따니까, 혹은 졸업요건 채우기 용으로 따는 경우가 많은 것 같았다. 가면 갈수록 있어도 그만 없어도 그만인 자격증이라는 인식이 많아지는 것 같고, 사실 내가 봐도 이 자격증이 개발자로서의 실무에 도움이 될 거라는 생각은 들지 않는다. 학부 커리큘럼에서 배웠던 내용들을 압축해놓은 느낌인데, 학부 커리큘럼을 밟으면서도 흔히 개발자라는 사람들이 얘기하는 걸 보면 참 실무하곤 거리가 멀구나 싶었던 적이 한두번이 아니었으니... 그럼에도 불구하고 시험을 보려는..