기본 콘텐츠로 건너뛰기

10월, 2017의 게시물 표시

React-Native App 개발 시 Expo 선택 전에 고려해야할 것.

Expo는 지옥같은 React-Native 개발 환경 아래 섬광처럼 빛나는 훌륭한 도구지만 빛이 있으면 어둠이 있는 법. https://docs.expo.io/versions/latest/introduction/why-not-expo.html  에선 이런 경우에 Expo를 사용을 고려하라고 전하고 있다. 독립형 앱에 이미지 같은 정적 자원(Assets)들을 함께 묶어 배포할 수 없다. background 혹은 장치가 잠자기 모드일때 코드 실행을 지원하지 않는다. 일부 API를 미지원. Bluetooth, WebRTC 같은 건 아직. 오버헤드가 꽤 크다. iOS 25MB, Android 20MB Push Notification의 경우 OneSignal 같은 외부서비스를 활용하려면 ExpoKit을 사용하거나 Expo가 아닌 React-Native를 사용해야한다. Staging/Production같은 다양한 디플로이 환경. 하지만 이 경우  https://github.com/oliverbenns/expo-deploy  같은 선택지도 있으니 참조할 것

Firebase coffeescript snippet

firebase 단순 예제 좋은게 없어서 찾다가 문서보고 하나 짰다. 흔한 Firebase 자료구조.png https://console.firebase.google.com 에서 본 Database 구조가 위와 같을 때 config =   apiKey: '<<<<<<<<<>>>>>>>>>>'   authDomain: '<<<<<<<<<>>>>>>>>>>'   databaseURL: '<<<<<<<<<>>>>>>>>>>'   projectId: '<<<<<<<<<>>>>>>>>>>'   storageBucket: '<<<<<<<<<>>>>>>>>>>'   messagingSenderId: '<<<<<<<<<>>>>>>>>>>' firebase.initializeApp config ref = firebase.database().ref('rooms/muka/messages') # database 경로 ref.on 'child_added', (o) ->   # key:0. val();"text":"블라블라"   # key:1. val();"text":"블라블라"

meteor로 nw.js 개발하기.

실제로 nw.js 어플리케이션을 개발하다보면 UI구현하기 막막하고 수동으로 리프레쉬 하는 것도 귀찮아서 Meteor 연동을 하려고 했더니 생각보다 간단했다. 디렉토리 구조는 먼저 이렇게 잡았다. `- app   `-client   `-public `- dist   `- 배포용 html,css,js   `- package.json `- package.json 아이디어는 이렇다. nw.js의 시작페이지를 http://localhost:3000으로 두고 배포시엔 meteor client 배포툴인 meteor-build-client를 사용하여 html,css,js 로 분리하는 계획이다. 가장 중요한 nw.js 용 package.json 파일은 아래와 같이 구성한다. {   "main": "http://localhost:3000",   "node-remote": "http://localhost:3000",   "name": "<앱이름>" } 이게 전부. 어떻게 보면 Web과 nw.js를 동시에 개발할 수도 있는 환경이기도 한 것이다. meteor create app 을 해서 meteor용 앱을 만들고 meteor 를 시작한다. 그리고, 위의 package.json이 있는 경로로 돌아가서 nw . 으로 nwjs를 실행한다. 한번 번쩍하더니 잘 된다. cordova 등에서 index.html 대신 http://localhost:3000을 하는 것도 비슷한 느낌이다. 즐겁게 개발을 일단 마구 하고 실제로 배포하기 위해서는 개발환경이 아니라 html,css,js로 구성된 배포본을 만들어야한다. npm install -g 해도 되지만 어짜피 Meteor에서만 쓸거 meteor npm install -g meteor-build-client 해버릴거다. 개발은 문제 없어 보이고 배포판을 한번 만들어보자.

Peatio 분투기

흠 요즘은 ruby 할때 puma(https://github.com/puma/puma)를? 패신저는 안쓰남. https://github.com/peatio/peatio/blob/master/doc/setup-local-osx.md 로컬 환경 먼저 잡자. brew, rbenv 설치하고 ruby를 2.2.1로 설정하자. gem install bundler을 설치 Fetching: bundler-1.15.4.gem (100%) ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory. sudo chown -R $USER /Library/Ruby/Gems/ 하고 나면 gem install bundler Fetching: bundler-1.15.4.gem (100%) ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /usr/bin directory. 또 오류. 에잇 귀찮아 sudo install bundler 해버림. mysql 설치 brew install mysql 설치하고 mysql.server start 기동. redis 설치 brew install redis redis-server /usr/local/etc/redis.conf rabbitMQ 설치 얘는 /usr/local/sbin 여기에 설치되니 brew install rabbitmq rabbitmq-server bitcore 도 다운 받고 https://bitcoin.org/en/download mkdir -p ~/Library/Application\ Support/Bitcoin touch ~/