Software development and operation

1. Management methods and tools

1.1. Agile software development

  • Agile software development methodology: Scrum
  • Agile Software development AIDS: JIRA, Confluence

1.2. Project management tools

  • Continuous integration tools: Jenkins
  • Automatic o&M scripting languages: Shell, Python
  • Project warehouse: GitLab
  • Project and transaction tracking tools: JIRA, DingScrum
  • Knowledge management and collaboration software: Confluence, Sparrow
  • Administration and communication: Nail nail

2. Background developers

2.1. Deployment Environment

  • JDK versions: 1.8, 11

2.2. Developer base software

  • Develop IDEA: IntellJ IDEA
  • Project building tools: Maven, Gradle
  • Code analysis tools: Check Style, FindBugs, P3C
  • MySQL Management software: Sequel Pro, MySQLWorkbench, TablePlus
  • Interface debugging software: Postman, Swagger2
  • Redis management software: Medis, TablePlus
  • UML editing software: PlantUML
  • Brain mapping software: Xmind

2.3. Programming ideas

  • Object-oriented programming
  • Service-oriented architecture
  • Remote procedure call
  • Microservices Architecture
  • Scrum agile software development methodology
  • Rest API design ideas

2.4. System back-end infrastructure

  • Basic microservice framework: Spring Cloud[Camden.sr6], Spring Boot
  • Unit testing frameworks: Junit, Mockito
  • Spring-boot-maven-plugin: spring-boot-maven-plugin
  • Test report plugin: Maven-Surefire-report-plugin
  • GIT check plugin: git-commit-id-plugin
  • Code coverage plugin: maven-checkstyle-plugin, cobertura-maven-plugin
  • Relational database: Mysql
  • Non-relational database: Redis
  • Object relational mapping: MyBatis, Spring Data JPA
  • Service Registry: Eureka
  • Service network management: Zuul
  • API Gateway Management Tool: Kong[Visual Web Platform]
  • HTTP and reverse proxy server: Nginx
  • Declarative Web Service client: Feign
  • Fault-tolerant circuit breaker: Hystrix
  • Fuse Real-time Monitoring: Hystrix Dashboard[Visual Web Platform]
  • Monitoring application indicators: Actuator
  • Service link tracing: Sleuth
  • Interface document management: Springfox && Swagger2
  • Database version management tool: Liquibase
  • Entity conversion tool: MapStruct
  • Configuration center: Spring Cloud Config
  • Serialization tools: Fastjson, Jackson
  • User authentication mechanism: JSON Web Token[JWT]
  • Authorization service: Spring Cloud Security OAuth2
  • Message queue: RabbitMQ