Microservices and exception handling in Java with Feign and reflection
Update 2016/12/10: It’s now on Maven central! I’ve added some precisions below but I have left the post mostly intact for historical purposes.
Update 2016/07/08: The project is now available on GitHub! I plan on making it more generic before publishing it to Maven, I’ll update this post soon with the new details.
Exception handling across microservices can be tedious, let’s see how the Java reflection API can help us ease the pain!
Typescript Dependency Injection and Decorators
In July 2015, Microsoft announced the release of Typescript 1.5, introducing decorators, based on the ES7 decorator proposal. I had to test it!
Template-ish method pattern using java 8
In the Usage Analytics service, there is a layer that validates if a user is allowed to perform the requested action. This should not be a surprise for anybody as all applications have some kind of security or permission check somewhere. Since the UA service is built in a layer architecture, that’s the job of the permission layer. The code is pretty boilerplate and very similar for all the different calls. It follows this logic :
Extract user identity and account from token
Check if the user has the required permissions
If he does, call the service layer
If he doesn’t, throw an exception
Blitz - The story behind this year’s challenge
This year was the sixth edition of Coveo Blitz, our classic programming contest for students. The original purpose of the event is to find great, passionate developers and show them how fun, passionate, and driven our team is. We had the idea to step out of our comfort zone this year and focus on what we’ve learned in the last editions.
Opening a Sitecore Dialog from a Bookmarklet
When developing dialogs, wizards and applications in Sitecore, a developer would have to open them many times per day. When the action to open them requires more than one click, a lot of time will be lost.
Wouldn’t it be nice if one could open a dialog from the browser console command line or a bookmark?
Using React JSX with TypeScript
In the last months, we experienced with React and we enjoyed it a lot. As you may know, all Coveo’s web applications are built using TypeScript, so with the release of TypeScript 1.6 announcing support for React JSX syntax, we were stoked!
Coveo JavaScript UI for Newcomers
The new Coveo JS UI has been available for a while now. How about getting off to the right start? Well you’re at the right place, here is a tutorial on how to configure and use the new Coveo JS UI.
Dreamforce Session Explorer - The story behind the app
As some of you guys may know, Dreamforce is one of the biggest event in the enterprise software industry. For the #DF15 edition, we wanted to do a little something different than what we had done previously.
Troubleshooting memory issues with CESService7
Sometimes CES Service has memory issues and developping a way to fix memory issues with it was way needed.
By default, CES Service 7 should not use more than 50% of the RAM. This way, CES won’t monopolize all the available resources. However, sometimes the CES service is going to take more than 50% of the total RAM. The best way to find out why the service has this behavior is to create dump files.
More Hackathons at Coveo
We should really try this new technology…
It would be really cool if we could integrate these two components…
I’ve got a new idea on how we could solve this problem…
… but I don’t have time to do it.
How often do you hear this sort of statement? At Coveo, we hear it every week. Not because we’re overworked, not because we do not take the time to do things correctly. We hear this simply because we have a lot of ideas.