Fadamiro Catherine ретвитнул
Fadamiro Catherine
210 posts

Fadamiro Catherine
@_KatFad
exploring different possibilities
Присоединился Ağustos 2016
386 Подписки115 Подписчики

Amazon Web Services (AWS) AI & ML Scholarship Program 2024 opportunitydesk.org/2024/09/17/aws…
English
Fadamiro Catherine ретвитнул

@ProgressiveCod2 Retrieving only the required set of data from the database also helps.
English

I asked 121+ software developers this question and 5 methods came out on top.
“How to improve the performance of your API?”
[1] Caching
The idea of caching is simple.
Store frequently accessed data in a cache so that you can access it faster when needed.
If there’s a cache miss, fetch the data from the database.
It’s quite effective actually but cache invalidation and deciding on the caching strategy can be challenging.
[2] Scale-out with Load Balancing
If one server instance isn’t enough, you can think of scaling your API to multiple instances.
So - where’s the catch?
You need to find a way to distribute requests between these multiple instances.
Enter Load Balancing
It not only helps with performance but also makes your application more reliable.
However, load balancers work best when your application is stateless and easy to scale horizontally.
[3] Async Processing
Sometimes, you can’t solve multiple problems together.
The best way is to park them for later.
With async processing, you can let the clients know that their requests are registered and under process.
Then, you process the requests one by one and communicate the results to the client later on.
This allows your application server to take a breather and give its best performance.
But of course, async processing may not be possible for every requirement.
[4] Pagination
If your API returns a large number of records, you need to explore Pagination.
Basically, you limit the number of records per request.
This improves the response time of your API for the consumer.
[5] Connection Pooling
An API often needs to connect to the database to fetch some data.
Creating a new connection for each request can degrade performance.
It’s a good idea to use connection pooling to set up a pool of database connections that can be reused across requests.
This is a subtle aspect but in highly concurrent systems, connection pooling can have a dramatic impact on performance.
So - what is your number one method for improving API Performance?
I'm sure there are many more tricks to boost API performance
GIF
English
Fadamiro Catherine ретвитнул

My 9-year-old son asked me:
“What is Dependency Injection?”
He understood the concept from my very first explanation.
This is how I did it:
Imagine a Home Service company frequently having this situation:
A client has a Plumbing appointment, and they send a Plumber to his house, but then the Plumber detects an extra issue with electricity.
There are two options:
1- Make the plumber learn electricity to do both works.
2- Contract an Electrician to fix those issues
When proceeding with option 2, the company will add a new specialty/service to its portfolio.
It will be like injecting skills on demand.
Doing that:
- They can serve more clients in parallel.
- Each employee needs to carry fewer tools every day.
- Every work can be finished faster, in parallel.
- Employees will need to learn less content/knowledge, so they will learn faster.
It is the same as Dependency Injection where:
You inject services into your classes and methods and delegate particular tasks or skills to them.
In that way, your class stays clean, simple, and focused only on its single responsibility (SOLID principles).
When the same happens with another type of work like Roofing, the procedure should be the same: adding/injecting a new technician.
**
Every week I post trying to explain the Software Development concepts as simply as possible; and sometimes, as explaining concepts to my little son.
English
Fadamiro Catherine ретвитнул

