1. 이 내용은 아주 간단한 내용이지만 일반적으로 생각하는 방식과 다르게 동작하기 때문에 메모해 둔다. 2. developer.mozila.org에서도 이 operator를 검색하면 언급되는 부분이다. 3. delete operator는 메모리의 해지(freeing memory)와는 아무런 상관이 없다. 4. JavaScript의 메모리의 해지는 오직 레퍼런스가 하나도 없는 경우에만 garbage collector가 동작하게 된다. 5. 다시 말하면 delete는 하나의 객체 내의 속성을 제거해주는 기능을 한다. 5-1 아래의 간단한 테스트를 보면 delete a를 해도 memory freeing이 발생하지 않는다. 5-2 같은 객체를 참조하는 b변수는 여전히 해당 객체에 접근할 수 있다.
1. 일반적으로 데이터베이스의 저장은 hashing을 많이 사용하지만 암호화를 사용하는 경우도 많다. 1-1 관공소의 데이터베이스는 XecureDB, D'amo 같은 암호화 모듈을 사용하여 저장한다. 2. node.js에서 mongo DB를 사용할 때는 편의성 때문에 mongoose를 대부분 사용한다. 2-1 mongoose를 사용할 경우 mongoose-encryption를 사용하면 간단하게 암호화 처리를 할 수 있다. 3. mongoose-encryption은 하나의 키를 가지고 암호화, 복호화를 진행하는 대칭형 AES-256-CBC를 사용한다. 3-1 즉 암호키를 알면 모든 것을 다 복호화하여 다시 plain text를 만들 수 있다. 3-1-1 암호화 는 수학적으로 다양한 연산을 사용하는데 알 필..
1. 자바 스크립트의 객체는 단순한 이름:값의 쌍이다. 1-1 이 객체는 primitive 속성과, 객체 속성, 함수 속성을 가질 수 있다. 1-2 객체를 생성하는 방법은 new를 사용하는 방법과 {}을 사용한 object literal로 정의할 수 있다. 1-3 이런 객체의 속성을 접근하기 위해 제공되는 operator가 있다. 1-3-1 '.'(Member access)과 [](Computed Member access)가 있다. 1-3-2 일반적으로 .을 통하여 접근하는 것이 일반적이다. 하지만 동적으로 속성접근이 필요할 경우는 []을 사용한다. // 일반적인 객체 생성 방식 var school = new Object(); school.name = "Jaeil"; school.location = "S..
1. 자바스크립트는 실행 시에 동적으로 변수의 타입을 결정한다. Dynamic Typing 언어이다. 1-1 Primitive 형으로는 6개의 타입을 지원하는데, undefined, null, boolean number, string, symbol 이다. 1-1-1 자바 스크립트의 number는 floating number를 단일적으로 사용한다. 1-2 symbol ES6에서 지원하는 데이터 타입이다. 1-3 Primitive 형은 하나의 값만을 가진다. string 형도 자바처럼 char[] 처럼 취급되지 않는다. 2. Operator는 다른 언어와 비슷하게 특수한 형태를 가지는 함수이다. infix, 내부에 들어가는 형, prefix 등 다양하다. 2-1 Operator는 실행 시의 우선순위를 가지고..
1. 자바스크립트 실행 시 2가지의 과정을 거친다. 1-1 생성 과정, 실행 과정이다. 이 두 과정은 순차적으로 실행된다. 2. 생성 과정 2-0 생성 과정에서 실행 컨텍스트(Execution Context)가 생성된다. 2-0-1 실행 컨텍스트에는 this 변수가 생성되고 변수 환경이 만들어지고 외부 환경이 지정된다. 2-0-2 변수 환경은 실행 컨텍스트 내에 존재하는 변수들이 저장되는 공간이다. 2-0-3 외부 환경은 Scope Chain(경계 연결)이 연결되어 변수가 변수 환경에 존재하지 않는 경우 연결을 따라간다. 2-0-4 Global 실행 컨텍스트는 global 객체가 지정된다.(브라우저는 window 객체, 노드는 global 객체이다.) 2-1 생성 과정은 먼저 메모리에 함수와 변수의 공간..
1. Math.random() vs java.util.Random 1-1 사실 둘 모두 동일하다. Math.random() 함수가 내부적으로 java.util.Random 클래스를 사용한다. 2. 배열 복사 2-1 System.arraycopy(복사대상 배열, 시작 인덱스, 복제 배열, 시작 인덱스, 복사할 개수) 2-2 arraycopy는 swallow copy이기 때문에 primitive type만 복사하는 것이 편리하다. 2-3 for 루프로 각각 복사할 필요가 없다. 사실 stream을 사용하면 간단하게 복사 가능하다. 3. design by contract 3-1 Bertrand Meyer의 오래된 객체지향 설계컨셉이다. 97년 Object-Oriented Software Construction..
1. 기존의 css 형식에서 scss 형식으로 사용하려면 sass-loader를 설치하여 scss를 css로 컴파일하도록 해야 한다. 1-1 sass-loader를 설치하고 dart-sass를 추가로 설치해야 한다. dart-sass는 npm install sass로 설치한다. 1-1-1 이전에는 node-sass라는 것을 사용했는데, 지금은 dart-sass라는 새로운 패키지 사용을 권장한다. 1-2 styles.css파일을 styles.scss로 변경해 준다. $main-color: green; body { color: $main-color; } 1-3 webpack.config.js 설정파일에서 css뿐 아니라 scss파일도 읽을 수 있도록 변경한다. module: { rules: [{ test: ..
1. React에서 css를 사용하려면 loader와 webpack 설정을 해 주어야 한다. 1-1 우선 css-loader, style-loader를 설치한다. webpack에서는 이 두개를 같이 사용하는 것을 권장하고 있다. 1-2 css-loader는 @import, url() 같은 구문을 해석하고 적용해 준다. 1-3 style-loader는 테그를 통해서 CSS를 DOM에 적용해 준다. 1-4 이제 webpack.config.js파일에서 css파일을 검색하여 적용할 수 있도록 설정해야 한다. 1-4-1 아래의 파일을 보면 module 아래의 rules안에 새로운 객체를 열어 새로운 rule을 등록한다. 1-4-2 test는 .css로 끝나는 파일을 찾아 css-loader와 style-loade..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib