amazon prime music 미국 일본 맘대로 사용해보기

amazon prime service

  • 미국 : 1년 10만원
  • 일본 : 1년 4만원

혜택

  • 자국내 빠른 무료배송
  • 프라임 뮤직
  • 프라임 비디오
    등 무료 시청 가능

프라임 뮤직 활성화

  • PC용 프라임 뮤직 프로그램 설치
  • 국가를 선택: 미국, 일본
  • 해당 국가 프라임 뮤직 서비스를 무조건 사용할 수 있게 됨.
    (일본의 경우 프로그램을 통하지 않으면 결제수단에서 걸림, 하지만 pc용 프로그램을 통하면 무사 통과)

안드로이드에서 국가별 프라임 뮤직 사용해보기

프라임 뮤직 활성화가 되면 안드로이드 앱을 설치하여 스트리밍 음악 청취 가능
- amazon apps 앱을 다운받으면 아마존 관련 프로그램을 정식 다운로드가 가능해짐.

프라임 뮤직 일본 사용해보기

프라임 뮤직 기본 국가는 미국
어떻게 해도 일본으로 바꾸는 것은 불가능하다.

휴대폰 언어설정일본어로 한 후 프라임뮤직 재실행 하면 짜짠.

1년 14만원으로 취향에 맞는 음악을 들을 수 있다.

개인적으로는 일본 애니송을 자주 듣는데 매우 만족 스러움.

Posted in it

리디페이퍼 하드웨어단추 멀티기능 부여 및 변경

리디페이퍼 하드웨어 단추 기능 변경(remap hardware button)

준비사항

  • 루팅
  • xposed installer 설치

    http://repo.xposed.info/module/de.robv.android.xposed.installer

  • xposed installer 실행
  • Downalod섹션으로 이동, 검색:Xposed Additions
  • Xposed Additions : Version선택하여 설치
  • Modules 섹션으로 가서 Xposed Additions 체크
  • 리부트
  • Xposed Addition을 런쳐에서 실행
  • Buttons -> Allow External Devices -> Miscellaneous
  • Add new Key -> 할당하고자 하는 키를 누름
  • Add new Condition -> Screen On : 화면이 켜져있을 때 행동을 지정하는 것임.
  • Screen On
    -> Click 체크 -> 클릭하면 매핑할 단추를 선택할 수 있음
    -> Long Press 체크 -> 길게 클릭했을 때 매핑할 단추나 기능 선택

gitbook plugins 추천

gitbook plugins

기트북 설정 파일은 book루트 디렉토리 아래 book.json파일에 플러그인을 추가하도록 한다.

설치 방법

  • 인터넷이 연결되어 있어야 한다.

npm을 이용

  • npm plugin-name
  • 플러그인의 이름은 gitbook-plugin- 접두사가 붙는다.

gitbook을 이용

  • book.json에 추가한다음 gitbook install을 실행
  • mathajx의 경우 npm으로 설치해야 문제가 없다. (내부적으로 컴파일을 수행)
    • npm install gitbook-plugin-mathjax4us -g

추천 플러그인

book.json

gitbook 활용해보기

gitbook

  • github와 연동한 클라우드 서비스가 있으나 그것을 사용하려고 하는 것이 아니다.

문서화의 구조적인 편집을 위한 도구

  • gitbook
    -markdown지원

    • 다양한 플러그인 : plantuml, include-highlight
  • nodejs 설치 후 npm으로 gitbook-cli의 기본 설치과정을 마치면 로컬 웹서버가 동작한다.

장점:

  • 어떤 편집기로든 편집이 가능
  • 브라우져를 띄워 놓으면 자동으로 재 생성하면서 리로드가 됨(완벽한 preview)
  • 추후 책으로 출판이 가능함.

한마디

doxygen으로 코드 문서화를 계속 해보았지만 레퍼런스 문서는 실제 개발하면서 api레벨 작업보다 변화가 많아서 활용성이 떨어졌다. gitbook을 로컬에서 사용하고 소스저장소와 함께 활용해보니 팀내 문서 공유에 많은 도움이 됨.

간만에 득템!!

redis 사용시 주의점과 부가 기술

레디스 사용시 주의점과 부가기술

RDB기능

  • 레디스에서 디스크에 메모리 상태를 그대로 받아 저장(메모리스냅숏)하는 기능
  • 레디스 서버 장애요인 99.9%를 차지. 설정으로 끌 수 있음.
  • RDB 작업이 실패하면 ‘쓰기 거부’ 상태가 돼 추가 장애를 낼 수 있다.
  • 아마존 웹서비스 서버 기준 60GB짜리 메모리 서버 테스트시 RDB 작업에 10분 정도가 걸린다. 싱글쓰레드 문제를 겪지 않기 위해 ‘Fork()’라는 분기 기능을 쓸 수 있지만 이 경우 메모리를 2배로 사용, 용량부족에 따른 오류와 원인을 알수 없는 장애를 낼 수 있음.

AOF기능

  • AOF는 레디스 프로토콜로 통신한 내용들을 명령어, 키, 이름 등 형식 그대로 저장한다
  • AOF도 RDB와 같이 주의해야 함.

