Tutor profile: Ryan C.
Subject: Web Development
What are some of the techniques you would employ to scale a web application to tens of thousands, hundreds of thousands, and millions of users.
Among many other things, we would use: load balancers, database sharding, caching, http-level caching, API Gateways, and CDNs.
Subject: Python Programming
What are some of the best open-source Python packages?
Pandas, NumPy, Sci-kit, Django, Django Rest Framework, Django Debug Toolbar, Cookiecutter, Pytest, and Black + Flake + iSort.
Subject: Software Engineering
In object oriented programming, what is inheritance? What is a real-life example of using inheritance in a production-grade software application?
Inheritance is a foundational concept in object oriented programming. Through inheritance, subclasses inherit the attributes and methods of their parent class or classes. This enables powerful encapsulation of functionality in a way that can fluidly model the dynamics of real-world entities. In a recent startup I worked for, we were ingesting and processing slightly different types of data sources: one VISA card list, a MASTERCARD list, etc. I wrote a base class called DataSource and it had methods and attributes common to all of the existing data sources, but it also was flexible enough such that we could add new data sources in the future and the application would not break but would continue to work without any code changes to the base class.
needs and Ryan will reply soon.