2018의 게시물 표시

[AWS] API Gateway API Key 발급 및 사용량 계획 생성하기

이미지
안녕하세요. 남산돈가스입니다.

오늘은 AWS의 API Gateway에서 연결 된 API들의 API키 발급을 통한 요청 제한, 그리고 사용량 계획을 통한 사용량 조절을 알아보겠습니다.

네이버클라우드에서 제공하는 SENS를 통해서 문자 발송서비스를 OPEN API로 요청하는 법을 지난 포스팅에서 다루어 보았습니다.

문자발송서비스를 앞으로 다양한 사용자에게 제공한다고 가정해보았을 때, 각각의 사용자들의 모두 컨트롤하기 어려운 상황에 놓이기 마련입니다.

그런 경우에 대비하여 API Gateway는 연결해놓은 API에 한하여 사용자들에게 API Key를 관리하여 요청 권한을 제공하고, 사용량 계획을 이용하여 일,월 요청 수 또는 n초 당 m개의 요청 수를 제한하는 기능을 제공하고있습니다.

이 두가지의 기능만을 이용한다면, 다양한 사용자에 대한 API 관리가 용이해질 수 있습니다.

그럼, 차근차근 하나씩 설정을 해보도록하겠습니다.

먼저 API Gateway 콘솔 화면에서 좌측 사용량 계획탭을 선택합니다.

사용량 계획에 대한 이름과 설명을 입력한 뒤, 중간의 조절 부분을 보시면 요율과 버스트를 설정할 수 있습니다. 요율을 n초당 요청 수를 설정하는 곳이고, 버스트는 해당 n초에 대해서 m번의 요청을 가능도록 하는 지 설정하는 부분입니다.

조절부분의 설정을 마치셨다면, 하단의 할당량에서 일,주,월 당 n개의 요청건수를 허용하는 양을 설정합니다.


사용량 계획 설정을 마치고 다음을 선택하면, 연결 된 API 스테이지를 설정하는 화면입니다.
앞에서 설정한 사용량 계획을 어떤 API에 적용할 지 설정하는 부분입니다.
저는 nCloud_SENS API의 dev스테이지에 사용량을 설정했습니다.



다음 화면은 사용량 계획 API 키를 발급하는 화면입니다. 'API 키 생성 후 사용량 계획에 추가' 버튼을 선택합니다.



API 키 생성 팝업에서 저는 남산돈가스(사용자)의 API 키를 발급했습니다.



다음과 같이 nd_api_key라는 API 키가 발급 되었고 해당 사용량 계획…

intel CPU 보안취약점 발견에 따른 대처요령

이미지
얼마전 Google Project Zero 팀에서 Intel社, AMD社, ARM社 CPU 제품의 취약점이 발견 되었다고 발표한 이후 파장이 지속되고 있습니다.


Google Project Zero 팀 블로그 바로가기
https://googleprojectzero.blogspot.kr/2018/01/reading-privileged-memory-with-side.html


문제가 된 내용은 아래 3가지 이슈로

Variant 1: bounds check bypass (CVE-2017-5753)Variant 2: branch target injection (CVE-2017-5715)Variant 3: rogue data cache load (CVE-2017-5754)
핵심은 CPU의 부채널 공격(side channel attack)으로 인해 캐시 메모리의 저장된 정보가 노출되는 취약점 입니다.


- Spectre(스펙터, CVE-2017-5753, CVE-2017-5715)
- Meltdown (멜트다운, CVE-2017-5754)


해결방안은 칩셋 제조사및 OS 개발사에서 제공하는 업데이트를 적용하는 방법 입니다.

패치이후  CPU 성능저하 논란이 계속해서 일어나고 있는 상황이지만
인텔 측에서는 벤치마크 자료를 공개하고 성능저하는  미미한 차이라는 입장을 고수하고 있습니다.



원본출처 바로가기
https://newsroom.intel.com/editorials/intel-security-issue-update-initial-performance-data-results-client-systems/



아래는 보호나라 기준  제조사별 패치현황 입니다. (2018년 1월 18일 기준)
제조사패치 현황배포 여부Amazone패치 버전 배포(‘18.1.14)[2]배포완료AMD장비 제조사 및 OS 개발사를 통해 패치 권고 [3]배포중AppleiOS, macOS 등 멜트다운 취약점에 대한 패치버전 배포(’17.12.7)배포중iOS, macOS 등 스펙터 취약점에 대한 패치버전 배포 예정…

ionic 하이브리드 앱 개발 - #2 ionic 시작하기