𝗪𝗵𝗮𝘁 𝗜 𝗟𝗲𝗮𝗿𝗻𝗲𝗱 𝗙𝗿𝗼𝗺 𝗧𝗵𝗲 𝗕𝗼𝗼𝗸 "𝗣𝗿𝗮𝗴𝗺𝗮𝘁𝗶𝗰 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗲𝗿"
One book I always recommend to developers is "Pragmatic Programmer" by David Thomas and Andrew Hunt. Although it is not new, it builds on a foundation that is important today and will continue to be.
Here are the main learnings from the book:
𝟭. 𝗪𝗿𝗶𝘁𝗲 𝗴𝗼𝗼𝗱 𝗲𝗻𝗼𝘂𝗴𝗵 𝘀𝗼𝗳𝘁𝘄𝗮𝗿𝗲
Striving for perfection can lead to never-ending projects. Instead, aim for "good enough" and iterate. Deliver value early and often. Write code that works, prove it by writing tests, and ensure they are executed automatically.
Record every change in your software using version control software. If you mess up, you can always revert to the previous code version.
𝟮. 𝗧𝗿𝗮𝗰𝗲𝗿 𝗯𝘂𝗹𝗹𝗲𝘁𝘀
You can use tracer code or prototypes to validate your understanding of the problem. This helps in clarifying requirements before fully implementing a feature.
𝟯. 𝗗𝗼𝗻'𝘁 𝗯𝗹𝗮𝗺𝗲, 𝗳𝗶𝘅!
Sometimes, you will find lousy code that someone else wrote. Sometimes, you will find bad code that you wrote some time ago. Pragmatic programmers don't say, "I didn't write this, so I will not fix it," but do something about it and open a debate in a team about why.
𝟰. 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗲𝗻𝘁𝗿𝗼𝗽𝘆
In the book, you will learn about the "Broken Window Theory," which states that if something is broken, others will break it even more in the future. As a pragmatic programmer, you should fix all significant problems you find in the system while working on it.
𝟱. 𝗞𝗲𝗲𝗽 𝘆𝗼𝘂𝗿 𝗸𝗻𝗼𝘄𝗹𝗲𝗱𝗴𝗲 𝘂𝗽 𝘁𝗼 𝗱𝗮𝘁𝗲
Continuous learning is essential. Stay updated with new tools, technologies, and best practices. Learn at least one programming language or tech stack every year. Read technical and non-technical books every once in a while. This investment in your skills pays off in your career growth.
𝟲. 𝗗𝗥𝗬 (𝗗𝘂𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗶𝘀 𝘁𝗵𝗲 𝗥𝗼𝗼𝘁 𝗼𝗳 𝗔𝗹𝗹 𝗘𝘃𝗶𝗹)
Redundant code is more complex to maintain. When you notice duplication, refactor it into a shared function or module. This will promote consistency and reduce errors.
𝟳. 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 𝗯𝘆 𝗰𝗼𝗶𝗻𝗰𝗶𝗱𝗲𝗻𝗰𝗲
Understand your code deeply; don't rely on coincidental successes. Make sure you know why your code works, not just that it works.
𝟴. 𝗕𝗲 𝗮 𝗴𝗼𝗼𝗱 𝗹𝗶𝘀𝘁𝗲𝗻𝗲𝗿
To help your users, you'll need to understand them first. Be careful when others speak (Product managers, developers, business analysts). And ask good questions.
Check my complete list of the most recommended books for software developers in the comments.
#programming

English
Fadamiro Catherine ретвитнул

@yinkanubi @gtbank Got this email yesterday as well.
Kept trying to login all day Friday. Never received the OTP. Then I decided to delete the app and reinstall. Wahala! The GTWorld app for Nigeria is not on playstore. My tired is tired. GTBank is an absolute failure 😡
English

GTBank makes it absolutely necessary to have a second bank app. Otherwise, you're screwed. How else can you explain the total mess a simple update has become? You disturbed us for days with the promise of an ungrade only to be unable to log into the app after the upgrade. #Sigh!
English

@chichiofficiall @gtbank This upgrade wasn't properly tested because how will thousands of your users be unable to access the application with the same issue and no backup app to revert to.
English

@toyosioyesile I posted something like this on my whatsapp status yesterday😂😂.. pure cruise
English
Fadamiro Catherine ретвитнул

LAPTOP CALL 2 - If you know any tech newbie currently learning UX/UI WITHOUT A PC, kindly tag them to this.
Pick a number beneath & apply for a laptop via Devtobs.scholarship@gmail.com with subject “LAPTOP CALL TWO”
Retweets are highly appreciated❤️
English

Looks like Ire will soon start trekking, Tosin and I were around his age when we used to trek from Onyearugbulem to Araromi everyday 😌.
Lola Okunrin@lollypeezle
School fee: 25k per term. School bus: 55k per term Subsidy ma fe gbemi yin 😭
English
Fadamiro Catherine ретвитнул
Fadamiro Catherine ретвитнул

Today I'm launching my Beginner JavaScript text guide!
These notes are totally free and have been modeled after the content in my Beginner JavaScript course.
This is a huge resource I've been working on for over a year and I'm so excied to share it!
wesbos.com/javascript

English
Fadamiro Catherine ретвитнул











