Comparing two or more concepts is fun, and probably the best way to truly understand them.
- Web: the pages you see online; the services running on top of the infrastructure. Using HTTP.
- Internet: the underlying infrastructure / network. Using IP.
Service Discovery is for internal, while DNS is for external. Consul supports both, but Zookeeper is only for Service Discovery.
Homogeneous array vs Heterogeneous array
- Homogeneous arrays: values of the same type,
[1, 2, 3]
- Heterogeneous arrays: values of different types,
['hello', 12, true]
Homogeneity vs Heterogeneity
- Homogeneity: statistical properties of any one part of an overall dataset are the same as any other part.
- Heterogeneity is the state of being heterogeneous. It is the nature of opposition, or contrariety of qualities.
- Dimensions in data management and data warehousing contain relatively static data about such entities as geographical locations, customers, or products
- Fact tables contain the data corresponding to a particular business process. Each row represents a single event associated with that process and contains the measurement data associated with that event.For example, a database may contain a fact table that stores sales records.
- a dimension table is one of the set of companion tables to a fact table.
- CPU: Fewer cores, but each core is much faster and much more capable; great at sequential tasks
- GPU: More cores, but each core is much slower and “dumber”; great for parallel tasks
- mechanisms: low level, how processes are implemented
- policy: high level, how processes are scheduled
- A daemon is a background, non-interactive program
- A server is a program which responds to requests from other programs over some inter-process communication mechanism
- Static website: individual web pages include static content. They may contain client-side scripts.
- Dynamic website: relies on server-side processing, the content may be dynamically generated(e.g. loaded from database)
- examples: server-side scripts such as PHP, JSP, or ASP.NET, Node.js, Dyango etc.
both are garbage collected, and natively compiled languages
These 2 terms are relative, if we are talking about web/app or job titles, client side(like UI) is front end, server side is back end; the external API layer can be the front end of the internal services; for the reverse proxy, everything else is back end; compiler also has its front end and back end
- Authentication: verify your identity(you say you are X, and you are indeed X)
- Authorization: given your identity, check your access(if you are indeed X, do you have permission to read/write Y)
- 401 is actually "Unauthenticated", not unauthorized
- 403 is actually unauthorized...
- 301: "the page is moved and you should visit the new url in the future"; search engine(Google) will update its index, so if you are moving or renaming your websites, this should be used
- 302: "go to this url for now, but come back here in the future"; this will not update Google's index
- monomorphic(strict signature)
- polymorphic(... in signature)
function createElement( type, config, ...children, )
- isomorphic: backend and frontend js?
- data processing tools like Pig(a good name for lazy evaluation) only materialize changes when the final action is called, and only related code will be executed.
- Tensorflow 2.0 changed from Lazy to Eager so it is easier to debug.
- UNIX domain sockets are subject to file system permissions, TCP sockets can be controlled on packet filter level.
To list all Unix Sockets:
netstat -a -p --unix
- Loopback: same RPC as over-the-wire, however never leaves the local machine. The request is sent to loopback network interface and routed to local port. The process that listens to the port may be the same process that sends the request, so it is both client and server.
- In-process: never leaves the process. The client directly invokes the server code. No serialization of request and response, not sending over the wire, no network communication.
- Parameter: variable in the declaration of the function
- Argument: the actual value passed to the functions
However they can be used interchangeably.
system-in-a-package(SiP) is like system-on-a-chip(SoC) but less tightly integrated and not on a single semiconductor die.
- DAS: Directly Attached Storage.
- NAS: Network Attached Storage.
- blocking: an operation that blocks further execution until it finishes, it may be waiting for some event to happen.
- non-blocking: does not block execution.
- In-Band Management: the ability to administer a network via the LAN
- Out-of-Band Management: a solution that provides a secure dedicated alternate access method into an IT network infrastructure to administer connected devices and IT assets without using the corporate LAN.
During system or network outages, a Console Server is a single hardware solution that provides secure OOBM to monitor IT assets and devices from multiple vendors. The Console Server gives administrators access to multiple USB, RS232, or Ethernet console management ports from anywhere, anytime, and any platform, as if they were locally connected through a direct connection. They can be used to reconfigure, reboot, and reimage remotely across the internet or WANs.
a Console Server that offers high-level security features for secure access to critical network devices.
A Console Server, enables secure remote console management of any device with a serial, USB, or Ethernet console management port, including Cisco routers, switches and firewalls, Servers, PBXs and more.
- Upper (as in "higher number in the OSI layer model") Networking services, typically Layer 4 and above. Ingress and Egress, load balancing, virtual networking. Or software defined networking.
- Lower Networking: physical connections.
- Day 0: @ a pre-install facility, precurement, install, bootstrap.
- Day 1: @ customers, power up.
- Day 2: maintenance and upgrade.
- CCJ: Critical Customer Journey. Customer: maybe 3p companies that adopts your APIs.
- CUJ: Critical User Journey. User: end user who would actually use the product.
Structured data means data that has some meaning to you (the owner of the data) and that can be described using a key/value pair or collection of key/value pairs.
Structured data is also sometimes called "semantic data".