본문 바로가기

끄적끄적/책17

[SOFTWARE 028] 구글 같은 서비스는 어떻게 개발할까? 현실에서 프로그래밍은 대규모로 이루어지는 경향이 있다. 프로그래밍에서 작업 하나의 크기는 보통 한 사람이 프로그래밍 언어로 정확한 처리 단계를 작성할 수 있는 정도다. 라이브러리, 인터페이스, 개발 키트 라이브러리 (library) 연관된 함수들의 모음 API (Application Programming Interface) 함수 라이브러리가 제공하는 서비스 포함하는 함수, 함수의 용도, 사용법, 입력 데이터의 형태, 만들어지는 값의 형태를 나열 시스템 내부에서 주고받는 데이터의 구조를 의미하는 자료 구조와 기타 세부사항 기술 가능 구문과 관련된 기본 명세 뿐만 아니라, 시스템을 효과적으로 사용하도록 돕는 지원 문서도 포함 SDK (Software Development Kit) 대규모 시스테이 프로그래머들.. 2022. 9. 2.
[SOFTWARE 025] 다른 프로그램을 처리하기 위한 프로그램 어셈블러 (assembler) 특정한 처리를 수행하는 프로그램 어셈블리 언어 특정 프로세서 아키텍처에서 사용되는 어셈블리 언어는 그 아키텍처에 특화된 언어다. 어셈블리 언어는 대개 프로세서의 명령어와 일대일로 연결되고, 명령어가 이진수로 인코딩되는 특정한 방식과 메모리에 정보가 배치되는 방식 등을 알고 있다. 특정 프로세서용 어셈블리 언어 프로그램을 다른 프로세서용으로 변환하고 싶다면 프로그램을 완전히 새로 작성해야 한다. 어셈블리 언어 프로그래밍 1일 1로그 100일 완성 IT 지식 복잡한 IT 세상을 선명하게 읽는 디지털 문해력 기르기 챌린지IT 지식은 분명 복잡하지만 인생처럼 혼잡하지는 않다. 필요한 지식을 습득하면 막연한 불안감에서 벗어나 디지털 지구가 제시하는 book.naver.com 2022. 8. 26.
[SOFTWARE 018] 알고리즘과 초콜릿 케이크 레시피 2부 소프트웨어 시작~~~ 알고리즘 (algorithm) 효율적인 알고리즘의 설계, 분석, 구현은 컴퓨터과학이라는 학문에서도 매우 핵심적인 부분이다. 알고리즘은 지능이나 상상력이 없는 개체가 수행하더라도 연산의 의미와 수행 방법에 의심의 여지가 없을 정도로 상세하고 정확하게 일련의 연산을 명시해야 한다는 것이다. 그 뒤에 여러 가지 알고리즘 얘기가 나오긴 하는데, 알고리즘은 어차피 따로 공부하니,,, 간단하게 읽기만 하고 넘어가야징.. 1일 1로그 100일 완성 IT 지식 복잡한 IT 세상을 선명하게 읽는 디지털 문해력 기르기 챌린지IT 지식은 분명 복잡하지만 인생처럼 혼잡하지는 않다. 필요한 지식을 습득하면 막연한 불안감에서 벗어나 디지털 지구가 제시하는 book.naver.com 2022. 8. 19.
[HARDWARE 016] 슈퍼컴퓨터부터 사물인터넷까지 슈퍼컴퓨터 (supercomputer) 과학기술 연산을 비롯한 다양한 분야에 사용되는 고속 컴퓨터로, 보통 많은 수의 프로세서와 대량의 메모리를 사용한다. 사용되는 프로세서 자체도 특정 종류의 데이터를 훨씬 빨리 처리하는 명령어로 구성되어 있다. 요즘의 슈퍼컴퓨터는 전용 하드웨어를 사용하는 대신, 속도는 빨라도 기본적으로는 평범한 프로세서로 구성된 클러스터를 기반으로 구현된다. 슈퍼컴퓨터의 속도는 플롭스(flops, 초당 수행할 수 있는 부동 소수점 연산 횟수)로 측정된다. GPU (Graphics Processing Unit) 범용 CPU보다 그래픽 관련 계산을 훨씬 빠르게 수행하는 그래픽 전용 프로세서이다. 일반 프로세서가 특정한 종류의 작업을 빠르게 처리하는 데 도움을 준다. 간단한 산술 연산을 병.. 2022. 8. 18.