코딩용어정리
with 스파르타코딩 「1시간만에 끝내는 직장인 코딩 용어 해설」
1. 컴퓨터와 인터넷 "https 보안 설정 됐어요?"
2. 웹서비스 동장 방식 "서버가 죽었네요"
3. 서버-클라이언트 통신 "저희가 API 열어드릴게요"
4. 개발 언어, 프레임워크 "요새는 리액트로 개발해요"
5. 아키텍쳐/DB "DB는 뭐 쓰세요?"
6. 협업 "git에 커밋했습니다"
1. 컴퓨터와 인터넷
🔸 운영체제 (OS) : 인간이 기계와 소통할 수 있게 만드는 기반 프로그램.
즉, 인간의 언어를 기계언어로 바꿔준다. 기계가 있으면 운영체제가 탑재되어 있다.
OS에 직접적으로 명령을 내리는 것이 "코딩" (예 : 한시간 후에 컴퓨터 꺼라)
=> 안드로이드, ios, 윈도우, 리눅스(오픈소스임=무료. 그래서 회사 서버는 주로 리눅스를 사용한다) ..등등..
🔸 인터넷 : 컴퓨터끼리 소통하는 것. 규칙이 존재하는데 그 중 하나가 웹통신 = http 와 https의 차이점은 https는 컴퓨터와 컴퓨터 사이에 암구호 표를 서로 가져서 가운데서 못 듣게 하는 것(=보안이 철저)
🔸 프로그래밍 언어: 코딩을 어떤 말로 하냐..어떤 말로든 명령만 내리기만 하면 됨.
🔸 프로그램 : 코딩을 미리 짜놓고 맨날 똑같이 움직이는 것. => 파워포인트, 엑셀, 게임...
즉, 코딩은 늘 프로그램을 만드는 것이어서 "프로그래밍"이라고도 한다.
2. 웹서비스 동장 방식
🔸 서버 : 가운데서 테이터를 저장하고 주는 것. 사람이 많아지면 힘들다. 그냥 컴퓨터 껍데기를 떽,
서버가 죽었다/터졌다는 컴퓨터가 갑자기 파란 화면으로 변한다던가, 무거운 엑셀 또는 게임을 돌리다가 컴퓨터가 멈추는 것. 누가 http 요청 하면 이 파일을 돌려줘 = 웹서버를 만들었다.
즉, 서버란 컴퓨터라는 사람의 직업과 같은 것이다. DB, 웹서핑...투잡 쓰리잡이고 가능
🔸 웹서비스 동작 원리 : 브라우저에서 이미 받아온 거라서 내가 고칠 수 있다.
🔸 브라우저의 역할: 브라우저가 컴퓨터에 가서 받아와서 그대로 그려주는 것. 즉, 요청 + 그려주기
1. html 뼈대, css 이쁘게, 자바스크립트의 동작
🔸 데이터는 아무렇게나 줄 수는 없으니, 줄때 규칙이 필요 = JSON방식(키 : 밸류)
웹은 다 받고, 어플은 데이터만 받는다.
데이터 갈아끼우는 방식은 콘서트 예약, 어플에서(카카오톡 눈 오는 것(눈이 안 온다? 껍데기가 없는 것).
3. 서버 - 클라이언트 통신
🔸 API : 서버에서 미리 만들어둔 기능이자, 클라이언트 개발하자고 미리 한 약속. 서버에는 창구가 존재하고 창구는 약속으로 존재. 약속을 기억할 수 없기 때문에 API명세서에 작성해둔다. // 창구이자 약속
🔸http://movie.naver.com / movie/bi/mi/basic.naver ? code=10016 (10016은 나홀로집에 영화번호. 아무숫자 넣으면 오류뜬다)
http://서버의 위치 / API주소 ? 가져가기로 한 데이터
🔸 API하나만 따주세요 = 새로운 기능 창구를 하나 만들어달라. 그 쪽으로 요청하겠다.
API 개발은 끝났고, 클라이언트는 아직이다 = 창구는 다 만들었는데, 요청하는 쪽은 아직 작업중이다.
🔸 Open API : 누구나 요청할 수 있게 열어 둔 API // 통상적으로는 아무나 요청할 수 없다(배민, 쿠팡, 카카오톡..)
🔸 서버가 창구를 만들고, 창구로 요청이 된다. 서버는 요청이 웹에서 오는지, 앱에서 오는지 상관없다.
4. 개발언어와 프레임워크
🔸 프로그래밍언어 : 미리 만들놓은 블록세트. 속성이 다를 뿐, 상황을 고려해 선택해서 사용
JAVA 로 만든 프레임워크 : Spring
Node.js로 만든 프레임워크 : Express
Python으로 만든 프레임워크 : Django, Flask
엄청 많고 대체적으로 유명한 것을 사용
🔸 눈에 보이는 부분 // 서버에서 요청하면 HTML, CSS, Javascript를 가져다준다. 가지고 오는 부분을 만들어두는 것.
= 웹 프론트엔드
HTML, CSS, Javascript를 더 잘 쓸 수 있게 하는 프레임워크 👉 앵귤러, 뷰, 리액트 (체감상 리액트가 대세. 그런데 셋 중 하나 할 줄 알면 금방 배운다는 이야기)
🔸 서버언어 👉 Java, python, Node.js를 주로 사용
Java : 어렵다. 지켜야하는 형식이 많음. 큰 회사에서 많이 사용 = 실수를 미연에 방지하기 위해서
python : 쉽게 입문(입문자 多). 문법이 직관적. 자유롭고 데이터분석에도 사용
Node.js : Javascript와 문법이 거의 비슷. 스타트업에서 사용. 백엔+프엔 언어가 같으면 좋으니까
🔸 그 외 앱을 만들 때는 👉 Kotlin(안드로이드 앱을 만들 때), Swift(아이폰 앱 만들 때), Flutter or React Native(한번에 개발)
🔸 C언어는 현업보다는 임베디드, 칩같은 거 다루는 곳에서 사용(스타트업은 잘 없음)
🔸 데이터 분석 👉 SQL, python
5. 아키텍쳐와 DB
🔸 서버 : 서버와 클라이언트 구성. 유저가 많아지면 데이터 저장소를 따로 뺀다. 데이터는 한곳에서 관리되는 게 좋아서 웹서버를 늘린다. 웹서버가 늘어나면 트래픽을 관리하는 라우터가 필요하고, 더 커지면 DB를 더 상세하게 나눈다. 그러면 클라우드 서비스를 이용한다.
🔸 데이터베이스(DB) : 잘 찾기 위해서 정리해두는 것.
원하는 대로 미리미리 정렬해서 정리해두는 게 데이터베이스를 잘 사용하는 방법!
🔸 인덱스(Index) : 정리된 항목.
인덱스가 잘못하면 쭉 보는 걸 "풀 스캔 떴다"라고 한다. = 큰일 남
🔸 DB종류는 2가지 SQL vs NoSQL
SQL : 정형화된 것. 대기업에서 사용 (실수하면 안됨)
NoSQL(Not only SQL) : 비정형화된 것. 데이터를 그냥 적재한 상태. 스타트업에서 사용하는 방법 (비즈니스가 어떻게 바뀔지 몰라, 대응하기 위해서)
데이터분석 하기 위해서 SQL을 배운다 = SQL DB에서 데이터를 빼내는 방법을 배운다.
SQL은 굉장히 쉽고, 문법이 몇 개 없어서 배워두면 좋음.
6. 협업(git)
🔸 개발자 각자의 git에 작업을 하고, github에 코드를 올려두고 모으는 것
🔸 commit : 세이브포인트 // push : 업로드 // pull : 다운로드(+자동 / 수동 충돌 해결)
🔸 또는 branch : 따기 // merge : 합치기
'archive_' 카테고리의 다른 글
[archive] 반응형 만들 때 (0) | 2022.10.31 |
---|---|
[archive] slick 깜빡거리는 거 제거하는 법 (0) | 2022.10.28 |
[archive] 자바스크립트 class 참고하기 좋은 사이트 (0) | 2022.09.20 |
[archive] 파비콘 넣기 (0) | 2022.09.20 |
[archive] 깃허브에서 다운받아서 작업한 거 다시 연결하기 (1) | 2022.09.20 |