- easyJSON : Fast JSON serializer for golang (https://github.com/mailru/easyjson).
- goadesign/goa : Design-based APIs and microservices in Go (https://goa.design).
Last active
January 20, 2019 20:55
-
-
Save saniales/18e137cf2da72180060e41cfc584a57c to your computer and use it in GitHub Desktop.
Example of optimizing generated goadesign/goa by adding easyJSON to app/user_types and app/media_types
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# assumes pwd is your root folder | |
echo "Running goagen to create generated goa code" | |
goagen app \ | |
-d your/project/import/path/design \ | |
-o . | |
echo "Running goagen to create generated goa controllers (if necessary)" | |
goagen controller \ | |
-d your/project/import/path/design \ | |
--app-pkg your/project/import/path/app \ | |
--pkg controllers \ | |
-o ./controllers | |
echo "Generating optimized easyjson structs" | |
easyjson -all app/user_types.go app/media_types.go | |
echo "Generating Swagger documentation files" | |
goagen swagger -d tryvium.io/booking-platform-backend/design |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
// go:generate path/to/your/easyjson_optimization.sh | |
// ... | |
// Your goadesign/goa main code | |
// ... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment