Matt RaibleMatt Raible is a writer with a passion for software. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Tomcat's Ant Tasks

Since I hold the top 3 spots on Google for Tomcat's Ant Tasks, I figured it was about time I figured out how to use them. So I did - you can read the How-To on my wiki. They're pretty slick now that I have them working. The real power (as I see it) is that ability to install a WAR on a server other than localhost. Does your appserver have Ant tasks to ease your deployment headaches? If so, I'd like to hear about them.

I also upgraded to DBUnit 2.0 and JSTL 1.0.5 today. They seem to be good releases - all my tests run without errors.

Posted in Java at Jan 30 2004, 07:20:30 PM MST 1 Comment

Want to use Struts with EJBs?

If you're looking to use EJBs in your Struts project - you might want to take a look at StrutsEJB on java.net. I have no opinion on this project, just thought I'd provide a little visibility.

Posted in Java at Jan 30 2004, 08:27:34 AM MST 2 Comments

Ant 1.6.0 with Canoo's WebTest and AppFuse

If you want to use Ant 1.6 with Canoo's WebTest, you'll need to patch the source. Many thanks to Paul Kavanagh for providing the patch - I hate it when I can't upgrade to the latest release. Since AppFuse relies on WebTest for running its JSP tests, you must patch webtest to use Ant 1.6. Or you can can just download webtest.jar and put it in your lib/webtest*/lib directory. This is the from the latest version of WebTest's CVS (build 379 is the latest release used in AppFuse).

Posted in Java at Jan 29 2004, 01:43:00 PM MST 1 Comment

What's new in Tomcat 5

Want to know what's different between Tomcat 4 and Tomcat 5? If so, you should check out this article. I haven't read it (yet), but I hope to soon. Today, I was planning on working from home, plowing through my stuffed head and headache with the power of DayQuil. However, Julie had to run into work (she stayed home with Abbie yesterday, who is also sick). So Abbie and I are going to be sickos together all morning. The problem is that Abbie doesn't know she's sick - she's still happy as a pig in sh*t and wrecking the place. I'd better go and stop her...

Oh wait - Telletubbies just came on - she's mesmerized, that gives me a half hour. I'd love to work on AppFuse, there's never been more stuff I'd like to integrate. Here's a list of stuff waiting for SF's CVS to get it's act together:

  • Start integrating Spring.
  • Various bug fixes as reported by users.
  • Charles' persistent cookie strategy.
  • WebTest patch to work with Ant 1.6.0.
  • Figure out how to run AppFuse on JBoss - thanks to Rick Hightower and Brian Topping (on the roller-user mailing list) this should be pretty easy.
  • Figure out how to run AppFuse on Orion - I got an e-mail yesterday with some hints, so this shouldn't be too hard either.

As far as SourceForge's CVS, if you were to checkout AppFuse right now, you'd get the latest code, but you'd also get a bunch of files I deleted ages ago. I submitted a bug - here is the response I received:

This issue (file present both Attic and non-Attic) would have been caused by a file removal between the time of our full repository sync and the update sync; or by outdated data being present after our initial sync (due to a sync bug) -- both possible cases with our recent systems upgrade. We are presently in the process of generating a list of such duplicates (using a set of scripts we wrote) and will perform a clean-up of this issue once the script run completes. Additional information will be posted to this request no later than 2004-01-30. Your patience is appreciated.

Back to babysitting, Abbie's getting bored with Telletubbies.

Posted in Java at Jan 29 2004, 09:21:48 AM MST Add a Comment

RE: Mock Shmocks!

After I finished reading Open Source Programming and all the of the feedback from my Mock Shmocks post, I've realized that I need to learn more about Mocks. I need to learn how to streamline my TDD process. It's just taking too long right now. So where do I go from here? AppFuse currently contains, from what I can tell, only integration tests. All the tests depend on the database or the container to run. It works great, and all of AppFuse's tests complete under 3 minutes, but obviously this time increases as the project grows. So should I remove some integration tests and replace them with unit (mock) tests? If so, which ones? Should UserDAOTest talk to the database, but LookupDAOTest only use a Mock? How do you decide which tests should be real (integration) and which tests don't need to be (mocks)?

If the answer is "create a unit tests to sit next to each one of your integration tests" - then that seems like a waste of time. Am I supposed to have 2 *Test.java classes for each real class? I need a book that'll explain all of this and make me the TDD guru I long to be.

