Skip to content

Instantly share code, notes, and snippets.

View mike-thompson-day8's full-sized avatar

Mike Thompson mike-thompson-day8

  • Sydney, Australia
View GitHub Profile

This document will be a part of the upcoming re-frame website.

On Derived Data

The UI is just derived data.

At each moment, the DOM displayed is a "materialised view" of what is in app-db.

Domino 3 modifies app-db and then boom, boom, boom go dominoes 4, 5 & 6, automatically producing this "materialised view", via a data flow.

This document will be a part of the upcoming re-frame website. It addresses issue #264

Reusable Components

There are two kinds of Components:

  • Reagent Components
  • re-frame Components

Roughly speaking, Reagent Components handle the simple stuff and re-frame Components look after the larger and more complex work.

This page will be a part of the upcoming re-frame docs/website. Still searching a bit for the right explanations.



Our intellectual powers are rather geared to master static relations and our powers to visualise processes evolving in time are relatively poorly developed.

-- Dijkstra

this is an early draft. Better to now look at: https://gist.github.com/mike-thompson-day8/dad5b66c8cd74082326dad6ce331128d

re-frame components

There are big, composite components and there are small, simple ones.

Reagent components are simple components - often just called widgets. They visually represent a simple value like an integer or a string, or a selection. A library like re-com provides many Reagent components including dropdowns, and Text Input fields and radio buttons.

re-frame components are larger, composite components. They tend to visually represent an entity (a more complicated thing) rather than a single, simple value, and they typically present to the user as a "widget-complex" (many widgets) with a cohesive purpose. For example, a pivot table would be a larger component. It might supports the drag and drop of fields to "shelves" which configures a table showing data rollups, and totals. And it might include widgets which allow for levels to be expanded and col

Some Exercises And Solutions For Beginners

Assuming:

(def  v [{:a 1} {:a 2} {:a 3}])
  
(map f v)

Exercises:

Warning: this is just me musing and soliciting stimulating opinions. None of this may happen.

On Writing re-frame Event Handlers

Aside #1:

There should be one — and preferably only one — obvious way to do it
-- Tim Peters

FOR IMMEDIATE RELEASE

Offical Announcement Of (SUCKS)

With this document, I formally announce the Secret Underground Clojure Kollective (SUCKS).

We of the Kollective firmly reject normative spelling and oppressive rules around anagrams. We stipulate that (SUCKS) must always be enclosed in parenthesis.

Yes, we will publish a (SUCKS) Manifesto. Obviously. However, that might take a while because we are Lazy. Not in a character flaw way, you understand. More in a solidarity-with-seqs way. But the result tends to be the same, so a Manifesto might take a while and the whole thing might stop with a baffling exception later.

This is a doodle about a re-frame idea that's been rattling around in my head for a few days. It hasn't quite clicked, but I don't want to let it go yet.

I propose a new standard effect.

Currently, re-frame has the :db effect which replaces what's in app-db holus-bolus.

Imagine a new effect named, say: :db-crud.

You would use :db-crud instead of :db.

2019-04-07

I’ve been working my way up the Kubernetes learning curve.

These notes are about yaml.

Discovery

  • Using Kubernetes (K8s) involves many yaml "manifests"
  • yaml is a thoughly modern way to do "infrastructure as code" (IaC)