-
Use Onion architecture
- Dependencies go inwards. That is, the Core domain doesn't know about outside layers
-
Use pipeline model to implement workflows/use-cases/stories
- Business logic makes decisions
- IO does storage with minimal logic
- Keep Business logic and IO separate
-
Keep IO at edges
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\x64\vsstools\vshadow" -script=c:\backup\shadow.cmd -p c: d: | |
call c:\backup\shadow.cmd | |
mkdir c:\backup\c | |
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\x64\vsstools\vshadow" -el=%SHADOW_ID_1%,c:\backup\c | |
mkdir c:\backup\d | |
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\x64\vsstools\vshadow" -el=%SHADOW_ID_2%,c:\backup\d |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo sync | |
sudo apt-get update | |
sudo apt-get -y upgrade | |
sudo apt-get -y dist-upgrade | |
sudo sed -i 's/jessie/buster/g' /etc/apt/sources.list | |
sudo apt-get update | |
sudo apt-get -y upgrade | |
sudo apt-get -y dist-upgrade | |
sudo sync | |
#sudo reboot |
Short (72 chars or less) summary
More detailed explanatory text. Wrap it to 72 characters. The blank
line separating the summary from the body is critical (unless you omit
the body entirely).
Write your commit message in the imperative: "Fix bug" and not "Fixed
bug" or "Fixes bug." This convention matches up with commit messages
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import os | |
import sys | |
import urllib2 | |
import json | |
''' | |
This script queries Github for source and target branches of a pull request | |
and updates environment variables at TeamCity CI to make these variable |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# The initial version | |
if [ ! -f .env ] | |
then | |
export $(cat .env | xargs) | |
fi | |
# My favorite from the comments. Thanks @richarddewit & others! | |
set -a && source .env && set +a |
This blog created for F# Advent 2016 (English)
Full source code can be found here
- 2016-12-10
- New performance test - Anthony Lloyd (@AnthonyLloyd) suggested that I compare against Prime.Vmap.
I got inspired to answer the questions posed to F# experts on "Why F#?". I have no claims to be an F# expert but I thought the questions were interesting.
I believe I started to look at F# around 2008. I am a language-curious person and was at the time working as a .NET developer so I naturally was excited when discovering F#.
How long did it take before you could code real world apps as much or more productively as in C#?
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const I = x => x | |
const K = x => y => x | |
const A = f => x => f (x) | |
const T = x => f => f (x) | |
const W = f => x => f (x) (x) | |
const C = f => y => x => f (x) (y) | |
const B = f => g => x => f (g (x)) | |
const S = f => g => x => f (x) (g (x)) | |
const S_ = f => g => x => f (g (x)) (x) | |
const S2 = f => g => h => x => f (g (x)) (h (x)) |
NewerOlder