Below is content you know and love from the Pragmatic Bookshelf, optimized for learning and enjoyment on the Medium platform.
👈 19.11 ExpandoMetaClass and DSLs | TOC | Appendix 2 Bibliography 👉
A Bit of Groovy History
http://glaforge.free.fr/weblog/index.php?itemid=99
A blog by Guillaume Laforge on Groovy history.
API for FactoryBuilderSupport
http://groovy.codehaus.org/api/groovy/util/FactoryBuilderSupport.html
API for the FactoryBuilderSupport
class, which is the new base class for SwingBuilder
.
ASTTest Annotation
http://groovy.codehaus.org/gapi/groovy/transform/ASTTest.html
Groovy annotation for testing and debugging AST transformations.
Clip from Raiders of the Lost Ark
http://www.youtube.com/watch?v=Epw-LSC3L2U
Swordfight scene from the movie Raiders of the Lost Ark.
CodeNarc
http://codenarc.sourceforge.net
CodeNarc is a Groovy-based static code-analysis tool.
Crash of the Mars Orbiter
http://www.cnn.com/TECH/space/9909/30/mars.metric.02
CNN coverage of the crash of the Mars Orbiter.
Duck Typing
http://c2.com/cgi/wiki?DuckTyping
What’s…
👈 Rock On! | TOC | Bibliography 👉
3-As Pattern
http://c2.com/cgi/wiki?ArrangeActAssert
A short description of the Arrange-Act-Assert, or 3-As, pattern.
Manifesto for Agile Software Development
The website for the Agile Manifesto, which espouses some core values and practices for lightweight software development.
Angular
The website for the Angular framework.
Book Resources
http://www.pragprog.com/titles/vsjavas
Official website for this book, with links to the source code, errata, and forum for discussions.
Chai
Website for Chai, a fluent and expressive assertion library.
Express
Website for Express, a lightweight web framework for Node.js.
Express Generator
http://expressjs.com/en/starter/generator.html
A convenience tool to generate…
👈 Processing Forms | TOC | Using Helpers 👉
Your application may allow users to upload files. For example, a bug-reporting system might let users attach log files and code samples to a problem ticket, or a blogging application could let its users upload a small image to appear next to their articles.
In HTTP, files are uploaded as a multipart/form-data POST message. As the name suggests, forms are used to generate this type of message. Within that form, you’ll use <input> tags with type=”file”. When rendered by a browser, this allows the user to select a file by name…
👈 Processing Forms | TOC | Using Helpers 👉
Your application may allow users to upload files. For example, a bug-reporting system might let users attach log files and code samples to a problem ticket, or a blogging application could let its users upload a small image to appear next to their articles.
In HTTP, files are uploaded as a multipart/form-data POST message. As the name suggests, forms are used to generate this type of message. Within that form, you’ll use <input> tags with type=”file”. When rendered by a browser, this allows the user to select a file by name…
👈 Update the State with Events | TOC | What You Learned 👉
You already know how to update the application state in response to user actions. Another common scenario is updating the state based on the response from a remote server. What makes this different is that communications like this are asynchronous, meaning the server request goes on in the background while your code keeps running. Nevertheless, setState also fits the bill when you need to update the state in response to a server. As an example, we’ll add save functionality to the word counter. …
👈 What’s Available (Test Harnesses): | TOC | Key Concepts: 👉
Cobertura
http://cobertura.sourceforge.net
Cobertura (Spanish for “coverage”) is a code coverage tool. When you run a set of tests, it tells you how well tests exercise the tested code. As an added bonus, it also calculates McCabe’s Cyclomatic Complexity, one of the best metrics we’ve seen for spotting complicated code that’s sure to have bugs.
Emma
Emma is another great, very popular coverage tool.
Clover
Another code coverage tool, Clover has integrated plug-ins for most of the popular IDEs out there.
Fit
Fit takes a unique, user-friendly…
👈 Appendix 4 Continuous Integration Systems | TOC | Key Concepts: 👉
CruiseControl
http://cruisecontrol.sourceforge.net
An open-source CI system written in Java, CruiseControl has a lot of functionality and an active developer base. It’s the one we use.
CruiseControl.NET
http://sourceforge.net/projects/ccnet
CruiseControl for the .NET Framework. A somewhat different set of features than CC for Java but the same concept.
CruiseControl.rb
http://cruisecontrolrb.thoughtworks.com/
ThoughtWorks has now created a Ruby version of the original classic. Many people are latching on to this new system. Although it doesn’t have a great variety of plugins or tons of source code management support yet, it is getting…
👈 Appendix 3 Build Scripting Tools | TOC | Key Concepts: 👉
These are available on your existing operating system, but tend to be very generic and lack many of the common functions you’ll need. Use them, and you risk reinventing the wheel.
make
http://sources.redhat.com/cygwin
make comes on all modern Unix and Unix-like systems; you can get a free version for Windows at this URL.
make is the grandaddy of all the build scripts, and has been around for decades. Tools like make move you forward a little, but still force you to write your own code for many common…
👈 Appendix 2 Source Code Management | TOC | Key Concepts: 👉
CVS
A free, open-source client-server SCM. Does everything you need, but the command-line interface is a bit arcane. CVS is used by companies large and small all over the world.
Subversion
The self-avowed replacement for CVS, it does most of what CVS does, plus a lot more. Like CVS, it’s open-source and free.
MS Visual SourceSafe
http://msdn.microsoft.com/vstudio/previous/ssafe
Microsoft’s SCM, it’s integrated with a lot of their development tools and IDEs. …