* | [Online Peer Evaluation & Peer Feedback System]_ |
Resources Bin
This is a collection of useful resources that can help TEAMMATES developers. It is a list of references that you can pick from, depending on the knowledge required for your role in the project.
You can contribute to this document by submitting more/better resources. Please use the issue tracker to submit new resources or report problems with existing ones.
General reading
Deployment environment
Google App Engine (GAE)
Java
Development environment
Eclipse IDE for EE developers
Google App Engine Plugin for Eclipse
Google App Engine SDK
Git
GitHub
Markdown
Design
Implementation
General
JSON (JavaScript Object Notation)
Gson
UI
General
IDE
HTML
JavaScript
CSS
jQuery
Bootstrap
AJAX
Java Servlets
Java Server Pages (JSP)
Java Server Pages Standard Tag Library (JSTL)
Storage
Java Data Objects (JDO)
Datanucleus Access Platform
Testing
General
Test Driven Development (TDD)
Testing GAE applications
Selenium
JavaMail
TestNG
QUnit
NekoHtml
EclEmma
JSCover
Documentation
Security
Scalability and Performance
Background knowledge
Process
Marketing
General reading
Deployment environment
Google App Engine (GAE)
- The GQL query to retrieve an object by its primary key should look like this:
SELECT * FROM Course where __key__=KEY('Course', 'CS1101')
Above example retrieves a Course object having the key CS1101. Note that there are two underscores each around ‘key’ (i.e. __key__ , not _key_ ). Â
Java
- If you are a beginner: Java tutorials from Oracle. There are many other online resources for learning Java.
- If you are an intermediate Java programmer:
- Effective Java, by Joshua Bloch - This is a must-read for all serious Java developers.
- Java coding style guide is given in the DevMan.
Development environment
Eclipse IDE for EE developers
Useful keyboard shortcuts:
- Open a file without navigating the project explorer: Press Ctrl+Shift+R and start typing the name of the file
- Use Ctrl+F to auto-format code. Note: Remember to format only the section of the code that you modified. Wholesale auto formatting can create unnecessary merge conflicts.
- To bring up the List of available shortcuts Ctrl+Shift+L
- To switch tabs: Ctrl + Page Up, Ctrl + Page Dn
- More keyboard shortcuts
- Top 10 not so popular shortcuts Â
Useful plugins:
- Jautodoc - A tool to help writing javadoc comments
Tips: Â Â Â Â Â Â Â Â
Google App Engine Plugin for Eclipse
Google App Engine SDK
Git
Tutorials:
Tips:Â Â Â Â Â Â Â Â Â
GitHub
Markdown
Design
- Some general design patterns and principles                                        Â
- Google talk How To Design A Good API and Why it Matters by Joshua Bloch (video) (slides) (summary)
Implementation
General
Exceptions
Assertions
Note that TEAMMATES does not use normal assertions because they are not allowed on GAE. Instead, we use our own Assumptions class to emulate assertions.
Regular expressions
Regular expressions are also useful when using the ‘find and replace’ feature in Eclipse.
- ‘word1[\s\S]*word2' or 'word1[\s\S]*?word2' for a non-greedy search : to find a phrase starting with word1 and ending with word2.
JSON (JavaScript Object Notation)
UI
General
IDE
HTML
JavaScript
CSS
LESS
Bootstrap
AJAX
Java Servlets
Java Server Pages (JSP)
Java Server Pages Standard Tag Library (JSTL)
Storage
Datanucleus Access Platform
Testing
General
Test Driven Development (TDD)
Testing GAE applications
NekoHtml
Download JSCover.
Use the File-System mode to instrument the code.
Copy over the files in the test/javascript folder to the *same folder* containing the instrumented code.
Modify the AllJsUnitTests.html file to point to the instrumented JS files.
Follow instructions in the JSCover user manual to measure coverage.
Documentation
Security
Scalability and Performance
Background knowledge
Process
Marketing
--- end of document ---