일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- function
- javascropt
- 스파르타코딩클럽
- MySQL
- classList
- padStart
- LEFTJOIN
- appendChild
- dateobject
- Login
- classname
- Database
- JavaScript#조건문#conditional
- JavaScript
- java기초
- 올바른괄호
- JOIN
- 백준3052번
- SQL
- 스택큐
- gethours
- localstorage
- getMinutes
- sanitize-html
- 웹개발종합반
- 자바스크립트
- 시간보여주기
- 프로그래머스
- padEnd
- node.js
- Today
- Total
just do it
필수코딩용어 본문
1. 컴퓨터와 인터넷
컴퓨터=기계를 모아둔것
구성 ; CPU(IQ같은것, 계산하기), RAM(기억), 하드디스크(적어두기), 메인보드(이모든것 꽂아두기)
이 컴퓨터를 조작하는것? OS(운영체제)=기계와 사람 소통하게함
리눅스=오픈소스
OS에 명령내리는게=코딩=프로그램을 만드는 것=프로그래밍
어떤말로할거냐=프로그래밍언어=뭘써도 상관 놉
이걸미리짜둬서 매번 똑같이 움직이는게=프로그램(엑셀 등)
컴퓨터끼리 대화주고받고싶으면?=인터넷사용
대화에 규칙이 필요한데? 규칙중하나가 웹=http (이름 먼저말하고 무슨 프로그램찾는지 말해 등등) 여러다른방식도 있음
http:// = 지금부터 웹통신할거야 란 의미
보안 강화해서 암호화해서 아무나 못알아듣게 하는게=https
인터넷세상에서 웹통신 잘듣고있다가 http요청하면 이 파일 돌려줘 = 웹서버를 만들었다
웹통신=웹http규칙대로 통신하는것
요약
OS는 기계를 다루게할수있게 해주는 기반
코딩=프로그램 만드는 것=프로그래밍
프로그램=이미짜여진코드로 동작하는것
웹통신=인터넷세상에서 웹http 규칙대로 통신
웹서버=인터넷바다에서 잘듣고 있다가 웹통신 오면 대답해주는
2. 웹서비스의 동작방식
서버가 터졌네? 접속자 몰리면..
서버의 역할=가운데서 데이터 저장하고 주는것(요청하는 사람이 많아지면 힘들어)
사람들이 같이 쓰는 서비스만들려 할때 중간에서 데이터 관리해줘야 해, 그래야 일관성있게 나가
서버가 뭐야? 그냥컴퓨터 껍데기떼고 가로로 눕힌것, 컴퓨터의 일종의 직업, DB,웹서핑 등 N잡가능
네이버해킹으로 알아보는 웹서비스 동작원리
브라우저 역할= 요청보내고 받아서 그대로 그려주는거, 새로고침하면 다시받아서 그림
HTML=뼈대, CSS=꾸미기, javascript=움직임
그런데 저 3개 맨날 줘야대? 실시간으로 예약할때 새로고침하면 불편하고 데이터만 갈아끼면 되잖아?
데이터만 내려주는것도 가능함, 그치만 규칙 필요=JASON(키 : 밸류)라고 함
JASON은 앱에서 많이써, 껍데기 갖고있다가 데이터 받아 붙여줌
그렇기 때문에 앱 업데이트 필요함(껍데기갈아끼김)
웹에서는 다시 다받아와
요약
서버=가운데서 역할
브라우저=요청+그려주기
웹은 다받고 앱은 데이터만받음
3. 서버-클라이언트통신
서버끼리통신은? 서버가 무슨 규칙으로 통신해? 서버의 출입문은?
은행을 서버라 한다면 고객은 클라이언트(요청하는 쪽)
잔고를 확인하고싶으면? 번호표 뽑고 입출금 창구에서 민증 보여줘야함=은행과 우리와의 규칙이 있음
은행과 미리 약속해둔곳(예금창구)에 약속해둔 데이터(신분증) 들고가야 잔고를 알려줘(응답)
웹서버에도 창구들이 존재해
A창구=아이디 가져와 주문내역 알려줄게
B창구=주문번호가져와 배송상황 알려줄게 등 창구가 짜여져 있음 ; 이걸 API라 함
서버에서 미리 만들어둔 기능, 클라이언트와의 약속, 클라이언트와 서버개발자와의 미리 한 약속
음식점 리스트 부르실때는 B로 요청 주시고요 주소 꼭 가져와 주세요 그럼 이렇게 줄게요 등
넘 많으니까 문서로 적어둠=API명세서
API어떻게 생겼냐?
http://삼성증권/입출금창구 ? 신분증=주민번호
서버위치/api주소 / 가져가기로 한 데이터
https://movie.naver.com/ movie/bi/mi/basic.naver?code=10016
https://서버위치/api주소?가져가기로 한 데이터(10016은 나홀로집에 영화번호)
api하나 따주세요 = 새로운 기능 창구 하나 만들어줘
api개발 끝났고 클라이언트는 아직이에요
창구 다 만들엇고 요청만 하면 되
open API = 누구나 요청할수있게 열어둔 API
누구나 요청할수있으면 클라이언트 만들고 배민만들고 쿠팡만들어, 배민앱에서만 요청할수있게 보안처리 돼있음
클라리언트=브라우저, 폰, 가전 등 요청주는쪽
받을때 창구필요하다= API
잘받게 대기타는게=웹서버
요약
API란 창구이자 약속
평소에 보는 URL처럼 생김
웹, 앱 이던 서버입장에선 누가 요청오는지 상관없음, 나는 창구만 만들어 놓을 뿐
4. 개발언어, 프레임워크
서버 이걸 어떻게 다만들어?
통상 제로부터 서버를 만드는 사람은 없음
프레임워크=미리 만들어 놓은 블록세트
언어마다 서버를 만들수있는 유명한 블록세트 정해져있음
Java는 spring
python는 Django 등
언어별 용처와 특징
웹
HTML, CSS, JS 가지고 있다가 브라우저로부터 요청이 들어오면 줘=프론트엔드언어
잘쓰기위해 이것도 프레임워크 존재
JS기반 프레임워크=앵큘러(Angular), 뷰(Vue.js), 리엑트(React.js)
서버
Java ; 어렵고, 형식 많고, 큰회사에서 많이씀, 안정적이고 에러대응 좋음(Spring)
phython ; 쉽게 입문, 자유로운, 데이터분석(Django, Flask)
node.js ; 자바스크립 서버버전으로 만듦, 문법같음(Express)
c++ 등등
앱
안드로이드=Kotlin
아이폰=Swift
둘다=Flutter, React Native
요약
언어에는 좋고 나쁨없고 특성만 있다. 상황을 고려해 선택하자. 안되는 기능은 없다.
프레임워크로 만든다. 프레임워크 잘 사용하는게 중요하다.
5. 아키텍쳐/DB
서버안에는 엄청 많은 역할이 존재
스타트업 초창기엔
클라이언트-웹서버, 둘뿐
커지면
클라이언트-웹서버-DB
더커지면
클라이언트-라우터(교통순경)-웹서버1,2,3-DB
더커지면
클라이언트-라우터(교통순경)-웹서버1,2,3-이미지용, 텍스트용DB
더커지면
클라이언트-라우터(교통순경)-웹서버1,2,3-이미지용, 텍스트용DB-상태체크용서버-팀메신저, 전화, 상황판
등등 점점 복잡해져
이 컴퓨터 다 살수 없으니 인터넷환경에서 클라우드환경에서 컴퓨터 사=아마존 웹서비스(시간재, 트레픽재 돈냄)
데이터베이스
데이터 잘 찾게 해주는 프로그램
경영섹션>출판사>책제목 별 정리 되어있을때, 한국출판사 책 주세요VS사랑이 들어간 제목 책 주세요 전자가 편함
=인덱스를 탄다
인덱스안타=풀스캐닝을 한다
NO인덱스=책장책 목록 다살펴봐, 비효율적
데이터베이스 종류
SQL=정형화 됨, 표먼저그리고 데이터 넣음, 이미 성장한기업에서 관리하기 편함(ORACLE, MySQL 대표적)
NO SQL=JSON 형식으로 막 쌓음, 초기스타트업에서 사용(mongo DB 대표적)
데이터분석위해 SQL배운다= SQL DB에서 데이터 꺼내오는 언어를(방법을) 배운다
요약
아키텍처는 매우 복잡하다, 요새는 클라우드에서 컴퓨터 빌려다 구성한다
DB는 SQL, NO SQL 두종류, 인덱스(정렬된 순서) 태워야 빨리 찾는다
6. 협업
개발자가 협업하는 방법은 뭐?
부분을 나눠서 작업하고 합칠 수 있는게 필요 = git 사용
git을 개발자 컴퓨터에 깔고, 코드를 모아서 관리할 컴퓨터 빌려주는게 github
github에서 코드보관해서 합치게 되어있음
git 동작원리?
commit ; 세이브 포인트, 작업하다가 업로드 하고싶은 거 만듦
push ; 업로드 함
pull ; 남이 업로드 한거 받아옴
pull 할때 내가 작업하는 것과 충돌되면 어떡함? git이 먼저 알아서 해결, 유저에게 뭐가 맞냐 물어봐주기도
브랜치 따기도 가능=하던 작업 도중에 다른작업 하고 합치기 가능
요약
협업할때 git을 쓴다
github는 코드 공통관리할수있는 git이 깔려진 컴퓨터 빌려주는곳
git에는 커밋, 푸시, 풀이 있다.
'언어&프레임워크' 카테고리의 다른 글
[웹개발종합반] fetch 연습하기 (0) | 2023.02.06 |
---|---|
웹개발종합반(자바스크립트, 제이쿼리, forEach, append) (1) | 2023.01.29 |
웹개발종합반(영화모아놓은 웹페이지만들기, 부트스트랩 카드) (0) | 2023.01.28 |
숫자와연산/문자열(쉽게 배우는 자바1, 생활코딩) (0) | 2022.06.30 |
데이터입력방식(쉽게배우는자바1,생활코딩) (0) | 2022.06.29 |