CIA Triad - Confidentiality: only authorized users can access the data - Integrity: to prevent unauthorized modifications of data - Availability: to ensure authorized users can access resources when they need them The Pillars of Information Security
Test Driven Development in 1 tweet 1. Write a test that fails. Not compiling is failing 2. Write the minimum amount of code that makes the test pass 3. Refactor (code and tests) or go back to 1 as necessary
"My definition of an expert in any field is a person who knows enough about what's really going on to be scared." P. J. Plauger
In the face of ambiguity, refuse the temptation to guess - The Zen of Python
The only way to get good, just like with anything else, is to practice.
Basic OOP modelling: - Inheritance: "is-a" relationship. What applies to parent classes also applies to derived classes - Composition: "has-a" relationship. A "car" "is-not-a" a "steering wheel" A "car" "has-a" "steering wheel"
Tons of - The BEST Programming Languages To Learn In 2021 (#1 WILL SHOCK YOU) - Top Programming Languages in 2021 - How to get a job without a CS degree in 2021 videos flooding Youtube soon... Many views will come from the same people who watched the 2020 version
Synchronous programming (aka Blocking): statements are executed sequentially, in order, one at a time. Asynchronous programming (aka Non-blocking) allows you to run multiple statements simultaneously.
"Perl – The only language that looks the same before and after RSA encryption." - Keith Bostic
2 ways of creating functions in JavaScript const f = function(x) { return 2*x;} function g(x) { return 2*x;} The difference is that you can use g before it is defined (reading the code from top to bottom), while you cannot use f before it is defined.
In Python, functions are first-class citizens. Can be passed like any other value For instance: cities.sort(key=lambda c: len(c)) If you need to maintain state, create a class that implements the __call__ method It can be like a function f = myClass() f()
7 Random coding tips Focus on problem solving Test your code Don't rely on a framework or library Define your career goals Take breaks Recognize your weaknesses Take tasks that scare you
Design patterns in 1 tweet Prototype: have a fully-initialized instance of an object ready for other objects to clone it. Ex: Initial state of a chessboard, that any game can copy (instead of building it for every game).
"All problems in computer science can be solved by another level of indirection." - David Wheeler
"Garbage in, garbage out" does not only apply to the data you feed your programs. It is also true for the data you feed your brain. By reading: - Other people's code - Good books - Whitepapers that explain the design of systems you use You will output better code and systems
I went from part-time developer to Amazon developer in 3 months of study. What can you achieve in the next three months if you're focused?
"Always code as if the guy who ends up maintaining your code will be a violent psychopath you knows where you live" -- John F Woods