본문 바로가기

분류 전체보기

(27)
한 권으로 읽는 컴퓨터 구조와 프로그래밍 5장. 컴퓨터 아키텍처와 운영체제 - 컴퓨터는 어떻게 프로그램과 메모리를 조직적으로 관리할까 기본적인 구조 요소 가장 흔한 두 가지 컴퓨터 구조 : 폰 노이만 구조 / 하버드 구조 프로세서 코어 마이크로프로세서와 마이크로 컴퓨터 마이크로프로세서 : 메모리와 I/O가 프로세스 코어와 같은 패키지에 들어 있지 않은 프로세서. 보통 큰 시스템에 들어가는 부품으로 쓰임 마이크로 컴퓨터 : 모든 요소를 한 칩 안에 패키징 한 프로세서. 식기세척기 등에서 찾을 수 있는, 단일 칩으로 된 작은 컴퓨터. 프로시저, 서브루틴, 함수 코드를 재사용하는 주요 수단! 함수가 동작한다는 의미는? → 함수를 호출하는 부분에서 함수를 실행하고 다시 돌아올 방법이 필요. 원래 자리로 돌아오기 위해서는, 어디서 함수로 들어갔는지를 기..
한 권으로 읽는 컴퓨터 구조와 프로그래밍 메모리 조직과 주소 지정 비트를 하나 기억할 때 플립플롭이 유용하고, 레지스터를 사용해 쉽게 여러 비트를 저장할 수도 있음. but 훨씬 더 많은 정보를 저장해야 한다면? (ex 여러 가지 덧셈 결과 저장) → 레지스터를 많이 쌓은 후 디코더 를 기본 요소로 사용해 각 레지스터에 번호를 부여! (이 번호를 주소address라고 함) →셀렉터를 이용해 지정한 주소에 해당하는 레지스터의 출력을 선택! ==> 이러한 요소들을 합해 메모리 컴포넌트가 만들어짐. 임의 접근 메모리(RAM) 메모리 위치 중 원하는 곳은 어디든 원하는 순서로 쓰거나 읽을 수 있음 정적 램(SRAM) / 동적 램(DRAM) 휘발성 메모리 - 전원이 끊어지면 데이터가 사라짐 코어(core) 메모리 비휘발성 RAM - 비트를 도넛 모양의 ..
한 권으로 읽는 컴퓨터 구조와 프로그래밍 논리 게이트 = 논리 연산을 수행하는 회로가 미리 들어가 있는 회로! → 하드웨어 설계자가 밑바닥부터 모든 회로를 설계할 필요 없이, IC를 선으로 연결해 복잡한 회로를 쉽게 만들 수 있게 해 줌. 논리 게이트에서 가장 단순한 회로 → NAND(not and) 나 NOR(not or) 트랜지스터를 2개나 4개 사용. AND나 OR은 이보다 더 비싸고, 느리며, 전력 소비도 큼 이력 현상을 활용한 잡음 내성 향상 잡음으로 인해 입력 신호가 문턱값을 여러 번 오락가락해 출력 신호에 작은 오류 발생하는 문제 존재 이력 현상 을 사용해 이를 방지 판정 기준이 이력(과거에 벌어진 일)에 따라 달라짐 입력 신호가 두 문턱값 중 하나를 넘어간 경우, 반대쪽 문턱값을 지나가며 출력이 반전되려면 값이 크게 변해야 함 차..
한 권으로 읽는 컴퓨터 구조와 프로그래밍 텍스트 표현 수를 사용해 문자나 키보드에 있는 다른 기호 등을 표현하는 방법 아스키 코드 키보드에 있는 모든 기호에 대해 7비트 수 값을 할당 유니코드 변환 형식 8비트(UTF-8) 비트 가격이 떨어짐에 따라, 문자에 16비트 코드를 부여하는 유니코드 만들어짐 비트 같은 추상화를 사용해 숫자를 표현하고, 숫자를 사용해 문자를 표현하며, 다시 다른 숫자를 사용해 이러한(문자를 표현하는) 숫자를 표현! 유니코드 변환 형식 8비트 인코딩 방법이 하위 호환성과 효율성 때문에 가장 널리 쓰이고 있음 문자를 사용한 수 표현 UTF-8은 문자(ex A)를 표현하는 비트들(2진수 000000001000000)로부터 나온 숫자들(0x0041)을 표현하는 숫자들(UTF-8로 인코딩한 값)을 표현하기 위해 숫자(실제 UTF..
한 권으로 읽는 컴퓨터 구조와 프로그래밍 목차 이 책은 개념적으로 세 부분으로 나뉜다. 첫 번째 부분은 컴퓨터 하드웨어를 탐구한다. 하드웨어가 무엇이고 하드웨어를 어떻게 만드는지 살펴본다. 두 번째 부분은 하드웨어에서 소프트웨어가 어떻게 작동하는지 살펴본다. 마지막 부분은 프로그래밍 기술, 즉 다른 살마들과 협력해 더 나은 프로그램을 만드는 방법에 관한 것이다. 하부 기술 지식. 더 나은 프로그래머가 되기 위해서는 컴퓨터를 잘 이해하고, 프로그램의 동작을 이해해야만 한다. 고수준 도구만 알고 있을 때의 가장 큰 문제점은... 잘못된 질문을 던지기 쉽다는 점. 백번 공감. 컴퓨터 설계와 프로그래밍 1. 사용자 : 컴퓨터 시스템을 사용하는 대부분의 사람들. 2. 애플리케이션 프로그래머 : 웹, 앱, 플레이어 등의 프로그램을 작성하는 사람들. 다른 ..
코드스피츠 85 거침없는 자바스크립트 - 1회차 https://www.youtube.com/watch?v=0NsJsBdYVHI&list=PLBNdLLaRx_rImvbuZnfO-Ecv9OpuCNoCl 1. 현대 JS pipeline 일반적인 현대 JS 개발 흐름 : code작성 → transpiler → packaging → CI → depoly => 실제 작성된 코드와 제공되는 서비스 간의 차이가 아주아주 커짐! ==> 서비스 단의 코드 수정이 어려워졌다는 단점이 있지만, 언어 및 브라우저 실행 등은 transpiler나 packaging에만 맡기고 code에 집중할 수 있는 환경이 조성되기도 한 것! 2. ECMAScript 표준 JS는 C# 이후 가장 빠르게 업데이트가 이뤄지는 언어(매년 상반기 신규 버전 출시 - 버전과 연도가 1차이) 대부분 현..
SRP! 결국은 유지보수를 위함이더라..! 단일 책임 원칙을 따른다고 해서 무조건 유지보수가 편해지지는 않겠지만, 유지보수 하기 좋은 컴포넌트들은 대부분 하나의 기능만 수행한다. 컴포넌트가 커지면 커질수록, 로직이 길어지면 길어질수록, 해당 컴포넌트가 수행해야 하는 역할이 무엇인지 상기해봐야 한다. 그리고 오늘 찾은 약간의 팁! 코드를 작성 전, 해당 컴포넌트가 수행해야 할 작업을 작성해 두면 SRP 원칙을 조금 더 쉽게 지킬 수 있었다! 지난 주말부터 보던 FE에서의 TDD 영상에서 착안했다. 아직 테스트 코드 도입은 무리지만, 코드 작성을 위한 → 테스트 코드 작성을 위한 → 해당 테스트의 역할 명시를 위한 → 해당 컴포넌트의 역할 명시 라는 flow 중 첫 번째를 수행한 느낌이랄까!
소소한 디버깅 사항 정리 2 1. emotion JS Type Error emotion JS에서는 css props를 사용한 스타일링을 권장한다. https://emotion.sh/docs/css-prop Emotion – The css Prop The primary way to style elements with emotion is the css prop. It provides a concise and flexible API to style your components. There are 2 ways to get started with the css prop. Both methods result in the same compiled code. After adding the preset or se emotion.sh css prop..