Remember: You don't always need a database. Sometimes files are enough.
If you don't get comments in a pull request, your code is very good Or very bad
Beginner programmers like writing code. The real pros like deleting code.
Do not code if you are tired You'll end up redoing what you did Double waste of time
Interview question. Write a function to check if a string s is a palindrome Python be like: return s == s[::-1]
Special cases aren't special enough to break the rules - The Zen of Python
GCP has machine families with predefined amounts of RAM and CPU - General. Best price/perf for many tasks - Memory-optimized. For memory-intensive tasks - Compute-optimized. Highest perf/core - Shared-core. Cost-effective for small apps You can create custom machines too
If you don't have a job, get something to pay the bills. And design a plan to transition to a better job. Ex: use the tools you need for the next job to build something at your current job. You'll develop skills while being paid and help your team
Big O analysis tip Big O notation describes the rate of increase of an algorithm. It could be possible for O(N) code to be faster than 0(1) code for *some inputs*. O(N^2) sorting algorithms are generally good for small inputs.
Static vs Shared libraries - Static: code from the library is copied into the binary. Larger binary size. Must recompile if library changes - Shared: library code is loaded when needed. Processes can share the same library. No need to recompile everything if library changes
I've realised I learn by doing, not by reading or taking notes. This includes writing code and writing articles where I teach what I know.
UDP vs TCP in one line: TCP has higher overhead and latency, but guarantees that the messages will arrive (in the right order). Good for: - The Web - SSH - Emails UDP is "less reliable" but has lower latency. Good for - Multiplayer action games - Video calls - Streaming