Spoiler alert: No, it’s not.

Token-based Authentication

Have you ever wondered what happens behind the scene when you log into a web app (Facebook, Twitter, …) using your username and password? After verifying your username and password, the server will issue you a string-based token, which you can use to fetch other web resources without having to authenticate again for a predefined period of time.

The general concept behind a token-based authentication system is simple. Allow users to enter their username and password in order to obtain a token which allows them to fetch a specific resource — without using their username and password. Once their token…

How I passed the AWS SAA-C02 exam in less than 2 months

What is the AWS Certified Certified Solutions Architect — Associate exam?

The AWS Certified Certified Solutions Architect — Associate (AWSSA-A) is one of 3 certificates corresponding to 3 career paths for personnels working with the AWS platform, including Solutions Architect, Developer, and SysOps Administrator. Each career path has 2 levels of profession: Associate and Professional.

When working on projects utilizing AWS, knowledge obtained from the AWSSA-A exam will give engineers and architects an overall view on available AWS resources and the ability to design and select suitable cloud set-ups for their need per best practices.

You will find knowledge on the test useful when:

  • Debug networking issues of your AWS application

Key takeaways, both technical and non-technical

How my 4-month summer internship turned into a 1-year full-time job

It was a cool spring afternoon in New London, CT, mid-March. I was sitting in my bedroom, trying to make sense of why my changes in the CSS file did not take effect on my personal website when I had this notification, the one that drifted my next year toward an unexpected direction: due to the increasing severeness of the Covid-19 pandemic, all students must move out of campus and all study activities would be moved online. The next morning, I booked a flight and came back to Vietnam.

In Vietnam, I was fortunate enough to get a summer internship…

Use cache to reduce resource access time

Caching is the operation of storing known data somewhere for reduced retrieval time in possible future usage. In this article, let’s familiarize ourselves with Memcached, a high-performance, distributed caching system currently used to speed up distributed web applications.

I. Caching in Distributed Systems

Caching is a pivotal aspect to consider when writing applications, especially large-scale ones that deal with millions of real-world users. Web applications involve a lot of time-consuming actions, such as data computation or database queries, and without proper caching, the user experience could be significantly hampered by lengthy loading bars.

Most programming languages offer built-in capabilities for caching, ranging from a single…

Cache through the lens of history

Imagine you are in the middle of a Math exam where, to your surprise, you come across a really familiar question, which you think you have seen in the practice test. “Can’t be that easy,” you think; checking the question data and numbers, you find out that it’s exactly the question you have practiced, not even a word different. You go ahead and put the answer you memorize into the answer sheet without having to do the problem all over again.

This scenario illustrates the mechanism by which caching works: storing known data somewhere for faster access.

I. Historical Context

CPUs have always…

What you need to know about the architecture behind the World Wide Web

If you ever wander around the web development community, you might have encountered the term REST sometime. In this article, let’s demystify the concept and see how this architecture has been getting more and more popular in recent years!


Convert custom objects into JSON and vice versa


Imagine you are working as a backend developer. After a bunch of logic operations and database queries, you get an object type Person, which you want to return to frontend. However, you have to return it as a JSON object instead of a Person object, since it is the standardized protocol in transferring data.

Without external libraries, you will have to do it this way:

class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person(name='Bill', age=19)
return_value = {
'name': person.name,
'age': person.age

You might also come across this problem when working with databases…

Abstract database interactions with ORM

You are a backend developer having to deal with bulky databases on a daily basis? You find yourself fed up with writing lengthy and sophisticated SQL queries every time you work with your databases? To solve these problems and inconvenience when working with databases, ORM was created.

Note: as this article only focuses on Relational Database Management Systems (RDMSs), e.g MySQL, PostgreSQL, SQLite,…, in the scope of this topic, the phrase ‘databases’ will be associated with relational databases only.

Once upon a time, …

A long time ago, when humanity has yet to know about something called ‘ORM’, every time…

Bill Tran

CS & Math @ Conn

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store