Use go get -u github.com/michilu/boilerplate.
OR
$ git clone --depth=1 https://github.com/michilu/boilerplate.git
$ cd boilerplate
$ make- Go 1.14 Release Notes - The Go Programming Language
-
Goroutines are now asynchronously preemptible. As a result, loops without function calls no longer potentially deadlock the scheduler or significantly delay garbage collection.
-
-
Package google.protobuf | Protocol Buffers | Google Developers require
libprotoc==3.11.3,$ brew upgrade protobuf -
Protocol Buffers Version 3 Language Specification | Protocol Buffers | Google Developers
-
envoyproxy/protoc-gen-validate: protoc plugin to generate polyglot message validators require
==v0.1.0 -
protocolbuffers/protobuf: Protocol Buffers - Google's data interchange format
$ brew install protobuf -
uber/prototool: Your Swiss Army Knife for Protocol Buffers
$ brew install prototool -
mitchellh/gox: A dead simple, no frills Go cross compile tool
-
robertkrimen/godocdown: Format package documentation (godoc) as GitHub friendly Markdown
-
sanbornm/go-selfupdate: Enable your Go applications to self update
$ go get -u github.com/cheekybits/genny
$ GO111MODULE=on go get -u github.com/rjeczalik/interfaces/cmd/interfacer-
make -
make golangbuild Go code -
make protogenerate Go codes from proto -
make generategenerate Go codes via go-generate -
make gox: cross compile -
make channel: push out self update files to develop channel -
make release: push out self update files to release channel -
make uml: generate PlantUML from Go codes -
make godoc: generate GoDoc from Go codes -
make gopherjs -
make serve -
make clean: clean up
$ ./assets/daemon/loop ./boilerplate --debug --verbose --trace --profiler --update runEach directory contains:
domain: Domain Service, Domain Rule, Entity, Value Object, Repository Interface- Layered architecture: Domain
- Hexagonal architecture: Domain Model
- Onion architecture: Domain Model, Domain Service
- Clean architecture: Entities
application: Application, Handler of Entity/Value Object, Dataflow- Layered architecture: Application
- Hexagonal architecture: Application
- Onion architecture: Application Service
- Clean architecture: Use Cases, Controllers
infra: Repository- Layered architecture: Infrastructure
- Hexagonal architecture: Adapter
- Onion architecture: Infrastructure
- Clean architecture: Gateways
presentation: Endpoint- Layered architecture: User Interface, Presentation
- Hexagonal architecture: Adapter
- Onion architecture: User Interface
- Clean architecture: Presentaters
usecase: Use Case, Requirements- The context in Agile software development, not DDD.
NOT the Event Sourcing System.
$ make deploysee: https://app.wercker.com/<organization>/<application>/environment
FIREBASE_PROJECT: needs by the deploy step. see: https://console.firebase.google.com/FIREBASE_TOKEN: needs by the deploy step, viafirebase login:ci. see: https://github.com/firebase/firebase-tools#using-with-ci-systemsNETLIFY_BRANCH_DEPLOY_SITE_ID:API ID(UUID4)on https://app.netlify.com/sites/<site-name>/settings/generalNETLIFY_TOKEN: https://app.netlify.com/account/applications/personalSLACK_TOKEN: needs by the 'slackcli' command. see: https://api.slack.com/custom-integrations/legacy-tokensSLACK_URL: needs by the 'slack-notifier' step. see: https://slack.com/apps/A0F7XDUAZ-incoming-webhooks
see: https://app.wercker.com/<organization>/<application>/workflows
- mitchellh/gox: A dead simple, no frills Go cross compile tool
- sanbornm/go-selfupdate: Enable your Go applications to self update
- PlantUML - Visual Studio Marketplace
- kazukousen/gouml: Automatically generate PlantUML from Go Code.
go get -u github.com/kazukousen/gouml/cmd/gouml
- kazukousen/gouml: Automatically generate PlantUML from Go Code.
- XML Pretty Print
:
7,196,874 bytes: 100%: $ gopherjs build
4,661,791 bytes: 65%: $ gopherjs build --minify
- UglifyJS 3: https://github.com/mishoo/UglifyJS2
:
4,547,810 bytes: 63%: $ gopherjs build --minify && uglifyjs
4,274,152 bytes: 59%: $ gopherjs build --minify && uglifyjs --compress
3,843,890 bytes: 53%: $ gopherjs build --minify && uglifyjs --compress --mangle
Add upstream:
$ git clone git@github.com:michilu/boilerplate.git .
$ git remote add upstream https://github.com/dart-lang/angular.git
$ git checkout upstream/master
$ git subtree split --prefix=examples/hacker_news_pwa -b examples/hacker_news_pwaSync to upstream:
$ git fetch upstream master
$ git checkout upstream/master
$ git subtree push --prefix=examples/hacker_news_pwa origin examples/hacker_news_pwa
$ git checkout upstream
$ git subtree pull --prefix=app origin examples/hacker_news_pwaref:
Add upstream:
$ git remote add googleapis https://github.com/googleapis/googleapis
$ git fetch --depth=1 --no-tags googleapis
$ git checkout googleapis/master
$ git subtree split --prefix=google/type -b google/typeAdd subtree:
$ git checkout dev
$ git subtree add --prefix=vendor/github.com/googleapis/googleapis/google/type google/typeSync to upstream:
$ git fetch --no-tags googleapis
(TBD)
$ git subtree pull --prefix=vendor/github.com/googleapis/googleapis/google/type origin google/type
