Your Coding Teacher
372 subscribers
10 links
Coding, software engineering & #bitcoin technologies. I'll make you a better thinker, not just a better developer | Ex
Amazon, Senior DevOps @eBay
Download Telegram
Pasting code from the Internet into production code is like chewing gum found in the street
Throw exceptions instead of returning None to indicate that something went wrong. None and other values (zero, the empty string) evaluate to False in conditional expressions. This can be troublesome Let the caller handle exceptions properly. Document your exceptions.
To understand recursion, you must first understand recursion.
2-choice hashing uses two different hash functions, h1(x) and h2(x), for a hash table.
Git shortcuts $ git commit -am "commit message" // -a: any files previously added $ git branch -D [name]// To delete a branch $ git checkout -b [name] // To create a new branch and switch to it
There will be bugs in your codebase. The question is: will fixing these small bugs make a dent? Focus on what will bring the max benefit to your team and customers. The task of solving a few bugs will always be there.
Nothing is more permanent than a temporary solution
Better train people and risk they leave than do nothing and risk they stay
In a Unix system, what user ID corresponds to root? . . . . . . . . . . . ID = 0
Sometimes I fantasize about finding a job like this, automating it, and then relaxing and collecting the salary.
5 Common bit manipulation interview questions 1. Check if an integer is power of two 2. Position of rightmost set bit 3. Add two numbers without using arithmetic operators (+-*/) 4. Like 4., but multiplying 5. Like 4., but dividing Try to solve them (easily googable)
Hash tables implement the insert and contains operations in constant time, depending on: - Load factor - Hash function - Collision resolution method: chaining, probing, ... Rehashing allows a hash table to grow/shrink, improving its load factor
Use pen and paper or a whiteboard to sketch a solution before you start coding. Unless you are solving a trivial problem, try to come up with different alternatives. Then, try to break your own design
Student: How long will it take me to master your martial art? Teacher: Ten years Student: But I want to master it faster than that. I will work very hard. I will practice everyday, ten or more hours a day if I have to. How long will it take then? Teacher: 20 years
The days are long but the decades are short.
Code doesn't live in the vacuum
You'll spend most of your time reading code. Python's syntax makes it easy to write complicated, difficult-to-read, single-line expressions. Consider refactoring them into their own separate functions. Make your code readable.
Relational Databases Available in AWS: - SQL Server - Oracle - MySQL Server - PostgreSQL - Aurora (proprietary) - MariaDB Which one is your favourite?
When learning to code, remember that having big goals is great, but Having a big goal != Having the "I'm going to do this for as long as it takes" mentality Consistency beats everything else, every time. Think long term
When presented with an unreasonable deadline, what is the actual consequence of saying "no," versus the imagined one?