Your Coding Teacher
379 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
Unix pipes cheatsheet

a | bPipe: connect output from a to input of b
< redirect standard input from file

> redirect standard output to file
2> redirect standard error to file

>> append standard output to file
2>> append standard error to file
Why backend VS frontend?

Think of them as your primary and secondary strenghts

Combining of both is the most entrepreneurial

- HTML
- CSS
- JavaScript
- Python + Django
- MySQL/MongoDB
- Some Linux

You can launch full websites on your own with a stack similar to this.
PHP (Personal Homepage) developed by Rasmus Lu Dorf in 1995

It is mostly used in web development. WordPress is written in PHP

<!DOCTYPE html>
<html>
<body>

<h1>Example PHP page</h1>

<?php echo "Hello World!"; ?>

</body>
</html>
The execute permission bit for a directory is often called the search bit, because if you want to open a file by name, you need to have execute permission in each directory in the pathname, e.g. /home/username

This is different from read permission: list content of a directory
Similar GCP/AWS services

- Compute Engine ~ Elastic Compute Cloud
- Kubernetes Engine ~ Elastic Kubernetes/Container Service
- App Engine ~ Elastic Beanstalk
- Cloud Functions ~ Lambdas
Check if there's a root-to-leaf path such that the sum of all the along the path equals a given sum.

bool f(Node* r, int sum) {
if(!r) return false;
if(!r->left && !r->right && sum == r->val) return true;
return f(r->left, sum - r->val) || f(r->right, sum - r->val);
}
Resume tip for junior devs:

Don't put junior on your CV/portfolio.

Let them decide where you fit based on your skills.
Radix sort is an algorithm that sorts numbers by processing individual digits.
j++; // increment j

Don't be this person
The best architectures, requirements, and designs emerge from self-organizing teams

agilemanifesto .org
The expected constant time property of a hash table assumes that the load factor be kept below a certain bound.
Difference between x86, i386 and x64:

- x86 is a family of instruction set architectures based on Intel 8086
- i386 or x86-32 is the 32-bit architecture of the x86 family
- x64 is the 64-bit instruction set of the x86 family. Also called amd64, designed by AMD
When all you have is a hammer, everything starts to look like a nail
You can use hash tables to avoid creating multiple immutable data structures with the same content.
Fast, Cheap, Reliable

You can only pick two
A project's bus factor is the number of team members who would put the project in jeopardy if run over by a bus (or get sick, vacation, resign, ...)

Strive to increase this number. Ex:

- Write good doc
- Code reviews
- Pair programming to spread knowledge of the code base
How do you handle data that can't fit/be processed by one machine?

Main Partition techniques

- Range based [A-C,D-G,...] Efficient range queries. Risk of hot spots -> Split the partition
- Hash based. No range queries but distributes load evenly. Check "Consistent hashing"
"Proof by analogy is fraud."
- Bjarne Stroustrup
"It's harder to read code than to write it."
- Joel Spolsky
Given an array of integers, find if the array contains any duplicates.

bool containsDuplicate(vector<int>& nums) {
unordered_set<int> s (nums.begin(), nums.end());
return s.size() != nums.size();
}
Becoming a coder needs focus and discipline

- Get a bit better every day
- Focus on one thing: frontend, backend, android, ios, ...

There are too many technologies.

Know a bit about everything, but become a specialist so that you can fing the type of job you want