728x90 반응형 분류 전체보기169 25. 중앙처리장치(CPU) 중앙처리장치란? 중앙처리장치(CPU: Central Processing Unit)는 사람의 두뇌와 같이 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치다. 중앙 처리장치는 연산장치,제어장치, 레지스터 그리고 이들을 연결하여 데이터를 전달하는 버스로 구성되어 있다. * 원래 중앙처리장치(CPU)는 제어장치, 연산장치, 레지스터가 별도로 존재하는 회로 기판이었다. 그러나 한 개의 반도체 칩에 제어장치와 연산장치를 장착한 마이크로프로세서가 개발되면서 마이크로프로세서를 CPU로 사용하고 있다. - 연산장치 산술연산과 논리연산 수행(따라서 산술논리연산장치라고도 불린다) 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보낸다. - 제어 장치 명령어를 순서대로 실행.. 2023. 1. 4. 내가 보려고 올리는 코딩 테스트 4단계 공부법(feat.원티드) 1단계: 자료구조 및 알고리즘 개념 공부하기 코딩 테스트에 제대로 대비하기 위해서는 연습 문제를 풀기에 앞서 이론을 탄탄히 다지는 단계가 필요합니다. 이론을 공부하지 않고 닥치는 대로 연습 문제만 푸는 것은 부실한 토지에 건물을 올리는 것과 같습니다. 건물을 높게 쌓을수록 토지의 부실함이 드러나 모든 게 무너지겠죠. 반면에 이론이라는 토지를 탄탄히 다져놓으면 그 위에 어떤 높은 건물을 쌓아도 든든히 버텨줄 것입니다. 코딩 테스트에서는 보통 단시간 안에 풀 수 있는 알고리즘 문제가 출제되는데요, 이런 유형의 문제를 풀기 위해서는 기본 자료구조 및 자주 사용되는 알고리즘 개념을 알아두어야 합니다. 수많은 자료구조와 알고리즘 개념 중 반드시 공부해야 하는 주제 몇 가지를 선정해 보았습니다. 자료구조 배열 (A.. 2023. 1. 4. 24. TCP/IP 계층개념과 OSI7계층 비교 TCP/IP 과거로부터 발전해온 컴퓨터는 정말 많은 일을 수행한다. 계산부터 문서작업, 게임 등등 하지만 네트워크 통신의 발달로 이메일 보내기, 채팅 외에도 Netflix, Youtube, 멀티 게임 등 전세계 사용자들에게 많은 컨텐츠를 제공한다. 이러한 상호작용은 두 컴퓨터 시스템이나 여러개의 시스템이 포함 될 수 있는데, 이들은 어떻게 소통하며, 메세지를 어떤식으로 전송하고, 어떻게 끝내는지 알 만한 방법은 무엇일까? 바로 프로토콜(protocol)이다. 프로토콜은 네트워크 통신에서 합의된 규칙들의 집합을 말한다. 우리가 사회에서 행동하고 의사소통하는 방법을 알기위해 사회적 프로토콜을 이용하듯 컴퓨터에서도 마찬가지이다. OSI 7 레이어라는 표준을 ISO에서 발표한 것처럼, 각 컴퓨터를 공급하는 업체.. 2023. 1. 3. REST API란? # API는 Application Program Interface의 약자이다. 우리가 갑자기 현금이 필요할때, 돈을 우리가 직접 뽑을 순 없고 은행원이나 ATM기를 이용하여 뽑아야한다. 이러한 과정에서 은행원이나 ATM기가 우리의 요청을 듣고 장부에 기록 후 내계좌잔고에서 돈을 꺼내줄 것이다. 여기서 은행원과 ATM기가 API이다. 예를 들어 모바일게임을 할때 카카오로 로그인을 할 수 있다면, 그 모바일게임은 카카오톡에서 만들어 놓은 로그인API를 사용한 것이다. # REST 는 Representational State Transfer의 약자이다. 시스템에는 데이터와 같은 여러 귀중한 자원들이 있다. 이 자원들을 활용하고 싶은 여러 응용 프로그램들이 있을 것이고, 시스템은 이러한 자원들을 필요로 하는 응.. 2022. 12. 30. 23. 동기와 비동기의 차이 데이터 처리 모델 데이터 처리 모델을 쉽게 표현하자면 데이터를 받는 방식이라고 할 수 있다. 동기(Synchronous: 동시에 일어나는) - 동기는 말 그대로 동시에 일어난다는 뜻이다. 요청과 그 결과가 동시에 일어난다는 약속이다. 바로 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야 한다. 사용자가 데이터를 서버에게 요청한다면 그 서버가 데이터 요청에 따른 응답을 사용자에게 다시 리턴해주기 전까지 사용자는 다른 활동을 할 수 없으며 기다려야한다. 순서에 맞춰 진행되는 장점이 있지만, 여러 가지 요청을 동시에 처리할 수 없다. 위 그림의 (a)처럼 커피 주문을 받고 나올 때까지 기다리는 것이 동기 방식의 예시라고 할 수 있다. 비동기(Asynchronous: 동시에 일어나지 않는) .. 2022. 12. 30. 22. 프로토콜의 개념, 요소,특징,계층 구성 1. 프로토콜이란 서로 다른 시스템 및 기기 간 데이터 교환을 원활히 하기 위한 표준화된 통신규약 이다. 기기 간 통신은 교환되는 데이터 형식에 대해 상호 협의를 요구하기 때문에 프로토콜이 필요한 것이며, 공통의 데이터 교환방법이나 순서에 대해 정의한 약속, 규칙 체계를 의미한다. 따라서 동일한 프로토콜을 사용하면 기종 및 프로그램이 다르더라도 컴퓨터간 상호 통신이 가능하다. 따라서 이기종 간 정보통신을 하기 위해 표준 프로토콜을 채택하여 통신망을 구축해야 한다. 2. 기본 요소(구문,의미,타이밍) 1. 구문(syntax) - 송수신 데이터 형식, 코딩, 신호레벨 등 규정 2. 의미(Semantic) - 제어 정보로 조정과 에러 처리를 위한 규정 3. 타이밍(Timing) - (시스템 간 정보 전송을 위.. 2022. 12. 29. 21. MSA란 무엇인가 MSA란 MicroService Architecture의 약자로 각 컴포너틑 별로 서비스를 작게 나눈 형태를 말한다. 하나의 큰 애플리케이션을 다수의 작은 애플리케이션으로 모듈화한 형태 출처:http://clipsoft.co.kr/wp/blog 특징 하나의 컴포넌트가 하나의 서비스 형태로 구현되며, 독립된 서버를 가질수 있고 독립적인 배포가 가능하다. 컴포넌트 별로 서버를 구축할 수 있으므로, 각각 서비스의 부하에 따라 개별적 scale-out(부분적 확장)이 가능하다. 하나의 DB에 데이터를 집중하지 않고, 각 서비스 별 DB를 운영할 수 있다. (이렇게 데이터가 분산되어 있으므로, 서비스를 독립적으로 개발, 배포, 운영 할 수 있다) 문제점 서비스가 모두 세분화(분산)되어 있기 때문에, API를 통해.. 2022. 12. 29. 안정적인 백엔드개발자가 되자! 백엔드는 오직 데이터에 집중하여 이른바 보이지 않는 영역에서 이뤄지는 일들을 구현하게 된다. 백엔드는 데이터베이스와 연동되는데, 데이터베이스를 설계하고 설계된 데이터베이스를 바탕으로 데이터를 생성, 수정, 삭제 조회등의 기능을 구현하고 다루는 것이 백엔드의 아주 주요한 역할이다. 그렇다 보니 범위 자체는 좁다고 보일 수 있지만, 효율적인 데이터베이스 설계와 데이터를 빠르게 가져올 수 있도록 기능을 만드는 것이 중요하다. 더 나아가서는 서비스에 장애가 발생하지 않도록 안정적으로 서비스를 만드는 것이 백엔드 개발자들의 어려움이자 중요한 업무라고 할 수 있다. 출처-백엔드를위한Django REST Franmework with 파이썬 백엔드개발자로 직군을 정하고나서 확실한 마음가짐을 생각해 본적이 없었는데 저 .. 2022. 12. 28. 20.HTTPS 란 HTTP는 텍스트 교환이므로, 누군가 네트워크에서 신호를 가로채면 내용이 노출되는 보안 이슈가 존재한다. 이런 보안 문제를 해결해주는 프로토콜이 'HTTPS' HTTPS(HyperText Transfer Protocol Secure)인터넷 상에서 정보를 암호화하는 SSL 프로토콜을 사용해 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약 HTTPS는 텍스트를 암호화한다. (공개키 암호화 방식으로!) HTTPS 통신 흐름 애플리케이션 서버(A)를 만드는 기업은 HTTPS를 적용하기 위해 공개키와 개인키를 만든다. 신뢰할 수 있는 CA 기업을 선택하고, 그 기업에게 내 공개키 관리를 부탁하며 계약을 한다. CA란? : Certificate Authority로, 공개키를 저장해주는 신뢰성이 검증된 민간.. 2022. 12. 28. 이전 1 ··· 12 13 14 15 16 17 18 19 다음 728x90 반응형