diff options
author | lassulus <lassulus@lassul.us> | 2018-06-28 12:27:24 +0200 |
---|---|---|
committer | lassulus <lassulus@lassul.us> | 2018-06-28 12:27:24 +0200 |
commit | 423729bb036456adc4859866815b7de8fba2c0c1 (patch) | |
tree | e195d879a326fb05555f0e356c9574c1ed94d393 | |
parent | 403107219ba9f3b6881f2cdae57ac373a13d98f0 (diff) | |
parent | 25cacdcee68627b9b555d2c2bbc4d2f2ab29f8e1 (diff) |
Merge remote-tracking branch 'enterprise-patterns/master'
-rw-r--r-- | ENTERPRISE_PATTERN | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/ENTERPRISE_PATTERN b/ENTERPRISE_PATTERN new file mode 100644 index 0000000..f0e6da2 --- /dev/null +++ b/ENTERPRISE_PATTERN @@ -0,0 +1,92 @@ +Enterprise Patterns +================== +Stellt sicher, dass das richtige passiert, egal was gemacht wird + +Enterprise Loop +--------------- + +Enterprise Exception Handling +----------------------------- +ggf ersetzbar durch enterprise loop. + + +Enterprise Installation +----------------------- + +Rebooting +---------- + +Enterprise Einschalter (eon) +---------------------------- +Device that turns something on as soon as possible. + +Supernintendo Pattern +--------------------- + +Enterprise Root +--------------- +scripts which need root access but are called with lower privileges. The Enterprise Root Pattern provides a Solution for this issue by calling the script itself as sudo. +<code> +if test "${nosudo-false}" != true -a `id -u` != 0; then + echo "we're going sudo..." >&2 + exec sudo "$0" "$@" + exit 23 # go to hell +fi +</script> // enterprise ist, wenn <code> ... </script> trotzdem matcht + +Enterprise Shutdown +------------------ +Mittel der Wahl um einen Shutdown zu erzwingen + +Bsp: das Not-Aus in der Maschinensicherheit + +Enterprise Deep Copy +-------------------- +Bsp: var copy = JSON.parse(JSON.stringify(source)) + +Enterprise Thinking +------------------- +Prozess um auf Enterprise Patterns zu kommen + +Bug-Driven Development +--------------------- + +Source-based Documentation / Help +--------------------------------- +<code> + #! /bin/sh + if echo "$*" | grep -q '\(^\| \)-h\( \|$\)'; then + cat "$0" + fi + # [more code] +</code> + +Literate Programming +-------------------- +Omit all the comments. + +Litterate Programming +--------------------- +Write throw-away code and it will become production code + +Enterprise Expect +----------------- +Because you always know what you want, `expect(3)` script code can be replaced +by a `subshell and pipe` pattern : + +<code> + ( echo "$username"; sleep 1; echo "$password"; sleep 1; echo "cp old new" ) | telnet +</code> + +painload example: `//retiolum/bin/announce_pubkey` + +Enterprise Waiting +------------------ +Quietly wait until someone else solves the problem. +Passive variant of Complainterprise Waiting. + +Complainterprise Waiting +------------------------ +Submit a bug report and do Enterprise Waiting. +Active variant of Enterprise Waiting. + |