After building Lightrun for the JVM – an easier way to get a better grasp on production applications written in Java, Scala, and Kotlin – we’re pleased to announce the release of Lightrun’s developer-native observability platform for Python!
As software got more complex, more and more software projects rely on API integrations to run. Some of the most common API use cases involve pulling in external data that’s crucial to the function of your application. This includes weather data, financial data, or even syncing with another service your customer wants to share data with. However, the risk with API development lies in the interaction with code you didn’t write—and usually cannot see—that needs debugging.
As a developer, you’re going to be making changes to a codebase. That’s why, as Harold Abelson put it, “Programs must be written for people to read.” If a codebase is not clearly formatted, debugging becomes more difficult than it should be. Though usually overlooked, little changes like reformatting and proper indentation of your code can obviously differentiate a professional developer’s code base from someone just learning.
Java is as old as the Internet itself. It is the child of the mid-90s and exploded into the world just as dial-up started to take over suburban phone lines. In a way, it can be seen as the original Boomer of programming languages — not as elderly ancient as the C-families, but not as young and hip as JavaScript and its multitude of frameworks and libraries either.
Though it has been around for some years now, Docker is still one of the most flexible, efficient, and nimble technologies for rapidly building environments to host software of all kinds—especially web-based applications.
If you want to ensure code maintainability over the long term, you should follow best coding practices and style guide rules. One of the best ways to achieve this, while also potentially finding bugs and other issues with your code, is to use a linter. Linters are best described as static code analyzers because they check your code before it even runs. They can work inside your IDE, run as part of your build process, or be inserted into your workflow anywhere in between.
Redis is an open-source in-memory data store. You can use Redis as a database, message broker, or cache. It also supports Lua script evaluation so you can build automation scripts or custom operations on top of your key-value Redis store. Typically, developers use language-specific client libraries when building apps with Redis. These clients abstract Redis’ command-line interface (CLI), making it easier to work with but more work to set up.
How many days off have been marred by debugging race conditions and deadlocks in complex multithreaded, Java code? You’ve probably vowed, Never again and embarked on a quest to always catch race condition errors early by writing tests and debugging. Multithreaded applications are a great way to improve performance, but they also make routine tasks like debugging a little more complicated.