coding 215

전기 스위치, 단극과 쌍극, 단투와 쌍투

극(pole)이란 한꺼번에 연결되어 이동하는 스위치의 수, 단극 : 연결된 스위치가 하나. 쌍극 : 연결된 스위치가 2개. 단투 : 접점이 하나, 하나이기에 유일한 접점을 연결하거나 끊을 수만 있다. 단투 스위치로 한쪽은 켜고, 반대쪽은 끄려면? 단극쌍투(접점는 2개, 이동하는 스위치는 하나)가 있어야 함. 쌍투 : 접점이 2개. 단극단투 스위치, 쌍극단투 스위치, 쌍극쌍투 스위치 https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTuMVPj-_eUn46o0923CtUhedlFmQa-_qTmRQ&usqp=CAU 한 권으로 읽는 컴퓨터 구조와 프로그래밍을 읽다.. 정리함. + 전기 시스템 설명 에너지 근원에서 나온 전기는 회로 구성요소를 지나서 다시 근원으로 ..

coding/CS 2022.09.16

화살표 함수를 쓰면 안되는 때와 써야할 때.

https://velog.io/@raram2/%ED%99%94%EC%82%B4%ED%91%9C-%ED%95%A8%EC%88%98%EB%A5%BC-%EB%82%A8%EC%9A%A9%ED%95%98%EB%A9%B4-%EC%95%88%EB%90%98%EB%8A%94-%EC%9D%B4%EC%9C%A0#2-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%ED%95%B8%EB%93%A4%EB%9F%AC%EB%A1%9C-%EC%84%A0%EC%96%B8%ED%95%A0-%EB%95%8C 화살표 함수를 남용하면 안되는 이유 ES6 화살표 함수(Arrow function) 방식은 작성에 편리하고 보기에도 간결하기 때문에 한번 익히고 나면 이 방식만 고수하는 경우도 종종 있다.하지만 사람이 쓰고 읽기에 좋다는 이유만으..

coding/js 2022.09.15

실행 컨텍스트

실행 컨텍스트(execution context)는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체로, 자바스크립트의 동적 언어서의 성격을 잘 파악할 수 있는 개념이다. 동일한 환경에 있는 코드들을 실행할 때 필요한 정보들을 모아 컨텍스트를 구성하고, 이를 콜스택에 쌓아올렸다가, 가장 위에 쌓여있는 컨텍스트와 관련있는 코드들을 실행하는 식으로 전체 코드의 환경과 순서를 보장한다. 여기서 동일한 환경은 하나의 실행 컨텍스트를 구성할 수 있는 방법으로, 전역공간, eval() 함수, 함수 등이 있음. 전역공간은 자동으로 생성됨. eval()은 잘 사용하지 않음. 권장 no. 우리가 흔히 실행 컨텍스트를 구성하는 방법은 함수를 실행하는 것이다. // —————————- (1) var a = 1; functio..

coding/js 2022.09.06

Js 불변 객체 만들기.

얕은 복사로 만들 수 있고, 이후 깊은 복사로 만들 수 있음. 깊은 복사는 콜백함수로 type이 !null이고, object인 값을 계속 호출해서 복사함. 깊은 복사 코드. var copyObjDeep = funtion(target) { var result = {}; if (typeof target == ‘object’ && target !== null) { for (var prop in target) { result[prop] = copyObjDeep(target[prop]); } } else { result = target; } return result; } 혹은 json 문자열로 만든 후,(=JSON.stringify(obj)) 이 값을 다시 json 객체로 변환하기! 이것은 잘 작동하나, 메서드(..

coding/js 2022.09.03

참조형의 가변값과 불변값.

Js의 메모리와 데이터, 그리고 기본형 데이터의 불변성. Js의 메모리와 데이터, 그리고 기본형 데이터의 불변성. *정재남님의 코어 자바스크립트 책 기반으로 작성함. 컴터는 모든 데이터를 0과 1로 표현한다. (비트 단위) 메모리는 이런 비트들로 구성된다. 비트 하나당 고유한 식별자(uniqe identifier)를 통해 위 nyw00.tistory.com 이어서 감. 참조형 데이터는? 기본적 성질은 가변값이나 설정에 따라 변경 불가하거나 불변값으로 활용하는 경우기 있움. 참조형 데이터의 할당. var obj1 = { a:1, b:’bbb’ }; 1. 우선 빈 공간 @1002에 obj1을 이름으로 저장하고, 데이터 주소값을 @5001로 저장.. 2. 5001에 값을 저장해야 하는데..여러개로 이루어진 데..

coding/js 2022.09.03

Js의 메모리와 데이터, 그리고 기본형 데이터의 불변성.

*정재남님의 코어 자바스크립트 책 기반으로 작성함. 컴터는 모든 데이터를 0과 1로 표현한다. (비트 단위) 메모리는 이런 비트들로 구성된다. 비트 하나당 고유한 식별자(uniqe identifier)를 통해 위치를 확인할 수 있는데, 이러면 너무 비효율적이라 비트를 묶어서 하나의 단위로 만들어 식별자를 삼고 위치를 확인 가능하다!! 하지만 묶는 단위가 너~무 크면 낭비되는 비트들이 있음. 그래서 적정히 8개의 비트를 묶은 바이트(byte)라는 단위가 생김. 한 비트당 0혹은 1이 표현 가능한 2의 8제곱은 256개의 값을 표현 가능함. 자바같은 정적 타입 언어는 메모리 낭비를 최소화하기 위해 바이트 크기를 쪼개어 나누었다. (형 변환 시, 더 귀찮음) 하지만!!! 메모리 용량이 월등히 커진 상황에서 등..

coding/js 2022.09.02

git 커밋 시, 파일 및 폴더 대소문자 구분 안 될 때 기초 설정 변경하는 법

git config core.ignorecase false 이거 설정 시 기초 설정이 대소문자 구분으로 변경. 캐시가 남아있을 수 있으니, 설정 후 캐쉬초기화도 해주자. git rm -r --cached . git add & git commit 하기 이전 설정 변경하지 않고 해당 폴더명만 수정하고 싶을 땐, git mv는 리눅스의 mv와 동일한 역할이다. 다만, 이동하려는 객체가 git에 tracked된 상태여야 한다는 차이가 있다. $ git mv cat dog $ git mv dog Cat 방법은 위와 같다. cat을 Cat으로 바꾸고 싶을 때, 잠깐 다른 이름으로 변경한 뒤 원하는 이름으로 바꾸어주자. 파일의 경우 확장자명 붙여주자. # user.ts 파일을 User.ts 파일로 변경하는 예 $ g..

coding/git 2022.08.31