전체 글 (152) 썸네일형 리스트형 3. git the requested URL returned error:403 원인 이러한 에러는 소스코드를 push 할 때 발생하는데, 깃헙에 해당 주소에 대한 권한이 없기 때문에 403을 return 하는 것. 해결 방법 1. git remote set-url origin https://@github.com//.git 을 vscode에 입력해준다. * 위에 https:~~ 는 쉽게 보면 웹을 통해 확인할 수 있는 본인이 만들고자 하는 브런치의 주소입니다. 제일 처음 git remote add origin 를 통해 origin 명칭을 만들었지만 해당 주소에 대한 권한이 없기 때문에 push가 되지 않았던 것이다. 2. set-url 작성 후 git push -u origin master를 입력한다. 인증이 끝난 후부터는 git push만 하면 기존의 세팅한 주소로 바로 푸쉬가 된.. 19. [NPM] dependencies vs. devDependencies depencies? package.json이라는 파일안에 들어가면, dependencies에 우리가 npm i라는 명령어를 통해서 설치된 라이브러리들이 들어가 있는 것을 볼 수 있다. dependencies는 우리가 어플리케이션을 배포할 때, 사용할 라이브러리들이 담겨있는 곳이다. 즉, 어플의 로직구현과 관련이 있고, 화면의 동작을 도와주는 라이브러리들이 저장되는 곳이다. devDependenies? 우리 어플가 어플을 개발할 때, 보조해주는 라이브러리들이 저장된다. 예를 들어 웹팩이라던가, js-compression이라던가, 번들 분석기라던가. 이렇게 어플의 로직과는 직접적인 연관이 없는 라이브러리들이 설치된다. devDependencies에 설치를 하려고 할 때는 npm i somethis -D를 붙.. 1. /* VS. /** 웹 프로젝트 작성 시 url-mapping하는 과정에서 실수를 하는 경우가 종종 일어난다. 그 중 가장 많이 혼동하는 경우가 /*과 /**의 사용이다. /* : 경로의 바로 하위에 있는 모든 경로 매핑. ex) AAA/* : AAA/BBB, AAA/CCC 해당, AAA/BBB/CCC 해당하지 않음 /** : 경로의 모든 하위 경로(디렉토리) 매핑 ex) AAA/** : AAA/BBB, AAA/CCC, AAA/BBB/CCC, AAA/BBB/CCC/.../.../... 전부 해당 추가적으로 *.extension(확장자)는 경로에 위치하는 디렉토리 내부에 존재하는 해당 확장자를 가지는 모든 파일을 매핑한다. 18. HTTP transaction 서버 생성 const http = require('http'); const server = http.createServer((req, res) => { //서버를 생성 }); HTTP 요청이 서버에 들어오면 node가 transaction을 다루려고, reqest와 response 객체를 전달하며 요청 헨들러 함수를 호출한다 요청을 처리하려면 listen 메서드가 server 객체에서 호출 되어야한다. 대부분 서버가 사용하고 있는 포트 번호를 listen에 전달하면 된다. Method, URL, Header 요청을 처리할 때, 우선 메서드와 URL을 확인한 후 이와 관련된 적절한 작업을 실행한다. Body 스트림에 이벤트 리스너를 등록하거나 다른 스트림에 파이프로 연결할 수 있다. 스트림의 'data'와.. 17. chunk, buffer , stream Buffer & Stream fs.readFile에서 data.toString()을 거치지 않고 data만 출력하면 와 같이 Buffer가 출력된다. 데이터를 조각(청크, chunk)내어 buffer에 채운 후 다 차면 buffer를 통째로 옮기고 새 buffer에 아직 옮기지 못한 데이터 조각을 다시 채운다. 데이터 조각을 buffer에 채우는 일을 버퍼링(buffering)이라고 부른다. 영상이 버퍼링 중이라며 재생되지 않는 경우를 종종 경험했을텐데 buffer에 데이터를 채울 때까지 기다리는 버퍼링 작업을 말하는 것이다. 한편 buffer가 다 차면 이를 전송하고 다시 buffer를 채우는 버퍼링 작업을 연속하는 것이 스트림(stream)이다. 단발성 single buffer도 존재하지만 지속적으로.. 16. Stream Stream stream 은 노드에서 스트리밍 데이터를 이용하기 위한 추상 인터페이스이다. Types of Stream Writable : 데이터를 쓸 수 있는 스트림 ex) fs.createWriteStream() Readable : 데이터를 읽을 수 있는 스트림 ex) fs.createReadStream() Duplex : 읽고 쓸 수 있는 스트림 ex) net.Socket Transform : 데이터를 읽고 쓸 때 데이터를 수정하거나 변환할 수 있는 스트림 ex) zlib.createDeflate() Buffering Writable, Readable 스트림 모두 내부 버퍼에 데이터를 저장합니다. 내부 버퍼는 writable.writableBuffer, readable.readableBuffer을 .. 12. 클래스(Class) - 2 instance vs. static instance vs. static 인스턴스 필드 (instance field) : 객체 별로 "따로" 보관되는 데이터 스태틱 필드 (static field) : 모든 객체가 "공유" 하는 데이터 class Point: def __init__(self, x = 0, y = 0): self.x = x; self.y = y; ex1 = Point(1,2) ex2 = Point(3,4) 인스턴스 필드 x,y 를 가진 Point 클래스 객체를 두 개 생성했다. 각 객체의 필드들은 객체의 __dict__ 어트리트뷰트에 저장된다. 스태틱 필드들은 모든 객체들의 타입을 관리하는 "타입 객체" 에 저장된다. 스태틱 필드의 문법 class Point: count = 0 def __init__(self, x = 0, y .. 11. 클래스 (Class) - 1 클래스 객체 생성 class ClassName : pass c = ClassName() " 객체 = 클래스 이름 " 클래스의 생성자와 소멸자 class One : def __init__(self) : print('constructor') def __del__(self) : print('destructor') ex1 = One() class Two : def __init__(self, a, b, c) : print(f'constructor({a},{b},{c})') def __del__(self) : print('destructor') ex2 = Two(1,2,3) 생성자(constructor) : 클래스 객체가 생성 될 때 호출된다. 생성자는 __init__ 이라는 미리 지정된 이름을 사용해야 하며 첫 .. 이전 1 ··· 7 8 9 10 11 12 13 ··· 19 다음