Improving Lucee's QoQ Support Again- now 200% faster
Coder's Revolution - Do you want a revolution?
by
1y ago
Two years ago, I published this post detailing how I had refactored the Query of Query support in Lucee to be much better and also much faster: https://www.codersrevolution.com/blog/improving-lucees-query-of-query-support I removed the single-threaded HSQLDB callback for grouped/aggregate and distinct selects and tuned the performance. QoQ's are a bit of a polarizing feature in CFML. They've suffered in the past from poor support and poor performance which has caused a lot of people to avoid them. There are certainly places where queryMap(), queryFilter(), and queryReduce() are the best approa ..read more
Visit website
Detect if a User is Online with RabbitMQ Web Stomp
Coder's Revolution - Do you want a revolution?
by
1y ago
We're using RabbitMQ and its Web Stomp plugin for websockets for several projects at work. Using a Stomp.js library in the browser, our app users connect and subscribe to topics using their username and JWT, which we validate using a custom HTTP back end auth in Rabbit. I've recently written a rest-over-stomp module for ColdBox MVC which allows you to push the response of any Coldbox event or API call out over a websocket channel to any browser listening on that channel. This allows for the following Browser can request data and receive it async Any random server-side process can simply decide ..read more
Visit website
A quick comparison of using Python and CFML to write the same CLI tool
Coder's Revolution - Do you want a revolution?
by
1y ago
A few days ago, Joseph Lamoree posted about a cool little command line tool he wrote in Python that would scan a list of servers check check for a public facing administrator. I thought this would be a great example to compare and contrast writing the same simple command line tool in CFML using a CommandBox task runner. Here is what I came up with ..read more
Visit website
Create your own Desktop "Toaster" Popups in CommandBox Servers
Coder's Revolution - Do you want a revolution?
by
1y ago
Here's a quick one that I tried out for the first time today. Someone asked if it was possible for a CF app to have a desktop notification on the server it's running. CommandBox servers have a try icon that runs inside the JVM of the server that can create popups and even Swing windows. Turns out, it's actually really easy to tap into this to get a toaster popup on your desktop ..read more
Visit website
Improving Lucee's Query of Query Support
Coder's Revolution - Do you want a revolution?
by
1y ago
One of the really great features of CFML is the ability to run SQL against a result set in memory. This allows you to union separate results together or even apply additional filtering on an exiting result if you can't control what the DB gives you. Like everything, there is a time and a place for this. There are people who strongly dislike QoQ (query of queries) but my take is that I think they're great when used with relatively small data sets and unless performance profiling shows they are causing issues, I have no problems using them ..read more
Visit website
Who's had more vulns, take 3: Java, ColdFusion, ROR, .NET
Coder's Revolution - Do you want a revolution?
by
1y ago
There's a fair amount of disingenuity, or perhaps just willful ignorance to the statistics here and I talk to a lot of people who are astonished that CFML is still in use due to the alleged massive numbers of vulnerabilities. One would think simply touching the code might give you rabies. SomeCFers suggestedthat it's a form of "virtue signalling" by infosec professionals to throw CF under the bus, winking at each other over there shared distaste for a platform they have little knowledge of but assume sucks ..read more
Visit website
A Quick Example Of Functional Programming (FP) In CFML
Coder's Revolution - Do you want a revolution?
by
1y ago
I wasadding a feature to CommandBox CLIthis week when I typed up some code that iterated over the keys in a struct, filtering out the ones it needed and then performed an action on the matching ones. I used the functional methodsstructFilter()andstructEach()in CFML. They are an example offunctional programmingas they accept functions as input. This also means we can call them "higher order" functions. But termininologo aside, I typed up the same code using an older interactive approach just to compare the too. It was an interesting and rather self contained example so I thought I'd share it as ..read more
Visit website
Connect To SQLite DB using CFML via CommandBox Task Runners
Coder's Revolution - Do you want a revolution?
by
1y ago
Here's a quick trick on working with a SQLite DB from CFML quicky and easily. I was playing with the SQLite DB that the original .NET version of GitHub for Desktop and I wanted to access the db file from the CLI to query data and manipulate it. The steps where very easy The very first step was the easiest, and this was to create a blankCommandBox Task Runner: task create --open ..read more
Visit website
Using OSGI To Load A Conflicting Jar Into Lucee Server
Coder's Revolution - Do you want a revolution?
by
1y ago
This post falls in the category of something that took me several hours to figure out and other people are not likely to figure it out on their own and I'm likely to forget it if I don't write it down! The problem is if you have a jar file with some 3rd party library that you want to use in Lucee. Often times this works great, but other times the dependencies of that library may conflict with other jars already loaded into the classpath for Lucee, its bundled libs, or the servlet container ..read more
Visit website
Using Adobe cf_scripts in CommandBox behind IIS/Boncode
Coder's Revolution - Do you want a revolution?
by
1y ago
This post falls in the category of something I hammered out for a client today and I thought to myself, "Wow, that's just obscure enough that no one would probably figure it out on their own." As such, I figured I'd put it into a blog post for Google to index and for me to point people to in the future. If you use any of the CF UI tags, CFChart, CFForm, or CFAjax functionality, then you need to have some web accessible JS, CSS, etc files for it to function. In older versions of CF, this was under the /CFIDE folder which wasn't very cool since it made it harder to block access to that folder by ..read more
Visit website

Follow Coder's Revolution - Do you want a revolution? on FeedSpot

Continue with Google
Continue with Apple
OR