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.
You searched this site for "free sex movies for men non blog". 1,227 entries found.

You can also try this same search on Google.

Off to Vegas

I'm leaving for Vegas in a couple hours to attend TheServerSide Symposium. It should be a good time, mostly because it's in Vegas - but also because there's going to be a lot of folks to network with and some good sessions to attend. My only goal for this whole 3-day vacation is to attend 5 sessions. I should be able to get most of those in today, so I can sleep in and goof off tomorrow. Of course, since it's Vegas, I might still be up tomorrow when the sessions start. ;-)

Thanks to SourceBeat for the free trip to Vegas!

Posted in Java at Mar 03 2005, 03:47:59 AM MST 3 Comments

Fun with jWebUnit and Canoo WebTest

For the past few days, I've been messing around with jWebUnit and Canoo WebTest at my "day job". I say messing around because I've mainly been trying to overcome perceived bugs with both projects. I'm used to using Ant and both of these libraries "just work".

The problem I had with jWebUnit is that the setOption(selectName, optionLabel) didn't work for me. This turned out to be some sort of conflict with SiteMesh, and when I commented out the SiteMesh <filter-mapping>, everything worked as expected. This is quite strange since I use SiteMesh+jWebUnit with Equinox. I tried to reproduce the problem with Equinox by adding a <select> with <option> elements, but it all worked fine there. I'd blame it on Maven, but I was running my tests from IDEA. As a workaround, I subclassed SiteMesh's PageFilter and stopped processing when the user-agent.startsWith("httpunit"). This is very similar to the JCIFS and jWebUnit workaround we're using.

Before I figured out the jWebUnit/SiteMesh issue, I decided to try my favorite UI testing tool: WebTest. Since we're using Maven, I figured the Maven Canoo Webtest Plugin would be the way to go. This took me about a day to get working (so much for the ol' 10 minute test). Most of the problems where related to the fact that setting the properties didn't seem to have any effect. I ended up writing my web-tests.xml much like I would with Ant - with taskdefs and importing project.properties for the properties to take effect. Last night, after I couldn't get webtest to click a button, I decided to try the same XML file with Ant. I dropped it into AppFuse, changed a few settings and voila! - it all worked! "WTF?" I thought to myself. Turns out the Maven Plugin is from October 2004 and is based on build 543. I ended up rebuilding the plugin to build 733 and then everything worked fine. Here's the patch.

Now that I got them both working, I'm leaning towards using jWebUnit because I can use Java to get the last inserted id (for fullying CRUDing an object). With Canoo, I'd have to use our query interface, add a feature to sort by id (or somehow get the last record added), then click on it to edit the new record. To make matters worse, the API we're talking to right now let's us add records, but we can't fetch them back - no matter what we query by. We've tried both the web services interface and the EJB one with the same results.

Ahhh, the life of an enterprise developer - trying to make 3 systems talk to each other and all of them have broken (or non-existent APIs). For one system, we're actually going through their web interface with httpclient to do CRUD on records!

Posted in Java at Mar 01 2005, 05:09:59 PM MST 5 Comments

Hibernate vs. iBATIS

There's an interesting thread taking place on the iBATIS User Mailing List. The basic jist of the responses are: Hibernate works well when you control the data model, iBATIS works well when you need to integrate with an existing database. I've said this for a couple years now, and I still believe it. Furthermore, I've found that when working with iBATIS, I tend to know what's going on a lot more. After all, it's just SQL. From all the questions on the AppFuse mailing list, it seems like a lot of Hibernate users are constantly trying to get Hibernate to "work its magic" and handle all their relationships for them.

I wonder if newbies would be better of using iBATIS? Using iBATIS, there isn't a whole lot of magic, and you get full control over the SQL - which would likely be easier to understand. Maybe I should create a "newbie" version of AppFuse - where the frameworks uses are the easiest to learn or most documented. It'd probably be Struts+Spring+iBATIS, or maybe just Spring+iBATIS so I could sell more copies of Spring Live. ;-)

Posted in Java at Feb 28 2005, 07:10:25 AM MST 38 Comments

Rails is 8 times slower than Spring+Hibernate

Might as well start off this week by getting people's blood boiling. ;-) According to a comment on Dion's blog:

Having done extensive performance (scalability means different things to different people) testing on both Rails and a comparable Spring/Hibernate/JSP2 webapp (no one seems have have done any sort of benchmarking on Rails, or they simply don't care, I don't really know, but since benchmarking is what I do... :-)) I can say that Apache2/FastCGI/Rails is about... 8x slower than the comparable Tomcat/Spring/Hibernate/JSP2 solution. And that is with caching turned on in Rails (using Rails 0.9.5...)

Quite frankly, 62 req/s on a Dual Opteron with 4GB of RAM rendering a simple view with no DB access is too... damn slow.

Personally, I still think Rails looks like a great (and easy) way to develop webapps. I just wonder if there's some truth to the "can't scale" argument. I guess the best way to find out is for me to develop an application like AppFuse with Rails, and then hammer it (and AppFuse) with JMeter to see what kind of results I get.

