Your Coding Teacher
Open in Telegram
Coding, software engineering & #bitcoin technologies. I'll make you a better thinker, not just a better developer | Ex Amazon, Senior DevOps @eBay
Show moreThe country is not specifiedTechnologies & Applications98 126
334
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
Even "simple" things, like synchronizing clocks in different nodes in a distributed system, is more complex that it seems. Distributed systems are the quantum mechanics of software design.
GCP vs AWS terminology - Both use Region as a group of data centers close to one another - Zone vs Availability Zone: individual data centers. Several per region - Points Of Presence: Both use them to provide CDN services in a similar way
Tip for interviews in Python: To iterate over a list and also know the index of the current item, use enumerate for idx, val in enumerate(my_array): do_something(idx) ... You can supply a second parameter to enumerate to specify the number from (defaults to zero)
"How do we convince people that in programming simplicity and clarity —in short: what mathematicians call "elegance"— are not a dispensable luxury, but a crucial matter that decides between success and failure?" - Edsger W. Dijkstra
3 JavaScript interview questions What's the difference between == and ===? How to evaluate multiple expressions in one line? What is Functional Programming and what are the features of JavaScript that makes it a candidate as a functional language?
"In my experience, one of the most significant problems in software development is assuming. If you assume a method will passed the right parameter value, the method will fail." - Paul M. Duvall
To be a developer you have to be able to endure long and intense periods of feeling stupid on a consistent basis.
What happens when you run ls in your terminal? The shell calls fork() to create a copy of the shell process This copy calls exec(ls) to run ls This is how new processes are created fork and exec are system calls - ways for your programs to interact with the kernel
Some important root subdirectories in a tweet - /media: mount removable media - /mnt: user temp mounting - /sys: contains device & system info - /sbin: system executables - /tmp: temporary files - /usr: the bulk of the Linux system - /var: programs save runtime info here
A service mesh is a configurable framework that allowa you to connect, control, observe and secure microservices. It removes these responsabilities from you application logic, delegating them to the service mesh.
Lisp (LISt Processing language) was developed at MIT in 1959 Lisp is considered the first functional programming language and was extensively used in artifical intelligence. (format t "Hello, World!")
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
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.
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
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.
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
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
