Tag: best practices

Articles

AWS Tagging Strategy

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 […]

Read article : AWS Tagging Strategy

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 […]

Read article : Software Prototyping

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 […]

Read article : Privilege Account Management

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 […]

Read article : Architectures

.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 […]

Read article : .Net Core REST API

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 […]

Read article : Microservices

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 […]

Read article : Reactive Programming using RxJS

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 […]

Read article : DevOps integration with Team Foundation Server

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 […]

Read article : Database Access from IIS Best Practices

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 […]

Read article : UI / UX Design Fundamentals

Web Performance Optimization (WPO)

This was a presentation used to introduce concepts in Web Performance Optimization.                                                      

Read article : Web Performance Optimization (WPO)

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’] || […]

Read article : JavaScript Best Practices

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 […]

Read article : Unit Testing vs Integration Testing

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 […]

Read article : Unit Testing with Dependency Injection

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. […]

Read article : Repository and Factory Pattern

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 […]

Read article : Code Management using Branches

Java Coding Standards

Sample of standards used for project at work

Read article : Java Coding Standards

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 […]

Read article : Fundamentals of Programming