Skip to main content

2020-12-17

  • ☀️Daily Log:
    • Presented to the broad team for the first time
      • Was very stressed about it all night, didn't have a good sleep
      • The key is to keep it simple, logical and have some light/funny anecdotes to bring it close to reality
      • Good feedback from the team
    • 10 Common Software Patterns in a nutshell #article #programming #lists
      • source: https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013
      • Architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context
      • Layered Pattern
        • For programs that can be decomposed into groups of subtasks, each group is abstracted to a layer
        • Consists of: presentation layer (UI), application Layer (service), business logic layer (domain), data Access Layer (persistence)
      • Client-server Pattern
        • For programs that can be broken into server and multiple clients
        • The server provides services to the clients and listens for requests
      • Master-slave Pattern
        • For programs that can have the work distributed by the master to identical slave components, then collected back to compute the final result
      • Pipe-filter Pattern
        • For programs that produce and process a stream of data
        • Each processing step is enclosed within a filter component
        • Data to be processed is passed through pipes, which is used for buffering or synchronization
        • Compliers or bioinformatics programs might use this
      • Broker Pattern
        • For distributed systems with decoupled components, the components interact via the broker. Examples include Apache Kafka
      • Peer-to-peer Pattern
        • The peers in this pattern are components that can act both as clients or servers
      • Event-bus Pattern
        • This typically has 4 components: event source, event listener, channel and event bus
        • The source publish messages to particular channels on an event bus
        • Listeners will subscribe to channels on the event bus and be notified of the messages that are published to a channel
      • Model-view-controller Pattern
        • Interactive applications use this pattern which divides into 3 parts: model (core functionality and data), view (display the information), controller (handles inputs from the user)
      • Blackboard Pattern
        • Suited for programs with no known deterministic solution strategy
        • Contains 3 components: blackboard (a structured global memory containing object), knowledge source (specialized modules with their own representation) and control (selects, configures and executes modules)
      • Interpreter Pattern
        • For programs that interpret other programs written in a dedicated language
        • SQL is an example of this
    • #article The Onion Architecture
  • Retrospective::
    • One week ago: [[December 10th, 2020]]
    • One month ago: [[November 17th, 2020]]
    • One quarter ago: [[September 17th, 2020]]
    • One year ago: [[December 17th, 2019]]
  • Daily Stoic::
    • Know yourself before it is too late, being self-aware is important life skill