Author Archives: archmagece

Serverless 서비스 사용 툴

인프라

  • Knative
  • AWS Lambda
  • GCP CloudFunction
  • Kubeless
  • Azure
  • OpenWhisk
  • Tencent Cloud
  • Alibaba Cloud
  • CloudFlare
  • fn??
  • spotinst

프레임웤?툴? 엄청많음

그중 오픈소스+무료가능 확인된것들

  • serverless
  • jets

Ruby On Rails App – 시작하기

철지난 루비온 레일즈

별 생각이 없다.. 그냥 해봄

어플리케이션 생성

스타터킷이 있기는 한데 다 너무 오래됐다. 마지막 업데이트가 5년~7년…
그 때 부터 안쓰기 시작했나보다
그래도 아직 현역인데… 이렇게까지 인기가 없을까

  • https://github.com/prismicio/ruby-rails-starter
  • https://github.com/mattbrictson/rails-starter
  • https://github.com/RailsApps/rails-devise-pundit
rails new app

필수 환경 설치

rbenv 2.6.5 bundle rails

필수 라이브러리

  • https://github.com/heartcombo/devise
  • https://github.com/rspec/rspec-rails
  • https://github.com/varvet/pundit
  • https://github.com/thoughtbot/factory_bot_rails

명령어 실행

bundle
rails db:create
rails g devise:install
rails g devise user
rails db:migrate
rails g pundit:install

그리고 코드생성

rails g model post
rails g controller post 
rails g service post

쉽게 프로젝트를 생성할 수 있는게 장점인데
노드가 더 쉬워서 자리를 뺏긴 느낌이다.

Error: Rails – Migration – rails db:migrate 실행시 오류

ErrorMessage

Caused by:
StandardError: Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

ErrorResolve

ActiveRecord::Migration
=>
ActiveRecord::Migration[6.0]

Migration 버전을 명시 해 줘야된다.
옛날에 생선된 코드값을 다 수정 해 줘야하는건지 모르겠다

오픈소스 비지니스: 고객을 일하게 하라

목차

  1. 일하지 말고 일하게 하라
    1. 고객은 최고의 전문가
      그들을 활용하라 오픈소스 고객은 그 분야의 전문가다
    2. 고객을 전문가로 만들리
      전문가가 아닌 고객도 전문가가 될 수 있도록 교육자료를 제공하라
      그들은 우리의 제품을 더욱 향상시켜 줄 것이다
  2. 알아서 고치게 하라
    1. 고객들에게 스스로 고쳐 쓰고 방법을 공유하도록 만들라
  3. 고객은 최고의 노예다
  4. 일하지 않으면서 일하는 척 하라
    1. 고객은 서로 일을 해준다
    2. 다른 고객에게 우리(다른고객)의 업적을 전달하라
  5. 에필로그
    1. ㅇㅇ

목차만 봐도 지리겠다
돈버는 책이나 성공하는 책같은 제목과 소제목
두꺼운 똥소리만 잔뜩 집어넣으면 쓰레기같이 잘 팔리는 책 한권 나올 것 같다.

개발 조무사라면 꼭 봐야하는 책

DevOps 환경별 구분

개발 및 배포 단계

  • Dev,Devel,Development – 개발자 개발중
  • QA,Alpha – QA자 QA중
  • PreProduction,Staging – 라이브자 라이브전
  • Live,Real,Production – 라이브자 라이브중

서버의 성격/위치

  • 개발자 본인 장비 – 개인용
  • 공동 관리하는 서버 – 사무실 서버,IDC,Cloud
  • 서비스 서버 – IDC,Cloud

세분화된 개발환경 구분

  • Dev Local Mock – 한개 서비스에서 연동서비스는 Mock 데이터
  • Dev Local/Remote Integration – 개발용 인프라에 연동서비스 함께
  • Test Remote Feature – 특정 기능 요소별로 테스트가능한 환경
  • Test Remote QA – QA 및 업무담당자 테스트환경 (수동 및 자동)
  • Live Remote Pre-Production – Production의 데이터까지 복제해서 만든 환경에 배포 결제 등 외부서비스 Real 연동
  • Live Remote Production – 실제 서비스 환경

테스트 종류

  • Manual Test
  • Unit Test
    • Mock API
    • Mock Data
  • Dev Integration Test
    • Real API
    • Seed Data
  • Live Integration Test
    • Real API
    • Real Data
  • Health Check

테스트 방법

  • Manual
  • Script

단계 구분

  1. Dev
    1. Local Dev Unit Test(Automatic)
    2. Local Dev Integration Test(Automatic)
    3. Git push – dev
    4. CI Build Unit Test
    5. Remote Dev Integration Test(Manual)
  2. Test
    1. Feature Test
    2. QA Test
    3. Success/Fail
  3. Live
    1. Pre-Production Test
    2. Production

현재까지의 순서

Error: node yarn start 하자마자 발생하는 runtime 오류

에러메시지

/Users/archmagece/work/aprobit-service/apronode/node_modules/express/lib/router/index.js:458
      throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))
      ^

TypeError: Router.use() requires a middleware function but got a Object
    at Function.use (/Users/archmagece/work/aprobit-service/apronode/node_modules/express/lib/router/index.js:458:13)
    at Function.<anonymous> (/Users/archmagece/work/aprobit-service/apronode/node_modules/express/lib/application.js:220:21)
    at Array.forEach (<anonymous>)
    at Function.use (/Users/archmagece/work/aprobit-service/apronode/node_modules/express/lib/application.js:217:7)
    at Object.<anonymous> (/Users/archmagece/work/aprobit-service/apronode/app/app.js:22:5)
    at Module._compile (internal/modules/cjs/loader.js:1157:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1177:10)
    at Module.load (internal/modules/cjs/loader.js:1001:32)
    at Function.Module._load (internal/modules/cjs/loader.js:900:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
error Command failed with exit code 1.

에러발생 코드

app.use('/api/v2/public', require('./routes/public'))

해결

./routes/public.js 맨 아래에 다음코드 추가

module.exports = router;

export를 안했네.. 이런짓을???

노드에 익숙하지 않긴한데 에러메시지 보고 한번에 알아채지 못해서 약간의 시간낭비

React Components

컴포넌트 모음
https://github.com/brillout/awesome-react-components

Web

  • https://github.com/creativetimofficial/material-kit-react
  • https://github.com/mui-org/material-ui
  • https://github.com/designrevision/shards-react
  • https://github.com/react-bootstrap/react-bootstrap
  • https://github.com/bvaughn/react-virtualized
  • https://github.com/creativetimofficial/argon-design-system-react
  • https://github.com/palantir/blueprint
  • https://github.com/react-toolbox/react-toolbox
  • https://github.com/OnsenUI/OnsenUI
  • https://github.com/segmentio/evergreen
  • https://github.com/reactstrap/reactstrap
  • https://github.com/grommet/grommet
  • https://github.com/rebassjs/rebass
  • https://github.com/mlaursen/react-md

Desktop

  • https://github.com/gabrielbull/react-desktop

Native

  • https://github.com/jondot/awesome-react-native

Orchestration Infra

설치형

  • Kubernetes https://github.com/kubernetes/kubernetes
  • Docker swarm https://github.com/docker/swarm
  • rancher https://github.com/rancher/rancher
  • flynn https://github.com/flynn
  • mesos https://github.com/mesos/mesos
  • nomad https://github.com/hashicorp/nomad

SaaS

  • AWS ECS
  • GCP
  • AWS
  • Azure
  • Heroku

서비스형으로 쓰면 되는데 또 설치 해 보고싶고 그러면 Docker Swarm정도는 해볼만할 것 같다