Entity Framework 6

These are my notes while reviewing the latest release of Entity Framework EF6       Migrations = creates or updates database automatically as models in the application change. This lets developers focus on the application models and not worry about the database.   EF SaveChanges() This does the actual SQL command execution. It is […]

SQL Server Account Types and Security

A quick reference to SQL Server Account Types and System Security   Ports Clients connect to SQL Server through UDP 1434 SQL server responds with a TCP Port number to continue their connection Default TCP port is 1433     Server and System Security SQL Service runs under a service account, can be: Windows account […]

Relational vs Non-Relational Databases

Other notes here regarding types of databases and cloud providers for these types of databases. http://solidfish.com/types-of-databases/   History Relational theory Tuples = unordered set of attribute values (row and attribute of column in a table) Relation = collection of tuples and corresponding relations Constraints = enforce consistency; used to identify tuples and relationships between them […]

Types of Databases

These are some notes on different types of databases used in the current industry. Refer to my other post on Relational vs Non-Relational Database for more information specific to NoSQL Document Databases. http://solidfish.com/relational-vs-non-relational-databases/ Below is a list of some different types of databases as well as some platforms/tools for these database types.   Document Databases […]

An overview of MVC 5 and Web API

Some general notes on MVC5 and WebAPI…   The MVC pattern is been in computer science since 1979, known then as the Thing-Model-View-Editor. The Model: A set of classes that describes the data you’re working with as well as the business rules for how the data can be changed and manipulated The View: Defines how […]

Encryption and Certificates

Some quick notes on doing encryption. Encryption is a process, by which information can be transformed (encoded) in such a format, that only authorized parties can read (decode) the information, and unauthorized parties cannot. The purpose of encrypting information is to protect the sensitive data from unauthorized use. Symmetric and Asymmetric Encryption In a symmetric […]

Overview of jQuery Mobile

Using jQuery Mobile for a web application that needed to be easily accessible to mobile users.     Download the project sample � MVC4Mobile This is a mobile app for showing Conference details. Sessions data for the conference is kept in the following XML file: ~/App_Data/Sessions/RawSessionsData.xml   The project starts with no pleasant mobile view […]

Cloud Services Overview

  Cloud Services Provide Availability Scalability / Dynamic adjust for current workload (up or out) Elasticity / Providing scalability automatically Agility / React quickly Disaster Recovery Fault Tolerance Latency Global Reach Security Predictive Cost   Things to consider for cost when using Cloud Economies of Scale – Cloud providers have far larger resources therefore able […]

Reference links for PostgreSQL

Working with NpgsqlConnection http://www.sqlines.com/postgresql/npgsql_cs_result_sets   Copy command (Bulk insert) http://www.npgsql.org/doc/copy.html This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters public static void BulkInsertNpgsql<T>(this […]

AWS Cloud Services

Review of Amazon Web Services (AWS). Material taken from AWS Associate Certification Exam (v.2012) Compute (Elastic Computer Cloud / EC2) Amazone Machine Image EC2 Instance Store Volumes Elastic Batch Store (EBS) Databases on EC2 Auto Scaling Elastic Load Balancing (ELB) Networking Amazon VPC (Virtual Private Cloud) Security Groups Network Access Control Lists (ACL) Elastic Network […]

Advanced Topics in C#

Some person notes on Advanced Topics programming with C#.   Inheritance vs Composition Inheritance and composition isnt specific to C# but to applies to any Object Oriented Programming language. The Inheritance model allows for “IS-A” relationships. For example, we can have a parent Fruit class and a child Apple class. The child Apple class “IS-A” […]

Counting and Character Encoding

ASCII American Standard Code for Information Interchange – character encoding standard for electronic communication. Developed 1963 and is a 7bit binary system. Each character translates into a 7bit binary. This allows for 253 characters. The upper case “A” was 100001, “B” was 1000011. The lower case “a” started at 110001. This was 7bits because an […]

Modeling Message-Based Behavior with Interactions in Sequence Diagrams

Sequence diagram = represents an interaction; can only show interactions so model element type: interaction; in form: sd [Interaction] interaction name [diagram name] [1] What is the diagram kind for a sequence diagram, and which type of model element does it represent? A = sd / interaction only; [2] What is the context for an […]

Modeling Cross-Cutting Relationships with Allocations

Allocation = mechanism to relate model elements (build relationships); useful for system of systems (SoS); supports allocation of behavior, structure and properties; functional allocation = allocation of activities to blocks; Allocation relationship = between any named model elements; Model element A is allocated to Model element B when from-end of allocation relationship is A and […]

Parametric Diagrams

Parametric Diagrams (par) = used to express information about system’s constraints. Recall that a constraint block = special kind of block that encapsulates constraint expression; equation or inequality. This enables the following abilities: – Specify assertions of valid system values (thereby detecting exceptional conditions) – Provides inputs and outputs for engineering analysis and simulation during […]

Modeling Constraints with Parametrics

Parametric models capture the constraints on the properties of the system; expressed as equations; uses bdd to define constraint blocks; the header follows format: par [model element type] model element name [diagram name] [6] How are constraint properties represented on a parametric diagram? ANS: 7.2 [7] How are constraint parameters represented on a parametric diagram? […]

Sequence Diagrams with Lifelines, Constraints and other Specifications

Sequence diagrams (sd) = used to express information about system’s dynamic behavior, by using elements called lifelines to model participants in the system behavior and use messages between lifelines to model the interactions. This view expresses sequences of behaviors and events over time. This is an ideal diagram when wanting to display how blocks interacts […]

Requirements Diagrams with Allocations

Requirements Diagram Use to be text-based requirements (and requirements specifications in them) traditionally. This can be represented through the requirements diagram (req). It traces requirements to the elements in the system model. Requirement = rectangle with stereotype <<requirement>> preceding the name and two properties, id and text, both of type string. SysML only requires these […]

Modeling Text-Based Requirements and Relationship to Design

Requirement = capability or condition that must be met by a system, or a performance condition the system must achieve; similar requirements are grouped into a specification; requirements can be shown graphically or tabular, or in compact graphical notations in any SysML diagram. Uses <<requirement>> model element; [1] What is the abbreviation for a requirement […]

Activity Modeling and relating to Block Diagrams

Interruptible region = subset of actions within activity that can interrupt execution of activity via interrupting edge; noted by dashed line around activity nodes; an interrupting edge is noted by lightning bolt symbol; [21] interrupting edge node is within the interruptible region and this has to be triggered to exit the interruptible region;     […]

Block Definition Diagrams and Behaviors

The most common SysML diagram is BDD, which includes elements such as blocks, actors, value types, constraint blocks, flow specifications and interfces. Elements of Definition = the elements of a BDD, which are the foundation of everything else, contains the structural relationships, associations, generalizations and dependencies BDD should be created often = created when stakeholder […]

System Modeling Language (SysML) Overview

SysML = broad and richly expressive graphical language with aspects of system’s design: structure, behavior, requirements, parametrics (mathematical models) SysML grammar and notations are defined by OMG (Object Management Group) SysML is extension of UML and as such, some SysML rules are actually defined in UML specification document (ie ValueType is derivative of DataType) Nine […]

System Modeling Language (SysML) Overview

The Systems Modeling Language (SysML)[1] is a general-purpose modeling language for systems engineering applications. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems. SysML was originally developed by an open source specification project, and includes an open source license for distribution and use.[2] SysML is defined as an extension of a subset of the Unified Modeling Language (UML) using UML’s profile mechanism. The language’s extensions […]

Model Based Systems Engineering Introduction

Systems Engineering Overview SysML = System Modeling Language INCOSE = International Council of Systems Engineering SysML = Object Management Group’s (OMG) SysML = general purpose graphical modeling language for representing systems that may include hardware, software, data, people, facilities and natural objects. Supports practice of model-based system engineering (MBSE). Systems engineering = multidisciplinary approach to […]

Software System Testing

Software testing is a process to find defects in a given software system and improve the overall quality of that software. It is a process of validation and verification that the software system meets the business and technical requirements, performs as expected and achieves the goals or results the system is designed for. Validation = […]

Managing Processes in Perl

The system Function Calls other programs Creates a child process to run the program being called Perl inherits the standard input, output and error Therefore if the program is printing something, that will automatically go through Perl’s STDOUT Perl waits for the child process to finish Like done on the shell, Perl can also launch […]

Perl Modules

The properties of Perl Modules: Modules either come with Perl or can be downloaded from CSPAN Modules can also be custom written Libraries also exist, but the difference is: Libraries mostly contain similar subroutines Modules is like a “smart library” – offers collection of subroutines that act as if they were build in functions Modules […]

Control Structures in Perl

The “unless” control structure Opposite of the “if” condition Only executes the code block if the condition is FALSE # UNLESS Control Structure $_ = “foey foo foobar!”; unless (/foobarz/) { print “Inside of UNLESS block \n”; } # this prints unless (/foobar/) { print “Inside of UNLESS block \n”; } # this does NOT […]

Regular Expressions

Regular expressions, often called pattern in Perl, is a template that either matches or doesn’t match a given string. Metacharacters o When referencing groups, remember that perl takes the last group value . # match any single character except newline \ # use literal value of next character * # quantifier, match zero or more […]

Hashes in Perl

Hash is an associative array o A data structure with key – value, where the key is a unique string o Perl processes big hashes just as fast as small ones. Hashes are most useful when dealing with Finding duplicates Unique Cross reference Lookup table Hash expression: $hash{$key} = $value; $hash{$key} .= $hash{$key2}; #creates key […]

Working with Input and Outputs in Perl

Input from Standard Input o Common way to input from standard input: chomp($line = <STDIN>); Reading continuous input would look something like: while ( chomp($line = <STDIN>) ) {…} # or while (defined($_ = <STDIN>)) { … } The Diamond Operator < > o Useful for making programs that work like standard Unix utilities, with […]

Subroutines in Perl

Defining Subroutines o Use the keyword sub o Subroutines can have ampersand (&) in the front of the name or not o By default, all subroutines are global (public); requires advanced methods to make them private o Two of the exact same subroutine names can be defined, but the first one is overrided by the […]

Lists and Arrays in Perl

Scalar represents “singular” in Perl. The “plural” are represented through Lists and Arrays List is an ordered collection of scalars Array is a variable that contains a list Element of an array or list is a separate scalar variable List is the data, array is the variable representing the list. There are no size limits […]

Perl Data Types (Scalar) and Common Operators

Scalar Data A scalar is the simplest kind of data that Perl manipulates String of characters primatives Numbers Perl always uses double-point precision for values (no difference between floats or integers) Examples: #Numbers $myint1 = 123456; $myint2 = 123_456; # can use _ anywhere in number $mybig1 = 1.23e10; # e notation $mysmall1 = 0xff; […]

Perl Language Overview

Introduction Using Perl version 5.10 (five.ten) Perl = Practical Extraction and Report Language (only one of many names people use to call it) Larry Wall – creator 1980s – heavily uses Unix commands Use shell or awk programming with advanced tools like grep, cut, sort and sed but without having the complexities of a language […]

Heap vs Stack Memory

Program’s memory allocation is done on the Heap and the Stack. For example if we declare a variable like below, it would be on the stack int i = 10; Objects can also be found on the stack when declared and set like so: myobject obj = null; When an object is declared but not […]

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