개발자 언어(스파르타 코딩클럽)
본질을 좀 알기위해 기본을 탄탄하게 하자는 마인드로 강의를 듣게 되었다. 전공공부 했을 때 배웠던 내용들도 생각나고 재미있게 들으면서 강의를 좀 정리해보려고 한다
컴퓨터란 무엇인가?
-컴퓨터는 기계의 집합이다 (메인보드 : 꽂아서 한번에 관리하는 것 , CPU : 계산하기, RAM : 기억하기, 하드디스크:적어두기)
어떤식으로 컴퓨터를 우리가 조작할까?
-운영체제(윈도우, 안드로이드, 리눅스(무료이다! 컴퓨터 여러대, 서버 여러개 등이 필요할 땐 보통 리눅스를 쓴다고 한다), ios)를 기반 프로그램이다
이 OS들에게 명령을 내리는 것을 코딩이라고 한다~
프로그래밍 언어?
-영어로 할거냐 이탈리아어로 할거냐의 차이 즉, 어떤 말로든 명령만 내리면 됨
컴퓨터들 끼리 대화를 주고받기 위해선 인터넷이 필요하다 -> 웹(http) 규칙이 만들어졌다
Http : 웹으로 통신하겠다는 의미
Https : 보완을 강화시켰다
-브라우저의 역할 : 서버(html,css,js 등)에서 요청을 보내면 그대로 그려주기만 함
통신할 때 데이터를 받아올 때 제이슨방식을 쓴다 {json} 하며 키:밸류 라고 한다
Ex) {PM:10,
S02:0.004}
-서버: 가운데서 데이터를 주거니 받거니 하는 역할
- Json은 앱에서 많이 사용한다 : 데이터만 받아서 껍데기에 붙혀주는 형식(ex. 카톡앱에 눈 오게 하는 효과를
기상청 서버에 요청을 하고 눈이 오면 눈이 내리게하자 ! 하지만 업데이트를 안해서 눈 껍데기가 없으면 눈 내리는 효과를 볼 수 없다)
--> 즉 웹은 다 받아오지만(html,css,js 등 의 껍데기) 앱은 데이터만 주로 받아온다(앱은 이미 껍데기 가지고 있음)
-서버 어떻게 통신 할까?
-API : 창구이자 약속!
Ex)http://우리은행용산지점(서버위치)/입출금창구(API 주소)?신분증=주민등록번호(가져가기로한데이터)
"Api 따주세요 ~!" -> 창구하나 더 만들어 달라는 것
-오픈API : 누구나 요청할 수 있게 열어 둔 API (통상적으로는 누구나 부르게 못하게 함 = 누구나 부르면 배민카피...,쿠팡카피...)
-프레임워크? : 미리 만들어 둔 블록 셋트 서버를 하나부터 만든다는 것은 굉장히 어려운 일임 그래서 생긴것이 프레임워크
Ex) Java로 만든 프레임 워크 -> spring
Python 으로 만든 프레임 워크 -> django, plask
Javascript -> 뷰 , 앵귤러, 리액트(요즘 대세) 등 : html,css,js를 더 잘쓰게 하는 프레임워크들
- 자바와 자바스크립트의 차이는?
-> 인도와 인도네시아 차이라고 생각하면됨
-데이터베이스
Sql vs nosql(not only sql)
Sql : 좀 더 정형화 되어있음(표 느낌) ->oracle, mysql, sqlite,sql server...
Nosql : json (그냥 쌓을 수 있음) -> redis, mongo DB, cassandra, apach hbase...
"데이터분석 하기 위해 SQL을 배운다 = SQL DB에서 데이터를 빼내는 방법을 배운다"
아키텍쳐는 매우 복잡하다 다 알수가 없고 요새는 클라우드에서 컴퓨터를 빌려서 아키텍처를 구성한다!
Index를 태워야 db가 빨리 찾는다 ! -> 그 index란 정렬된 순서를 말한다