창고/기초지식

IT 소통지식

컴퓨터 구성요소?

  • 메인보드 : 데이터들을 꽂아두기
  • CPU : 계산하기
  • RAM : 기억하기
  • 하드디스크 : 적어두기 

 

컴퓨터를 조작할 때는 ?

  • 운영체제(OS)를 통해서 조작한다.
  • 즉, 인간이 기계와 소통할 수 있게 만드는 기반 프로그램

 

OS에 명령을 내린다는 것은?

  • "코딩"을 한다는 것 ( 코딩 == 프로그래밍 이라고 생각해도 무방하다. )
  • "프로그래밍 언어" 어떤 말로 명령을 내릴건지, 언어마다 방식과 특성이 다르다.
  • 코드로 미리 짜둬서 매번 똑같이 움직이도록 한 것이 "프로그램", 즉 코딩은 늘 프로그램을 만드는 것 그래서 "프로그래밍"이라고 한다.

 

컴퓨터끼리 소통하기 위해서는?

  • 인터넷을 활용한다 !
  • 인터넷을 활용해 컴퓨터끼리 대화를 주고 받으려면 규칙이 필요하다. ( 각 나라의 문법같은 느낌 )
  • 여러 규칙이 있지만 그 중 하나가 웹 = http
  • 도메인 앞에 http:가 붙으면 http규칙으로 소통하겠다고 선언하는 것을 의미한다.
  • 소통하는 중에 정보를 누가 엿보면 안되니까 설정하는 것이 "https", 소통하는 것끼리 암구호표를 서로 가져서 가운데서 못 보게 하는 것

 

서버의 역할은?

  • 가운데서 데이터를 저장하고, 주는 것
  • 서버가 터졌다? -> 접속자가 폭주했다 !
  • 서버가 되는 컴퓨터는 특별한 컴퓨터가 아닌 그냥 컴퓨터이다. ( 컴퓨터 = 사람, 직업 = 서버 )

 

웹 서버를 만들었다?

  • 항상 켜져있는 컴퓨터가 http요청이 들어왔을 때 반응하도록 만드는 것

 

웹 브라우저는?

  • 웹 서버에게 요청을 보내준다.
  • 웹 서버가 보내준 HTML, CSS, JAVASCRIPT를 화면에 그려주기만 한다.
  • 페이지를 새로고침하지 않고, 데이터만 바꿀때도 규칙이 필요하다. 그것을 JSON방식이라고 한다. { key : value }형식

 

서버-클라이언트 통신?

  • 요청을 보내는 쪽은 클라이언트, 요청을 받는 쪽은 서버
  • API, 서버에서 미리 만들어둔 기능 ( 요청에 필요한 정보와 다시 리턴할 정보를 정한다. )
  • https:// movie.naver.com(서버위치)/movie/bi/mi/basic.naver(API주소) ? code=10016(가져가기로 한 데이터)
  • API 하나만 따주세요 ! == 새로운 기능 창구를 하나 만들어주세요 ! 그 쪽으로 요청하도록 하겠습니다 ! ( API 명세서 필요 )
  • API 개발은 끝났고, 클라이언트는 아직이에요 = 창구는 다 만들었는데, 요청하는 쪽이 아직 작업 중
  • OPEN API = 누구나 요청할 수 있게 열어 둔 API

 

프레임워크?

  • 서버를 처음부터 만들기에는 너무 힘들기 때문에 미리 세팅되어있는 것
  • 예를 들어 완성본이 정해진 블록세트같은 느낌
  • 각 언어별로 프레임워크가 다르다.

 

아키텍처/DB

아키텍처

  • 시스템 목적을 달성하기위해 시스템의 상호작용등의 시스템디자인에 대한 제약 및 설계
  • 최적화를 목표로 두고 시스템 구성과 동작원리 그리고 시스템의 구성환경등을 설명 및 설계하는 청사진 또는 설계도
  • 1.시스템 구성 및 동작 원리
  • 2.시스템 구성요소에 대한 설계 및 구현을 지원하는 수준을 기술
  • 3.구성 요소 간의 관계 및 외부환경과의 관계 묘사
  • 4.요구사양 및 시스템 수명주기 고려
  • 5.시스템의 전체적인 최적화를 목표
  • 6.클라우드 서비스(AWS)를 이용해서 아키텍처를 구성한다.

 

DB

  • 데이터를 잘 찾게 해주는 프로그램
  • 정리된 항목을 "인덱스"라고 하고, 인덱스를 이용해야 빠르게 찾을 수 있다.
  • SQL(정형화) vs NoSQL(비정형화)
  • SQL : 표를 먼저 정의하고 데이터를 집어 넣는다.
  • NoSQL : JSON형식으로 데이터를 쌓는다.