본문 바로가기

전체 글304

컴퓨터 구조 7 보조기억장치 하드디스크의 구성품 ; 자기적인 방식으로 데이터를 저장  - 플래터 ; 데이터가 실질적으로 저장되는 동그란 원판 - 스핀들 ; 플래터를 회전시키는 구성 요소  - 헤드 ; 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소  - 디스크 암 ; 헤드가 부착되어 원하는 장소로 이동시키는 구성 요소   하드디스크의 구조트랙 ; 플래터를 동심원으로 나눴을 때 그 중 하나  섹터 ; 트랙의 조각 중 하나 / 보통 512바이트~ 4096바이트도 있음  실린더 ; 같은 트랙을 가진 플래터들  -> 연속된 정보를 실린더에 저장 -> 디스크암을 움직이지 않고 읽을 수 있음 탐색시간 ; 데이터가 저장된 트랙까지 헤드를 이동시키는 시간  회전지연 ; 헤드가 있는 곳으로 플래터를 회전시켜서 섹터와 헤드가 만나기까지 시간 전송시간.. 2025. 2. 17.
랜턴의 서비스 기획 이야기 14 클라우드 인프라 구축  실제로는 파일럿 프로덕트가 7-8월 즈음에 나와야 했지만, 여름 동안은 보안 심사 대응하는 것만해도 벅차서, 그냥 그렇게 시간을 흘려 보내버렸다.  그래도 봄 막판에, 인프라 전문 담당자가 개발팀에 합류하고6월에는 NCP 및 MSP와 계약 협의가 순조롭게 이어졌다.개발 외적인 것들을 정리하고, MSP와 인프라 설계에 대한 간략한 미팅을 거쳤다. AWS를 그래도 상반기에 몇개월 공부를 했기 때문에,NCP 서비스 구조나, 기존에 없던 서비스가 왜 추가 되야하는지 대략적으로 이해할 수 있었다.  ISMS 심사 준비 요구가 강하게 들어왔던 7-8월에는, 협력사와 어떻게 To-do 리스트를 정리할 지 깊이 토의했다. 개발 팀은 구 시스템은 보안 대응, 인프라 팀은 신 시스템 인프라 구축 개.. 2025. 2. 16.
랜턴의 서비스 기획 이야기 13 WEBGL 컨텐츠  내가 만들고 있는 웹은 크게 2가지의 유즈 케이스를 가지고 있었다.1. 전형적인 정적 컨텐츠 위주의 화면을 제공하는 경우 2. WEBGL 기반의 유저 인터랙션을 동반하는 시뮬레이션 화면을 제공하는 경우 특히, 2번의 경우는, Web+App을 만들겠다는 리더들의 염원에 의해 강력하게 이루어졌는데,이를 반대했던 나로서는 개발 과정의 중간에서라도 점검하고 싶었다.  나는 시장의 기대보다 작동하지 않을 경우를 대비하여Two Track으로 대응 방안을 수립했다.1. 컨텐츠 글로벌 사용 정책 수립 -> 글로벌 전개 시 동시 배포2. 개발 과정 중 WEBGL 컨텐츠 동시 제작 + 필드 베타 테스트 +a. 로컬에 캐싱을 지원하는 서비스 구성    1번의 대응방안은, 네트워크 불안 지역 또는 그러한 .. 2025. 2. 16.
알고리즘 3 이진탐색트리 리스트로는 이진탐색을 구현하기가 대개 어렵기 때문에,트리기반으로 데이터를 적재하고 이진탐색을 구현하는 방법이다. 탐색 자체는 리스트보다 훨씬 수월해진다. 문제는 관리 측면이다. 특히 관리 중에서도, 삭제가 그렇다. 특정 노드를 삭제하게 될 경우,삭제되는 트리의 차일드 트리의 처리를 별도로 해줘야 하기 때문이다. 1. 차일드가 없는 경우 -> 아무 문제 없다2. 차일드가 하나 있는 경우 -> 차일드를 삭제한 노드 위치에 차일드를 붙인다.3. 차일드가 둘 다 있는 경우 -> 우측 트리의 최솟값 노드를 삭제한 위치로 옮긴다                                                 3번의 경우, 최솟값노드의 차일드 처리도 해주어야 한다.최솟값노드의 차일드는 1번째 아니면 2번째일텐데.. 2025. 2. 15.
컴퓨터 구조 6 RAM RAM의 특징  - 전원을 끄면 저장 X  - 따라서, 실행할 대상을 저장 RAM 용량과 성능 - RAM 용량이 적으면, 실행할 프로그램을 자주 가져와야 -> 실행 시간이 늘어남  DRAM ; Dynamic RAM  데이터가 동적으로 사라짐  따라서, 데이터 소멸을 막기 위해서, 일정 주기로 데이터를 재활성화 필요 소비전력 비교적 낮음 / 저렴함 / 집적도가 높음  대부분의 메모리  SRAM ; Static RAM  데이터가 사라지지 않음 데이터 재활성화할 필요 없음  속도도 DRAM보다 빠름  집적도가 낮음 / 소비전력 큼 / 가격도 비쌈  SDRAM ; Synchronous DRAM 클럭 신호와 동기화됨  클럭 신호마다, CPU와 정보를 주고 받을 수 있음  DDR SDRAM ; Double Data.. 2025. 2. 15.
컴퓨터 구조 5 CISC / RISC CPU 성능을 높이고자 한다면 아래가 중요하겠다.  - 병렬처리가 가능한 설계 - 병렬처리 기법 적용  이 중, 병렬처리 기법 적용을 통한 CPU 성능 향상이란,   명령어 파이프라이닝이 잘 되고, 수퍼스칼라 기법이 잘 되는 것을 말할 것이다.  결국 파이프라이닝을 뭔가 쉽게 해야할 텐데, 그 방법이란 무엇일까?  ISA ; instruction set architecture = 명령어 집합 / 명령어 집합 구조  - CPU 제조사마다 다름 - CISC - 인텔 AMD / RISC - ARM 애플 - 오픈소스 CISC ; Complex Instruction Set Computer  - 가변길이 명령어 사용  ->  다양한 명령어 사용 ->  적은 명령어로 실행가능  -> 사용 메모리 적음  CISC 단점.. 2025. 2. 13.
알고리즘 2 탐색 / 순차탐색 & 이진탐색 순차 탐색 ; 말 그대로 처음부터 순차적으로 탐색하는 방식 자기 구성 순차 탐색 ; 자주 사용되는 항목을 데이터 앞쪽에 배치하여 검색 효율 향상 - 전진이동법 ; 피탐색시, 가장 앞으로 이동- 전위법 ; 피탐색시, 하나 앞으로 이동 - 빈도 계수법 ; 데이터를 탐색되 횟수에 맞게 정렬  이진탐색 ; 최대 비교 반복횟수는 log2n으로 빠르게 찾을 수 있음  C에는 기본으로 qsort / bsearch 함수를 제공합니다...  GitHub - Sukmin-LanternK/AlgorithmContribute to Sukmin-LanternK/Algorithm development by creating an account on GitHub.github.com 2025. 2. 9.
컴퓨터 구조 4 CPU 성능향상 기법_1 CPU 성능 향상 기법 1 CPU 설계  2 명령어 병렬 처리  3 CISR / RISC CPU 설계  - 멀티 코어 / 멀티 스레드로 설계하면 빨라진다  클럭 ;  클럭속도를 높이면 빨라진다   - 클럭 속도를 부하에 맞게 조절함 ; 최대 클럭 장시간 유지 시 과열로 성능 하락  오버클러킹 ; 최대 클럭 속도를 높이는 기법 코어 ; 명령어를 실행하는 부품  - 최신 CPU는 멀티 코어로 명령어를 적절하게 분배하여 연산한다  스레드  - 하드웨어적 스레드 ; 하나의 코어가 동시에 처리하는 명령어 단위   -> 멀티스레드 프로세서 ; 코어가 멀티스레드를 처리할 수 있는 프로세서 - 소프트웨어적 스레드 ; 하나의 프로그램에서 독립적으로 실행되는 단위  명령어병렬처리기법 - 명령어 파이프 라이닝 - 수퍼스칼라.. 2025. 2. 8.
컴퓨터 구조 3 레지스터와 인터럽트 레지스터  1 프로그래 카운터 ; 메모리에서 읽어 들일 명령어 주소를 저장  2 명령어 레지스터 ; 메모리에서 읽어 들인 명령어 저장  3 메모리 주소 레지스터 ; CPU가 주소버스로 읽어 들이고자 하는 메모리 주소 값  4 메모리 버퍼 레지스터 ; CPU기 데이터 버스로 메모리와 주고 받을 값  5 플래그 레지스터 6 범용 레지스터 ; 데이터 또는 주소를 범용으로 저장  스택 주소 지정 방식  메모리 영역 안에 스택으로 사용하는 영역이 지정되어 있음 스택 포인터는 스택의 TOP 주소값을 저장한다  7 스택 포인터 ; 스택의 TOP 값을 저장하는 레지스터 \변위 주소 지정 방식 - 상대 주소 지정방식 ; 프로그램 카운터 기준으로 오퍼랜드를 오프셋으로 하는 주소를 읽음 - 베이스 레지스터 주소 지정 방식 .. 2025. 2. 4.
컴퓨터 구조 2 CPU - ALU & 제어장치 CPU ; ALU + 제어장치로 구성  ALU ; 연산장치 인풋 =  제어장치의 제어신호 + 레지스터 내 피연산자 아웃풋 = 플래그 레지스터의 플래그 + 레지스터에 결과값 저장    제어장치인풋 = 플래그 레지스터 내 플래그+ 명령어 레지스터 내 명령어 + 제어신호 + 클럭 아웃풋 = 제어신호 (CPU 내부 / 외부 / 입출력장치 ) 2025. 2. 2.
반응형