Even if I figured out all the answers to the above questions - which package should I use? There's a whole slew of them: Mockrunner, MockObjects, EasyMock and jMock. How do you decide? It's easy when testing Java classes - you use JUnit. When you want to test servlets, you use Cactus. Why all the choices for Mock testing?

Posted in Java at Jan 28 2004, 10:18:17 PM MST 6 Comments

Tapestry vs. Struts

I've been watching the Tapestry mailing lists in hopes of picking up some tips before I start learning it. In reality, I'm waiting for Tapestry in Action, which will hopefully make it easier to learn. Today, there was a very interesting thread comparing Tapestry to Struts. It looks to me that Tapestry is easier to develop with once you get the hang of it, but apparently, it has a steep learning curve.

The Tapestry Mailing list is interesting - it seems to have a different level of users. Maybe it's just me, but they seem to be a more enlightened crowd. You could almost say the same for the WebWork mailing lists. If I compare these two lists to the questions on the Struts mailing lists - it seems like there's a bunch of idiots over there (on Struts). Don't these people know how to use Google?! To be fair to Struts, I have a theory.

If WebWork or Tapestry ever becomes as popular as Struts, they'll get their fare share of idiots too.

It's just the nature of mailing lists - it's so much easier to ask your question than to look for the answer. Which reminds me...

Don't ask dumb questions...

Posted in Java at Jan 28 2004, 09:51:15 PM MST 2 Comments

Daisy the Cat, R.I.P.

Daisy the Cat Most of you won't care about this, but I need to write it down so I know the day that Daisy died.

Today was one of the first days we had a to make a real sacrifice as parents. Daisy was a cat that Julie had when I first met her. When Julie got Daisy, she was so small she could fit in the palm of her hand. Daisy was weaned too early from her mother (who was killed by a snake), so she had a personality disorder. Basically, she was mean and hated other cats. Daisy hated all the guys that Julie had ever dated (in college), until she met me. Julie knew it was special when she saw Daisy didn't hate me. Daisy traveled with us from Florida to Colorado when Julie moved here. She lived with us in our one-bedroom apartment, moved with us to our first house, and was a great cat for Abbie's first year.

Even though Daisy was mean, she was also the nicest cat I'd ever met. She'd always cuddle up on my lap when I watched TV or when I was working on the computer. You just had to watch out when you walked - she was an ankle biter. For the last year, she's been a pretty good cat with Abbie - just sitting there when Abbie poked and prodded. However, in the last month, she's started to fight back and has bitten and scratched Abbie quite a few times. My take on it was "good - Abbie should learn not to mess with the cat." Besides, Abbie wasn't crying - so it couldn't hurt too bad. Julie had a different take on it - especially since the folks at day care asked where the scratches came from.

When I got home tonight, Julie was in bed with Abbie at 7:00. "7:00!?" I thought, "that's a bit early." Then Julie told me "today was a very bad day" and she proceeded to tell me that they took Daisy in to the pound. Damn - my favorite cat. Ever. Gone. They got a new one, but it won't be ready until tomorrow. I want Daisy back, she was the bomb.

Posted in General at Jan 28 2004, 08:15:37 PM MST 12 Comments

Easy IIS and Tomcat integration

I found a nice installer for integrating IIS and Tomcat today. It uses the Isapi redirector jk 2.02. My current client is a Windows shop - so stuff like this is nice. I did find that I had to install Tomcat using the .exe installer, vs. extracting a .zip file. I also had tried to get the 1.2.5 version of the connector working manually - so in the end, I had to blow away both Tomcat and IIS to get this sucker to work. But if you're setting up a brand new machine, I imagine this installer will come in quite handy.

Posted in Java at Jan 27 2004, 03:37:00 PM MST Add a Comment

I've been bitten

I woke up in the middle of the night last night with a pounding headache and a clogged noggin'. I felt like shit, plain and simple. I killed my 4:00 a.m. alarm and slept until 9:00. I IM'ed in sick to work and I've been on the couch all morning. I still have a headache, and have lost all motivation to do anything computer-related. It's actually a nice feeling - I feel free, even with the headache.

Posted in General at Jan 27 2004, 12:15:04 PM MST 3 Comments

Exposé for Windows

I love Panther's Exposé application. It's by far my favorite OS X application - I even find myself longing for it when using Windows. Could the wait be over? I stumbled upon WinPLOSION today, which looks (to me) to be Exposé for Windows. Anyone tried this thing. At $10, it's probably worth finding out if it works - but I'd thought I'd ask y'all first.

Posted in Mac OS X at Jan 26 2004, 02:37:18 PM MST 16 Comments