Caches - Based on locality: If X was used before, it's likely to be used again - Are smaller but faster to access than RAM - If info is in cache (hit), retrieved faster - If not in cache (miss), RAM needs to be queried - OS can't control what goes into the cache
Stacks are simple data structures that maintain a LIFO, last-in first-out, ordering. Queues are simple data structures that maintain a FIFO, first-in first-out, ordering. Can you build a queue using 2 stacks?
Software is about working applications Methodologies, languages, operating systems, frameworks, etc. are secondary
When a process terminates, all of its open files are closed automatically by the kernel. However, If your application is working with files, remember to close() them.
3 JavaScript interview questions What are Classes? What are ES6 Modules? What's the difference between undefined and null?
Keyword arguments in Python: - Clarify the purpose of each argument - Can have default values - Make it easy to extend an existing function Example: def fullName(surname, lastName): ... fullName(surname='Bob', lastName='Smith')
GCP discounts - Sustained Use Discounts: The longer you use your virtual machines (and Cloud SQL instances), the higher the discount–up to 30% - Committed Use Discounts: Up to 57% discount if you commit to a certain amount of CPU and RAM resources for a period of 1 to 3 years
Teaching others what you learn is one of the best ways to reinforce what you already know.
Design patterns in 1 tweet Mediator: simplifies communication between classes Ex: Imagine an air traffic controller. All planes communicate with it and receive coordinated instructions from the traffic controller, instead of talking to one another.
Qualities of a good software developer: - Impact - Initiative - Efficient information handling - Inventive
"It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail and learning to be self-critical?" - Alan J. Perlis
3 JavaScript interview questions What's the difference between the in operator and the hasOwnProperty method in objects? What is the use Function.prototype.apply method? What is memoization and what's the use it?
Most of your time as a programmer is spent fixing broken stuff you've written. Assume it.
Amazon DynamoDB - Managed NoSQL database - Single-digit millisecond latency at any scale - Supports document and key/value schemas
"We build our computer (systems) the way we build our cities: over time, without a plan, on top of ruins." - Ellen Ullman
Business people and developers must work together daily throughout the project agilemanifesto .org
Although Ethereum and Bitcoin differ in their purpose, they have many elements in common: - Peer-to-peer network - Proof-of-Work for consensus - Digital signatures and hashes - Digital currency
In 2014 Apple developed the programming language Swift as a replacement for Apple's earlier programming language Objective-C Swift took language ideas from Objective-C, Rust, Haskell, Ruby, Python and C# amongst others print("Hello, World!")