Lodash, JavaScript Utility Library

A JavaScript utility library: Array/Collections/Date/Math/Number/String etc.

https://lodash.com/docs

Shared by @joubin on Thu Nov 23 2017

Process class, .NET Framework

Provides access to local and remote processes and enables you to start and stop local system processes.

In a console application access the Process class through:

System.Diagnostics.Process

Example: Launch Windows Explorer to a specific folder:

System.Diagnostics.Process.Start($"explorer.exe", "c:\temp\files");

https://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx

Shared by @joubin on Thu Nov 23 2017

Postman, scripting

Read JSON response:

pm.response.json()

Read Text response:

pm.response.text()

Output to Postman console:

console.log

Set environment var:

postman.setEnvironmentVariable('var-name', var-value);

https://www.getpostman.com/docs/postman/scripts/test_scripts

https://www.getpostman.com/docs/postman/scripts/pre_request_scripts

Shared by @joubin on Tue Nov 21 2017

Dependency Injection in ASP.NET Core

ASP.NET Core is designed from the ground up to support and leverage dependency injection. ASP.NET Core applications can leverage built-in framework services by having them injected into methods in the Startup class, and application services can be configured for injection as well. The default services container provided by ASP.NET Core provides a minimal feature set and is not intended to replace other containers.

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection

Martin Fowler has written an extensive article on Inversion of Control Containers and the Dependency Injection Pattern.

https://www.martinfowler.com/articles/injection.html

Shared by @joubin on Fri Nov 10 2017

ASP.NET Core essentials

Any ASP.NET Core application is a console application. The project will include a Program class.

The "Startup" class doesn't need to be name "Startup" since it could potentially be configured in the project Program.Main method.

Methods to have in the 'Startup' class:

  • constructor
  • ConfigureServices: This method is used to configure services that are used by the application.
  • Configure: This method is used to define how the application will respond on each HTTP request i.e. we can control the ASP.net pipeline.

http://www.c-sharpcorner.com/article/understanding-startup-class-in-asp-net-core/

Shared by @joubin on Fri Nov 10 2017

Transactions, Mainframe

A transaction is an individual and indivisible set of operations that must either all succeed or fail as one unit.

Transaction Processing systems' examples include systems that manage sales order entry, airline reservations, payroll, employee records, manufacturing, and shipping.

Since most transaction processing today is interactive the term is often treated as synonymous with online transaction processing.

Jim Gray defined properties of a reliable transaction system in the late 1970s under the acronym ACID — atomicity, consistency, isolation, and durability.

Standard transaction-processing software, such as IBM's Information Management System, was first developed in the 1960s, and was often closely coupled to particular database management systems.

https://en.wikipedia.org/wiki/Transaction_processing

Shared by @joubin on Fri Nov 10 2017

Organizational Unit, LDAP/Active Directory

Active Directory allows administrators to create a hierarchy within a domain that meets the needs of their organization.

The object class of choice for building these hierarchies is the class organizationalUnit, a general-purpose container that can be used to group most other object classes together for administrative purposes.

An organizational unit in Active Directory is analogous to a directory in the file system; it is a container that can hold other objects.

https://technet.microsoft.com/en-us/library/cc978003.aspx

Shared by @joubin on Fri Sep 15 2017

Flutter, Google

Flutter is a new open-source framework built by Google that aims to enable mobile cross-platform development using a single Dart codebase on iOS and Android. It aims to provide high performance and 60fps, jitter-free experiences on both platforms.

https://medium.com/@animeshjain/why-native-app-developers-should-take-a-serious-look-at-flutter-e97361a1c073

Shared by @joubin on Mon Dec 21 2015

DotLiquid

DotLiquid is a .Net port of the popular Ruby Liquid templating language. It is a separate project that aims to retain the same template syntax as the original, while using .NET coding conventions where possible.

It's the .NET Port of Tobias Lütke's Liquid template language.

http://www.liquidmarkup.org/

Liquid is an open-source template language created by Shopify and is written in Ruby. It is the backbone of Shopify themes and is used to load dynamic content on storefronts.

Shared by @joubin on Tue May 23 2017

Observable vs. Promise, Angular

An Observable is like a Stream and allows to pass zero or more events where the callback is called for each event.

Often Observable is preferred over Promise because it provides the features of Promise and more.

Observable has the advantage over Promise to be cancelable. If the result of an HTTP request to a server or some other expensive async operation isn't needed anymore, the Subscription of an Observable allows to cancel the subscription, while a Promise will eventually call the success or failed callback even when you don't need the notification or the result it provides anymore.

