0. 광고를 붙여 더니 진짜 볼품이 없다. 하루에 1~10원 정도 들어오는데 의미가 있나 싶다. 1. 지금까지 쓴 글들을 보니 나에게도 전혀 도움이 안되 보인다. 2. 처음봐도 알 수 있게 적어야 할 것 같다. 3. Richardson Maturity Model은 REST의 표준 같은 기능을 한다. REST의 품질 수준에 대한 것이다. 3-1 SOAP같은 기술은 표준이 있지만 REST는 없기 때문에 이것을 준용하는 것이다. 4. 간단하게 말하면 Level이 3개로 구분 되는데, 엄밀하게 말하면 Level 0을 포함하여 4개다. 4-1 Level 3은 Hypermedia Controls로 스프링이 주구창창 지원하는 HATEOS 기능을 생각하면 된다. 4-1-1 말이 자동 구현이지 진짜 짜증나고 실서비스에서..
1. 아래는 간단한 이진 트리의 생성과 방문에 대한 자바스크립트 코드이다. 2. 다 쉽게 이해될 것이지만 post order traversal를 iteration으로 구현하는 경우 상당히 까다롭다. 2-1 노드의 데이터가 찍히는 시점이 좌우 트리를 모두 방문한 후가 되기 때문에 2번의 stack의 insertion이 필요하다. 2-2 C언어의 경우는 주소 직접 다루기 때문에 별도의 값이 필요가 없지만, 자바스크립트는 대신 객체가 있어 편리하다. 3. 대부분의 언어는 문제 풀이에서 사용할 수 있는 단순한 stdin을 지원하는데 자바스크립트는 없다. 3-1 그래서 readline-sync라는 node 라이브러리를 npm으로 설치하여 사용하였다. var readlineSync = require("readlin..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cAJrKL/btq37zR5u9S/RNUiLK8V6c0tHa1goG9Drk/img.png)
1. 노드는 그냥은 안된다. 별 수를 써도 안된다. 2. 사용 하려면 비동기적으로 사용할 수는 있는데 알고리즘 같은 것 연습하기에 별로 좋지 않다. 3. 아주 좋지 않다. 4. 방법은 있다. npm으로 readline-sync를 설치하면 된다. 4-1 어쨋든 돌아간다. 난 이걸로 만족할란다. var readlineSync = require('readline-sync'); var input = readlineSync.question('Read from console: '); console.log('Yes, 맞다' + input); 5. 위의 라이브러리를 가지고 Binary Tree 생성 var readlineSync = require('readline-sync'); class TreeNode { const..
parentElement: element 속성으로 자신의 부모를 리턴 className: element속성으로 class를 가지고 있음 preventDefault(): 함수로 이벤트의 기본 동작을 제거함. react에서 많이 사용하는데 똑같다. querySelector(): css selector 방식 element를 검색. 가장 많이 쓰긴한데 여기 쓴 이유는 element를 기준으로 하위 검색 innerText: 속성으로 element text를 가지고 있다. innerHTML과는 다르게 text만 변경할 때 편리 remove(): 메소드로 동적으로 생성한 DOM element를 지우기에 편리하다. removeChild 같은 거 보다 훨 낫다. esc 키는 27번이다. click 이벤트를 걸어 줄 때 ..
예전 글을 읽을 때 마다 드는 생각이 더럽게 글 못 쓴다는 것이다. 그래서 핵심이 뭐냐고 내가 써놓고 내가 이해 못하고 있는 걸 보면 정말 자괴감이 든다. 정리 - * 보내는 데이터는 content-type이 데이터의 형식과 charset을 지정한다. * 일반적으로 application/x-www-form-urlencoded; charset=utf-8 로 지정한다. charset이 다르면 다른 것을 설정한다. 1. Spring의 RestTemplate이든 jQuery의 aJax이든 크롬 브라우저이든 http client가 request를 구성해야 한다. 2. 이 request를 구성할 때 중요한 부분 중 하나가 아래 두 가지 이다. 2-1 어떤 형식의 data를 보낼 것인지 - json, xml, for..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/znjUf/btq2idYDJ1L/89kXC4Wqr8PBSab6B33KhK/img.jpg)
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변수는 여전히 해당 객체에 접근할 수 있다.
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/zFdxN/btq2pkoqzIa/fviocR27VkDR3iqXRIXNS0/img.png)
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 암호화 는 수학적으로 다양한 연산을 사용하는데 알 필..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/elIRXF/btqYQxLFlBJ/KCjef2As6wwy4iIE8MlhkK/img.png)
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..
- 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
- Spring Security
- MYSQL
- 자바
- form
- RestTemplate
- 외부파일
- 스프링부트
- 하이버네이트
- 설정
- Rest
- 상속
- 매핑
- XML
- WebMvc
- mapping
- one-to-one
- crud
- one-to-many
- login
- 스프링
- Angular
- Validation
- Security
- 로그인
- jsp
- Spring
- 설정하기
- hibernate
- spring boot
- Many-To-Many