목록CS (11)
EtoC
면접공부를하다 '아키텍처가 뭘까?'라는 생각이 들었다. 청사진이라는 생각이 먼저들었고 레이어드패턴, 카프카, 마이크로 아키텍처, 모놀리틱 아키텍처가 떠올랐다. 근데 명확하게 뭐다라는 생각이 떠오르지 않는데..음 ..아키텍처가 정확히 뭐고 왜 중요한거지? 1 . Architecture 아키텍처는 건축물 또는 건축양식을 의미한다. 컴퓨터 공학에서는 컴퓨터 아키텍쳐(Computer architecture)라고 한다. 1. Computer architecture 컴퓨터 아키텍처는 시스템의 근간이되는 운영구조이다. 하드웨어와 소프트웨어간의 상호 작용 및 컴퓨터가 데이터를 처리하는 방식을 다루며, 다양한 수준의 추상화로 이루어져 있다. 요약하면 하나의 컴퓨터가 어떻게 동작하는지 원리를 나타낸것이다. 2. Softw..
1. 확장자(Extension) 컴퓨터가 어떻게 인식해야 할지 파일의 형식이나 유형을 알려주는 정보이다. .txt, .html, .mp3, .png 등 예를들어 .txt는 텍스트파일의 확장자로 .txt로된 확장자를 가진파일을 텍스트로 열 수 있다. 파일 확장자를 통해 운영체제나 응용프로그램이 파일을 인식하고 바르게 열 수 있기때문에 확장자를 잘 작성하여야한다. 2. 트리 구조(Tree Structure) 트리구조는 계층적으로 궛ㅇ된 데이터 구조로, 각 노드가 하나 이상으 자식노드를 가질수 있는 구조로, 파일시스템이나,조직도, 계층적인 데이터를 표현하는데 사용된다. 노드는 데이터를 저장하고, 부모 노드와 자식노드의 관계를 나타낸다. 부모/자식관계와 형제관계는 데이터를 조직화하고 표현할 수 있는 방법으로 트..
주소창으로 네이버를 접속하면 어떤 일이 일어나는지에대해 팀원분이 면접에서 질문을 받았다고 하셨다. 그래서 공부해 볼것을 추천하심 이 질문을 왜하나 했는데 브라우저의 동작원리를 물어보는 것이였다. Browser 처음 공부를 시작했을때는 브라우저가 인터넷이라고 생각했다. 브라우저는 우리가 인터넷에서 서칭할때 사용하는 프로그램으로 크롬,파이어폭스,사파리,엣지같은 소프트웨어를 말한다. 브라우저는 파일명 뒤에 .html이라는 확장자가 붙은 문서을 읽어 브라우저에 띄워준다. 주소창에 naver.com을 입력하면 브라우저 엔진이 입력된 텍스트가 검색어인지 url인지를 먼저 확인한다. 검색어라면 브라우저는 검색엔진의 url에 검색어를 포함한 주소로 페이지를 이동시킨다. url이라면 브라우저 엔진은 네트워크 스레드를 통..
계속 CS공부를 해야한다고 생각하고있었는데 윈도우 PC를 맞추려고 부품을 찾다보니 '지금이 써야할때!'라는 생각이들었다. 나의 기억은 라이젠 1코어 4쓰레드를 감탄하던 시절에 멈춰있었다는걸 깨달음. 가보자~ 컴퓨터의 구조 컴퓨터는 크게 4가지 기능으로 구성된다. 중앙처리장치: Central Processing Unit로 CPU를 말한다. 주기억장치: Main Memory로 RAM을 말한다. 보조기억장치: Secondary Storage로 HDD,SSD,USB 등이 있다. 입출력장치: Input/Output로 모니터, 마우스같은 입출력장치들을 말한다. 나는 기계를 사러가면 가장먼저 cpu를 본다. 몇core에 몇thread인지 확인해보는데 이 지표들은 cpu의 성능을 나타낸다. 1. CPU(Central ..
1. 인증(Authentication) 1. 인증이란? 인증은 사용자가 누구인지를 결정하는 과정으로, 사용자의 자격을 증명하는 정보가 데이터 인증서버의 자격증명정보와 일치하는지 확인하고, 그 인증절차를 통과하는 사용자에게 시스템에대한 접근권한을 주는것을 말한다. 2. 인증의 유형 1) SFA 인증 SFA(단일요소인증)은 자격증명 정보로서 사용자 ID와 암호만을 요구하는 방식이다. SFA는 ID와 비밀번호만 알아도 쉽게 보안에 문제가 발생한다. 2) 2FA 인증 로그인 요청시 모바일 기기를 통해 사용자에게 고유코드를 부여하거나 지문인식같은 추가적인 인증 요소를 요구해 SFA인증 보다 인증을 강화한 방식이다. 3) MFA 인증 사용자의 ID, 비밀번호, 생체인증에 더해 사용자가 직접 답변해야하는 질문을 추가..
1. MVC(Model View Controller)? 소프트웨어 개발에서 사용되는 소프트웨어 디자인 패턴으로, 이 패턴은 소프트웨어의 구성 요소를 세 가지 주요 부분으로 분리하여 응용 프로그램을 구조화한다. 각 부분은 특정한 역할과 책임을 가지며 서로 간에는 느슨한 결합을 유지한다. 과거 브라우저와 개발자만이 존재했을당시에 개발서버 히니러 json 통신과 html로 통신을 다하였다. 하지만 이 기능들이 분화되면서 json은 백엔드에서 html관련은 프론트엔드에서 전해주도록 분리되었다. mvc패턴은 3가지로 구성된다. M(models): database 생성 및 관리 V(views): 화면에 보여지는 부분으로 HTML 코드를 관리해주는 폴더 C(Controllers): API 부분으로 미들웨어 함수를 분..
1. HTTP(Hyper Text Transfer Protocol) HTTP란 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜(통신규약)이다. HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜로, HTTP로 중요한 정보를 주고 받을경우 제3자가 정보를 조회할 수 있다. 이러한 문제를 해결하기 위해 HTTPS가 등장하게 되었다. HyperText HTTP에서 HyperText는 HTML(HyperText Markup Language)의 HyperText와 의미가 같다. HTML은 문서와 문서를 링크로 연결하는 태그로 구성된 언어이다. Transfer 사전적 의미로 "전송하다"는 의미로 만들어진 웹사이트를 다른 사람들과 공유하기 위해서 다른 컴퓨터에게 전송하는것을 말한다. 전송에는..
Web Storage Object HTML5 부터 새롭게 지원하는 저장소로 클라이언트에 데이터를 저장할 수 있다. 쿠키와 다르게 네트워크 요청시 서버에 전송하지않아 서버에 부담이 가지않으며, 쿠키보다 더 많은 자료를 보관할 수 있다.(약5MB) 웹 스토리지 객체인 localStorage와 sessionStorage는 브라우저 내에 객체형태(키-값 페어)로 데이터를 저장할 수 있게 해준다. 쿠키와 또 다른 점은 서버가 HTTP 헤더를 통해 스토리지 객체를 조작할 수 없어 자동 전송의 위험이없다. 웹 스토리지 객체 조작은 모두 자바스크립트 내에서 수행되며, 웹 스토리지 객체는 도메인·프로토콜·포트로 정의되는 오리진(origin)에 묶여있기때문에 프로토콜과 서브 도메인이 다르면 데이터에 접근할 수 없다.(CR..