1652830746
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 in.com.
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, .co.ae.
.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.
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
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.
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.
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.
1599333540
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:
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
1599329880
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:
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 makeString50
function. 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
1599326160
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:
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
1594155600
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!
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.
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.
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.
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
1613729248
**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