2016年9月28日 星期三

redux tools 工具設定

https://github.com/zalmoxisus/redux-devtools-extension

有用到 middleware

1.2 Advanced store setup

If you setup your store with middleware and enhancers, change this:
  import { createStore, applyMiddleware, compose } from 'redux';

  let store = createStore(reducer, initialState, compose(
    applyMiddleware(...middleware)
  ));
to this:
  let store = createStore(reducer, initialState, compose(
    applyMiddleware(...middleware),
    window.devToolsExtension ? window.devToolsExtension() : f => f
  ));

2016年9月17日 星期六

docker on AWS EB

為什麼要摸Docker
1.AWS EB node 環境,有無止境的相依性問題
git clone react-starter-kit
eb init
eb create
git add * (without node_module)
git commit -m
eb deploy
eb open <=(should be OK? but!  -> logs...)

2.所以Docker
AWS ECS = Docker + EB(scale .... load balancing ...)
神聖的AWS開創出,神奇的ECS(private images..)
ECS task ... ≠ Docker
ECS <= Docker Compose (YAML) <=?..
前因後果加demo.

install on ec2
http://www.ybrikman.com/writing/2015/11/11/running-docker-aws-ground-up/

教學
https://ap-southeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-southeast-1#V2CreateELBWizard:
https://nodejs.org/en/docs/guides/nodejs-docker-webapp/



command : aws ecr get-login --region ap-southeast-1

docker push 897420788211.dkr.ecr.ap-southeast-1.amazonaws.com/images:latest
command : ecs-cli

==========================然後還是搞不定=============
最後原來 EB 支援 Docker

 package.json 
{
  "name": "docker_web_app",
  "version": "1.0.0",
  "description": "Node.js on Docker",
  "author": "First Last <first.last@example.com>",
  "main": "server.js",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "^4.13.3"
  }
}

server.js 
'use strict';

const express = require('express');

// Constants
const PORT = 8080;

// App
const app = express();
app.get('/', function (req, res) {
  res.send('Fucker world\n');
});

app.listen(PORT);
console.log('Running on http://localhost:' + PORT);

Dockerfile

FROM node:argon
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install
# Bundle app source
COPY . /usr/src/app
EXPOSE 8080
CMD [ "npm", "start" ]

eb init ... 都一樣

======完成====


再來要自訂自已的image
所以要上傳 ECR
aws ecr get-login
會回傳一大堆 copy paste 再執行 就可以傳上去了
DockerFile
怎麼將本機端的image傳到 ecr ,然後再 Dockfile 來用




2016年9月16日 星期五

Learn GraphQL by KADIRA

發現 GraphQL 是目前的 DB 查詢主流,所以又跳坑了...

https://learngraphql.com/

2016年9月9日 星期五

[屍速列車]有雷影評

[屍速列車]
很多[創業]者,所想到的題目都是要規模化之後,才可能會實現;可是因為你是[創業]者,根本不可能有資源達到你剛開始所設想。
這階段[活下去]才是你的首要目標,所以很常看到為了生存而[不擇手段]的團隊;不斷的看久了,好像也是理所當然。
[屍速列車]防雷頁
像是簡化了這些過程,重新探討你的初心,到底是為了什麼而做出[不擇手段]的行為,而你現在卻覺得理所當然。
火車上的一票人[創業者],目標都是要從首爾逃往釜山[實現創業成功],但出發後,才發現喪屍的出現[資金燃燒的速度],超過你的想像,然後就一直被喪屍追[每天被錢追],為了逃往釜山[實現創業成功],短期的和他人合作,或者是犧牲他人,變成常態,男主角就是這樣的職業,而在火車上,巴士運輸社長一路上也示範的很好;而咬了之後變成喪屍,也很切合創業者,創業者就是一群覺得去幫人打工一輩子,就等於30歲就死了,只是等到70歲就埋葬,中間40年漫無目地的活著,是不是很像喪屍啊。
戲中最揪心的就是對於人性的描述,到了最後原來從頭到尾的犧牲他人的社長,是為了回家見他的老母親,而男主角為了保護女兒,而犧牲自已讓喪屍咬,也變成喪屍,這裡的運鏡真的非常好,超虐心。
爸爸不怕嗎?女兒問;爸爸也會害怕。男主角回答。中間的一暮。
因為從頭到尾都無冷場,這一暮感覺就算剪掉,也不防礙劇情發展,但導演或許想表達的是,我們只要有真心想保護的人,就算害怕,也會勇敢面對在這個人吃人的世界裡吧!哈!

2016年9月7日 星期三

解es6 : SyntaxError: /var/app/current/server/server.js: Unexpected token (

SyntaxError: /var/app/current/server/server.js: Unexpected token (
 // Render the component to a string
  46 |     const html = renderToString(
> 47 |       <Provider store={store}>
     |       ^
  48 |         <App />
  49 |       </Provider>
  50 |     )



加.babelrc 
內容
{
  presets: ["es2015", "react"]  
}
用aws記得要git add 上去

2016年9月4日 星期日

aws route 53 subdomain 子網域做法


route 53 設 *.ex.com
然後後端判斷domain來決定是那個帳號載入,

然後再response 他的個人資料。
ex : amy.ex.com

custom domain:

amy.com -> amy.ex.com
直接在後端上判斷 amy.com 就 response amy的資料