Observable provides operators like mapforEachreduce, ... similar to an array

There are also powerful operators like retry(), or replay().

https://stackoverflow.com/questions/37364973/angular-promise-vs-observable

Shared by @joubin on Tue Nov 07 2017

Puppeteer, UI Automation Tool

Puppeteer is a Node library which provides a high-level API to control headless Chrome over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome.

https://github.com/GoogleChrome/puppeteer

Shared by @joubin on Wed Nov 01 2017

Sonar, Web Linting Tool

The folks who built Microsoft Edge have just launched Sonar, an open-source linting tool to help test your project for performance and security issues.

https://sonarwhal.com/

https://thenextweb.com/apps/2017/10/26/microsoft-launches-sonar-to-test-your-sites-performance-and-security/

Shared by @joubin on Thu Oct 26 2017

Schema Cache, VS 2017

The Schema cache is located in the %InstallRoot%\Xml\Schemas directory. The schema cache is global to all users on your computer and includes standard XML Schemas that are used for IntelliSense and XML document validation.

Example: DotNetConfig.xsd is the schema for all Web.Config files.

https://docs.microsoft.com/en-us/visualstudio/xml-tools/schema-cache

Shared by @joubin on Mon Oct 23 2017

What is SOAP Binding?

SOAP defines a binding to the HTTP protocol. This binding describes the relationship between parts of the SOAP request message and various HTTP headers.

All SOAP requests use the HTTP POST method

A SOAP request specifies at least three HTTP headers:

  1. Content-Type
  2. Content-Length
  3. A custom header SOAPAction.

The actual SOAP message is passed as the body of the request or response.

http://www.informit.com/articles/article.aspx?p=102285&seqNum=5

Shared by @joubin on Sat Oct 21 2017

wsHttpBinding vs. basicHttpBinding

  • basicHttpBinding is the very basic binding - SOAP 1.1, not much in terms of security, not much else in terms of features - but compatible to just about any SOAP client out there --> great for interoperability, weak on features and security
  • wsHttpBinding is the full-blown binding, which supports a ton of WS-* features and standards - it has lots more security features, you can use sessionful connections, you can use reliable messaging, you can use transactional control - just a lot more stuff, but wsHttpBinding is also a lot *heavier" and adds a lot of overhead to your messages as they travel across the network

https://stackoverflow.com/questions/2650785/basichttpbinding-vs-wshttpbinding-vs-webhttpbinding

Shared by @joubin on Sat Oct 21 2017

Event Sourcing

The fundamental idea of Event Sourcing is that of ensuring every change to the state of an application is captured in an event object, and that these event objects are themselves stored in the sequence they were applied for the same lifetime as the application state itself.

Event Sourcing is an architectural pattern.

https://martinfowler.com/eaaDev/EventSourcing.html

http://eventuate.io/whyeventsourcing.html

Shared by @joubin on Tue Jul 18 2017

TTL, Redis

Gets the Time-To-Live for a key (that has a timeout) in Redis.

Use the following commands:

TTL {key_name} - will return seconds

PTTL {key_name} - will return milliseconds

https://redis.io/commands/ttl

https://redis.io/commands/pttl

Shared by @joubin on Tue Sep 12 2017

Powershell - Execution Modes

Set-ExecutionPolicy Unrestricted

There are 4 different execution modes:

  1. Restricted
  2. All Signed
  3. Remote Signed
  4. Unrestricted

Note: There is a corresponding Get-ExecutionPolicy command to output the current execution mode.

https://www.howtogeek.com/106273/how-to-allow-the-execution-of-powershell-scripts-on-windows-7/

Shared by @joubin on Fri Aug 11 2017

Lighthouse, A web page auditing tool

Lighthouse is an open-source, automated tool for improving the quality of web pages.

You can run it against any web page, public or requiring authentication.

It has audits for performance, accessibility, progressive web apps, and more.

You can run Lighthouse:

  1. A Chrome Extension
  2. From the command line
  3. A Node module

Chrome (version 60) has a new Audits panel, powered by Lighthouse.

https://developers.google.com/web/tools/lighthouse/

Shared by @joubin on Fri Sep 22 2017

Albedo

Albedo is the fraction of solar energy reflected from the Earth back into space.

It is a measure of the reflectivity of the earth's surface.

https://en.wikipedia.org/wiki/Albedo

Shared by @joubin on Tue Sep 19 2017