이미지
1. ionic 설치하기 먼저 Node.js가 설치되어 있어야 합니다. 그런 다음 최신 Cordova 및 Ionic 터미널에 아래의 명령어를 입력하여 설치하십시오. Android 및 iOS 플랫폼 가이드에 따라 개발에 필요한 도구를 설치하십시오.

npm install -g cordova ionic

2. 앱 시작하기 일반적으로 사용하는 앱 템플릿 중 하나를 선택하여 이오니아 앱을 만들거나 Blank 형태의 빈 앱을 만들수 있습니다. ionic 디자인 마켓을 방문하면 여러 형태의 템플릿 앱을 확인할 수 있습니다.
https://market.ionicframework.com/starters/

v1 프로젝트의 경우, --type ionic1 플래그를 사용하십시오.

ionic start myApp tabs

3. 앱 실행하기 앱의 대부분은 터미널 창에  ionic serve  입력하여  대부분의 브라우저에서 바로 확인할 수 있습니다.
앱을 실제 기기에 배포 할 준비가되면 배포 가이드를 확인하기 바랍니다.

Nodejs 날짜 관련 유용한 moment.js

안녕하세요. 남산돈가스입니다.

오늘은 제가 개인적으로 Node JS를 개발하면서 굉장히 유용하게 사용하는 모듈을 소개드리려고 합니다.

데이터들을 처리하는 과정에서 꼭 빠지지않는 것들이 날짜 데이터들이죠.

이 날짜 데이터들을 아주 유연하게 변경 및 비교, 계산까지 해줄 수 있는 것이 이 moment.js라고 할 수 있습니다.

지금부터 moment.js를 설치하고 사용하는 방법에 대해서 간단하게 소개드리겠습니다.

먼저 moment.js 모듈을 설치하기 위해서 npm 명령어를 실행합니다.

npm install --save moment
moment가 설치되었다면 이제 간단하게 사용법을 익혀보겠습니다.


◆ moment 선언

let moment = require('moment'); ◆ 현재 시각

console.log(`moment => ${moment()}`)//moment => Mon Jan 15 2018 10:50:08 GMT+0900
◆ Date 객체로부터 초기화 *month는 -1 값 지정

console.log(`Date to moment => ${moment(new Date(2018,0,15))}`);//Date to moment => Mon Jan 15 2018 00:00:00 GMT+0900
◆ 포맷을 지정하여 출력

console.log(`포맷 지정 출력 => ${moment().format("YYYY년 MM월 DD일")}`)//포맷 지정 출력 => 2018년 01월 15일 console.log(`포맷 지정 출력 => ${moment().format("YYYY-MM-DD HH:mm:ss")}`)//포맷 지정 출력 => 2018-01-15 11:01:16
◆ 단위 별 출력

console.log(`연도 => ${moment().year()}`)//연도 => 2018 console.log(`월 (※ 0〜11의 값)=> ${moment().month()}`)//월…

[마케팅] 마케팅 용어 정리

* 이 문서는 지속적으로 업데이트 될 예정입니다

SNS 홍보 단가 같은걸 알아보다보면 CPC, CPA 등 생소한 용어가 많이 등장하는데요
한번 모아서 정리해보았습니다 ^^*



페이지뷰(PV: Page View)
웹사이트의 특정 페이지 열람횟수를 의미합니다.
예를 들어, 'A'사이트의 페이지뷰가 1,000이라고 하면 'A'사이트 하위에 속한 모든 페이지의 열람횟수의 합이 1,000회라는 의미입니다.

노출(Imp: Impression)
사이트 방문자에게 광고가 보여진 횟수입니다. 페이지 새로고침 시 노출수도 함께 증가됩니다.

프리퀀시(Frequency)
이용자 한 사람이 동일한 광고에 노출되는 평균 횟수(빈도)를 의미합니다.
예를 들어, 프리퀀시가 3이면 한사람이 동일한 광고에 평균 3번 노출된다는 의미입니다.
Frequency = Target Impression ÷ Target Unique user

클릭율(CTR: Click Through Rate) 
온라인 광고의 노출수 대비 클릭수를 의미합니다.
예를 들어, 클릭율이 0.2이면 광고가 1,000회 노출되었을 때 2번 클릭되었다는 의미입니다.
CTR = (클릭수 ÷ 노출수) ×100 CPM(Cost Per Mill)

