Skip to content

Instantly share code, notes, and snippets.

View mikebranstein's full-sized avatar

Mike Branstein mikebranstein

View GitHub Profile
@mikebranstein
mikebranstein / Person.cs
Last active August 29, 2015 14:05
Person Anemic Domain
class Person {
public string FirstName { get; set; }
public string LastName { get; set; }
}
@mikebranstein
mikebranstein / PersonRichObject.cs
Last active August 29, 2015 14:05
Person Rich Object Domain
class Person {
public string FirstName { get; private set; }
public string LastName { get; private set; }
public Person(string firstName, string lastName) {
ChangeName(firstName, lastName);
}
public void ChangeName(string firstName, string lastName) {
@mikebranstein
mikebranstein / gist:ccd5c592e3b458ed20b6
Created May 20, 2015 17:21
basic-gulp-task-sequence
var gulp = require("gulp");
var minify = require("gulp-minify-css");
gulp.task("css", function () {
return gulp.src("./style/style.css")
.pipe(minify())
.pipe(dest("./output/style"));
});
var gulp = require("gulp");
var minify = require("gulp-minify-css");
gulp.task("css", function () {
return gulp.src("./style/style.css")
.pipe(minify())
.pipe(dest("./output/style"))
.pipe(dest("./anotherOutput/style));
});
@mikebranstein
mikebranstein / PoorStringConcatentationTechnique
Created August 11, 2015 23:54
Poor String Concatenation Technique
var name = "Mike";
var age = 77;
var concat = "My name is " + name + ", and I am " + age + " years old.";
@mikebranstein
mikebranstein / PreferredStringConcatenationTechnique
Created August 11, 2015 23:57
Preferred String Concatenation Technique (using String.Format)
var name = "Mike";
var age = 77;
var concat = String.Format("My name is {0}, and I am {1} years old.", name, age);
@mikebranstein
mikebranstein / CSharp6StringReplacement
Created August 12, 2015 00:00
String replacement with C# 6
var name = "Mike";
var age = 77;
var concat = $"My name is {name}, and I am {age} years old.";
@mikebranstein
mikebranstein / nativescript-offline.js
Created January 19, 2016 02:31
NativeScript module for storing data offline in a file within an app's file-system
var fsModule = require("file-system");
var offline = {
_fileName: "offline-data.json",
write: function(data) {
var file = fsModule.knownFolders.documents().getFile(offline._fileName);
return file.writeText(JSON.stringify(data));
},
remove: function() {
var file = fsModule.knownFolders.documents().getFile(offline._fileName);
return file.remove();
@mikebranstein
mikebranstein / nativescript-use-offline-module.js
Created January 19, 2016 02:39
How to use the offline file system module for NativeScript, assuming each function is a tap event handler. It also assumes we know the structure of the data coming back out of the file.
var offlineModule = require("./modules/offline/offline");
exports.onTapClear = function() {
console.log("clearing file");
offlineModule.remove().then(function() {
console.log("finished clearing file");
});
};
@mikebranstein
mikebranstein / nativescript-offline-view-model.js
Created January 19, 2016 03:58
NativeScript offline view model example that persists data loaded into the view model
var observableArrayModule = require("data/observable-array");
var fsModule = require("file-system");
var offline_view_model = {
OfflineViewModel: function(fileName, items) {
var viewModel = new observableArrayModule.ObservableArray(items);
viewModel._fileName = fileName;
viewModel.loadOffline = function() {
// clear out current view model