2. What is a ‘Lightning Talk’?
Lightning talks are designed to be short presentations between
five and ten minutes…
…to be able to share their ideas and concepts to people who have
experience in the specific field…
…requires the speaker to make his or her point clearly and rid the
presentation of non-critical information…
This causes the audience to be more attentive to the speaker and
gain a broader array of knowledge from the presentations given…
- Wikipedia
3. Getting the most out of IntelliJ
• Use Alt-Enter to fix things - don’t distract yourself
• ‘annotate’ option for viewing git history - useful to find out what commits a file changed
in*
• Turn off tabs - they slow you down. Use Ctrl-E (recent opened), Ctrl-Shift-E (recent
edits)*
• Bookmarking is better than tabs*
• @formatter for preserving formatting - everyone loves that one… not!*
• Heaps of other tips: (See Hadi Hariri - Developer Advocacy Lead @ Jetbrains):
https://blog.jetbrains.com/idea/2015/10/intellij-idea-tips-and-tricks/*
4. U and Me (should) Love this
• UML tools abound… some better ones are proprietary (e.g.
Enterprise Architect (Win/Linux) or x-platform like StarUML.
Problem: $ Pay-walled/licence costs.
• Many require GUI plugins or standalone tooling.
• PlantUML is a nifty tool for whipping up diagrams quickly.
• Intuitive and rich DSL/markup.
• Uses GraphViz (graphviz.org) to render the markup*
5. Don’t get aggravated. Get
aggregated with aggregator POMs
• Group related modules together to conveniently do something with
them e.g. build/package an app.
• Useful for single-click clean and installs in IJ.
• Candidates: standalone apps (web), iConnect WS app.
• Example: Front End public web app: rego-wicket-soa, regosoa-
common, rego-web-common. Back-end (rego.ear): rego-ear,
regosoa-common, rego-service-jiver, rego-common.
• Could (should!?) be versioned in AD4B.
• Although not included in the parent POM so only built ad-hoc as
needed like during development via IJ.
6. Git: Interactive
Rebasing
• Changes not public?
• Commit history is messy / not descriptive enough?
• Want to do something about it? A: Use git rebase -i
• Actions on commits: Combine (squash), remove, edit msg, etc..
Example - 3 text files - not happy
with commit msgs… Full Demo
7. Server logs
• Served over http (Apache Http Server)
• Often large 10’s of Mb so slow to view in browser.
• Pull for offline use. UAT example:
wget --user=uat --password=rego.uat http://regotestapp01.dev.act.gov.au/restricted/logs/purple/rego-debug.log
9. Useful online tools
• devdocs.io - doco tool with typeahead for heaps of langs/tools/
DSLs.
• Stack overflow documentation (Beta)*
• Velocity/Zeal documentation browsers*
• JSFiddle (html/js/css) - share these around nay collaborate.
• Groovy console for quickly checking something e.g.
SimpleDateFormat or java.time api experimentation.
10. Misc tools
• One editor to rule them all - Atom or Visual Studio
Code - syntax for HEAPS of langs, markups,
DSLs, etc..
• Ditto - clipboard manager - very useful for
repetitive copy and paste during testing.
11. this::conclude
• Slides are on wiki - under TBA!
• Suggest topics for next lightning talk: FindBugs,
Logging tools/viewers, documentation browsers,
more tips/tricks