CPM(Cost Per Mill)
광고의 가격을 책정하는 방법의 하나로, 광고를 1,000회 노출하는데 지불하는 가격입니다.
예를 들어, CPM 2,000원은 광고가 1,000회 노출될 때 가격이 2,000원이고, 1회 노출될 때 가격이 2원이라는 의미입니다.

CPV(Cost Per View) 
광고의 가격을 책정하는 방법의 하나로, 동영상 광고가 1회 재생될 때마다 지불하는 가격입니다. 예를 들어, CPV 2원은 동영상 광고가 1회 재생될 때 가격이 2원이라는 의미입니다.

타겟팅(Targeting)
사용자의 정보(나이, 지역, 성별 등)에 따라 원하는 사용자에게만 광고를 보여주는 광고기법입니다.
예를 들어, 서울 지역 타겟팅 광고는 서울에서 접속한 사용자에게만 광고가 보여집니다.


네이버 클라우드 SENS 활용 SMS 발송을 위한 법인 발신번호 등록

이미지
네이버 SENS API 를 활용한 SMS 발송 서비스 개발 진행 시

휴대전화 번호를 발신번호를 등록하고자 한다면

휴대폰 본인인증 서비스를 활용하면 됩니다.

핸드폰 본인인증을 통한 SMS 발신번호 등록


하지만 법인 서비스의 경우

회사 대표번호 등록을 통해 서비스를 구현해야 하는데

발신번호 사전등록제* 로 인해

별도의 인증절차가 추가로 필요하게 됩니다.




발신번호 사전등록제 시행 안내전기통신사업법에 따라 2015년 10월 16일부터 발신번호 사전등록제가 시행되었습니다.
발신번호 사전등록제는 전기 통신사업법 제 84조에 의거 거짓으로 표시된 전화번호로 인한 이용자 피해 예방을 위해서 이용고객이 사전등록된 발신번호로만 문자발송이 가능하도록 하는 제도입니다.
발신번호는 반드시 기업 또는 본인이 소유한 번호로 등록해야 하며, KISA가 발신번호 변조 의심으로 소명자료를 요청할 경우, 3일 이내에 제출하여야 합니다.

휴대푠 인증과 달리 서류인증으로 진행하게 되는데요




이때, 서류인증을 위해 필요한 문서가 바로

통신서비스 이용증명원* 입니다.



* 통신서비스 이용증명원이란?
전기통신사업자가 이용자 본인이 사용하는 전화번호임을 증명하기 위해 발급하는 서류입니다.
가입자의 통신사명, 가입자의 성명/주소/생년월일(기업회원의 경우 사업자등록번호), 가입자 통신 서비스 종류(유선, 무선, 인터넷 전화 등) 및 전화번호가 포함되어 있어야하며,
등록 신청일 기준으로 3개월 이내에 발급된 서류여야만 합니다.
자세한 사항은 가입한 통신사 고객센터에 문의하시기 바랍니다.




사업자의 경우 통신사의 고객센터로 전화하여 상담원게 서류를 요청하거나 지점을 방문하여 이용증명원을 발급 받아야 한다고 합니다.




<주요 통신사>



<서비스 가입 확인서 예시>



통신서비스 이용증명원 발급이 완료되었다면




SENS SMS 발송 메뉴의 발신번호 등록 - 서류인증 요청을 진행합니다.






문의 유형 : Application Service – Simple & Easy Notification Service …

네이버클라우드 SENS를 이용하여 SMS 발송서비스 만들기 #2

이미지
안녕하세요? 남산돈가스입니다.
지난 포스팅에서 네이버클라우드 SMS 발송 서비스인 SENS에 대해서 간략하게 소개하고, 실제 프로젝트를 생성하고, 콘솔 상에서 SMS 발송이 되는 것까지 확인해보았습니다.
이번 시간에는, SENS에서 제공하는 OPEN API를 활용하여 SMS를 발송해보는 법을 포스팅해보겠습니다.
일단, SENS OPEN API 사용설명서 를 확인해보면, API 사용을 위한 기본 정보가 자세히 설명되어있습니다.
OPEN API 호출을 위한 기본적인 내용을 살펴보면 아래와 같습니다. Host - https://api-sens.ncloud.comMethod - POSTPath - /v1/sms/services/{serviceId}/messages * Header
X-NCP-auth-key : 네이버 클라우드 플랫폼 회원에게 발급되는 개인 인증키X-NCP-service-secret : 2차 인증을 위해 서비스마다 할당되는 service secret * Parameter
serviceId - 프로젝트에 할당된 SMS 서비스 IDBody - SMS 발신 정보 요청
위에서 나열한 API 요청 정보를 하나씩 확인해보면, 먼저 Host는 네이버클라우드 API를 요청하기 위한 기본 URL입니다. 그리고 해당 API는 POST 매서드를 이용해 요청을 보낼 것이고, SENS SMS 발송 API를 위한 Path는 /v1/sms/services/{serviceId}/messages입니다. Path 내에 {serviceId} 부분은 지난 포스팅에서 생성했던 프로젝트의 serviceId를 삽입시켜주면 됩니다. 이 부분은 뒤에 다시 설명드리겠습니다.
여기까지 세가지 정보를 간단히 요약해보면, POST - https://api-sens.ncloud.com/v1/sms/services/서비스ID/messages 로 어떤 임의의 요청을 보내면 SMS가 발송되는구나라고 이해하실 수 있습니다. 
이어서, 해당 API를 호출하기 위해서 헤더를 설정해주는 부분이 있습니다. 바로, X-NC…

