Today is Monday, 17th of November 2019. A perfectly rainy and a cosy day to start the #100DaysOfCode challenge that was originally created by Alexander Kallaway. If you are interested, you can read more about the creator and the history behind #100DaysOfCode here
The reason behind learning to code
When designing Jarme and Naao I have realised that my lack of knowledge in what can and can't be built with a programming language was making it extremely difficult for Foysal to build the apps especially Jarme. My design for Jarme was inconsistent and did not follow any design system. I was also designing components that were a bit unrealistic in terms of programming and even if there was a time consuming way of coding it, the app would end up being unintuitive from a UX perspective. Foysal and I were arguing a lot as I was in the impression that he was not liking my designs while in reality the designs were actually very unrealistic to begin with. Hence why I have decided to learn more about programming which I believe will improve my design thinking a lot more and reduce the friction between the designer and the developer.
So what have I learnt today?
The blog section of my portfolio did not exist till today. With a lot of help from Foysal and Gatsby, I have finally got it up and running. Playing around with the blog and this post will also be part of my #100DaysOfCode challenge.
Developers use a lot of terms in blogs or twitter that I am unfamilier with so I have decided to google a few terms and understand what they meant.
Domain & Servers
Domain - is the human readable name for servers. An example would be: www.facebook.com. When you save a phone number, you would give the contact a name and placing a call you would just tap on the name and you phone would automatically call the phone number of the contact. In this scenario, the contact name is the domain name and the phone number is the server address.
Servers - Server is just another computer that lives somewhere else. From a non tech perspective server is more like a piece of land you buy or rent out to live in. It does not necessarily mean you have a home with beautiful furnitures. But when you do have a beautiful home with furnitures, you have a land where you can put it onto. If that makes sense!
Also do you know what Favicon is?
Favicon - Favicon is the small icon that appears on the tab of the browsers.
Caches & Cookies
Cache - When a visitor repeatedly visits the same website, cache stores certain elements for the user to reduce the loading time of the website. Client side Caches are usually used to reduce the number of http requests or computationally expensive operations. On the other hand server side caching would look like having a copy of your recent posts so that for every single every single http request the server side application doesn't have to query the database.
Cookies - Cookies on the other hand saves information such as password, visiting date & time, IP address, browser for a short period of time and sends this information back to the server when the user revisits the next time. This allows the site to represent data that suits your needs in a more convenient way. Cookie data is sent to the server with every single http request made to the server who set the cookie.
Front-End development VS Back-End development
Front-end - Front end development is coding the part that is visible to the users. For example, menu, buttons, cards etc.
Back-end - Back-end development is the server side of the programming where the developers work with databases and its also not visible to the users.