OS, 언어, 네트워크 OS, 언어, 네트워크
💻

OS, 언어, 네트워크

한국인과 아랍인이 대화를 하려면, 아랍어를 통역하는 사람이나 아랍어 통역기가 필요하다.
이처럼, 인간의 언어로 된 컴퓨팅 언어(대부분이 영어) 로 컴퓨터와 소통하려면 컴파일러가 필요하다.
notion imagenotion image
그럼 컴파일러는 그걸 컴퓨터의 언어인 01010으로 바꾸어준다.
 
 
💡
프로그래머의 역할은? 컴퓨터에게 일을 시키기 위해서 매뉴얼 도큐먼트를 컴퓨팅 언어로 쓰는 것.
 

 
프로그래머되기 정말 어려운가?
  • 그거 영어를 다 암기해야하는가?
  • 그렇지 않다.그걸 알아서 다 짜주는 프로그램이있다.
 

IDE

notion imagenotion image
  • 앞 글자만 치면 다 써준다..
 
 
notion imagenotion image
프로그래머들이 신경쓰는 것들은 아래 3가지가 있다.
  • CPU : 컴퓨터의 머리. (중앙처리장치)
  • RAM 메모리 : CPU의 개인 책상 // CPU가 뭔가가 필요하면 RAM에서 가지고 온다. // 전원이 꺼지면 사라짐.
  • HDD 하드디스크// 컴퓨터의 창고 (기억장치) = 존나게 넓어
포토샵을 다운로드 받으면?
  • 처음에는 C 드라이브?에 저장된다.
  • 이걸 클릭하면? 그게 메모리에 올라온다.
  • 그런 다음에 실행된다. = CPU
  • 이러다가 컴터 전원이 꺼지면? CPU와 RAM에 있던거는 다 사라진다.
  • 그러기 전에, 저장을 누르면? 그걸 하드디스크에 넣는다.
사실 스마트폰도 하나의 컴퓨터이다. 이 세가지가 다 있다.
우리는 매일매일 카카오톡 같은 프로그램을 쓰는데.. 왜 이 과정을 잘 모를까?
굳이 안 중요해서? 노노 중요하다.
그렇다면 왜?
이걸 Operationg system이 다 해주기 떄문이다. 하드디스크에서 꺼내오고, 그걸 메모리에 올리고 등등등등 다 OS가 알아서 해주기 떄문이다.
 
notion imagenotion image
notion imagenotion image
notion imagenotion image
시장에는 Window, Mac OS, iOS, Android 이 4가지 OS가 dominat하다.
그러다보니 우리는 이 OS를 만드는 기업들에 엄청나게 종속되어 살아간다.
OS는 하드웨어 (태블릿, PC ,스마트폰)을 관리해주는 프로그램이다.
notion imagenotion image
 
 
 

네트워크

네트워크 라는 것은 컴퓨터와 컴퓨터 사이의 연결이다.
notion imagenotion image
내가 한강에서 앱스토어에 들어간 다음에 카카오톡을 설치한다면?
그게 기지국을 통해서 애플이 만들어놓은 컴퓨터로 송신되고,
카카오톡 설치파일을 가져다가 너의 폰으로 보내준다.
그럼 그걸 스마트폰의 하드디스크에 저장
내가 카카오톡 열기를 누르면,
하드디스크에서 꺼내서 메모리로 올린다음에 CPU가 실행시키는 것.
 
 
카카오톡에서 어떤 메세지를 보내거나, 사진을 보내면?
notion imagenotion image
notion imagenotion image
 
나의 스마트폰(컴퓨터) - 카카오의 컴퓨터 사이의 네트워크 연결.
나의 스마트폰에서 카카오의 컴퓨터로 요청을 보내는 것.
 
그런데 이렇게 전세계의 수많은 컴퓨터들이 카카오의 컴퓨터에게
파일을 달라고 할 것이다.
 
클라이언트 컴퓨터는 우리가 쓰는 노트북이자, 스마트폰이다.
유저들의 스마트폰들은 모두 수많은 클라이언트들이다.
서버는? 카카오의 컴퓨터이다.
 