[반려동물 이야기] 비트코인 고양이

이미지
새해에도 가즈아~! 요새 핫 이슈인 비트코인 그래프에 귀여운 고양이들이 출몰하고 있네요 ㅎㅎ



코인고양이, 비트코인, 스트라티스, 에이다, ADA, bitcoin, coin cat

[반려동물 이야기] 고양이가 좋아하는 의외의 물건 7가지

이미지
1. 면봉
면봉 하나를 던져주면 주인님은 몇 시간이고 면봉만 가지고 놀 수 있다.

2. 빵끈
식빵을 샀다면 빵끈은 주인님에게 양보하자. 눈빛이 +ㅅ+ 이렇게 변하는 걸 볼 수 있다.

3. 비닐봉지
비닐봉지는 많은 집사들이 알고있는 잇템이다. 만약 박스에 비닐봉지를 가득 넣어둔다면...*ㅅ* 그날은 주인님의 얼굴을 볼 수 없을 것이다. 4. 수면바지 주인님의 꾹꾹이를 받아보고 싶다면 당장 수면바지를 장만하자 5. 머리끈 많은 주인님들은 머리끈을 발로 차고 노는 것을 좋아한다. 머리끈을 좁은 틈에 넣었다가 다시 꺼내는 것도 좋아하는 놀이 6. 병뚜껑 페트병이나 유리병 뚜껑을 근처에 놓아보자. 비싼 장난감은 필요없다는 사실을 깨달을 수 있다.

ionic 하이브리드 앱 개발 - #1 TypeScript 시작하기

이미지
TypeScript 설치 TypeScript 도구를 얻는 방법에는 크게 두 가지가 있습니다.
npm을 통해 (Node.js 패키지 관리자)TypeScript의 Visual Studio 플러그인 설치
Visual Studio 2017 및 Visual Studio 2015 Update 3에는 기본적으로 TypeScript가 포함되어 있으며, Visual Studio와 함께 TypeScript를 설치하지 않았다면 별도록 다운로드 할 수 있습니다.
https://www.typescriptlang.org/#download-links
npm 사용자는 터미널에 아래와 같이 입렵하여 설치할 수 있습니다.
> npm install -g typescript
TypeScript 파일 만들기 편집기에서 greeter.ts에 다음 JavaScript 코드를 입력하십시오.

function greeter(person){return"Hello, "+ person;}let user ="Jane User"; document.body.innerHTML = greeter(user);
컴파일 .ts 자바스크립트 소스코드를 .js가 아닌 .ts 확장자로 저장합니다. 기존 자바 스크립트 앱에서 바로 복사 / 붙여 넣기를 할 수 있습니다.
명령 줄에서 TypeScript 컴파일러를 실행합니다.

tsc greeter.ts 결과는 입력 한 JavaScript와 동일한 greeter.js 파일이 생성됩니다.  이제 생성된 .js파일은 웹어플리케이션에서 사용할 수 있습니다.
다음과 같이 'person' 함수 파라메터에  string 타입을 지정합니다.

function greeter(person: string){return"Hello, "+ person;}let user ="Jane User"; document.body.innerHTML = greeter(user);
Type annotations TypeScript의 타…

네이버클라우드 SENS를 이용하여 SMS 발송서비스 만들기 #1

이미지
안녕하세요? 남산돈가스입니다.

팀 프로젝트를 진행하던 중 SMS 발송서비스를 구현해야하는 케이스가 생겨서 문자 발송서비스를 알아보던 중 네이버클라우드에서 제공하는 SENS (Simple & Easy Notification Services)를 알게되었습니다.
SENS는 OPEN API로도 제공되고 있어 서비스를 구현하는데 편리하게 이용할 수 있을 것 같아 한번 사용해보았습니다.

