분류 전체보기(137)
-
[Git] 기존 프로젝트에 git repository 연결하는 법
1. 프로젝트 폴더 내 git init 생성 git init 2. GitHub repository 연결 git remote add origin 복사해온깃헙레포url 잘 연결되었는지 확인 git remote -v 3. 새 repository에서 내용을 pull 받음으로써 get history를 동기화 git pull origin main 4. 새 repository에 파일을 업로드 하기위에 스테이지에 파일 올리기 git add . 모든 파일을 스테이지에 올린다는 뜻 5. 최초 커밋 git commit -m "first commit" 6. repository에 파일 업로드 git push -u origin master 발생했던 error fatal: refusing to merge unrelated hist..
2022.12.28 -
웹 프론트엔드 아키텍쳐(MVC/MVVM/FLUX)
처음 개발 할 때에는 규칙없이 그냥 코드를 만들다 보면, 덩치가 커지는 순간 불편함이 생기고 정리가 안 되는 시점이 생깁니다. 그러니 처음부터 특정한 규칙을 만들어서 개발을 하는게 좋다는 것을 알게 되고, 규칙을 하나씩 만들어가며 개발을 하다보면 이것이 반복이 되어 하나의 특정 패턴이 만들어집니다. 이러한 패턴들을 모두가 이해하고 따를 수 있도록 하는 구조를 아키텍쳐라고 부릅니다. 그러므로 아키텍처란 좋은 구조를 만드는 것을 뜻하는데 좋은 구조의 첫번째 조건은 좋은 분류입니다. MVC 아키텍처 Model, View, Controller라는 영역으로 나누는 고전적인 방식입니다. View(화면): 최종적으로 HTML과 CSS로 만들어지는 결과물 Model(데이터): 데이터를 주관하는 영역 Controller..
2022.04.26 -
쓰레드(Thread)란 무엇인가?(단일 스레드/멀티 스레드 장단점)
쓰레드란 프로그램(프로세스) 실행의 단위이며 하나의 프로세스는 여러개의 쓰레드로 구성이 가능하다. 하나의 프로세스를 구성하는 쓰레드들은 프로세스에 할당된 메모리, 자원 등을 공유한다. 프로세스와 같이 실행, 준비, 대기 등의 실행 상태를 가지며 실행 상태가 변할때마다 쓰레드 문맥교환(context switching)을 수행한다. 각 쓰레드별로 자신만의 스택과 레지스터를 가진다. 쓰레드(Thread)의 장점 쓰레드는 프로세스보다 생성 및 종료시간, 쓰레드간 전환시간이 짧다. 쓰레드는 프로세스의 메모리, 자원등을 공유하므로 커널의 도움없이 상호간에 통신이 가능하다. 단일 스레드 - 하나의 프로세스에서 하나의 스레드 실행 - 하나의 레지스터와 스택으로 표현 장점 : 자원 접근에 대한 동기화를 신경쓰지 않아도 ..
2022.04.20 -
var, let, const의 차이
JavaScript에서 변수 선언 방식인 var, let, const 의 차이점에 대해 알아보자. 1. 변수 선언 방식 우선, var는 변수 선언 방식에 있어서 큰 단점을 가지고 있다. var name = 'bathingape' console.log(name) // bathingape var name = 'javascript' console.log(name) // javascript 변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값이 출력되는 것을 볼 수 있다. 이는 유연한 변수 선언으로 간단한 테스트에는 편리 할 수 있겠으나, 코드량이 많아 진다면 어디에서 어떻게 사용 될지도 파악하기 힘들뿐더러 값이 바뀔 우려가 있다. 그래서 ES6 이후, 이를 보완하기 위해 추가 된 변수 선..
2022.04.18 -
JavaScript와 다른 언어의 차이점
다른 언어들과의 차이점 (1) class기반 vs prototype기반 자바스크립트는 동적인 언어이고, 프로토타입을 기반으로한 객체지향 언어이기 때문이다. class 기반의 언어(C++)는 객체의 형식이 정의된 class라는 개념을 가지고 그것을 이용해 객체를 찍어낸다. 반면 프로토타입 기반 언어는 class의 개념이 없으며, 객체 prototype의 위임 과정을 통해 상속이 된다고 한다. 따라서, class 기반 언어는 class를 이용해 새로운 객체를 뽑아내고, 프로토타입 기반 언어는 객체끼리의 chaining을 통해 동적으로 표현된다. 그리고 이 객체의 내용을 동적으로 수정도 할 수 있다. (2) 동기 vs 비동기 자바스크립트는 동기적인 특성을 가졌고 작성 순서대로 실행 일반적으로 C++언어를 작성..
2022.04.13 -
Promise와 콜백 패턴의 가장 큰 차이
연속적인 비동기 패턴을 다룰때 가장 전통적인 방식인 콜백 패턴의 단점을 보완하기 위해 Promise가 나왔다. Promise를 사용하면 코드의 indent가 계속 깊어지는 콜백 헬 문제를 해결하면서 코드를 좀 더 읽기 좋게 만든다는 점에서 아주 훌륭한 패턴이라고 할 수 있다. 근데 Promise가 진짜 유용한 이유는 따로 있다. 우선 콜백 패턴이 왜 복잡한지부터 살펴보자. 콜백 패턴의 복잡성 const add5 = (number, callback) => { setTimeout(() => callback(number + 5), 1000); }; const add10 = (number, callback) => { setTimeout(() => callback(number + 10), 1000); }; con..
2022.04.13