Architecting Services with Design Patterns π
As the number of your services expands you're going to need to start thinking about how to organize them. π
Applying these two design patterns can help, provided you understand all their variations. β
With the current set of tools that come with the Microsoft .NET Framework, it's easy to create a service. βοΈ
But it's also easy to create what both Nayaki Nayyar and Benjamin Moreland described as a "junk drawer of services." πΎ
If you're going to avoid that as the number of services in your organization increases, then you need to think about your architecture. π€
https://t.me/pgimg/95
[ Article ] : http://bit.do/asdp
γ°γ°γ°γ°γ°γ°
#CleanCode #DesignPatterns
@ProgrammingTip
As the number of your services expands you're going to need to start thinking about how to organize them. π
Applying these two design patterns can help, provided you understand all their variations. β
With the current set of tools that come with the Microsoft .NET Framework, it's easy to create a service. βοΈ
But it's also easy to create what both Nayaki Nayyar and Benjamin Moreland described as a "junk drawer of services." πΎ
If you're going to avoid that as the number of services in your organization increases, then you need to think about your architecture. π€
https://t.me/pgimg/95
[ Article ] : http://bit.do/asdp
γ°γ°γ°γ°γ°γ°
#CleanCode #DesignPatterns
@ProgrammingTip
Telegram
Programming Tips Resources
5 More C# Extension Methods for the Stocking β A Bonus Method For Enums ! π₯
1οΈβ£ ToInt() β
We always have the familiar .ToString(), but what happens when we want to convert a simple string to an integerβ
πΉπΈπΉ
2οΈβ£ OrdinalSuffix() β
This extension method places a 'th', 'st', 'nd', 'rd', or 'th' to the end of the number. π
πΈπΉπΈ
3οΈβ£ Occurrence() β
This just counts the number of occurrences in a string. π
πΉπΈπΉ
4οΈβ£ Join<T>()/Join() β
With this extension method, you can take an array or List<string>() and make a comma-delimited list in no time or build a broken-up URL with dashes as the URL name. β
πΈπΉπΈ
5οΈβ£ ToQueryString() β
Have you ever wanted to take a NameValueCollection and convert it into a query string for a URL ? π
πΉπΈπΉ
β‘οΈ Enums.ToList<T>() - Bonus Method β
This Enums.ToList<T> static method is meant to take enumerations with description attributes and convert them into a NameValueCollection for possibly a dropdown. π
πΈπΉπΈ
https://t.me/pgimg/96
[ Article ] : http://bit.do/chex
γ°γ°γ°γ°γ°γ°
#CSharp #ExtensionMethod
@ProgrammingTip
1οΈβ£ ToInt() β
We always have the familiar .ToString(), but what happens when we want to convert a simple string to an integerβ
πΉπΈπΉ
2οΈβ£ OrdinalSuffix() β
This extension method places a 'th', 'st', 'nd', 'rd', or 'th' to the end of the number. π
πΈπΉπΈ
3οΈβ£ Occurrence() β
This just counts the number of occurrences in a string. π
πΉπΈπΉ
4οΈβ£ Join<T>()/Join() β
With this extension method, you can take an array or List<string>() and make a comma-delimited list in no time or build a broken-up URL with dashes as the URL name. β
πΈπΉπΈ
5οΈβ£ ToQueryString() β
Have you ever wanted to take a NameValueCollection and convert it into a query string for a URL ? π
πΉπΈπΉ
β‘οΈ Enums.ToList<T>() - Bonus Method β
This Enums.ToList<T> static method is meant to take enumerations with description attributes and convert them into a NameValueCollection for possibly a dropdown. π
πΈπΉπΈ
https://t.me/pgimg/96
[ Article ] : http://bit.do/chex
γ°γ°γ°γ°γ°γ°
#CSharp #ExtensionMethod
@ProgrammingTip
Telegram
Programming Tips Resources
JavaScript β Null vs. Undefined β‘οΈ
Learn the differences and similarities between null and undefined in JavaScript. βοΈ
At first glance, null and undefined may seem the same, but they are far from it. βοΈ
This article will explore the differences and similarities between null and undefined in JavaScript. β
https://t.me/pgimg/97
[ Article ] : http://bit.do/nullu
γ°γ°γ°γ°γ°γ°
#JavaScript #Null
@ProgrammingTip
Learn the differences and similarities between null and undefined in JavaScript. βοΈ
At first glance, null and undefined may seem the same, but they are far from it. βοΈ
This article will explore the differences and similarities between null and undefined in JavaScript. β
https://t.me/pgimg/97
[ Article ] : http://bit.do/nullu
γ°γ°γ°γ°γ°γ°
#JavaScript #Null
@ProgrammingTip
Telegram
Programming Tips Resources
Use T4MVC to Remove Magic Strings in ASP.NET MVC Apps π©
ASP.NET MVC has a fascination with magic strings. β
Basically any time you need to specify an action, a view, or controller, you use a magic string β¨ :
The problem with magic strings is the same problem that ViewBag has β οΈ :
1οΈβ£ There's no type checking.
2οΈβ£ The developer won't catch these errors until runtime, and sometimes not at all.
πΉπΈπΉπΈ
T4MVC aims to remove magic strings from MVC and replace them with strongly-typed ActionResults. β
It adds a bunch more overloads to methods such as ActionLink(), BeginForm(), and RedirectToAction() so that they can now accept ActionResults as parameters. π
Thereby making them strongly-typed and removing their dependency on magic strings. π
Most importantly, it means we can take the above code samples and refactor them to look like this π€π» :
https://t.me/pgimg/98
[ Article ] : http://bit.do/t4mvc
γ°γ°γ°γ°γ°γ°
#AspMvc #CleanCode #T4MVC
@ProgrammingTip
ASP.NET MVC has a fascination with magic strings. β
Basically any time you need to specify an action, a view, or controller, you use a magic string β¨ :
return RedirectToAction("Index", "Home", new { id = 4 });
return View("Details");
@Html.ActionLink("Back to details", "Detals", "User", new {id = 12}, new {@class = "backlink"});
@using (Html.BeginForm("Details", "User", FormMethod.Post))The problem with magic strings is the same problem that ViewBag has β οΈ :
1οΈβ£ There's no type checking.
2οΈβ£ The developer won't catch these errors until runtime, and sometimes not at all.
πΉπΈπΉπΈ
T4MVC aims to remove magic strings from MVC and replace them with strongly-typed ActionResults. β
It adds a bunch more overloads to methods such as ActionLink(), BeginForm(), and RedirectToAction() so that they can now accept ActionResults as parameters. π
Thereby making them strongly-typed and removing their dependency on magic strings. π
Most importantly, it means we can take the above code samples and refactor them to look like this π€π» :
return RedirectToAction(MVC.Home.Index(4));
return View(MVC.User.Views.ViewNames.Details);
@Html.ActionLink("Back to details", MVC.User.Details(12), new {@class = "backlink"});
@using (Html.BeginForm(MVC.User.Details(), FormMethod.Post))
https://t.me/pgimg/98
[ Article ] : http://bit.do/t4mvc
γ°γ°γ°γ°γ°γ°
#AspMvc #CleanCode #T4MVC
@ProgrammingTip
Telegram
Programming Tips Resources
Q&A: Successful Developer Career Strategies π
The field of computer science is huge, far too wide for anyone to master in all areas. π
We all need to make difficult choices about how and where we spend our time. β°
Itβs often said that in order to be successful in this industry you need to specialize. π€
But itβs also often said that you need a wide range of experience. β
So what is more important : breadth or depth βοΈ
This is a very difficult question, and is why I asked for the advice of some of the very brightest minds in our industry. π
Our expert panel is comprised of the following seven developers π₯ :
β’ Scott Allen
β’ Mark Seemann
β’ Julie Lerman
β’ Kyle Simpson
β’ Troy Hunt
β’ Oren Eini
β’ Cory House
https://t.me/pgimg/99
[ Article ] : http://bit.do/qadev
γ°γ°γ°γ°γ°γ°
#QA #Strategy
@ProgrammingTip
The field of computer science is huge, far too wide for anyone to master in all areas. π
We all need to make difficult choices about how and where we spend our time. β°
Itβs often said that in order to be successful in this industry you need to specialize. π€
But itβs also often said that you need a wide range of experience. β
So what is more important : breadth or depth βοΈ
This is a very difficult question, and is why I asked for the advice of some of the very brightest minds in our industry. π
Our expert panel is comprised of the following seven developers π₯ :
β’ Scott Allen
β’ Mark Seemann
β’ Julie Lerman
β’ Kyle Simpson
β’ Troy Hunt
β’ Oren Eini
β’ Cory House
https://t.me/pgimg/99
[ Article ] : http://bit.do/qadev
γ°γ°γ°γ°γ°γ°
#QA #Strategy
@ProgrammingTip
Telegram
Programming Tips Resources
ASP.NET Core Interview Questions πΌ
This post is about ASP.NET Core Interview Questions. βοΈ
These questions are directly tied to ASP.NET Core. β
They are not meant to serve as only questions that you would ask a candidate during an interview. β
Use these to assess if the candidate has any knowledge about ASP.NET Core. π
The questions should serve as guidelines for core ASP.NET Core concepts that candidate should be familiar with. πͺ
https://t.me/pgimg/100
[ Article ] : http://bit.do/aspint
γ°γ°γ°γ°γ°γ°
#AspMvc #AspCore #Core #Interview
@ProgrammingTip
This post is about ASP.NET Core Interview Questions. βοΈ
These questions are directly tied to ASP.NET Core. β
They are not meant to serve as only questions that you would ask a candidate during an interview. β
Use these to assess if the candidate has any knowledge about ASP.NET Core. π
The questions should serve as guidelines for core ASP.NET Core concepts that candidate should be familiar with. πͺ
https://t.me/pgimg/100
[ Article ] : http://bit.do/aspint
γ°γ°γ°γ°γ°γ°
#AspMvc #AspCore #Core #Interview
@ProgrammingTip
Telegram
Programming Tips Resources
Generating Friendly URLs in ASP.NET MVC π¦
Have a look at the following URL π :
Do you have any idea what the URL is pointing to by just looking at itβMost likely not.
Now look at this one π :
Any ideaβWell it would seem that it is an article about a hands-on with the Panasonic Lumix DMX-GX8. π₯
In todayβs blog post I would like to demonstrate how to generate βfriendly URLsβ in your ASP.NET applications. β
Friendly not just in the sense that someone can look at it and figure out what the URL is pointing to, but more importantly friendly for search engines. π
https://t.me/pgimg/101
[ Article ] : http://bit.do/aspseo
γ°γ°γ°γ°γ°γ°
#AspMvc #SEO
@ProgrammingTip
Have a look at the following URL π :
http://www.amazon.com/gp/product/1617292397/ref=s9_psimh_gw_p14_d4_i1?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1&pf_rd_r=0TFM5Q6WM6KD9NPNG9G7&pf_rd_t=36701&pf_rd_p=2079475242&pf_rd_i=desktop
Do you have any idea what the URL is pointing to by just looking at itβMost likely not.
Now look at this one π :
http://www.dpreview.com/articles/9485436827/the-big-beast-hands-on-with-the-panasonic-lumix-dmc-gx8
Any ideaβWell it would seem that it is an article about a hands-on with the Panasonic Lumix DMX-GX8. π₯
In todayβs blog post I would like to demonstrate how to generate βfriendly URLsβ in your ASP.NET applications. β
Friendly not just in the sense that someone can look at it and figure out what the URL is pointing to, but more importantly friendly for search engines. π
https://t.me/pgimg/101
[ Article ] : http://bit.do/aspseo
γ°γ°γ°γ°γ°γ°
#AspMvc #SEO
@ProgrammingTip
Telegram
Programming Tips Resources
Fasify.io β‘οΈ
An efficient server implies a lower cost of the infrastructure, a better responsiveness under load and happy users. π€
How can you efficiently handle the resources of your server, knowing that you are serving the highest number of requests as possible, without sacrificing security validations and handy development βοΈ
Enter Fastify. Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture. It is inspired by Hapi and Express and as far as we know, it is one of the fastest web frameworks in town. π₯
Install π₯
πΉπΈπΉπΈ
[ Example ]
πΉπΈπΉπΈ
[ Async-Example ]
https://t.me/pgimg/102
[ Website ] : https://www.fastify.io
γ°γ°γ°γ°γ°γ°
#JavaScript #NPM #Fastify
@ProgrammingTip
An efficient server implies a lower cost of the infrastructure, a better responsiveness under load and happy users. π€
How can you efficiently handle the resources of your server, knowing that you are serving the highest number of requests as possible, without sacrificing security validations and handy development βοΈ
Enter Fastify. Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture. It is inspired by Hapi and Express and as far as we know, it is one of the fastest web frameworks in town. π₯
Install π₯
npm install fastify --save
πΉπΈπΉπΈ
[ Example ]
// Require the framework and instantiate it
const fastify = require("fastify") ()
// Declare a route
fastify.get("/", function (request, reply) {
reply.send({ hello: "world" })
})
fastify.listen(3000, function (err) {
if (err) throw err
console.log(`server listening on ${fastify.server.address().port}`)
})
πΉπΈπΉπΈ
[ Async-Example ]
const fastify = require('fastify')()
fastify.get('/', async (request, reply) => {
reply.type('application/json').code(200)
return { hello: 'world' }
})
fastify.listen(3000, function (err) {
if (err) throw err
console.log(`server listening on ${fastify.server.address().port}`)
})https://t.me/pgimg/102
[ Website ] : https://www.fastify.io
γ°γ°γ°γ°γ°γ°
#JavaScript #NPM #Fastify
@ProgrammingTip
Telegram
Programming Tips Resources
Anatomy of an ASP.NET Identity PasswordHash π
Have you ever looked at a user record in an ASP.NET Identityβs users table and wondered just what is being saved on the PasswordHash columnβ
It looks like this (itβs in base64) :
Apart from maybe satisfying your curiosity, what could you benefit from knowing exactly whatβs on that seemingly random sequence of charactersβ
Well, you could confidently update from different versions of ASP.NET Identity. π
Also, if you ever get tired of ASP.NET Identity for whatever reason, you could move your user accounts to whatever alternative you found that might be better. β
Or, you just want to have a simple usersβ table and not have to deal with all of what you need to know to make ASP.NET Identity work. π₯
All of this while still being able to move your user accounts to ASP.NET Identity some day if you choose to do so. β»οΈ
https://t.me/pgimg/103
[ Article ] : http://bit.do/aspidn
γ°γ°γ°γ°γ°γ°
#AspMvc #Identity
@ProgrammingTip
Have you ever looked at a user record in an ASP.NET Identityβs users table and wondered just what is being saved on the PasswordHash columnβ
It looks like this (itβs in base64) :
AQAAAAEAACcQAAAAEJSPbbFM1aeXB8fGRV7RRamLpjzktAF7FjwDWtFx35eol4AxN6vm4zWR9EApc7WPsQ
Apart from maybe satisfying your curiosity, what could you benefit from knowing exactly whatβs on that seemingly random sequence of charactersβ
Well, you could confidently update from different versions of ASP.NET Identity. π
Also, if you ever get tired of ASP.NET Identity for whatever reason, you could move your user accounts to whatever alternative you found that might be better. β
Or, you just want to have a simple usersβ table and not have to deal with all of what you need to know to make ASP.NET Identity work. π₯
All of this while still being able to move your user accounts to ASP.NET Identity some day if you choose to do so. β»οΈ
https://t.me/pgimg/103
[ Article ] : http://bit.do/aspidn
γ°γ°γ°γ°γ°γ°
#AspMvc #Identity
@ProgrammingTip
Telegram
Programming Tips Resources
The Clean Coder.pdf
2.8 MB
The Clean Coder : A Code of Conduct for Professional Programmersπ
Author : Robert C. Martin π
Level : Advanced π
γ°γ°γ°γ°γ°γ°
#Book #CleanCode
@ProgrammingTip
Author : Robert C. Martin π
Level : Advanced π
γ°γ°γ°γ°γ°γ°
#Book #CleanCode
@ProgrammingTip
Mocky π€
Mock your HTTP responses to test your REST API. πΎ
Mocky is a simple app which allows to generate custom HTTP responses. π
It's helpful when you have to request a build-in-progress WS, when you want to mock the backend response in a singleapp, or when you want to test your WS client. β
Is Mocky onlineβ
Yes, Mocky is online, free and unlimited. πΈ
https://t.me/pgimg/104
[ Website ] : mocky.io
γ°γ°γ°γ°γ°γ°
#Mock #Rest
@ProgrammingTip
Mock your HTTP responses to test your REST API. πΎ
Mocky is a simple app which allows to generate custom HTTP responses. π
It's helpful when you have to request a build-in-progress WS, when you want to mock the backend response in a singleapp, or when you want to test your WS client. β
Is Mocky onlineβ
Yes, Mocky is online, free and unlimited. πΈ
https://t.me/pgimg/104
[ Website ] : mocky.io
γ°γ°γ°γ°γ°γ°
#Mock #Rest
@ProgrammingTip
Telegram
Programming Tips Resources
NopCommerce ID-Less URL Structure Demystified π
The link for my NopLite - nopCommerce Responsive Theme is β¨ :
You don't see ANY integer in the URL, but nopCommerce somehow knows how to map from the URL to the appropriate ID. β
On the other hand, the nopCommerce 2.65 URL for my NopLite theme would have been ππ» :
Note the '7' somewhere in between the URL, that's the Integer Product ID. π
So the question is, how does nopCommerce 2.70 and 2.80 know the ID without looking the IDβ
https://t.me/pgimg/105
[ Article ] : http://bit.do/nopu
γ°γ°γ°γ°γ°γ°
#AspMvc #Routing #NopCommerce
@ProgrammingTip
The link for my NopLite - nopCommerce Responsive Theme is β¨ :
http://www.pronopcommerce.com/noplite-nopcommerce-responsive-theme
You don't see ANY integer in the URL, but nopCommerce somehow knows how to map from the URL to the appropriate ID. β
On the other hand, the nopCommerce 2.65 URL for my NopLite theme would have been ππ» :
http://www.pronopcommerce.com/p/7/noplite-nopcommerce-responsive-theme
Note the '7' somewhere in between the URL, that's the Integer Product ID. π
So the question is, how does nopCommerce 2.70 and 2.80 know the ID without looking the IDβ
https://t.me/pgimg/105
[ Article ] : http://bit.do/nopu
γ°γ°γ°γ°γ°γ°
#AspMvc #Routing #NopCommerce
@ProgrammingTip
Telegram
Programming Tips Resources
Pretty Checkbox π
A pure CSS library to beautify checkbox and radio buttons. β¨
Framework Compatability π₯ :
β’ Angular
β’ Bootstrap
β’ React
β’ Vue
https://t.me/pgimg/106
[ Website ] : http://bit.do/csspr
γ°γ°γ°γ°γ°γ°
#CSS #Library
@ProgrammingTip
A pure CSS library to beautify checkbox and radio buttons. β¨
Framework Compatability π₯ :
β’ Angular
β’ Bootstrap
β’ React
β’ Vue
https://t.me/pgimg/106
[ Website ] : http://bit.do/csspr
γ°γ°γ°γ°γ°γ°
#CSS #Library
@ProgrammingTip
Telegram
Programming Tips Resources
HTTP codes as Valentineβs Day comics π
With Valentineβs Day around the corner, it is a time for romantic hopefuls to ask out the object of their affection, and await an answer. π€
It could be a simple βyes,β a sad βno,β or a cryptic βI donβt think about you that way, but maybe we can grab a coffee tomorrowββ
Which brings us to HTTP (Hypertext Transfer Protocol) codes. π
When a URL is typed in a browser, a request is sent out to the server and the browser awaits an answer, just like in our scenario. β»οΈ
These answers come in the form of an HTTP code, which is a three-digit number that maps to an answer. 2οΈβ£0οΈβ£0οΈβ£
With the image of Valentineβs Day in mind, here are a few likely scenarios. πβ€οΈ
https://t.me/pgimg/107
[ Article ] : http://bit.do/httpval
γ°γ°γ°γ°γ°γ°
#HTTP #Valentine #Fun
@ProgrammingTip
With Valentineβs Day around the corner, it is a time for romantic hopefuls to ask out the object of their affection, and await an answer. π€
It could be a simple βyes,β a sad βno,β or a cryptic βI donβt think about you that way, but maybe we can grab a coffee tomorrowββ
Which brings us to HTTP (Hypertext Transfer Protocol) codes. π
When a URL is typed in a browser, a request is sent out to the server and the browser awaits an answer, just like in our scenario. β»οΈ
These answers come in the form of an HTTP code, which is a three-digit number that maps to an answer. 2οΈβ£0οΈβ£0οΈβ£
With the image of Valentineβs Day in mind, here are a few likely scenarios. πβ€οΈ
https://t.me/pgimg/107
[ Article ] : http://bit.do/httpval
γ°γ°γ°γ°γ°γ°
#HTTP #Valentine #Fun
@ProgrammingTip
Telegram
Programming Tips Resources
Pug πΆ
Pug is a high-performance template engine heavily influenced by Haml and implemented with JavaScript for Node.js and browsers. β
Pug is a clean, whitespace sensitive syntax for writing html. π
Here is a simple example π :
Becomes :
πΈπΉπΈπΉ
β Implementations in other languages πΎ
Ports with very close syntax, adapted to other languages :
β’ PHP
β’ Java
β’ Python
β’ Ruby
β’ C# (ASP.NET Core)
https://t.me/pgimg/108
[ Github ] : http://bit.do/pugv
γ°γ°γ°γ°γ°γ°
#ViewEngine #TemplateEngine
@ProgrammingTip
Pug is a high-performance template engine heavily influenced by Haml and implemented with JavaScript for Node.js and browsers. β
Pug is a clean, whitespace sensitive syntax for writing html. π
Here is a simple example π :
doctype html
html(lang="en")
head
title= pageTitle
script(type='text/javascript').
if (foo) bar(1 + 5)
body
h1 Pug - node template engine
#container.col
if youAreUsingPug
p You are amazing
else
p Get on it!
p.
Pug is a terse and simple templating language with a
strong focus on performance and powerful features.
Becomes :
<!DOCTYPE html>
<html lang="en">
<head>
<title>Pug</title>
<script type="text/javascript">
if (foo) bar(1 + 5)
</script>
</head>
<body>
<h1>Pug - node template engine</h1>
<div id="container" class="col">
<p>You are amazing</p>
<p>Pug is a terse and simple templating language with a strong focus on performance and powerful features.</p>
</div>
</body>
</html>
πΈπΉπΈπΉ
β Implementations in other languages πΎ
Ports with very close syntax, adapted to other languages :
β’ PHP
β’ Java
β’ Python
β’ Ruby
β’ C# (ASP.NET Core)
https://t.me/pgimg/108
[ Github ] : http://bit.do/pugv
γ°γ°γ°γ°γ°γ°
#ViewEngine #TemplateEngine
@ProgrammingTip
Telegram
Programming Tips Resources
Using Google reCAPTCHA in ASP.NET MVC πΎ
reCAPTCHA is a free service that protects your website from spam and abuse. β
reCAPTCHA uses an advanced risk analysis engine and adaptive Captchas to keep automated software from engaging in abusive activities on your site. π«
It does this while letting your valid users pass through with ease. π
This article shows how to integrate reCAPTCHA version 2.0 into an ASP.NET MVC website in clean way. β‘οΈ
Article Author : @MoienTJ
https://t.me/pgimg/109
[ Article ] : bit.do/recaptcha
γ°γ°γ°γ°γ°γ°
#reCaptcha #AspMvc
@ProgrammingTip
reCAPTCHA is a free service that protects your website from spam and abuse. β
reCAPTCHA uses an advanced risk analysis engine and adaptive Captchas to keep automated software from engaging in abusive activities on your site. π«
It does this while letting your valid users pass through with ease. π
This article shows how to integrate reCAPTCHA version 2.0 into an ASP.NET MVC website in clean way. β‘οΈ
Article Author : @MoienTJ
https://t.me/pgimg/109
[ Article ] : bit.do/recaptcha
γ°γ°γ°γ°γ°γ°
#reCaptcha #AspMvc
@ProgrammingTip
Telegram
Programming Tips Resources
Securing ASP.NET Core 2.0 Applications with JWTs + Auth0 π
JSON Web Tokens, often shortened with JWTs, are gathering more and more popularity in the Web environment. π
It is an open standard that allows transmitting data between parties as a JSON object in a compact and secure way. π
They are usually used in authentication and information exchange scenarios, since the data transmitted between a source and a target are digitally signed so that they can be easily verified and trusted. β
Let's take a look at how to set up a ASP.NET Core 2 application with JWT support by creating a Web API application. β¨
https://t.me/pgimg/110
[ Article ] : http://bit.do/auth0
γ°γ°γ°γ°γ°γ°
#AspMvc #Core #JWT
@ProgrammingTip
JSON Web Tokens, often shortened with JWTs, are gathering more and more popularity in the Web environment. π
It is an open standard that allows transmitting data between parties as a JSON object in a compact and secure way. π
They are usually used in authentication and information exchange scenarios, since the data transmitted between a source and a target are digitally signed so that they can be easily verified and trusted. β
Let's take a look at how to set up a ASP.NET Core 2 application with JWT support by creating a Web API application. β¨
https://t.me/pgimg/110
[ Article ] : http://bit.do/auth0
γ°γ°γ°γ°γ°γ°
#AspMvc #Core #JWT
@ProgrammingTip
Telegram
Programming Tips Resources
A Pattern is a solution to a problem in a context. β
We're going to step throught each of these parts, context, problem and solution β¨ :
The context is the situation in which the pattern applies. This should be a recurring situation. π¨π»βπ§
The problem refers to the goal you are trying acheive in this context, but it also refers to any constraints that occur in the context. π
The solution is what you're after : a general design that anyone can apply which resolves the goal and set of constraints. π
β Example
Problem: How do I get to work on timeβ
Context: I've locked my keys in the car. π
Solution: Break the window, get in the car, start the engine and drive to work. π
γ°γ°γ°γ°γ°γ°
#DesignPatterns #Tips
@ProgrammingTip
We're going to step throught each of these parts, context, problem and solution β¨ :
The context is the situation in which the pattern applies. This should be a recurring situation. π¨π»βπ§
The problem refers to the goal you are trying acheive in this context, but it also refers to any constraints that occur in the context. π
The solution is what you're after : a general design that anyone can apply which resolves the goal and set of constraints. π
β Example
Problem: How do I get to work on timeβ
Context: I've locked my keys in the car. π
Solution: Break the window, get in the car, start the engine and drive to work. π
"If you find yourself in a context with a problem that has a goal that is affected by a set of constraints, then you can apply a design that resolves the goal and constraints and leads to a solution."
γ°γ°γ°γ°γ°γ°
#DesignPatterns #Tips
@ProgrammingTip
If you don't need it now, don't do it nowβοΈ
Design Patterns are powerful, and it's easy to see all kinds of ways they can be used in your current designs.β‘οΈ
Developers naturally love to create beautiful architectures that are ready to take on change from any direction.π
If you have a practical need to support change in a design today, go ahead and employ a pattern it handle that change. β
However, if the reason is only hypothetical, don't add the pattern, it is only going to add complexity to your system, and you might never need it. β
γ°γ°γ°γ°γ°γ°
#DesignPatterns #Tips
@ProgrammingTip
Design Patterns are powerful, and it's easy to see all kinds of ways they can be used in your current designs.β‘οΈ
Developers naturally love to create beautiful architectures that are ready to take on change from any direction.π
If you have a practical need to support change in a design today, go ahead and employ a pattern it handle that change. β
However, if the reason is only hypothetical, don't add the pattern, it is only going to add complexity to your system, and you might never need it. β
γ°γ°γ°γ°γ°γ°
#DesignPatterns #Tips
@ProgrammingTip