클라이언트 : 달라고 하는 컴퓨터
서버 : 주는 컴퓨터
notion imagenotion image
 
notion imagenotion image
 
notion imagenotion image
 
 
수많은 유저들의 스마트폰들 (클라이언트들)에서는 수많은 요청을 보낸다. (메세지 요청 /사진 전송 등등)
—>그럼 카카오의 컴퓨터 즉, 서버는 이 수많은 요청들을 처리해야한다.
 
너무 힘들면 컴퓨터가 죽을 것임. CPU가 100퍼 넘으면 죽는다.
aka 서버가 터진다.
 
notion imagenotion image
 
 
💡
이제 뒤에서 설명할 내용의 프레임을 잡아야합니다.

프론트엔드 개발자 & 백엔드 개발자

앱 개발자 & 웹 개발자

클라이언트 개발자 & 서버 개발자

notion imagenotion image
 
 
notion imagenotion image
notion imagenotion image
 
notion imagenotion image
notion imagenotion image
notion imagenotion image
 
OS 업데이트와 데이터관련
OS가 계속 업그레이드된다. 버전이 계속 바뀐다.
 
notion imagenotion image
iOS는 그냥 숫자 : iOS1, iOS2, 등등
Android는 먹을 거 이름 : 컵케이크?, 오레오?
Mac OS는 지역 이름 : Sierra, high sierra,
 
Linux도 이렇게 여러가지 버전이 있다.
notion imagenotion image
  • Ubuntu: 가장 많이 쓰는 버전임.
  • Red hat : 기업용임.
  • Android : 구글이 리눅스를 개량해서 안드로이드를 만들었음.
 
Android 버전
 
notion imagenotion image
 
서버 프로그래머는?
이미 있는 OS를 깔아서, 그 위에 프로그램을 개발하는 사람들이다.
클라에서 요청이 들어오면, 그걸 받아서 처리해주는 코드들을 만든다. (로그인 요청, 회원가입 요청)
 
과거에는?
쇼핑몰을 운영한다?
  • 서버 컴퓨터를 자기가 직접 사서 집에 두고 돌린다.
  • 그럼 전기세 폭발.
  • 전원 빼면 쇼핑몰 먹통
  • 컴터 실수로 박살나면?다 쇼핑몰 먹통
그래서 서버 검색하면? 살 수 있음. ㅋㅋㅋㅋㅋ하하핳
이렇게.... 개인이 서버를 운영하는 건 너무 어려워요.
-> 개인이 운영하는 서버를 대신해서 그냥 서버를 운영해주는 업체가 생김
=호스팅 업체 cafe 24 같은 애들 (내가 원하는 만큼의 트래픽 같은거를 그냥 정하면 된다)
 
notion imagenotion image
AWS는 클라우드 호스팅 업체인데..
여기 리전이 있다. (미국 동부 / 서부 / 서울 등등)
여기서 말하는 지역이란? 아마존의 ‘컴퓨터 (서버)가 있는 위치’를 의미한다.
  • 근데 안 알랴줌.ㅋㅋ 테러 당하면 졸라 다 망하니깐?
이 중에서 EC2는? 레알 컴퓨터를 빌리는 것
  • 어떤 컴터를 빌릴지 선택하는데,
  • 아마존에서 Linux를 개량해서 Amazon Linux라는 OS를 만들었음.
대부분 리눅스를 쓴다. 왜냐면 꽁짜라서?
서버에 윈도우를 쓰는 건 낭비다.
notion imagenotion image
왜냐면 윈도우는 시각적인 이미지인.. Graphic이들어가 있는데
서버에서는 불필요 -> 그래서 굳이 유료인 윈도우를 쓰지 않음.
AMD : intel과 쌍벽을 이루는 CPU 만드는 사람.
네이버의 데이터센터임.
notion imagenotion image
이 안에 있는 수많은 컴퓨터들 -> 이것들이 다 서버임.
아마존의 EC2는 이 컴터들 중에서 하나를 빌리는 것임.
notion imagenotion image