These are some notes on AWS Tagging Best Practices. See reference section below for sources. Amazon Web Services allows customers to assign metadata to their AWS resources in the form of tags. Each tag is a simple label consisting of a customer-defined key and an optional value that can make it easier to manage, search […]
Software Prototyping
Prototyping (or materialization) is a useful tool in developing new software applications. It helps identify and manage costs, key features and usage very early in the development life-cycle. Prototypes can be done in mock applications (not fully functional but contains some interactions) using various tools or even in traditional paper-and-pen. Perhaps not literally paper-and-pen but […]
Privilege Account Management
Privilege Account Management (PAM) is part of Identity and Access Management (IAM), or also known as Identity Management (IdM), where individual user rights to a resource are granted privileges so that they can execute certain tasks or procedures on that resource. This can also be part of Role Based Access Control (RBAC) in which the […]
Architectures
Some notes on the evolution of software architectures – past, present and future outlook. Often the way one does architecture design can be a combination of philosophy and the use of patterns, practices and principals. Any software architecture is an abstraction that should contain at least one or more of the following: Structure Layers Components […]
.Net Core REST API
This is a reference document created for using .Net Core in RESTful services. Some common practices and concepts are discussed here along with a sample project below. The project is a basic web api with minimal services implemented. It was created to be used as a template for multiple RESTful service projects that were to […]
Microservices
Traditionally a single program would have multiple capabilities. When we scale that program, it would be replicating those bundles of capabilities. Microservices Architecture improves this by breaking the capabilities into individual programs. Each of these programs would run in its own container and therefore, when scaled, its much easier to pick and choose which capabilities […]
Reactive Programming using RxJS
Reactive Programming Paradigm Asynchronous programming Works with Functional Programming ReactiveX works with many languages JS .Net Java More information: http://reactivex.io/intro.html Mission Statement ReactiveX observable model allows you to treat streams of asynchronous events with the same sort simple, composable operations that you use for collections of data items like arrays. It frees you […]
DevOps integration with Team Foundation Server
DevOps Dev + Ops = Delivery and support of software Dev and Ops work closely together Use of automation Build Test Deploy MonitoringInfrastructure (like use of containers / docker)Frequent ReleasesQuick testing Creates predictability and consistency (a delivery every 30 days) Define what DONE means Works in smaller chunks prioritizes the backlog TFS and Team […]
Database Access from IIS Best Practices
This document reviews techniques and best practices in securing connections between a web application server and database system. This document focuses on .Net based web applications running on IIS and connecting to a MS SQL Server database. It assumes the web application is accessible to an intranet or internet. This document references IIS7.5+, Windows Server […]
UI / UX Design Fundamentals
Notes taken during CodeSchool course: Fundamentals of Design All pictures are property of CodeSchool Typography Some fonts are just horrible. Invest in researching which fonts match your content and audience. Content should be both verbal and visual, depending on what needs to be presented. Typefaces Humanist Serif = good for journalistic content Sans Serif does […]
Web Performance Optimization (WPO)
This was a presentation used to introduce concepts in Web Performance Optimization.
JavaScript Best Practices
Ternary Conditionals var x = true ? true : false; Nested Ternaries isArthur && isKing ? (weapon = ‘a, helment = ‘a) : isArcher ? (weapon = ‘b’, helmet = ‘b’) : (weapon = ‘c’, helmet = ‘c’); Logical Assignments Var result = 42 || undefined; // 42 Var result2 = [‘sweet’] || […]
Unit Testing vs Integration Testing
Unit Tests tests a single class focuses on single behavior or function it drives implementation runs in memory (using mocks) Integration Tests tests a system (more whole than unit test) focuses on interaction between functions catches regressions (in future changes) runs in database (uses data access layer) Due to integration tests being focused on the […]
Unit Testing with Dependency Injection
Unit Test One of the most commonly skipped or minimally managed areas of application development is unit testing. It is often seen as overhead, even unnecessary, and given very little or no attention. On some projects where requirements are often changing rapidly, the developer can get frustrated trying to keep up with the changes and […]
Repository and Factory Pattern
These are my notes in regards to using the Repository and Factory design patterns in an ASP.NET MVC / Web-API application. Definitions Repository = A repository is used to separate the concerns between the domain logic and data layer of an application. It helps the domain layer to be decoupled from the data layer. […]
Code Management using Branches
Managing Hot Fixes and Code Quality Branches and Code Reviews TFVC vs Git Branching by feature is nice, and Git supports branching very easily. But note that each branch requires integration (merge). So having more branches mean there are potentially more merges. Some issues when doing too much branches. One good scenario for branching is […]
Java Coding Standards
Sample of standards used for project at work
Fundamentals of Programming
Some of my personal notes and references regarding general programming. SOLID A collection of principles that outline how software engineers can design and develop code that is easy to read, has flexibility to evolve and therefore easier to maintain. It was first defined by Robert C Martin (Uncle Bob) in his book – Design […]