Disambiguation

  • Serverless as a cloud computing model: somewhere between  PaaS & SaaS, with "pay-as-you-go" cost-plan
  • Serverless as design/architecture: Event driven + pure stateless functions + asynchronous + lazy evaluation
  • Classic Delivery mode: package only the App, and assume that required resources/libraries will be provisioned separately on the target deployment machine
  • Containerization delivery mode: package both App + resources/libraries.
  • In dev mode: we are used to deploy and test your app locally.
  • In prod mode, the app is deployed in a cluster architecture. It implies a significant gap between local/integration/pre-prod/prod environments. uprising approach  is cluster (or more generally infra) as code.
  • Tools for Containerization delivery + cluster as code: Kubernetes, (OpenShift), Mesos (Marathonn), Nomad, Docker Swarm
  • An application is qualified to be "cloud native", if it's running on the cloud and ensures a set of  requirements such as : on demand delivery, multi-region deployment, cost-effective, scalability, availability..
  • Graal (on top of Truffle) is a new just-in-time compiler for the JVM focused multi-language support and native code generation (i.e. native code means something between java byte code & machine code)
  • GraalVM is used to denote a HotSpot virtual machine configured with Graal
  • Statement VS Expression: don't try to understand using a dictionary-meaning (you will find the 2 words interchangeable). Here is the difference on computing perspective
    • Statement is an imperative paradigm term
    • Expression is a value-oriented paradigm term.
    • Statement is a syntactic unit executing an action (It has always "do this" semantic).
    • Expressions is a syntactic unit that is reduced to a value.
  •  Formalism: describes an emphasis on form over content or meaning. For example, formalists within mathematics claim that mathematics is no more than the symbols written down by the mathematician. Non-formalists claims that there are some things inherently true, and are not, necessarily, dependent on the symbols within mathematics so much as a greater truth.
    A specific meaning: In the foundations of mathematics, formalism is associated with "a certain rigorous" mathematical method.
  • A procedure is set of instructions or a code block, that is compiled to machine code.
  • A macro is a "meta procedure": it needs a preprocessor that will generates the actual procedure (i.e "macros" generates procedures).
  • A language is homoiconic if a program written in it can be manipulated as data using the language (e.g Lisp). 
  • In homoiconic languages, all code can be accessed and transformed as data, using the same representation. This property is often summarized by saying that the language treats "code as data".
  •  Quantitative VS Qualitative research methods:
    • Qualitative (Exploratory) : Quantify facts into measurable data, and explore hidden patterns
    • Qualitative (Understandably) : Goes a bit deeper to understand causes, motivations and uncover trends
  • IT Governance : set of structures, processes and policies by which the software construction within an organization is directed and controlled so as to yield business value and to mitigate risk.

No comments: