├── Gaev.Blog.Examples.GoogleAlert
├── publish.cmd
├── appsettings.json
├── deploy.cmd
├── Gaev.Blog.Examples.GoogleAlert.csproj
├── CodeFragments.cs
└── Program.cs
├── Gaev.Blog.Examples.HelloSshDeploy
├── make.sh
├── uninstall.sh
├── Gaev.Blog.Examples.HelloSshDeploy.csproj
├── Program.cs
└── deploy.sh
├── Gaev.Blog.Examples.KeybaseSignIn
├── make.sh
├── appsettings.json
├── uninstall.sh
├── Program.cs
├── Startup.cs
├── Gaev.Blog.Examples.KeybaseSignIn.csproj
└── deploy.sh
├── Gaev.Blog.Examples.WarmUpAspNetMvc
├── Views
│ ├── _ViewStart.cshtml
│ ├── Home
│ │ ├── About.cshtml
│ │ ├── Contact.cshtml
│ │ └── Index.cshtml
│ ├── Shared
│ │ ├── Error.cshtml
│ │ └── _Layout.cshtml
│ └── Web.config
├── Global.asax
├── Controllers
│ ├── InitialSlowdown.cs
│ ├── HomeController.cs
│ └── WarmUpController.cs
├── Global.asax.cs
├── packages.config
├── Properties
│ └── AssemblyInfo.cs
└── Web.config
├── ArchitectureTestProjects
├── Gaev.Alfa.Api
│ ├── IAlfaApi.cs
│ └── Gaev.Alfa.Api.csproj
├── Gaev.Bravo.Api
│ ├── IBravoApi.cs
│ ├── Playground.cs
│ └── Gaev.Bravo.Api.csproj
├── Gaev.Charlie.Api
│ ├── ICharlieApi.cs
│ └── Gaev.Charlie.Api.csproj
├── Gaev.Alfa
│ ├── Domain.cs
│ ├── Bootstrap.cs
│ └── Gaev.Alfa.csproj
├── Gaev.Bravo
│ ├── Domain.cs
│ ├── Bootstrap.cs
│ └── Gaev.Bravo.csproj
├── Gaev.Charlie
│ ├── Bootstrap.cs
│ ├── Domain.cs
│ └── Gaev.Charlie.csproj
└── Gaev.Shell
│ ├── Bootstrap.cs
│ └── Gaev.Shell.csproj
├── Gaev.Blog.SecuredAppSettingsJson
├── run.cmd
├── global.json
├── appsettings.json
├── Program.cs
├── Gaev.Blog.SecuredAppSettingsJson.csproj
├── ConfigurationRootExtensions.cs
├── Aes256Cipher.cs
└── UtilityTests.cs
├── Gaev.Blog.SecuredAppSettingsJson.AspNetCoreWebApi6
├── run.cmd
├── Gaev.Blog.SecuredAppSettingsJson.AspNetCoreWebApi6.csproj
├── appsettings.json
├── Properties
│ └── launchSettings.json
├── Program.cs
└── ProgramOption2.cs
├── Gaev.Blog.Examples.ScriptInString
├── Global.asax
├── Views
│ ├── Home
│ │ ├── Problem2.cshtml
│ │ ├── Problem1.cshtml
│ │ ├── Fix2.cshtml
│ │ └── Fix1.cshtml
│ └── Web.config
├── Controllers
│ └── HomeController.cs
├── Global.asax.cs
├── packages.config
└── Web.config
├── .gitignore
├── Gaev.Blog.Examples.SqlQueue
├── packages.config
└── Gaev.Blog.Examples.SqlQueue.csproj
├── Gaev.Blog.Examples.FunnyTestCases
├── packages.config
└── Gaev.Blog.Examples.FunnyTestCases.csproj
├── Gaev.Blog.Examples.TransactionScopeFailure
├── packages.config
└── Gaev.Blog.Examples.TransactionScopeFailure.csproj
├── Gaev.Blog.Examples.Mocking
├── ICustomerService.cs
├── CustomerService.cs
├── Customer.cs
├── CustomerServiceViaVirtualMethod.cs
├── CustomerServiceViaDelegate.cs
├── Gaev.Blog.Examples.Mocking.csproj
└── CustomerServiceViaInterface.cs
├── Gaev.Blog.Examples.AsyncTaskThrottling
├── DriveService.cs
├── ThrottlerExt.cs
├── Gaev.Blog.Examples.AsyncTaskThrottling.csproj
└── ThrottlingExamples.cs
├── Gaev.Blog.Examples.PiiTypes
├── IPiiEncoder.cs
├── User.cs
├── PiiAsPlainText.cs
├── EfCore
│ ├── PiiStringConverter.cs
│ └── PiiStringTests.cs
├── PiiAsSha256.cs
├── SystemTextJson
│ ├── PiiStringConverter.cs
│ └── PiiStringTests.cs
├── NewtonsoftJson
│ ├── PiiStringConverter.cs
│ └── PiiStringTests.cs
├── Serilog
│ └── PiiStringTests.cs
├── Gaev.Blog.Examples.PiiTypes.csproj
├── PiiStringTests.cs
├── PiiString.cs
├── PiiAsAes128.cs
└── NLog
│ └── PiiStringTests.cs
├── Gaev.Blog.Examples.SqlQueryLogger
├── TimeSpanExt.cs
├── ProfilerGetter.cs
├── TestLogger.cs
├── packages.config
├── LongRunningQueryProfiler.cs
└── AlertLongRunningEfQueriesTests.cs
├── Gaev.Blog.ParallelizableTests
├── OtherTests.cs
├── OtherParallelizableTests.cs
├── DefaultTests.cs
├── NonParallelizableTests.cs
├── Gaev.Blog.ParallelizableTests.csproj
├── ParallelizableTests.cs
├── ParallelizableAllTests.cs
└── ParallelizableAllTestsPitfalls.cs
├── Gaev.Blog.EnumAsStringTrap
├── Model.cs
├── Gaev.Blog.EnumAsStringTrap.csproj
├── NewtonsoftJson
│ ├── UnknownEnumConverter.cs
│ └── DeserializationTests.cs
└── SystemTextJson
│ ├── UnknownEnumConverter.cs
│ └── DeserializationTests.cs
├── Gaev.Blog.Examples.MiniProfiler3Bug
├── packages.config
├── Microsoft.Threading
│ └── AsyncPump.cs
├── MiniProfilerReproductionTests.cs
└── Gaev.Blog.Examples.MiniProfiler3Bug.csproj
├── Gaev.Blog.Examples.AzureServiceBus
├── UnitTest1.cs
├── Gaev.Blog.Examples.AzureServiceBus.csproj
└── AzureServiceBus.cs
├── Gaev.Blog.Examples.FileReceiver
├── Gaev.Blog.Examples.FileReceiver.csproj
└── Program.cs
├── Gaev.Blog.Examples.ExceptionCustomData
├── packages.config
└── Gaev.Blog.Examples.ExceptionCustomData.csproj
├── Gaev.Blog.Examples.StateViaEF
├── packages.config
├── LegacyUser.cs
└── User.cs
├── Gaev.Blog.Examples.SerializationTests
├── packages.config
├── Properties
│ └── AssemblyInfo.cs
└── SerializationTests.cs
├── Gaev.Blog.AzureServiceBusTaskScheduler
├── Gaev.Blog.AzureServiceBusTaskScheduler.csproj
├── Program.cs
└── ServiceBusJobScheduler.cs
├── Gaev.Blog.ExceptionRethrow
├── Gaev.Blog.ExceptionRethrow.csproj
└── ExceptionRethrowTests.cs
├── Gaev.Blog.Examples.OrderOfEnumValues
├── Gaev.Blog.Examples.OrderOfEnumValues.csproj
└── OrderOfEnumValuesMatters.cs
├── Gaev.Blog.Examples.EnumParsePitfall
├── Gaev.Blog.Examples.EnumParsePitfall.csproj
└── ParsingEnumTests.cs
├── Gaev.Blog.EnumFlags
├── Gaev.Blog.EnumFlags.csproj
├── EnumFlagsPerformance.cs
├── EnumFlagExtensions.cs
└── Program.cs
├── Gaev.Blog.CSharp12AndNetFramework
├── Gaev.Blog.CSharp12AndNetFramework.csproj
└── Program.cs
├── Gaev.Blog.Sha256ForStream
├── Gaev.Blog.Sha256ForStream.csproj
└── CryptoUtilsTests.cs
├── Gaev.Blog.Examples.ArchitectureTests
├── Gaev.Blog.Examples.ArchitectureTests.csproj
├── DotNetAssemblyExt.cs
├── DotNetAssembly.cs
└── ArchitectureTests.cs
├── Gaev.Blog.Examples.WebhookTests
└── packages.config
├── Gaev.Blog.Examples.SelfDocumentedApp
└── packages.config
└── Gaev.Blog.Examples.SelfDocumentedFSM
└── packages.config
/Gaev.Blog.Examples.GoogleAlert/publish.cmd:
--------------------------------------------------------------------------------
1 | dotnet publish --runtime ubuntu.16.04-x64 --configuration Release
--------------------------------------------------------------------------------
/Gaev.Blog.Examples.GoogleAlert/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "TelegramApiKey": "...",
3 | "TelegramChatId": "..."
4 | }
--------------------------------------------------------------------------------
/Gaev.Blog.Examples.HelloSshDeploy/make.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | dotnet publish --runtime ubuntu.16.04-x64 --configuration Release
--------------------------------------------------------------------------------
/Gaev.Blog.Examples.KeybaseSignIn/make.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | dotnet publish --runtime ubuntu.16.04-x64 --configuration Release
--------------------------------------------------------------------------------
/Gaev.Blog.Examples.WarmUpAspNetMvc/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "~/Views/Shared/_Layout.cshtml";
3 | }
4 |
--------------------------------------------------------------------------------
/ArchitectureTestProjects/Gaev.Alfa.Api/IAlfaApi.cs:
--------------------------------------------------------------------------------
1 | namespace Gaev.Alfa.Api;
2 |
3 | public interface IAlfaApi
4 | {
5 | }
6 |
--------------------------------------------------------------------------------
/ArchitectureTestProjects/Gaev.Bravo.Api/IBravoApi.cs:
--------------------------------------------------------------------------------
1 | namespace Gaev.Bravo.Api;
2 |
3 | public interface IBravoApi
4 | {
5 | }
6 |
--------------------------------------------------------------------------------
/Gaev.Blog.SecuredAppSettingsJson/run.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | set CipherKey=l8cpD27QcWDXjAg8ut+qH0IkWv/p38DrAst4Ee83jMg=
3 | dotnet run
4 |
--------------------------------------------------------------------------------
/ArchitectureTestProjects/Gaev.Charlie.Api/ICharlieApi.cs:
--------------------------------------------------------------------------------
1 | namespace Gaev.Charlie.Api;
2 |
3 | public interface ICharlieApi
4 | {
5 | }
6 |
--------------------------------------------------------------------------------
/Gaev.Blog.SecuredAppSettingsJson/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "sdk": {
3 | "version": "3.1.100",
4 | "rollForward": "latestPatch"
5 | }
6 | }
--------------------------------------------------------------------------------
/Gaev.Blog.SecuredAppSettingsJson.AspNetCoreWebApi6/run.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | set CipherKey=l8cpD27QcWDXjAg8ut+qH0IkWv/p38DrAst4Ee83jMg=
3 | dotnet run
4 |
--------------------------------------------------------------------------------
/ArchitectureTestProjects/Gaev.Alfa/Domain.cs:
--------------------------------------------------------------------------------
1 | using Gaev.Alfa.Api;
2 |
3 | namespace Gaev.Alfa;
4 |
5 | public class Domain : IAlfaApi
6 | {
7 | }
8 |
--------------------------------------------------------------------------------
/Gaev.Blog.Examples.GoogleAlert/deploy.cmd:
--------------------------------------------------------------------------------
1 | scp -r bin/Release/netcoreapp2.2/ubuntu.16.04-x64/publish/ root@165.227.244.117:/apps/Gaev.Blog.Examples.GoogleAlert/
--------------------------------------------------------------------------------
/Gaev.Blog.Examples.ScriptInString/Global.asax:
--------------------------------------------------------------------------------
1 | <%@ Application Codebehind="Global.asax.cs" Inherits="Gaev.Blog.Examples.MvcApplication" Language="C#" %>
2 |
--------------------------------------------------------------------------------
/Gaev.Blog.Examples.WarmUpAspNetMvc/Global.asax:
--------------------------------------------------------------------------------
1 | <%@ Application Codebehind="Global.asax.cs" Inherits="Gaev.Blog.Examples.MvcApplication" Language="C#" %>
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /.idea/*
2 | **/bin/
3 | **/obj/
4 | *.sln.DotSettings.user
5 | **/packages/
6 | /Gaev.Blog.Examples.GoogleAlert/Alerts.sqlite3
7 |
8 | *.csproj.user
9 |
--------------------------------------------------------------------------------
/Gaev.Blog.Examples.SqlQueue/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
Use this area to provide additional information.
9 | -------------------------------------------------------------------------------- /ArchitectureTestProjects/Gaev.Bravo.Api/Gaev.Bravo.Api.csproj: -------------------------------------------------------------------------------- 1 |ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript.
9 | 10 |16 | ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that 17 | enables a clean separation of concerns and gives you full control over markup 18 | for enjoyable, agile development. 19 |
20 | 21 |NuGet is a free Visual Studio extension that makes it easy to add, remove, and update libraries and tools in Visual Studio projects.
25 | 26 |You can easily find a web hosting company that offers the right mix of features and price for your applications.
30 | 31 |