Key takeaways, both technical and non-technical

View from the Office

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 optimize 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

Processor — Memory gap through the years. Source: https://www.forrestthewoods.com/blog/memory-bandwidth-napkin-math/

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!

1. REST


Have you ever found yourself in a situation where you need to convert custom objects into JSON objects / dictionaries and vice versa? If so, this article might give you some serious help!

Photo by @joyfulcaptures on unsplash.com

Problem

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…


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.

Source: photo by bqthanh on kipalog.com

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 developers wanted to interact with databases (create, read, update, and delete data in tables), they had to write raw SQL queries and executed them in the program using connectors. …

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