본문 바로가기

JOURNAL/TIL

(5)
210317 오늘 배운 내용 서버-클라이언트 구조 HTTP API Ajax Fetch API 클라이언트-서버 : 서비스 요청자인 클라이언트와, 리소스 제공자인 서버간의 작업을 분리시켜 주는 분산 애플리케이션 구조이자 네트워크 아키텍처. 클라이언트 : 네트워크를 이용해 서버 시스템에 연결된 사용자 측. 서버에서 받아온 데이터를 화면에 나타내고 사용자의 요청을 서버로 전달한다. 대표적으로 웹 브라우저가 해당한다. 서버 : 데이터를 저장 및 관리, 처리할 수 있다. 클라이언트와 서버는 1:N의 구조를 가질 수 있으며, 일반적으로 서버는 다수의 클라이언트를 상대하게 되기 때문에 큰 용량을 가진다. 데이터베이스 : 위에서 서버에 데이터를 저장할 수 있다고 언급했지만, 서버는 주로 리소스를 전달해 주는 역할만 하고, 일반적으로..
210225 오늘 배운 내용들 객체 리뷰 객체 지향 자바스크립트 this 키워드 apply, call , bind 객체 지향 프로그래밍 jjy0821.tistory.com/14 실행에 따른 this의 바인딩 패턴 케이스 this의 값 메소드 호출 실행 시점에서 부모인 객체 new 키워드를 이용한 생성자 호출 새롭게 생성된 인스턴스 객체 call 또는 apply 등에 의한 호출 첫 번째 인자로 전달된 객체 화살표 함수는 this의 값에 대해 결정하지 않기 떄문에 함께 사용하지 않는다. Node에서 this는 무엇일까? node에서는 this가 module.exports에 해당한다. module.exports = exports = this 라고 생각하자. call, apply, bind 매개변수 함수 표현 반환값 app..
210224 Node.js와 브라우저의 차이점 Node.js는 DOM이 존재하지 않는다는 것이 브라우저와의 가장 큰 차이점 중 하나다. window와 document 객체 역시 존재하지 않는다는 것인데, Node.js에서는 전역 변수를 다룰 때 window 대신 global 키워드를 사용한다. 또한 fetch API도 존재하지 않는데, 서버에 대한 요청 역시 다른 방법을 사용한다. 프론트엔드에서 Node.js가 가지는 의미 대부분 Node.js가 백엔드 환경이라 생각하는 경우가 많다. 이는 서버를 만들 때 Node.js를 사용할 수 있는 것이 사실이고, 또한 대중적으로 알려진 내용들이 많기 때문이다. 하지만 프론트엔드 개발에서도 다양한 Node.js 모듈들과 npm 생태계를 활용하고 있으며, cli에서 배포 등 자동..
210223 # Simple Git Workflow (for Pair programming) upstream 레퍼지토리에서 각 팀원의 remote 레퍼지토리로 fork해온다. remote 레퍼지토리에서 Local로 가져오기 위해 git clone을 통해 clone해온다. driver를 맡은 팀원이 먼저 코드를 작성하고, commit한 후 origin master로 push한다. navigator를 맡았던 팀원은 driver를 맡았던 팀원의 레퍼지토리에서 pull을 통해 수정된 코드를 가져온다. * pull은 fetch와 merge의 성격을 모두 가진다. 일명 '가져와 병합하기'라고 표현 할 수 있다. 원격 저장소의 최신 정보를 내 로컬 저장소에 업데이트 할 수 있도록 만들어 주도록 하는 명령이 pull이다. # Me..
210222 homebrew 이전에 리눅스 기반의 우분투 OS나 라즈베리파이를 사용할 때는 apt 명령어를 이용해 패키지를 관리했고, 파이썬을 다뤄야 할 때는 pip을 사용했었다. 유닉스 기반인 맥에서는, 앞에서 언급한 다양한 패키지 매니저 프로그램들 중 표준으로 자리잡은 것이 homebrew이다. homebrew를 이용해 소프트웨어 패키지를 다운받거나 삭제하는 등 여러 방식으로 다룰 수 있다. 예를 들어 우리가 어플리케이션들을 설치하고자 할 때는 apt나 pip과 같이 homebrew inatall 패키지네임의 형식으로 입력해주면 된다. nvm, npm 우리가 Node.js에 대해 접하게 되면서 가장 자주 듣게되는 매니징 툴에는 npm과 nvm이 있는데, 서로 이름은 비슷하지만 같은 역할을 맡고 있는 것은 아니다...