Skip to content

Instantly share code, notes, and snippets.

View sharpoverride's full-sized avatar

Mihai Lazar sharpoverride

  • Freelancer
  • Cluj-Napoca
View GitHub Profile
@sharpoverride
sharpoverride / Dockerfile
Created November 8, 2017 13:46
nginx on windows server core
# This dockerfile utilizes components licensed by their respective owners/authors.
# Prior to utilizing this file or resulting images please review the respective licenses at: http://nginx.org/LICENSE
FROM microsoft/windowsservercore
LABEL Description="Nginx" Version="1.0.13"
RUN powershell -Command \
$ErrorActionPreference = 'Stop'; \
Invoke-WebRequest -Method Get -Uri http://nginx.org/download/nginx-1.9.13.zip -OutFile c:\nginx-1.9.13.zip ; \
Expand-Archive -Path c:\nginx-1.9.13.zip -DestinationPath c:\ ; \
@sharpoverride
sharpoverride / nanoserver-node
Last active November 10, 2017 06:55
Configure node inside the latest nanoserver release
FROM microsoft/powershell:nanoserver AS builder
ARG NODE_VERSION=8.9.1
LABEL Description="Windows Server 2016 Nano Server base OS image for Windows containers" Version="${NODE_VERSION}"
LABEL Maintainer=mihai.lazar@evozon.com
ADD https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-win-x64.zip C:\\build\\node-v${NODE_VERSION}-win-x64.zip
RUN pwsh -Command Expand-Archive C:\build\node-v8.9.1-win-x64.zip C:\; Rename-Item C:\node-v8.9.1-win-x64 node
FROM microsoft/nanoserver:1709
@sharpoverride
sharpoverride / gist:947889
Created April 29, 2011 05:22
TaxServices
public class USTaxStrategy : ITaxStrategy
{
public decimal FindTaxAmount(Order order)
{
}
}
public class UKTaxStrategy : ITaxStrategy
{
public decimal FindTaxAmount(Order order)
@sharpoverride
sharpoverride / gist:947887
Created April 29, 2011 05:20
Discount Calculator Adaptor
public class DiscountCalculatorAdapter : IDiscountCalculator
{
public decimal CalculateDiscount(Order order)
{
return DiscountCalculator.CalculateDiscount(order);
}
}
@sharpoverride
sharpoverride / gist:947880
Created April 29, 2011 05:16
Refactored OrderProcessor. Refactor 1
public interface IDiscountCalculator
{
decimal CalculateDiscount(Order order);
}
public interface ITaxStrategy
{
decimal FindTaxAmount(Order order);
}
@sharpoverride
sharpoverride / gist:947879
Created April 29, 2011 05:15
Order Processor Example
public class OrderProcessor
{
public decimal CalculateTotal(Order order)
{
decimal itemTotal = order.GetItemTotal();
decimal discountAmount = DiscountCalculator.CalculateDiscount(order
decimal taxAmount = 0.0M;
if (order.Country == "US")
@sharpoverride
sharpoverride / gist:947876
Created April 29, 2011 05:12
Fat Interface. ASP.NET Membership Provider
public class CustomMembershipProvider : MembershipProvider
{
public override string ApplicationName
{
get
{
throw new Exception("The method or operation is not implemented.");
}
set
@sharpoverride
sharpoverride / gist:947869
Created April 29, 2011 05:03
LSK Violation Example
public void SaveEntity(IEntity entity)
{
if( (entity as WidgetEntity) != null ){
GenerateWidgetAuditEntry((WidgetEntity) entity);
}
if ((entity as ChocolateEntity) != null){
GenerateChocolateAuditEntry((ChocolateEntity)entity);
}