Posts

Showing posts from May, 2021

Best Practices for REST API interface design

  This post contains some notes about REST and best practices that I follow to design RESTful APIs, it will focus mainly on Uniform interface constraint. REST REST (REpresentational State Transfer) is an architectural approach to design web services presented by Roy Fielding in 2000 in his  dissertation . A RESTful API is an API that satisfies the REST constraints. Constraints Client-server -  Separate client application and server application, It’s about separation of concerns, by doing this we improve portability and scalability because it allows those components to evolve independently. Stateless -  Each request from a client to server must contain all necessary information, including authentication details, the server cannot store anything about requests, sessions, history, etc. Cache -  When possible responses data have to be cacheable, clients have the right to reuse responses data later. This will improve efficiency and scalability, the trade-off, however, is that it can decreas

Few Twitter Tip

  Useful web developer tools that you're not using yet: - http:// app.ilograph.com - http:// namae.dev - http:// app.wireflow.co - http:// carbon.now.sh - http:// deviceshots.com - http:// termsfeed.com Follow me for more such content. Resources Used for Preparation The resources that I have mentioned are not Twitter specific and can be used for any interviews. I had been consistent with Leetcode for the past year. Note that I did not cover all of the theory material in two weeks(from the date of the interview call to the onsite). I had been preparing since September 2020. So it took me approximately three and half months to cover everything. Data Structures and Algorithms Mainly Leetcode.com and Pramp.com System Design I have written about my preparation strategy in detail in  this  blog. Operating Systems Gate Smashers Playlist on YouTube Operating Systems: Virtualization, Concurrency & Persistence on educative.io  This is hands-down one of the best courses that I hav

Here's what every React Developer needs to know about TypeScript - Part 1

Image
  If you've been using React for a while, you'll have noticed some cases where the freedom and wild nature of JavaScript works against you (and not because of JS 😄), especially if you're working in a team.   You may not know it, but you need TypeScript or at least, you need to test it . Let me be clear, I love JavaScript and the freedom it provides, for a long time I was "against" TypeScript. So I want to go on a journey together, figuring out if TypeScript is worth using or TS is only for people who don't know how to code properly (this was an inside joke in my team a time ago!). The idea behind this article is to go through the basics of TS and understand the benefits so you can decide if you want those benefits or not, in a second part I will cover the specifics of TS with React. Resources If you want you can go directly to  sample project  or  source code  that is a very simple project to test the TypeScript developer experience without Webpack or any oth