- mixed 선택
- mysql
2.1 Format as Time Series 선택
2.2 time range : 6개월
2.3 query 문
SELECT -- month, M.goal as mGoal, -- Y.year, -- Y.goal as yGoal, M.myTimestamp as time FROM MonthGoals as M inner join YearToMonthMNs as MN on MN.mgidId = M.id inner join YearGoals as Y on Y.id = MN.ygidId; - influxql
3.1 Format as Time Series 선택
3.2 time range : 6개월
3.3 query 문
SELECT sum("meter0/ActivePower") as TwoWeeks FROM "data" WHERE time >= '2020-01-01T00:00:00Z' AND time <= '2020-07-30T23:59:59Z' GROUP BY time(15d)
- graphql-typescript-definitions 본 npm 모듈로, genSchema() 대체 함 기존 건 암묵적으로 namespaces를 가져오는 방식이라서 현재 Typescript 와 안 맞는 거 같음 export 를 자동으로 생성해 주는 최신 버전으로 교체
- 실행환경파일 설정 1.1 .env.local 파일을 루트 폴더에 .env 로 저장
- ./startLocalServer.sh 실행
- ./startLocalWeb.sh 실행
- 실행환경파일 설정 1.1 .env.prod 파일을 루트 폴더에 .env 로 저장
- ./dockerCompose/for-real-machine.yml 를 루트 폴더로 이동(.env 와 같은 위치에 놓음)
- sudo docker-compose -f for-real-machine.yml up -d
- tslint 설정확인
- backend 80 : nginx 용 4000 : graphQL 587 : SMTP 3306 : mariadb 6379 : redis
- frontend 80 : nginx 용
차례 : Multi Step Form in React with Formik - Part 36 추가고려사항 : postgres 와 redis 도 docker 위에서 작동시키고, docker container 들을 swarm 처리
-
PostgreSQL start
Docker-compose 대치
> postgres 설정 : https://seogenie2.tistory.com/5
[마이컴용]
> pg_ctl -D /Users/mac/work/mobileHomeHub/abb/db_postgre -l logfile start -
Redis-server start
Docker-compose 대치
> redis-server -
Server start
Docker-compose 대치
> yarn start -
client start (web)
Docker-compose 대치
> yarn start -
docker 이미지 빌드
docker build -t kcod/abb:1.0.0 .
5.1. docker 컨테이너 실행
docker run -p 3001:4000 --net="host" -d kcod/abb:1.0.0
docker run -it -p 3001:4000 -d kcod/abb:1.0.0 /bin/bash
docker run -p 4000:4000 -p 5432:5432 -p 6379:6379 -d --name abb ganadara135/abb:1.0.0 node dist/index.js
docker run -p 80:4000 -p 5432:5432 -p 6379:6379 -d --name abb ganadara135/abb node dist/index.js docker run -p 80:4000 --net host -d --name abb ganadara135/abb node dist/index.js5.2. docker 컨테이너 디버깅
docker commit 298b7344f067a => broken_container
docker run -it broken_container /bin/bash or /bin/sh
node dist/index.js -
docker push on dockerhub
docker tag local-image:tagname new-repo:tagname docker push new-repo:tagname
6.1 docker tag kcod/abb:1.0.? ganadara135/abb:latest
6.2 docker push ganadara135/abb:latest
-
docker-compose 는 Dockerfile 를 같은 폴더에 있어야 build 가능
docker-compose -f ./dockerCompose/dev.yml up --build
-
PostgreSQL 정보 7.1 설치위치 /usr/lib/systemd/system/postgresql-9.6.service 7.2 /var/lib/pgsql/9.6/data/ postgressql.conf 위치
-
Redis 설정 8.1 .env 와 .env.prod 두 개 다 사용함. .env.prod 8.2 docker build 시에 .env 파일은 copy 안됨 8.3 redis 가 설정이 안되면 아무 에러 메시지 없이 ERR_EMPTY_RESPONSE 메시지 받음
-
Web 설정 : deploy_web.sh and check README.md on web folder
-
app 설정 주의사항 10.1. expo 는 의존관계 모듈을 실행시 다가지고 있어야 함, workspaces nohoist 설정 주의 10.2. dependency 설정시 react 관련 항목은 같은 버전이라도 2개 이상 갖고 있으면, 중복 예러 발생(react-hooks 때문), 따라서 의존소스를 복사해서 expo 내에서 옮겨놓고 코딩하기 10.3. npm is reac-dom 으로 확인
-
change Mailserver as Nodemailer. 11.1 ./testnodemailer/node index.js 실행
-
TypeORM 관련 12.1 환경설정 파일은 하나만 처리한다. 복수개 있으면 .env 만 처리
- db 접속 1.1 로컬 : mysql -u 계정명 -p 1.2 원격 : mysql -h 호스트주소 -P 포트번호 -u 계정명 -p 1.3 원격지 특정DB : mysql -h 호스트주소 -P 포트번호 -u 계정명 -p 디비이름
- show databases;
- use 사용할 db 명;
- show tables;
- 필드별 상세내역 : show fields from 테이블명;
- 필드 collations : show full columns from 테이블명;
- db 접속 방법: psql graphql-ts-server-boilerplate (db명)
- 테이블 조회 : \d
- 접속터미널끄기 : \q
- 로컬에서 schema 읽어오는 것은 apollo.config.js 설정에서 못 읽어옴, 예제처럼 명령어에 옵션으로 처리해야 함
ex) npx apollo client:codegen --target typescript --localSchemaFile ./schema.graphql - apollo client:check 검증용 명령어는 apollo 사의 registry 만 됨, 로컬은 안됨.
- 매체별(server, web, app)로 전용 모듈은 해당 매체에서만 사용하게 하는 명령어 on package.json "nohoist": [ "/rimraf", "/rimraf/", "/react-native", "/react-native/", "/react-native-elements", "/react-native-elements/", "/expo", "/expo/", "/react-native-typescript-transformer", "/react-native-typescript-transformer/", "/metro-bundler-config-yarn-workspaces", "/metro-bundler-config-yarn-workspaces/" ] 3.1 check packages 상태 : yarn workspaces info
- remove well => rm -rf node_modules ../../node_modules ../../yarn.lock
- workspace 체크 명령어 => yarn workspaces run
- expo issue : expo 는 실행시 필요 모듈을 다 가지고 있어야 함 => workspace 즉 yarn packages 가 작동하지 않는다, 아래 방식으로 해결가능 6.1 expo package.json 에 nohoist 로 설치된 모듈을 전부 표시
- keep watch SemVer ^(caret, inverted caret) ~(tilde, swung dash)
- VScode 는 탐색창에서 소스 복사나 옮기는거 금지, 큰 용량은 제대로 이동 안됨.
- gql 문장 바로 위에는 첨삭문 넣지 마라, 아마 에러메시지도 없이 schema 생성하지 않는다
- MySQL 에 관리자툴 phpMyadmin 이나 adminer 연결시에 전체 설정 내역 완전 삭제후에 적용, docker system prune, docker volume prune
- apollo-codegen : https://github.com/expo/apollo-codegen
- nohoist : https://classic.yarnpkg.com/blog/2018/02/15/nohoist/
- node.js dockerizing : https://nodejs.org/en/docs/guides/nodejs-docker-webapp/
- lerna : https://github.com/lerna/lerna#readme
- netlify : https://docs.netlify.com/routing/redirects/#syntax-for-the-redirects-file
- monorepo : https://doppelmutzi.github.io/monorepo-lerna-yarn-workspaces/
- https://nodemailer.com/about/
- https://ethereal.email/
- https://typeorm.io/#/