적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

컴퓨터시스템 27

SDK? API?

SDK란? Software Development Kit 소프트웨어 개발 키트 특정 소프트웨어 프레임워크, 컴퓨터 시스템, 운영 체제 등을 위한 응용 프로그램 등을 만들 수 있게 해주는 개발 도구의 집합. 응용 프로그램을 만들기 위해서는 특정한 SDK를 다운로드 받아야 하는데, 안드로이드 앱 개발을 위해서는 Java를 포함한 SDK, iOS 개발을 위해서는 Swift가 포함된 iOS SDK, MSWindows를 위해서는 .NET을 포함한 .NET Framework SDK가 필요하다. (SDK 안에는 개발에 도움이 될 개발 도구 프로그램, 디버깅 프로그램, 문서, API 등이 있다. ) API란? Application Programming Interface 응용 프로그램에서 사용할 수 있도록, 운영 체제나 ..

컴퓨터시스템 2021.04.28

http vs. https 차이

URL이란? Uniform Resource Locator : 웹 사이트 혹은 컴퓨터 네트워크 상 자원의 위치를 알려주는 참조 주소. url에 접속하기 위해서는 해당 url에 맞는 프로토콜을 알고, 그와 동일한 프로토콜로 접속해야 한다. HTTP인 경우 웹 브라우저를 사용하여 접속해야 함. HTTP란? HTTP - 하이퍼 텍스트 전송 프로토콜의(Hypertext Transfer Protocol)의 약자 : 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜 정보를 텍스트로 주고받기 때문에 네트워크에서 전송 신호를 인터셉트하는 경우 원하지 않는 데이터 유출이 발생할 수 있다. 이러한 보안 취약점을 해결하기 위한 프로토콜이 HTTPS HTTPS란? HTTPS - 하이퍼 텍스트 전송 프로..

컴퓨터시스템 2021.04.19

[Programming Paradigm] 객체지향 vs. 절차지향

객체지향 프로그래밍과 절차적 프로그래밍은 둘 다 명령형 프로그래밍의 하위 개념으로, 객체를 사용하느냐 사용하지 않느냐에 따라 구분한 것일 뿐 서로 반대되는 개념이 아니다. Object Oriented Programming 객체지향 프로그래밍 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 '객체'들의 모임으로 파악하여 객체간의 상호작용으로 프로그램의 동작을 구현하고자 하는 것. 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 '객체(object)'라는 기본 단위로 나누고 이들의 상호작용으로 서술하는 방식이다. 객체란 하나의 역할을 수행하는 '메소드와 변수(데이터)'의 묶음으로 봐야 한다. 상호작용하는 객체들의 집합 왜? Procedur..

컴퓨터시스템 2021.04.16

[Programming Paradigm] declarative(선언형) vs. imperative(명령형) programming

명령형 imparative : 어떤 방법으로 어떻게 하려고 하는가 writing sequence of introductions that the program follows (uses statements that change a program’s state?) - 실행될 알고리즘을 명시하고 목표는 명시하지 않음 - 객체지향 프로그래밍(Swift UIKit, Java 등), 절차적 프로그래밍 등이 명령형 선언형 declarative : 무엇을 하려고 하는가 expresses the logic of a computation without describing its control flow. don’t specify how to achive - 목표를 명시하고 알고리즘을 명시하지 않음. - 함수형 프로그래밍(Sw..

컴퓨터시스템 2021.04.01

기억장치와 메모리 계층구조

저장장치의 두 가지 요건 - 단위 시간당 데이터 처리량 (throughput) = 입출력 속력 - 용량 (capacity) = 저장장치에 담을 수 있는 정보의 총량 메모리 계층 구조 빠른 저장 장치는 용량에 비해 가격이 비싸고, 용량이 넉넉한 저장 장치는 싸지만 처리 속도가 느리다. 컴퓨터가 행하는 작업은 매우 다양하기 때문에 빠른 속도가 필요한 상황도 있지만, 단순히 많은 내용을 천천히 읽고 쓰는 작업도 많다. 이러한 상황에 맞게 여러 종류의 저장 장치를 함께 사용해 최적의 효율을 낼 수 있도록 하여 싸고 성능 좋은 시스템을 구현하는 설계가 메모리 계층 구조이다. CPU에 가까운 순서대로 레지스터 - 캐시 - 메모리 - 보조기억장치 (일반적으로 CPU와 직접 접근이 가능한 레지스터, 캐시, 메모리를 주..

컴퓨터시스템 2020.12.30

[데이터 처리] 동기식 비동기식 Synchronous Asynchronous

● 동기화, 비동기화? 데이터를 처리하는 방식에는 동기식 방식과 비동기식 방식이 존재한다. 동기식 처리 모델(Synchronous processing model) - 한 자원에 대해 동시에 접근하는 것을 제한하는 방식 - 직렬적으로 태스크(task)를 수행 (순차처리) - 어떤 작업이 수행 중이면 다음 작업은 대기하게 된다. (버퍼링이 발생) ex) 서버에 데이터를 요청하고 데이터가 응답될 때까지 이후 태스크들은 블로킹(blocking, 작업 중단)된다. 장점 : 설계가 간단하고 직관적 단점 : 결과를 볼 때까지 아무것도 못하고 대기해야함 • 동기화 : 한 메서드가 실행되는 동안 다른 메서드 실행이 불가능하도록 블락하는 것. 비동기식 처리 모델(Asynchronous processing model 또는 ..

컴퓨터시스템 2020.12.21
728x90
반응형