[{"data":1,"prerenderedAt":142},["ShallowReactive",2],{"posts-page-5":3},{"posts":4,"totalItems":141},[5,20,37,52,63,77,90,100,115,131],{"id":6,"title":7,"date":8,"dateModified":9,"timeToRead":10,"description":11,"heroImage":12,"permalink":13,"tags":14},"posts\u002Fposts\u002F2017\u002Fdocker-read-file-systems\u002Findex.md","Docker Read-Only File Systems","2017-11-13T00:00:00+00:00",null,1,"How to use a read-only file system in Docker to secure your Docker containers using the docker run CLI command and Docker compose or docker swarm.","\u002Fimages\u002Fhero\u002FDocker-1366x768.png","\u002Fdocker-read-file-systems\u002F",[15,16,17,18,19],"ASP.NET Core","Docker","Docker Compose","Docker Swarm","File System",{"id":21,"title":22,"date":23,"dateModified":9,"timeToRead":24,"description":25,"heroImage":26,"permalink":27,"tags":28},"posts\u002Fposts\u002F2017\u002Fasp-net-core-caching-in-practice\u002Findex.md","ASP.NET Core Caching in Practice","2017-10-20T00:00:00+00:00",5,"How to use and implement Cache-Control, Cache-Control Immutable, E-Tag, Last-Modified and If-Modified-Since Caching HTTP headers in ASP.NET Core.","\u002Fimages\u002Fhero\u002FASP.NET-Core-Caching-in-Practice-1366x768.png","\u002Fasp-net-core-caching-in-practice\u002F",[29,30,15,31,32,33,34,35,36],".NET",".NET Core","ASP.NET MVC","C#","Cache-Control","Caching","E-Tag","If-Modified-Since",{"id":38,"title":39,"date":40,"dateModified":41,"timeToRead":42,"description":43,"heroImage":44,"permalink":45,"tags":46},"posts\u002Fposts\u002F2017\u002Fgeneric-editorconfig-file\u002Findex.md","A Very Generic .editorconfig File (Updated)","2017-10-01T00:00:00+00:00","2018-07-01T00:00:00+00:00",2,"An .editorconfig file helps define and maintain consistent coding styles between different editors and IDEs for files with different file extensions.","\u002Fimages\u002Fhero\u002FA-Very-Generic-Editorconfig-File-1366x768.png","\u002Fgeneric-editorconfig-file\u002F",[47,32,48,49,50,51],".editorconfig","C# 7.3","StyleCop","Visual Studio","Visual Studio Code",{"id":53,"title":54,"date":55,"dateModified":9,"timeToRead":56,"description":57,"heroImage":58,"permalink":59,"tags":60},"posts\u002Fposts\u002F2017\u002Fkeeping-software-development\u002Findex.md","Keeping Up With Software Development","2017-08-13T00:00:00+00:00",6,"Keeping up with the changes in the software development industry always feels like a losing battle.","\u002Fimages\u002Fhero\u002FKeeping-up-with-Software-Development-1366x768.png","\u002Fkeeping-software-development\u002F",[61,62],"RSS","Software Development",{"id":64,"title":65,"date":66,"dateModified":9,"timeToRead":42,"description":67,"heroImage":68,"permalink":69,"tags":70},"posts\u002Fposts\u002F2017\u002Fstructured-data-using-schema-net\u002Findex.md","Structured Data using Schema.NET","2017-07-02T00:00:00+00:00","Schema.NET is Schema.org objects turned into strongly typed C# POCO classes for use in .NET.","\u002Fimages\u002Fhero\u002FSchema.NET-1366x768.png","\u002Fstructured-data-using-schema-net\u002F",[29,30,71,32,72,73,74,75,76],"Bing","Google","Schema.NET","Schema.org","Search Engines","Structured Data",{"id":78,"title":79,"date":80,"dateModified":9,"timeToRead":81,"description":82,"heroImage":83,"permalink":84,"tags":85},"posts\u002Fposts\u002F2017\u002Fasp-net-core-lazy-command-pattern\u002Findex.md","ASP.NET Core Lazy Command Pattern","2017-04-08T00:00:00+00:00",4,"Move your ASP.NET Core MVC action method logic into lazily loaded commands using the command pattern, to reduce Controller complexity.","\u002Fimages\u002Fhero\u002FASP.NET-Core-Lazy-Command-Pattern-1366x768.png","\u002Fasp-net-core-lazy-command-pattern\u002F",[29,30,15,31,86,87,32,88,89],".NET Boxed",".NET Boxed API","Command Pattern","Lazy",{"id":91,"title":92,"date":93,"dateModified":9,"timeToRead":94,"description":95,"heroImage":96,"permalink":97,"tags":98},"posts\u002Fposts\u002F2017\u002Fdotnet-new-feature-selection\u002Findex.md","dotnet new Feature Selection","2017-03-26T00:00:00+00:00",9,"How to add feature selection to your dotnet new template using symbols (bool, string, choice, computed) and pre-processor directives.","\u002Fimages\u002Fhero\u002FWho-Wants-To-Be-A-Millionaire-1366x768.png","\u002Fdotnet-new-feature-selection\u002F",[29,30,15,86,32,99],"dotnet new",{"id":101,"title":102,"date":103,"dateModified":9,"timeToRead":104,"description":105,"heroImage":106,"permalink":107,"tags":108},"posts\u002Fposts\u002F2017\u002Fcleaning-up-csproj\u002Findex.md","Cleaning Up CSPROJ","2017-03-18T00:00:00+00:00",7,"I show how to make the new Visual Studio 2017 .NET Core based csproj XML concise and pretty for hand editing.","\u002Fimages\u002Fhero\u002FCleaning-Up-CSPROJ-1366x768.png","\u002Fcleaning-up-csproj\u002F",[29,30,109,110,111,112,113,114],"csproj","MSBuild","project.json","SDK","Visual Studio 2017","xproj",{"id":116,"title":117,"date":118,"dateModified":9,"timeToRead":119,"description":120,"heroImage":121,"permalink":122,"tags":123},"posts\u002Fposts\u002F2017\u002Fcross-platform-devops-net-core\u002Findex.md","Cross-Platform DevOps for .NET Core","2017-01-28T00:00:00+00:00",8,"Learn how to use Cake, AppVeyor and Travis CI continuous integration build systems to perform cross-platform DevOps for .NET Core based projects.","\u002Fimages\u002Fhero\u002FDotnet-Cake-AppVeyor-Travis-1366x768.png","\u002Fcross-platform-devops-net-core\u002F",[30,124,125,126,127,128,129,130],"AppVeyor","Build","Cake","Continuous Integration","DevOps","NuGet","Travis CI",{"id":132,"title":133,"date":134,"dateModified":9,"timeToRead":81,"description":135,"heroImage":136,"permalink":137,"tags":138},"posts\u002Fposts\u002F2017\u002Fcustom-project-templates-using-dotnet-new\u002Findex.md","Custom Project Templates Using dotnet new","2017-01-18T00:00:00+00:00","How to create project templates using dotnet new and the template.json file. How to share project templates by creating NuGet packages.","\u002Fimages\u002Fhero\u002FMicrosoft-.NET-1366x768.png","\u002Fcustom-project-templates-using-dotnet-new\u002F",[29,139,99,129,140],"dotnet","Project Template",102,1792790633392]