레디스 마스터 & 슬레이브 관리

  • 슬레이브는 마스터의 데이터 저장을 보조한다.
  • 마스터가 죽었다가 되살아날 때 자신의 정보를 모두 없애고 그 데이터를 그대로 베낀다.
  • 아무 데이터가 없는 마스터를 시스템에 연결하면 슬레이브에 남은 데이터를 마스터에 되살릴 수 없음.
  • 복구할 데이터를 가진 시스템에 ‘슬레이브오브노원’이라는 명령어로 그걸 마스터로 승격시켜야 함.
  • 메모리가 부족한 상태에서 슬레이브가 붙는다면 장애가 발생할 수 있음. 슬레이브가 마스터에 연결할 때, 설정과 상관없이 sync를 위한 RDB 생성하고 이것을 seed로 전송한 후 뒤의 차이를 sync함. write가 많은 서버라면 memory overflow발생.

레디스 인스턴스 갯수

  • Core 수나 메모리에 따라서 적절히 Redis 인스턴스를 여러 개 띄워주는 것 고려
  • N개의 인스턴스를 실행한다면 (Memory-(운영체제필요메모리))/(N+1) 정도의 규칙으로 적절히 나누어 주어 분산시도
  • 하나의 서버에서 하나의 인스턴스만 실행하면, 16G 메모리라면, 최악을 대비해서 7G 정도만 사용해야 하지만 여러 개의 인스턴스를 실행한다면 4G*3개 정도의 인스턴스를 운영고려

레디스센티넬

  • 마스터가 죽었다고 판단시 다른 슬레이브를 마스터로 승격하고 사용자측에 마스터가 바뀌었다는 알림을 보내는 도구
  • 살았는지 판단하는 단계(네트워크 단절, 주관적 다운, 객관적 다운)를 거쳐 페일오버를 수행
  • 완성도는?

레디스 부하분산

  • 트위터에서 만든 티웸프록시, 페이스북 메신저 시스템에 적용된 샤딩 시스템.

티웸프록시

  • 클라이언트에서 데이터가 들어오면 해싱값을 만들어 여러대의 레디스 서버에 나누어 줌.
  • 서버당 1개의 커넥션을 만들기 때문에 속도가 빠르고 보안상 안전하며 부하를 줄임.
  • 레디스센티넬과 묶어 고가용성(HA) 구성도 가능
  • 키 세트가 여러 서버로 분산돼 레디스 서버 전체 데이터를 다루던 명령어 효과가 반감되는 단점도 있다.

셀 아키텍처

  • 페이스북 메신저에 적용
  • 전체 인프라가 각각 독립된 하드웨어(HW)로 구성되는 셀로 나뉘는 것으로 장애를 분산시킬 수 있다.
  • 샤딩은 여러 데이터센터에 서비스를 나눠 운영하는 것이라 재해 발생에 따른 서비스 장애 범위를 줄일 수 있는 역할.
  • 셀 아키텍처의 단점으로 “독립적인 장비 인프라를 셀마다 풀세트로 갖춰야 하기 때문에 서비스 구성에 따른 비용 부담

참고:
- [http://www.zdnet.co.kr/news/news_view.asp?artice_id=20131119174125]
- [https://charsyam.wordpress.com/2013/11/17/%EC%9E%85-%EA%B0%9C%EB%B0%9C-%ED%95%9C-%EC%84%9C%EB%B2%84%EC%97%90-%ED%95%98%EB%82%98%EC%9D%98-redis%EB%A5%BC-%EB%9D%84%EC%9A%B0%EC%8B%9C%EB%82%98%EC%9A%94-%EC%95%84%EB%8B%88%EB%A9%B4-%EC%97%AC/]

빠르고 가벼운 c++ format 라이브러리 : cppformat

cppformat

boost::format의 믿지못할 정도의 느린 성능에 fastformat을 사용하고 있으나 narrow char와 wide char의 둘중의 하나 지원, stlsoft의 의존성등으로 울며 겨자먹기식으로 사용하고 있는 상황,

매우 감동적인 라이브러리 cppformat 발견, 일단 속도는 홈페이지상에서 보았을 때 fastformat과 별반차이 없을듯, 사용상 편의점은 cppformat이 우수한듯. 무엇보다 감동적인것은 소스가 파일 두개! format.[h,cc]

사용해보기

  • msvc사용시 경고가 몇개 발생하는데 pragma warning위치가 소스 중간에 있는 것을 맨 위로 올려주고 추가 발생하는 경고를 더해주도록 하자.
  • 테스트환경 : msvc 2010, gtest, cppformat 1.0
  • 포맷오류시 exception을 발생시키는데 극복할 수 있는 매크로 define을 추가해놓았으니 참고하면 좋겠다.

사용소감

  • 한마디로 우수하다. 유연성도 뛰어남.
  • 포맷파라메터보다 인자가 많은 경우 무시하는데 이부분은 오류를 내주었으면 하는 바램이 있다.

ssl인증서 설치로 https 웹페이지 운영

openssl 키 만들기

openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

namecheap을 통해 ssl인증서 구매하기

  • 9$결제 (1년단위)
  • 결제 후 ssl activate
  • server.csr파일의 내용 복사해서 넣어주기 (---안쪽에 암호화 되어있는 내용을 복사)

메일로 받은 .zip파일 아파치에 반영

서버타입을 아파치로 골라서 그런지 합쳐져있는 파일을 메일로 첨부해서 보내주었음.
압축 파일안에는 server.crt, server.ca-bundle 파일이 포함되어 있음.

sites-enabled/default-ssl.conf

https://www.namecheap.com/support/knowledgebase/article.aspx/9423/0/apache-opensslmodssl

아파치 재시작

service apache2 restart

산다는게…

하드디스크 고장으로 그동안 모아둔 자료, 글들이 사라졌다. 돈주고 복구하기엔 아깝고 없어지니 허전아고 아쉽고 하지만 숨쉬고 살아있는 것 만큼 소중한 건 없으니까.. 다시 시작하자

Posted in it