tech sole3


Which domain extensions are most popular?

As we've talked about, the objective of creating numerous domain extensions was to divided websites. It divides locales into a few classifications in view of their business types.

There are 100+ different domain extensions accessible for registration. The most common choices are


It means business and utilizations for web based business locales. In spite of this, over portion of all websites currently end

The main disadvantage to buying a .com domain is that it may not be accessible.

The most well known choice among entrepreneurs is .com, which is likewise extremely modest contrasted with other TLDs.


The second most well known TLD. The TLD signifies organization and utilizations for associations that give network, like data sets, email, and Internet specialist co-ops. However, as .com, .net has occupied a great deal of room on the web.


A .org TLD utilizes for charitable associations. Obviously, anybody can now buy it. However, not-for-profits, open-source programming adventures, instructive administrations, and so forth, actually use it the most.


.co was made in 2010 and shows .org like .net and .com, it is a well known domain extension for online organizations.

Most organizations join .co with a nation code TLD, for example,


.biz is the most un-enjoyed domain extension on this rundown. It utilizes for organizations and eCommerces business websites. However, it is one of the most reasonable.

Which web extension should you choose?

While picking a domain extension, it's ideal to pick something that addresses and communicates your business.

Here is a rundown of things for picking a domain extension

1. What is the purpose behind your website?

To begin a eCommerce business website or a business website, a .com domain is great.

If you have any desire to distribute a blog, then a .blog or .biz TLD is the most ideal choice. Likewise, assuming the blog is for a non-benefit association, you can utilize .org.

Keeping a web-based diary .me may be the most ideal choice.

Somehow or another, the web extension you choose ought to mirror the point of your webpage.

2. What do local TLDs mean?

Assuming that you give business in a particular area, including a nation code TLD will assist you with positioning higher in nearby SERPs and draw in a more neighborhood crowd.

An individual who works a business in UAE and needs to offer types of assistance inside the country, for instance, ought to chase after the best .ae domain registration supplier close by and buy .ae domain for their website.

3. Is it beneficial for SEO?

On the off chance that you like to get higher ROI from your website, you ought to attempt to rank high in Google's query items. Along these lines, when your potential clients look for the administrations you offer, choose the web extension that has a superior possibility positioning.

In general, the domain name and the domain extension you buy are basic choices. It will impact the eventual fate of your site. Its ubiquity among your interest group and how much money it produces every year. Thus, ponder the administrations you're giving prior to settling on a domain extension.

Assuming that you own a business in UAE, remember to choose the domain extension from Navicosoft with a .ae domain extension. Subsequently, they are awesome and modest domain supplier around the world.

What is GEEK

Buddha Community

Which domain extensions are most popular?
Carmen  Grimes

Carmen Grimes


Reflecting business logic rules into the domain models using typescript — Part 1

Typescript is a great and powerful tool for type checking but it could bother you if you don’t define your type according to business logic rules.

If your models don’t reflect business logic rules, after some time it will create a gap between what business logic says and how your code behaves.

Let’s explain this with an example.

We need to define a model for storing Person data. the rules and constraints are:

  • a person must have a first name with limited length 50
  • a person must have a last name with limited length 50
  • a person must have contact info. contact info could be Email or PostalCode or both.

It seems very reasonable to model the Person model like this.

