1 교시 git branch
git add .
git commit
git branch
git checkout
git rebase
head
git game 복습
learngitbranching.js.org/?locale=ko
2교시 git branch
head = cursor 와 비슷. *이 있는 곳을 바라보고 있다.
맨 마지막을 가리킴.
HEAD 가 진짜 원 주인 HEAD 중심
절대경로 - 처음부터 주소를 적어 정확한 파일위치를 작성하는 방법
ex) C:\/document/....
상대경로 - 내가 있는 곳을 중점으로
checkout 말고도 branch 명령어로도 HEAD를 옮길 수 있음
git branch -f main HEAD~3 -> branch 자체가 움직임 (branch 자체 내용을 옮기고 싶을 때)
git branch -f bugFix c0
- 상대참조 답
* git branch -f bugFix c0
* git checkout HEAD^
* git branch -f main c6
* git reset HEAD~1 (history를 고쳐쓰는 점 때문에 다른 사람이 작업하는 리모트 브랜치에는 쓸 수 없음)
* git revert HEAD (다른 사람들과 공유하기 위해서는 git revert)
* git cherry-pick 원하는 commit 들을 요리조리 모아서 복사해서 떨굼
원하는 commit이 뭔지 모를 때?
*interactive rebase
* git rebase -i 바꿀 commit을 가장 최근 순서로1 교시 git branch
3교시 git branch / git 다운로드/node.js 다운로드
node.js 깔고 window에 cmd 검색
node - v 입력
버젼 나오면 잘 설치된 것
4교시 node.js 찍먹 드디어...
Node.js 란?
Node.js는 확장성 있는 네트워크 애플리케이션 개발에 사용되는 소프트웨어 플랫폼이다. 작성 언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다.
Node.js - 브라우저에서 작동하는JS 터미널, 프롬프트에서 실행 가능토록 만들어주는 프로그램이다.
사용 목적 - 일반 프로그래밍 언어로 만들 수 있는 것들을 대부분 만들 수 있다.
우리의 첫 번재 목표 - web Server를 구축하는 것.
npm이란? - Node js를 설치하면 npm - Node Package Manager 가 자동적으로 설치되고
이것은 간단한 명령어로 다른 개발자가 만든 프로그램을 쉽게 설치할 수 있다.
ex) react vue 등.
아직 뭐가 뭔지 모르겟 ㄷ ㅏ ~
node.js 잘 깔렸는지 확인하는 방법
node.js 다운 및 설치 후 window에 cmd 검색 node - v 입력
버젼 나오면 잘 설치된 것 |
node.js 다운하면 자동으로 깔리는 NPM 확인 방법 npm install [] 을 쳐보면됨. npm npm -v (안되어있으면 환경 변경 뭐가 안되어있대)
|
cmd에서 다시 C:\Users\KGA_10> 요기로 넘어오고 싶을 땐 Ctrl + C |
window 창 - cmd 들어가
node 입력
console.log("hello world") 입력
JS 가 콘솔에서도 작동이 된다 (?)
JS가 cmd에서 왜 돌아가는지
JS의 HISTORY..
원래 js는 html 종속 언어였음 어떤 개발자가 JS 로 백앤드로 구현할 수 있는 게 node.js 이다....
서버 뿐만 아니라 프로그램으로 할 수 있는 것들을 JS로 구현이 가능 하다.
크롬 기반. node.js로 만들 수 있는게 무궁무진하다.
ex) visual studio code 도 html, node.js 기반으로 만든 거래 (desk top app)
장점 : 서버 구현이 쉽다. (java, python 등 보다 쉽다. )
Server, 서버의 개념
요청하면 -> 요청을 들어주는 기계 (server 이다.)
Client 요청하는 사람이 요청(request) 를 보냄
(웹페이지에서 client - browser, 롤 경우는 ? 못들음, 영화표라면 영화표 예매하는게 client, )
Server 응답하는 것 요청값(response)을 주는 것
브라우저에서 naver 주소값 치면
ip 가 그 컴퓨터의 주소
reQ -> res (www.naver.com)
reQ <- res (html, css, js 을 사용해 www.naver.com 으로 가지도록 만들기 )
서버개발자 - 요청한 사람한테 어떤 웹페이지를 줘라 ~ 를 만드는 사람.
PIP -> Python
NPM -> NodeJS
NPM 이 패키지 매니져구나~
내가 패키지매니져를 만들 수 있을 때 자세히 배우면 됨
Nodejs 를 설치하면 자동적으로npm 패키지 매니저 설치됩니다.
npm install [] 을 쳐보면됨.
npm : usage 쭉 나옴
npm -v : npm 버젼 출력
(안되어있으면 환경 변경 뭐가 안되어있대)
html 조작은 js 가 유일무이 (다른 언어는 불가능)
python 의 거의 모든 기능은 가능하다. js로
궁금증.
python을 공부하는게 좋을지 C 아니면 Java를 공부해야하는지 ? ? ?
구글 대답 : Python is the leading language for machine learning and data analysis, and C++ is the best option for game development and large systems
===============점심시간 ============제육볶끔 먹고 옴===============
5교시 node.js 장점 설명 및 간단한 서버 만들어 보기
node.js 의 장점
1. non-blocking 방식
2. 이벤트 처리
식당 비유
blocking 방식 (?)
요리사 = server서버 (1 처리 다 하고 1 주고, 2 처리 하고 2 주고..이렇게 하나하나 one by one )
직원 = 요청 받고 전달해 주는 사람
손님 = 요리 주문 (1,2,3,4번 메뉴 주문)
non-blocking 방식
손님 = 요리 주문 (1,2,3,4,5번 메뉴 주문)
요리사 = server 서버, 음식 제공함. (주문을 한 번에 받아서 만들고 끝나는 순서대로 줌)
즉, 동시에 실행이 가능
ex) sns , 채팅 프로그램,
Node. js is a platform built on Chrome's JavaScript runtime for easily building fast and scalable network applications. Node. js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
교수님의 github repository 에 protocal ? 이랑 요 server 만드는 거 있음 protoType임
get 가져오기 , 읽기 (읽을 때) - 눈에 보이는 data
url 주소 직관적으로 data 를 넣는 것 get 요청
post 쓰기 - 눈에 안보이는 data
login, 회원가입 할 때 사용.
put 수정하기
delete 삭제하기
NPM
->
1. terminal 에 ls 입력
-> 내가 해당 파일 안에 잘 들어와 있는지 확인
2. npm init 입력
- entry point : (server.js) 에 server.js 만 적고 나머지 다 엔터 ㄱ ㄱ
init 하면 파일이 생김 (package.json)
위의 기본 세팅 값은 수정 가능 (아까 엔터엔터한거)
3. express 설치 하기 - 명령어 : npm install express 터미널에 입력
-> 딸려 나온 저 많은 파일들은 express 랑 관련 있는 것들.. 세트 .같은거래
package-lock.json , node_modules 새로운 파일1개 폴더 1개가 생김
그 폴더 안에 express 있는지 확인
아까 2번에서 생긴 package.json 에 새로운 내용이 추가됨.
"dependencies": {
"express": "^4.17.1"
}
요부분.
4. 터미널에 node server.js 입력
(무엇을 입력해야하는 지는 package.json 에 start 에 친절히 나와 있음. )
따라는 하고 있는데 뭐하는 건지 잘 모르겟다.. 서버 만드는 중인가
5. Ctrl + C 입력 -> 다시 터미널로 돌아오기. (끄기)
방향키 위쪽 누르면 -> 과거 썼던 게 쭉 나옴 (그 전에 썼던 명령어 나오기)
node server.js 하고 엔터까지 눌러야
브라우저 주소창에 localhost:3000 치면 hello 가 나옴.
const express = require('express'); //express를 생성한다. 라이브러리로 package로 다운받음 (package- 폴더) 사용하는걸 express 변수에 담음
const app = express(); // method 를 씀 // app에 express 객체를 담음.
const port = 3000;
//1)
app.get('/', (요청,응답)=>{ //naver.com (자기자신)
응답.send('hello'); //url이 있으면 실행시켜라
});
// express 객체 안에서 get 이라는 것을 호출
/*
app = express 에 대한 객체
app.get() -> url에 대한 event를 말함.
app.get() 어떻게 실행 되는가?
2가지 매개변수가 있음.
첫 번째 매개변수 1. 경로 '/' 이 뜻은 localhost:3000 을 뜻함.
두 번째 매개변수 2. 콜백함수 (이 이벤트가 실행되었을 때 실행되는 함수 = 콜백함수)
익명으로 처리함 (요청, 응답)=>{}
콜백 함수에는 2가지 인자값 (요청, 응답) 이 존재
요청 이란?
()
응답 이란? 요청받은 내용을 토대로 응답을 해주는 기계
(요리사는 고객에게 요청받아 요리 만들어 내주는 사람)
localhost:3000을 치면 무엇을 줄거냐 ! 을 ?
응답해줌. 보냄('hello');
응답.send('hello');
*/
app.get('/hello', (요청,응답)=>{ //naver.com/hello
응답.send('hello2');
});
//너가 localhost 다음 hello를 치면 저 코드를 실행해라. (이벤트 형식 서버)
//2)
app.listen(port,()=>{ //listen - port를 실행시켜 . 익명함수 // express가 3000번으로 실행되었을 때 아래 코드를 실행해라
console.log(`server is listening at localhost ${port}`);
});
/*
app.listen (); // app객체에서 listen()를 추출. 그리고 listen 매서드에는 2가지
매개변수 (인자값)이 들어감.
app.listen(port,);1. 첫 번째 인자값 : port -> port에 대해 알려면 network 구조에 대해 알아야함.
컴퓨터는 5만애 정도의 구멍이 있음 5만번까지 포트가 존재함. 어떤 포트가 사용중이면 다른 통로를 사용하지 못함.
만약 인터넷 사용하는 zoom (어떤 특정 port 번호를 사용 중인) 이 쓰고 있는 포트 넘버가 3000이다.
내 컴터에 접속할 수 있는 유일한 문.
저희 코드도 3000 이라고 가정.
port - 인터넷을 연결하는 통로.
한 번 들어왔따 나가면 다시 사용 못함(?)
port 없이 인터넷 실행시킬 수 없음. 무조건 필요 항상port를 틀어놔야함.
우리는 그 중에 3000번을 사용한 것
무슨 말이지
2. 두 번째 인자값 : 실행되었을 때 콜백함수
*/
/*
1) (요청에 대한) <처리> 내 서버에 오면 hello 를 보낼 거야
2) 는 요리사를 (server) 만드는 코드블록
라이브러리를 따로 만들어야 함.
npm 로 express를 다우받고 싶어 함.
express 다운 받는 법
npm install express
터미널 이요
1순위 npm 을 사용할 수 있게 만든 다음 (npm init)
2순위 npm을 통해 express 설치합니다.
결론
1. 터미널 키기
2. server.js가 있는 폴더 안에서 npm init 입력
*/
'블록체인 기반 핀테크 및 응용 SW개발자 양성과정 일기' 카테고리의 다른 글
[27일차 zoom 수업] 20210420 node.js html 연결하기 / nunjacks / body-parser 설치 / post & get (0) | 2021.04.20 |
---|---|
[26일차 연습] node.js 란? 노드제이에스를 사용해 간단한 server 서버 구축해보기 node.js 다운로드 방법 node.js 장점 및 특징 (0) | 2021.04.20 |
console.log에 달력 출력하기 (0) | 2021.04.19 |
[24일차 zoom수업] 20210415 배열 Array 달력 만들기 (0) | 2021.04.15 |
[23일차] 20210414 배열 Array 기본 이중배열 (0) | 2021.04.14 |