그래서 오늘은 이 SENS를 이용하여 문자발송 서비스 구현하는 법을 소개해볼까 합니다.

이번 포스팅은 두번에 걸쳐 진행될 것이며, 내용은 다음과 같습니다.

  #1. 프로젝트 등록 후 콘솔 상에서 문자 발송해보기

  #2. OPEN API를 이용하여 문자 발송해보기

그렇다면, 첫번 째 시간으로 '프로젝트 등록 후 콘솔 상에서 문자 발송해보기'  포스팅 시작해보겠습니다.

먼저, 네이버클라우드 로 접속하여 서비스 탭을 선택한 뒤 우측 중간에 있는 Simple & Easy Notification Service(SENS)를 클릭합니다.



SENS 서비스로 이동하면, 아래와 같이 SENS의 기능 및 요금 정책에 대한 소개 페이지가 오픈됩니다.
제가 포스팅에서 설명하는 기능 외에도 모바일 PUSH 서비스도 제공하니 참고하시면 도움이 될 것입니다.
'이용 신청하기'를 선택합니다.



'이용 신청하기' 버튼을 누르면, 다음과 같이 SENS 서비스 콘솔화면으로 이동 된 것을 확인하실 수 있습니다. 실제 SENS 프로젝트를 생성하고 테스트 해볼 수 있는 페이지는 지금 보이는 콘솔 화면입니다.
'프로젝트 생성하기' 버튼을 선택합니다.



'프로젝트 생성하기' 버튼을 선택하면, 다음과 같이 프로젝트 등록 탭이 팝업됩니다.

등록 팝업에서 입력해야하는 정보는 다음과 같이 세가지 입니다.

서비스 - 저희는 SMS서비스를 이용할 것이므로, SMS를 체크합니다.이름 - 프로젝트 이름을 설정합니다. (ex. sms_test)설명 - 생성할 프…

[AWS] SSL 인증서 요청시 DNS 검증방법 사용하기

이미지
지난 포스팅에서 Certification Manager 를 통한  SSL 적용방법에 대해 다룬적이 있습니다.


지난포스팅 보러가기


SSL 인증서를 발급받기 위해서는 이메일 인증을 통해 

사용중인 도메인 소유자 임을 인증해야 합니다.

얼마 전부터 AWS 에서 DNS 검증을 통한  도메인 소유자 인증을 지원하기 시작 했습니다.

도메인 계정 관리자와 서비스 관리자가 따로 있다면

매번 도메인 소유자 인증때 마다 계정 관리자에게 확인을 하거나

고객사에 연락하여 확인을 요청하는 방법밖에 없었지만

더이상 이런 번거로운 작업이 필요 없어 졌습니다.

아래와 같은 방법으로 도메인 인증을 진행합니다.



1. SSL 인증서 요청


인증서 요청 페이지 에서 사용하고자 하는 도메인 이름 입력 후 다음을 선택 합니다.






2. 검증 방법선택



검증방법에 DNS 검증이 추가 되었습니다.
DNS 검증을 선택하고 다음을 선택합니다.

3단계: 검토 및 요청에서 내용을 확인후 다시 다음 단계로 넘어 갑니다.





3. 검증



도메인이 검증 대기 상태로 등록 됩니다.

DNS 에 CNAME 항목에 입력할  이름 / 값  정보가 노출 됩니다.

도메인 사이트로 이동하여 DNS 설정 메뉴에서 해당 값을 입력해주면 되지만

Route53을 사용하고 있다면 “Route 53 에서 레코드생성” 버튼을 선택하면 됩니다.

클릭해 보겠습니다.



생성 버튼을 클릭하면 Route 53 을 통해 자동으로 CNAME 이 등록됩니다.





도메인 등록 성공 메시지가 표출 됩니다.

변경사항 전파에 30분이 소유 된다고 하니 계속을 선택하고 기다립니다.





기다리는 동안 Route 53 메뉴로 이동해서 확인해 보면 CNAME 이 등록된 것을 확인해 볼 수 있습니다.





다시 인증서 요청 화면으로 이동합니다.

변경사항 전파가 완료되면

도메인 검증이 완료되고 인증서가 정상적으로 발급되었다는

메시지가 출력됩니다.

인증서가 완료 되었으니 이제 SSL 적용 작업을 진행하면 됩니다.