Domain Modeling Made Functional (DevTernity 2022)Scott Wlaschin
(video at https://fsharpforfunandprofit.com/ddd/)
Statically typed functional programming languages encourage a very different way of thinking about types. The type system is your friend, not an annoyance, and can be used in many ways that might not be familiar to OO programmers. Types can be used to represent the domain in a fine-grained, self documenting way. And in many cases, types can even be used to encode business rules so that you literally cannot create incorrect code. You can then use the static type checking almost as an instant unit test — making sure that your code is correct at compile time. In this talk, we'll look at some of the ways you can use types as part of a domain driven design process, with some simple real world examples in F#. No jargon, no maths, and no prior F# experience necessary.
Domain Modeling Made Functional (DevTernity 2022)Scott Wlaschin
(video at https://fsharpforfunandprofit.com/ddd/)
Statically typed functional programming languages encourage a very different way of thinking about types. The type system is your friend, not an annoyance, and can be used in many ways that might not be familiar to OO programmers. Types can be used to represent the domain in a fine-grained, self documenting way. And in many cases, types can even be used to encode business rules so that you literally cannot create incorrect code. You can then use the static type checking almost as an instant unit test — making sure that your code is correct at compile time. In this talk, we'll look at some of the ways you can use types as part of a domain driven design process, with some simple real world examples in F#. No jargon, no maths, and no prior F# experience necessary.
This document discusses Sparkle, an open-source software update framework for macOS. It provides an overview of appcasting via RSS feeds, how to set up Sparkle in an app to check for and download updates, and best practices for building appcast feeds including recommended metadata fields. Key points covered include how to specify the appcast URL, update check frequency, and whether to show release notes. The document also describes how Sparkle parses version strings and compares versions to determine update availability.
This document discusses SIMBL, a technology for customizing Cocoa applications on Mac OS X. It provides 18 links to articles about SIMBL and how it can be used to add custom menu items, override methods, and otherwise modify Cocoa applications' behavior through the use of plugins. The document also includes example code for using SIMBL to add a "Show in Browser" menu item to a document-based application and override an application method while still calling the original.