type Person = {
     firstName: string
     lastName: string
     email?: string
     postalCode?: string

BUT there are some problems in this modeling.

  • firstName and lastName are not any string. they could not have any length, they should have a limited length of 50.
  • email is not any string. it should have some specific shape (has @ character and domain name in it)
  • postalCode is not any string. it should contain 10 digits.

how could we put these rules into our model?

#domain-modeling #business-logic #domain-model #domain-driven-design #typescript

Carmen  Grimes

Carmen Grimes


Reflecting business logic rules into the domain models using typescript — Part 2

In the previous article, we learned how to create self-documented types and models. but they were just types and didn’t have any functionality.

In this article, we are going to write some code that creates and validates those types.

At the end of this article, our types can be used in real-life projects.

The project source code is available here:


Contribute to mohsensaremi/reflecting-business-logic-rules-into-the-domain-models development by creating an account on…


First, we need a typescript project. so let’s create it.

yarn init -y
yarn add --dev typescript ts-node
./node_modules/.bin/tsc --init

Then we create our types.


import {CustomTypeError} from "../exception/CustomTypeError";

	export type String50 = {
	    kind: "String50",
	    value: string,

	export const makeString50 = (arg: any): String50 => {
	    if (typeof arg === "string" && arg.length <= 50) {
	        return {
	            kind: "String50",
	            value: arg,
	    throw new CustomTypeError("String50", arg);

At the top, there is the type declaration. after that, there is the makeString50function. this function accepts any argument and tries to create String50 .

It checks if the argument type is a string and its length is less than 50.

If the argument doesn’t satisfy the rules and constraint it will throw a CustomTypeError exception.

And here is CustomTypeError

export class CustomTypeError extends Error {
	    constructor(type: string, value: any) {
	        super(`invalid value ${JSON.stringify(value)} provided for type ${type}`);

It is just a simple class for showing errors.

We use it in try catch blocks to handle our custom type errors.

Let’s continue to define other types.

#domain-driven-design #business-logic #typescript #domain-modeling #domain-model

Carmen  Grimes

Carmen Grimes


Reflecting business logic rules into the domain models using typescript — Part 3

In the previous article, we declare types and create a function to make and validate the type.

But it will take too much time if we want to create these functions and validators for each model we want to use.

In this article, we are going to use io-ts library to automate these boring tasks.

The final project is available here:


Contribute to mohsensaremi/reflecting-business-logic-rules-into-the-domain-models development by creating an account on…


yarn add io-ts fp-ts

So what is fp-ts ?

fp-ts is a functional programming utility for typescript and is a peer dependency for io-ts .

We are not going to talk about functional programming in this article.

We only discuss a little about Either monad.


io-ts represent our type with something called Codec.

A codec has decode and encode functions.

We create and validate our input data with decode function and put back the data in normal shape using encode function.

#domain-modeling #typescript #business-logic #domain-driven-design #domain-model

Creating Extensions for Visual Studio Code: A Complete Guide

Creating Extensions for Visual Studio Code: A Complete Guide

Extensions are an indispensable part of project development. They play a vital role in improving your productivity on a project, helping you customize your project, and more. Visual Studio Code extensions are add-ons that enhance your productivity and allow you to customize your project by adding new features or integrating existing tools into it. These extensions can customize existing or new projects by adding files, new palettes, menus, commands, and so on.

This post explains how to create a Visual Studio Code extension that creates a new project palette.

Let’s get started!


Create a VSIX project

Follow these steps to create a VSIX project:

Step 1: Create a new VSIX project in Visual Studio Code through Terminal > New Terminal.

Step 2: Run the following command to install the Code Generator:

npm install -g yo generator-code

Now the extension is ready for use with a TypeScript or JavaScript project.

Step 3: Run the following generator command and wait for some time (approximately 5 minutes) for the extension generator to be loaded.

yo code

Step 4: Fill out all the fields for a TypeScript project as illustrated in the following screenshot.

Fill out all the fields for a TypeScript project

The extension project has been created successfully.

Step 5: Open the project by executing the following command:

cd Mycode //The Mycode is an extension identifier name.

code .

The project will be shown in the Explorer window as in the following screenshot.

Project shown in the Explorer window

Update the extension details

The package.json file has the VS Code extension name, description, author, license, and other details. Open the package.json file to edit the extension details as shown in the following screenshot.

Open the package.json file to edit the extension details

Create a Visual Studio Code project template

We can create a project template for any project type available in the dotnet new command. Here, I am going to create a new **Blazor **project for demonstration purposes.

Step 1: Create a new folder in the following structure.

{VSIX Project Location}/templates/BlazorServer

Step 2: Open the Terminal (Terminal > New Terminal) and navigate to the BlazorServer location using cd command.

Step 3: Run the following command to create the Blazor server app.

dotnet new blazorserver

The following screenshot shows the output on running the command.


#blazor #extensions #visual studio code #extensions #productivity #tech guide

rick william


Custom Redirect Magento 2 Extension

**Custom Redirect Magento 2 Extension **

Redirect plays an important role for visitors and search engines in website development. Custom Redirect Magento 2 Extension
There is not any label or notification on the website that shows visitors to redirect them to a new location Sometimes you want to move your customer/customer group to go to some specific page or specific website.

#magento 2 custom redirect extension #custom redirect magento 2 extension #registration redirect magento 2 #magento 2 extension