GUI for Redis : Medis

이미지
Redis를 위한 GUI 오픈소스 프로젝트인 Medis를 소개한다. Medis 없이는 Redis를 모니터링하기위해 redis-cli를 통해 매번 커넥션을 만들고, 데이터의 type에 따라 smembers, hkeys, hget 등 서로 다른 명령어를 사용해야한다. Key가 길 경우 직접 치거나 복사 붙여넣기하는 번거로움도 있다. 이 모든 것을 Medis가 해결해준다. 심플해서 사용하기 편하다. 컴파일된 바이너리는 아래 사이트에서 바로 받을 수 있지만 유료이다. ($4.99) http://getmedis.com 하지만 오픈소스답게 직접 받아 컴파일하면 무료로 사용할 수 있다. 이제 $5를 아끼는 방법을 살펴보자. 매우 간단하다. 설치 순서 1) https://github.com/luin/medis에서 소스코드 받기 2) 소스코드 받은 폴더로 이동 3) npm install (npm이 없다면 brew 등을 통해 설치) 4) npm run build 4) 까지 완료되었다면 "npm run electron"을 통해 medis를 실행시킬 수 있다. Reference http://getmedis.com https://github.com/luin/medis

Cocos2d-x Scene 전환 방법

Cocos2d-x를 이용하여 앱 개발 시 Scene 전환 방법에 대해 정리한다. (v3.16 기준) Scene을 전환하는 방법은 네 가지가 있다. 1. Director::getInstace()->runWithScene(scene);   - 첫 실행 시 AppDelegate로부터 Scene을 시작할 때 쓰인다.   - 즉 오직 첫 번째 Scene에만 허용되는 방법이다. 2. Director::getInstace()->replaceScene(scene);   - 현재 Scene을 새로운 Scene으로 대체한다. 완전히 삭제되어 빠진다. 3. Director::getInstace()->pushScene(scene);   - 현재 실행 중인 Scene을 중지시키고 그 위에 새로운 Scene을 올린다.   - 반드시 실행 중인 Scene에서만 호출되어야 한다. 4. Director::getInstace()->popScene(scene);   - 현재 실행 중인 Scene을 중지시킨 뒤 지우고 이전에 실행됐던 Scene으로 되돌린다.   - 반드시 실행 중인 Scene에 대해서만 호출되어야 한다. Scene을 전환할 때 애니메이션을 적용할 수도 있고 안할 수도 있다. 안한다면 위의 1 ~ 4와 같은 호출 형태가 될 것이고, 한다면 Director::getInstance()->replaceScene(TransitionFade::create(time, MyScene::createScene())); 이러한 형태가 될 것이다. 이 때 time은 애니메이션 시간으로, 몇 초에 걸쳐 전환시킬 것인지 정할 수 있다. 실수(Float)로 설정할 수 있다. ex) 0.5 초 Scene을 전환할 때 적용 가능한 애니메이션은 아래와 같다. - TransitionRotoZoom: 회전하며 줌인되어 등장한다. - TransitionJumpZoom: 점프하며 줌인되어 ...

Telegram sendMessage API 간단 사용

텔레그램(Telegram)의 API를 이용하여 간단히 나에게 메세지를 보내보자. 준비: 텔레그램 가입 먼저 요약하자면, 텔레그램의 Bot을 이용하여 채팅방을 만들고 메세지를 보내는 API에 해당 채팅방을 연결시켜주면 끝이다. 구체적인 예를 통해 정리해보자. 1. Bot 생성: 나의 Bot을 만들기위해 텔레그램의 Bot 관리자(@BotFather)에 접근한다.   1-1. 웹브라우저(Web browser)에서 https://web.telegram.org/#/im?p=@BotFather   1-2. 하단의 Start 버튼 클릭 또는 /start   1-3. /newbot   1-4. Bot 별칭 지정: chat 리스트 등 외부에 보일 이름   1-5. Bot 이름 지정: 반드시 이름이 bot으로 끝나야 한다. ex) hexoul_bot   1-6. Access token 메모: 1-4까지 진행하면 BotFather가 메세지를 보내는데 이것이 Access token이다.             "Use this token to access the HTTP API:" 바로 아래의 긴 문자열을 복사해둔다.   1-7. chat 리스트에서 1-4. 에서 지정한 별칭을 찾아 Start 버튼 클릭 또는 /start 입력 2. 채팅방 정보 얻어오기   2-1. 내 정보 API 호출: "https://api.telegram.org/bot" + Access token + "/getUpdates" 를 웹브라우저에 입력한다.            1-5에서 얻은 Access token이 123ABC 였다면, "https://api.telegram.org/bot123ABC/getUpdates" 가 된다.           만약 "resu...

AWS + Python Django 1 - 프로젝트 생성 및 배포

이미지
이미 AWS에 유용한 튜토리얼과 함께 설명이 잘 되어있지만 길기 때문에, 리마인드용으로 AWS 상에 Django로 서버를 구축하는 과정을 간략한 글로 정리한다. 일반적으로 Windows 환경에서의 개발은 적을 것 같으므로 Linux/Mac 환경 기반으로 쓰고자 한다. 1. Prerequistes   - AWS 계정(17년 현재 기준 가입자는 1년에 한하여 일정 트래픽/용량 등을 초과하지 않는다면 무료로 사용 가능하다. AWS Free tier.)      > 가입 :  https://aws.amazon.com      > Free tier 상세 :  https://aws.amazon.com/ko/free   - Python 2.7(3.x 버전은 AWS에서도 목적에 따른 외부 라이브러리에서도 완전한 지원이 안될 수 있다.)      > 보통 설치돼있으나 없다면 brew 등을 이용하여 설치하자.      > 만약 brew를 사용한다면,        i. brew 설치( https://brew.sh/index_ko.html ) ~$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"        ii. Python 설치 ~$ brew install python or ~$ brew install python3   - pip(패키지 설치용, 이 역시 없다면 brew로 python 설치 후 pip 설치 가능, brew install pip)   - virtualenv(개발을 위한 가상환경 제공, brew install vi...

Digital identities

이미지
전자서명 방식들을 나열하고 비교한다. Methods 1. OAuth2 - RFC 6749   - 2-legged(Resource owner password credentials grant, Client credentials grant: 보안 취약)   - 3-legged(Authorization code grant, Implicit grant)   - Authorization server에서 Access token을 저장하기도 한다.   - API 사용(리소스 서버에 요청) 시 기본적으로 매번 인증 서버에서 재검증받아야 한다.   - Reference:     > https://tools.ietf.org/html/rfc6749 2. JWT(JSON Web Token) - RFC 7519, 7523   - 헤더 및 내용에 서명을 붙여 Secret key로 암호화한 것을 토큰으로 사용   - OAuth에서 매번 Access token을 가지고 재요청하는 과정을 단순화시키기 위해,     access token 이외의 정보들도 JSON으로 표현하여 전달   - 클라이언트 쪽에 토큰 관리를 위임하여 서버의 부하를 줄일 수 있음   - Reference:     > https://tools.ietf.org/html/rfc7519     > https://tools.ietf.org/html/rfc7523 3. Self-sovereign   - Identity data를 개인의 기기에 저장하고 관리   - Claim(주장), Proof(자기증명, 여권 등), Attestation(기관증명) 세 단계로 서명   - Public key와 Private key를 이용한 Non-blockchain distributed ledger  ...