There are multiple ways of optimizing server performance. One way is to make the client do some of the work. Consider uploading images for profile pictures. Since high-quality images take up several MB, it is costly to send them over the network to the server. Also, since profile pictures don’t need to be extremely detailed, it would be nice to compress them and save space. Thankfully, with HTML Canvas, we can compress our images right upon an upload by resizing them…
Most of the time, there is no need for us to optimize memory usage in Python. Either our programs are too small to consume significant memory or we are are storing the data in databases outside the program. Regardless, there may exist cases where we must retain excessively large structures or a large number of objects in memory. As a result, I hope to illustrate practices that can decrease program memory usage.
By default, whenever you create an object in Python, you will have the ability…
Although building software projects can be challenging, deployment can be a pain. In fact, in situations where speed is necessary, deployment must be seamless. For that reason, I want to show you how to deploy Redis for free and use Redis remotely. Redis Labs, a Redis cloud hosting service, offers a free plan with simple deployment steps. We will leverage that plan to create an instance and integrate that instance with Node.js.
Do everything quickly and well.
― G.I. Gurdjieff
To start, head over to https://redislabs.com/ and sign up.
Asynchronous programming is incredible! With it, we can run our IO-intensive tasks without having to block the execution of other code. However, in situations where the code after a blocking task depends on the task’s result, we must wait. Now, imagine if the blocking task took a long time to finish or it never finished. This could be problematic in the context of the application. We can solve this issue by setting a time limit on our task. If our task doesn’t finish in the span of the time limit, we can return a failure value instead. Let me elaborate.
Performance is a must when it comes to building software. However, in certain situations, the speed to set up and integrate new services for proof of concept evaluation or infrastructure is overlooked. Specifically, in the realm of databases, there are many options, but I find Deta to be most seamless to set up and use. Deta offers Deta Base (I will refer to it as Base), a NoSQL data store optimized for developer simplicity. In this article, I aim to show how to set up a Deta project and interact with your Base to store and manipulate Pokemon data.
This article is the prequel to Visualize Website Usage with a React Dashboard. In this article, we build out a service to track and store usage. In Visualize Website Usage with a React Dashboard, we build a dashboard to put the usage data in perspective.
What is the most valuable resource in the modern era? Personally, I think that data triumphs in value over any other entity in the current world. In fact, data is the primary driver of decisions and actions in many lucrative industries of the present world.
This article is the sequel to Track Website Usage with PostgreSQL and Flask. In that article, we created a service to record the usage data. However, in this article, we will bring life to the usage data with a dashboard.
It is important to collect data, but the main insight from the data is extracted through visualization. To recap, in the prequel, Track Website Usage with PostgreSQL and Flask, our goal was to track the number of views, reads (user stays on the website for at least ten seconds), and unique viewers for each day. We could track these metrics…
Throughout my coding journey, I experimented with various technologies and worked on both mobile applications and web applications. Only recently, I dove into learning about Chrome extensions, and I must say, they are underrated. They allow the developer to deeply harness the capabilities of the browser. In this article, I will start by briefly highlighting background information about Chrome extensions, and then we will walk through building an extension together.
As someone who is interested in the Software Engineering industry, it is clear to me that the ability to quickly grasp new technologies is a vital skill. The Software Engineering field is constantly evolving, and the popular technologies of today may be replaced with newer technologies tomorrow. As a consequence, we as engineers must embrace new technologies with an open mind. However, this process may seem daunting. The idea of learning a new framework or language from the ground up is not an easy task, and it is easy to lose motivation during the process. …
As an individual who is studying computer science, it is critical to not only learn theoretical knowledge but to also apply the knowledge in a practical manner. One manner would be through internships. Software Engineering internships provide students with the opportunity to explore new tech stacks, develop impactful projects and get a taste of what it's like to work at the company full time. On another note, the interviews for these Software Engineering internships are notoriously difficult and require a profound understanding of data structures and algorithms. In this blog, I aim to provide a summary of my experience interviewing…
Interested in the convergence between tech and business. Coding is a superpower!