On a sidenote, I wonder when Rails will hit the illustrious version 1.0? They released 0.1 last week - which is a bad version number for marketing. If it's as mature as folks claim, why not make the next release 1.0? That version number alone will likely allow developers to use it more in big companies.

Posted in Java at Feb 28 2005, 06:25:27 AM MST 15 Comments

Table-less forms for your webapp

The Man in Blue has some nice form layouts using fieldsets, labels and CSS. I think I'll integrate one of these styles for the forms in AppFuse. I've always stuck with tables for layout because it seemed easy, but I really like the look and flexibility that CSS provides.

Posted in Java at Feb 26 2005, 03:53:01 PM MST 6 Comments

JBoss ClassLoader Logic

Is there any logic to how JBoss puts all WARs, EARs and their accompanying JARs into the same ClassLoader? It seems logical that I should be able to deploy different versions of a JAR in different WARs. This works fine on Tomcat, but doesn't seem to on JBoss. Is there someway to turn this segmentation on?

Posted in Java at Feb 25 2005, 08:00:36 AM MST 11 Comments

Going to Redmond

I've decided to attend the Microsoft Conference in a few weeks. The good news is I got approval (from Microsoft) to blog the whole thing - even during the event. So you, my dear readers, will know as much as I do after this shindig. Furthmore, they agreed to let me cut out early. My sister's birthday is St. Patty's day (Thursday) and she's going to pick me up so we can head to my parents (in Oregon) for the weekend. A couple days with the folks and then I fly back to Denver on Saturday. Sounds fun.

Posted in Java at Feb 21 2005, 03:02:05 PM MST 2 Comments

RE: Ruby on Rails Koolaid

David Geary on Ruby on Rails:

Interestingly enough, ROR creates default views for your db tables. Cool. But after I thought about it for a minute, I came to the conclusion that that feature is certainly close to useless: It's nice to get you up and running, and great for seductive demos and articles, but you're going to override at least 100% of the views that ROR generates. And therein lies the rub...

...because views in ROR are a mixture of HTML and Ruby scriplets! We've been there before, of course, in the early days of JSP with HTML mixed with Java scriptlets. No thanks, I'll pass on that giant step backwards.

I've thought about this myself. I think David is right, but only to a certain point. Ruby on Rails (and its scriptlet-ridden views) will work until they get HTML designers in their writing Ruby code. Furthermore, when companies start off-shoring their Ruby development, that's when it gets ugly. JSP scriplets were a disaster because you had HTML developers writing Java code, and using if statements that exceeded the 64K block and such. JSP scriplets are hard to maintain when they're used and abused. I've seen a lot of code (especially the off-shored stuff) that has very ugly and unmaintanable scriplet code. However, using scriptlets in JSPs isn't a bad thing - it's only bad if you're coding business logic and/or, using lots of Java code in them, or having JSPs that are scriplet-only pages.

However, I believe Rails is a bit different. Not only does it enforce MVC from the get-go, but you can't use the views stand-alone (can you?). With JSPs and Servlets, you have the opportunity to use JSPs only - which encourages scriptlets. I do wish that Rails' templates used the ${...} syntax that JSP, Velocity and FreeMarker enjoy - the <% %> syntax brings bad bad thoughts of 1000+ line JSPs.

Oh, and one last thing - for David and Rick (the JSF-is-the-best-thing-since-sliced-bread-duo). At least Rails allows HTML in its view templates. JSF developers don't even get to see HTML anymore - poor guys. ;-)

Posted in Java at Feb 21 2005, 09:55:25 AM MST 4 Comments

Why doesn't AppFuse use Maven?

My newest reply for why AppFuse doesn't use Maven is going to be this link. Ant rocks. I still need to update AppFuse's build.xml to use all the Ant 1.6 stuff - that's scheduled for next week's late nights.

Posted in Java at Feb 17 2005, 10:38:30 PM MST 9 Comments

Is Shale ready for primetime?

Is Shale ready for prime-time and use in production applications? David Geary seems to think so:

My consulting job is pretty exciting. I'm using Shale heavily now, especially for wizards. Our application has both static wizards, for creating a new account, for example, and dynamic wizards that are generated from a description of an online-document.

Not only that, but he's going to be talking about it on the No Fluff Just Stuff tour this year.

To start the year, I'm doing three new presentations: "Shale: the next Struts", "Felix: a bag of tricks for JSF", and "Design Patterns: Tales from the server-side". Later on, I'll add two more presentations: in the near term, Killer Web UIs with Tiles and SiteMesh and a little later, a session on Laszlo.

I'm a huge believer in Shale. I have no doubt it's destined for great things, so I'm super-excited about the Shale session.

Now that I've talked about this, I'll probably be accused of caring more about Struts than the other web frameworks I use. In reality, I prefer most of the other frameworks in AppFuse and Equinox to Struts. However, at my current gig we're afraid to move from Struts because we're the only development group that hasn't fallen victim to the Big Blue umbrella. They've tried to make us use WebSphere, but we fought that off and continue to use JBoss. The fear is that if we don't use Struts, and use some lesser-known framework, they'll use that against us. That's why I like Shale - because it might be a way for me to use a more WebWork/JSF-type framework.

Posted in Java at Feb 15 2005, 07:52:33 AM MST 8 Comments