Contents
  1. 1. Java
  2. 2. Java Data Access
  3. 3. Design Patterns
  4. 4. Java Web MVC
  5. 5. System Business Functions
  6. 6. Web Frontend
  7. 7. Database
  8. 8. References

Java

  • Java basic grammar.
  • Object-oriented programming.
  • Custom annotations. @JsonIgnore.
  • Select appropriate collection data types.
  • Generic programming.
  • Functional programming and stream.
  • Concurrency programming and thread safety.
  • Network programming. Socket, NIO.
  • Internationalization.
  • JVM tuning.
  • Java Security. Encryption, SSL.

Java Data Access

  • Data persistence with ORM.
  • Database transaction. Transaction isolation level.
  • Optimistic and pessimistic locking.
  • User data permission.
  • Page searching.
  • Cascade delete.

Design Patterns

  • Clean code.
  • Design patterns (Singleton, proxy).
  • IoC.
  • AOP.
  • Classes design principles (SOLID).
  • Classes relationships (generalization, aggregation, association).
  • Tests. Unit tests.
  • Logging.

Java Web MVC

  • Controller parameters to Java model.
  • Controller data validation. (To prevent dirty data persistence)
  • Controller exception handling.
  • Encapsulation. (Return message, exception class)
  • Filtering HTTP requests.
  • User authentication and authorization.
  • Web application server lifecycle event listeners.
  • File upload and download.
  • HTTP, HTTPS.
  • Data Privilege. (Backend filter data)
  • Operation Privilege. (Frontend hide buttons. Backend check privileges to allow operations.)

System Business Functions

  • Sign up, sign in, sign out
  • User, role, privilege

Web Frontend

  • General
    • Custom JSP form tags. <form:select>
    • Custom JavaScript functions. proj.confirm(), proj.loading(), proj.getDictLabel(), proj.success(message), proj.openDialog()
    • Prevent form repeat submit.
  • Management System
    • List page
      • Page table list.
      • Tree menu and table list.
      • Search.
      • Delete and batch delete.
    • Add/Edit page
      • Form validation.
      • File upload form.
      • Form submit.
      • Ajax and async request.
      • Events. click(), change().
      • Multiple form input elements related update.
      • One to many add/edit.
      • Form Elements
        • Input text, hidden, password
        • Radio
        • Checkboxes
        • Select
        • File
        • Input Submit, Reset
        • Textarea
        • Rich text editor
        • Date Time picker
        • Multiple Group Select Picker
        • Select Picker with Search
        • Input Tags
  • UI Framework
    • Layout
    • Basic Widgets (Components)
      • Button
      • Form
      • Navigation
      • Tab
    • Widgets (Components)
      • Alert
      • Date picker
      • Table
      • Tree
      • Transfer
    • Icons
    • Themes

Database

  • RDBMS database deisgn.
  • RDBMS indexing.

References

Contents
  1. 1. Java
  2. 2. Java Data Access
  3. 3. Design Patterns
  4. 4. Java Web MVC
  5. 5. System Business Functions
  6. 6. Web Frontend
  7. 7. Database
  8. 8. References