MEAN이 뭘 의미하는지는 안다는 가정하에 설치 및 세팅에 대한 설명을 생략하고 바로 코드로 들어가겠다. TODO File Structure-- public------ core.js------ index.html -- controllers------ todos.controller.js -- models------ todos.js -- server.js-- routers.js 1. package.json을 작성해준 다음, npm install을 해주자{ "name": "Todo", "version": "0.0.0", "description": "MEAN STACK MVC MODEL TODO SINGLE PAGE APP", "author": "leibniz55", "dependencies": { "body-..
Executable .jar를 만들고 리눅스에서 배포를 하고자 하니 ubuntu는 오른쪽 클릭하고 설정해주면 더블클릭 실행이 되는데,fedora에서는 이게 안먹히더라,사실 그냥 터미널에서 java -jar /path/.jar 하면 뭐 실행이야 되겠지만, 사람이라는게 귀찮은걸 싫어하다보니이렇게 실행하는 것도 컴플레인이 될 수 있더라. 구글링을 통해 .desktop 파일을 만들고 해당 파일을 더블 클릭하면 .jar파일을 실행 할 수 있는 방법을 찾았다. 텍스트 편집기를 열어@.desktop 형식으로 저장한다.그런 다음 아래와 같이 작성을 한다.[Desktop Entry] Encoding=UTF-8 Type=Application Exec=java -jar %f Icon=java Name=run-jar Comm..
나는 콜백함수의 정의를 포괄적인 의미에서 보면 아래와 같다고 생각한다."함수의 정의는 내가 했지만, 호출은 내가 하지 않는 함수, 누군가로 부터 호출당하는 함수가 콜백 함수다."뭐 찾아보면, 옵저버패턴으로 부터 나와 상태변화(이벤트) 발생 시 상태를 알리는 뭐 이런 정의도 있지만, 나는 위와 같은 정의가 이해하기가 더 쉽더라. 콜백함수의 이해를 돕기위해 예를 들어보자.//배열을 만들어 보자var arr = [3,1,2];console.log(arr.sort());// display // [1,2,3]간단히 sort()라는 함수를 통해 정렬을 했다. 그런데 역순(오름차순)으로 정렬을 하고 싶은데 어떤 식으로 해야 하는가?w3schools에 가서 찾아보니 여기 보니 campareFunction 이라는 함수를..
오늘은 다양한 스크립트 엔진 중에서 자바로 만들어진 Rhino애서 TypedArray 사용하는 방법을 말하고자한다. ArrayBuffer는 ECMAScript6에서 TypedArray라는 이름으로 처음 등장했다.이는 바이너리 데이터를 처리하는 배열이라고 생각하면 편할 것이다. 근데 이게 Rhino에서는 ECMAScript6가 반영이 안된건지 뭔지는 모르게 TypedArray를 사용할 수 가 없다.TypedArray를 사용하면 undefine가 뜬다. 그럼 어떻게 사용해야 할까? rhino-1.7.7.1.1 버전 기준으로는 NativeTypedArray이라는 Package를 사용하여 ECMAScript6와 같이 TypedArray를 사용 가능하다.TypedArray를 사용할 js에 아래와 같이 추가하면 E..
ECMAScript6 부터 TypedArray 가 생겨 자바스크립트에서도 바이너리데이터를 손쉽게 다룰수 있게 됬다.아마 내생각엔 ECMAScript 5 (2011년) 까지만해도 바이너리 데이터를 자바스크립트에서 다룬다는 것은 아주 극히 드문일이였을 터인데V8엔진의 등장을 시작으로 node.js의 활성화, 서버사이드를 자바스크립트로 핸들링 가능하게 되면서 바이너리 데이터를 다루는 일이 빈번해지고 바이너리 데이터를 다룰 때 포퍼먼스를 향상시키기 위해 ECMAScript6때 등장한 듯 하다.사실 기존에도, 지금도 바이너리 데이터를 String으로 다루긴 해도 되긴하나, 속도적인 측면과 데이터 유지운영에 있어 전문적인 버퍼를 다룰수 있는 오브젝트가 필요하긴 했다. TypedArray의 기본적인 사용 방법은 Ar..
일반적 객체지향 언어에는 Class 라는 개념이 있는데, 자바스크립트에는 Class라는 개념이 아닌 프로토타입 이라는 것을 사용한다.ECMA6에 이르러 Class라는 키워드가 생기긴 했지만, 자바스크립트는 프로토타입언어이다. 참고로, 프로토타입을 공부 하면서 아 내가 머리가 좋지 않구나 라는 것을 뼈저리게 느끼게 되었다. 이 글은 이곳 저곳 구글링하다 여러 블로그를 참고하여 정리를 해 논 것이기 때문에 정확한 이해가 필요한 사람은 링크를 통해 이해바란다. http://www.nextree.co.kr/p7323/http://insanehong.kr/post/javascript-prototype/ 본론으로 들어가 프로토타입 이라는 것이 무엇인가?기존의 객체를 복사, 새로운 객체를 생성하는 방법이 프로토타입기..
c, c++기반으로 개발을 해오다 보니 자바스크립트로 코딩하고 보면 이게 c소스인지 자바스크립트 소스인지 구분이 잘 가지 않더라.기능적으로 정상 작동하니 그냥 넘어 갈 수 있겠으나, 이왕 자바스크립트를 만지게 된 김에 자바스크립트처럼 보이는 코딩을 하고싶어 졌다. 앞으로 내가 글을 쓰는 내용은 아래 블로그 내용을 내가 공부한 시점으로 재 해석하여 정리 요약하는 정도의 글이 될터이니참고만 하고 아래의 블로그에서 보다 깊은 깨닮음을 얻길 바란다.http://www.bsidesoft.com/?p=877 [js의 전략패턴 - 제어문을 객체구조화]function attack(weapon, opt){ switch(weapon){ case 'sword': if(opt){ }else{ } break; case 'bow..
var plainText = 'HELLO 반갑습니다.'; var check = /[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/; /** * 한글이 있다면 URI 인코딩을 한다. */ if(check.test(plainText)){ plainText = encodeURIComponent(plainText); } /** * 16바이트 길이의 랜던 키와, Initialization Vector 값을 생성 */ var key = forge.random.getBytesSync(16); var iv = forge.random.getBytesSync(16); var cipher = forge.cipher.createCipher('AES-CBC', key); cipher.start({ iv: iv }); cipher.update(forg..
앞서 ATS에 대해 설명과 옵션에 대해 간략히 설명했으니 바로 본론으로 들어가겠다.ATS를 만족하면서 TLS 1.2 버전 아래나, HTTP 프로토콜을 사용하는 법은App Transport Security에 Exception Domains를 등록하면되는데,이게 무턱대고 등록한다고 다 통신을 할 수 있는게 아니다. ATS Exception 옵션을 중에 어떤것은 키고 어떤것은 끄고 해야 하는데 이를 애플에서 간단한 명령어 하나로 확인 할 수 있도록 지원해준다. 일단 터미널을 킨다.command :nscurl -- ats diagnostics DOMAIN --verbose DOMAIN 에다가 넣고싶은 도메인을 넣으면 된다.일단 예제로, nscurl -- ats diagnostics https://google.c..
- Total
- Today
- Yesterday
- TLS1.2
- reactivex
- yss
- ATS
- node js
- Visual Studio
- HTTPS
- cipher
- 암호화
- rxswift
- executable jar
- ucrtbase.dll
- iOS10
- Universal CRT
- 비대칭키
- App Transport Security
- 전자서명
- MEAN stack
- AES
- execute double click
- build set
- TypedArray
- Node.js
- angular
- full stack
- PCX
- remote debug
- 윈도우 라이브러리
- JavaScript
- 대칭키
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |