Posts

Showing posts from November, 2017

Documentation, Documentation, Documentation!

Documentation can be a lot of work, but someone has to do it. API with no documentation is like a new invention not explained. Considering, developing codes and tests are even easier than expressing them in a language that most people will understand. Nonetheless, documentation needs to be done and that's the goal for the rest of the year.

Mendz.Graph.Representation is on GitHub and NuGet

If you like Mendz.Matrix and Mendz.Graph, you'll love Mendz.Graph.Representation.

Mendz.Graph is on GitHub and NuGet

G = (V,E). If that makes sense to you, then Mendz.Graph is for you! If it doesn't make sense to you, and you need to work on graphs (Graph Theory), then Mendz.Graph is definitely for you, too!

Mendz.Matrix is on GitHub and NuGet

Matrix, square matrix, dense matrix, sparse matrix and compressed matrix galore! Create matrices, perform mathematical operations with them, and even compress them using CRS (compressed row storage), CCS (compressed column storage) or CVS (compressed value storage). Mendz.Matrix is a simple and lightweight library for working with matrices.

Mendz.Data.* And Your Team

Mendz.Data is designed with the team in mind. Different developers have different styles. A good team respects each member developer's style. However, a team working on the same project should also mean that all developers agree on many things. At the very least, code completeness, consistency and quality should be predictably maintainable and measureable.

How Mendz.Data.* Improves Productivity

Mendz.Data.* helps teams delegate and separate concerns. Not everything needs to be done in a single project. You can use Mendz.Data to distribute tasks so that deliverables can be created concurrently, tested independently and later assembled/integrated together for functional testing.

The Beauty of Mendz.Data.Repository(.Async)

The truth is, you can use the Mendz.Data.Repository and Mendz.Data.Repository.Async CRUDS interfaces in your own custom repository implementations. There is nothing in this namespace that requires you to use them only in purely Mendz.Data-based contexts and repositories.

How Mendz.Data.* Can Simplify Your Apps

The idea and motivation behind Mendz.Data is to remove the abstraction out of project planning, so that you can jump right ahead to coding and development. Mendz.Data is not just a library of APIs. As advertised, it is designed to provide tools and guidance.

Success with Mendz.Data.* Packages

More than a month has passed since I published Mendz.Data. Many developers and teams are using Mendz.Data to guide them in developing contexts and repositories for their projects. Simplicity, consistency, productivity, quality and scalability are key motivators.

Creating Mendz.ETL-based Joiners

Advanced ETL requirements can involve building data from various sources. Mendz.ETL-based joiners allow developers to define advanced query operations on data sources, generating data into a desired format that can be better consumed by the ETL flow.

Creating Mendz.ETL-based Validators

ETL involves agreements between partners with regards to how they will "speak" with each other. Validating what a partner sends and what you send to your partner is an important ETL requirement. Mendz.ETL supports the creation of validators, which can be called at the start and at the end of an ETL flow.

Creating Mendz.ETL-based Target Adapters

Mendz.ETL suggests three basic ingredients to ETL solutions: source adapter, mapper and target adapter. Here are some ideas for your target adapters.

Creating Mendz.ETL-based Mappers

Mendz.ETL suggests three basic ingredients to ETL solutions: source adapter, mapper and target adapter. Here are some ideas for your mappers.

Creating Mendz.ETL-based Source Adapters

Mendz.ETL suggests three basic ingredients to ETL solutions: source adapter, mapper and target adapter. Here are some ideas for your source adapters.

Creating ETL Solutions with Mendz.ETL

The first thing you need to know about Mendz.ETL is that, by itself, it does nothing. After all, Mendz.ETL is just a library of APIs. What do you expect? However, what you create with Mendz.ETL, the adapters, mappers, validators and joiners you invent with it, those will do something. And, together, they can be big.

Mendz.ETL is on GitHub and NuGet

I am very excited to announce Mendz.ETL, a class library that provides APIs to let you create custom/proprietary extract, transform and load (ETL) solutions.

More About IGenericMapper and IStreamingMapper

Mendz.Library v1.2.1 introduces MapperExtensions for the IGenericMapper and IStreamingMapper interfaces. IGenericMapper and IStreamingMapper can help in creating consistent data mapping codes and strategies. MapperExtensions adds a couple of features that aim for the same.

Mendz.Library v1.2.1 Adds More Goodies

Mendz.Library is my class library project for anything that can be used shared and used by various projects. Version 1.2.1 adds new classes, types and extensions that can help spark new ideas and inspirations. Here are the highlights.

Did you notice?

Image
Welcome to the new As I See Tech. Well, actually, I've been using this Contempo theme for weeks now. I originally only wanted to test it out for a bit. The way things are, I think that it's working pretty well.

Understanding "dynamic expansion"

In Mendz.Data.Repository(.Async) CRUDS interfaces, one of the method parameters is "dynamic expansion = null". You may be wondering, what it is? What's it for? Or perhaps even asking why? Well, it's really nothing... until you need to use it. And it can be one of the most powerful features of Mendz.Data.Repository(.Async)'s CRUDS interfaces.

Inside Mendz.Data.Common.ResultInfoExtensions

Mendz.Data.ResultInfo is like a POCO of result information. When used with ADO.Net compatible contexts (like those based on Mendz.Data.Common.DbDataContextBase), ResultInfo can be handy in saving input and output values for the caller. Mendz.Data.Common.ResultInfoExtensions provide a couple of useful shortcuts.

Tip to Cleaning Up the Controller Code

There are always cleaner and simpler ways of doing things. This topic is a matter of preference. Consider this approach to clean out some lines of codes from your ASP.Net application's controllers.