This week’s system design refresher:
Types of memory and storage (Youtube video)
Designing effective and safe APIs
The best way to learn SQL
Twitter recommendation algorithm
Job openings
Monitor your GPT-3 and GPT-4 App Usage in New Relic (Sponsored)
You can now monitor your GPT app usage in New Relic! Our latest MLOps capability allows for seamless monitoring of OpenAI's GPT-3, GPT-3.5, and GPT-4 technology using New Relic's platform. With just two lines of code, generate a dashboard displaying key GPT performance metrics like cost, response time, total requests, and more, providing you with in-depth insights for optimized usage and better results.
Types of Memory and Storage
In this video, we're diving into the world of computer memory and storage.
We will talk about:
- The fundamental duo: RAM and ROM
- DDR4 and DDR5
- Firmware and BIOS
- SRAM and DRAM
- HDD, SSD, USB Drive, SD Card
- and more
How do we design effective and safe APIs?
The diagram below shows typical API designs with a shopping cart example.
Note that API design is not just URL path design. Most of the time, we need to choose the proper resource names, identifiers, and path patterns. It is equally important to design proper HTTP header fields or to design effective rate-limiting rules within the API gateway.
Over to you: What are the most interesting APIs you’ve designed?
What is the best way to learn SQL?
In 1986, SQL (Structured Query Language) became a standard. Over the next 40 years, it became the dominant language for relational database management systems. Reading the latest standard (ANSI SQL 2016) can be time-consuming. How can I learn it?
There are 5 components of the SQL language:
- DDL: data definition language, such as CREATE, ALTER, DROP
- DQL: data query language, such as SELECT
- DML: data manipulation language, such as INSERT, UPDATE, DELETE
- DCL: data control language, such as GRANT, REVOKE
- TCL: transaction control language, such as COMMIT, ROLLBACK
For a backend engineer, you may need to know most of it. As a data analyst, you may need to have a good understanding of DQL. Select the topics that are most relevant to you.
Over to you: What does this SQL statement do in PostgreSQL: “select payload->ids->0 from events”?
Twitter just open-sourced its recommendation algorithm.
We will make an explanation video about it. Subscribe to our YouTube channel so you won't miss it: https://lnkd.in/e6iSdtnp
Join the ByteByteGo Talent Collective
If you’re looking for a new gig, join the collective for customized job offerings from selected companies. Public or anonymous options are available. Leave anytime.
If you’re hiring, join the ByteByteGo Talent Collective to start getting bi-monthly drops of world-class hand-curated engineers who are open to new opportunities.
Featured job openings
X1 Card: Software Engineer, Back End (United States)
X1 Card: Head of Infrastructure and Risk (United States)
Thanks super work as usual!
I would be interested in having a feedback on the API Design for the cases resources cross reference ( GET /carts/123/items/321) and add item to cart (POST /carts/123/items:add) .
What is your opinion on having a flat API instead of the nested one you propose?
* Create one item POST/items
* List cart items GET /items/&cart=123
* Retrieve item X GET /items/321
In past I tried nesting resources but it gets quick;y messy and leads to code with higher coupling.
Thank you Alex!