Programming Tips πŸ’‘
51.6K subscribers
67 photos
10 videos
30 files
354 links
Programming & AI:
Tips πŸ’‘
Articles πŸ“•
Resources πŸ‘Ύ
Design Patterns πŸ’Ž
Software Principles βœ…

πŸ‡³πŸ‡± Contact: @MoienTajik

🎯 Buy ads: https://telega.io/c/ProgrammingTip
Download Telegram
ASP.NET Core Web Optimizer ⚑️

ASP.NET Core middleware for bundling and minification of CSS and JavaScript files at runtime. βŒ›οΈ

With full server-side and client-side caching to ensure high performance. πŸ’¨

No complicated build process and no hassle. βœ…

πŸ”ΈπŸ”ΉπŸ”ΈπŸ”Ή

Installation πŸ“₯ :

1️⃣ Add the NuGet package LigerShark.WebOptimizer.Core to any ASP.NET Core 2.0 project :
dotnet add package LigerShark.WebOptimizer.Core


2️⃣ Add this to Configure in Startup.cs before app.UseStaticFiles :
app.UseWebOptimizer();


3️⃣ Finally add this to ConfigureServices :
services.AddWebOptimizer();


That's it. 🀚🏻
You have now enabled automatic CSS and JavaScript minification. πŸ’Ž

πŸ”ΈπŸ”ΉπŸ”ΈπŸ”Ή

Features πŸ”₯ :
β€’ Minification
β€’ Bundling
β€’ Cache Busting
β€’ Inlining Content
β€’ Compiling SCSS
β€’ Compiling LESS
β€’ Compiling TypeScript

https://t.me/pgimg/60

[ Demo ] : http://bit.do/optde
[ Github ] : http://bit.do/optgit

γ€°γ€°γ€°γ€°γ€°γ€°
#AspMvc #Core #Bundling #Minify
@ProgrammingTip
Overloading VS Overriding πŸŒ“

γ€°γ€°γ€°γ€°γ€°γ€°
#Fun #SimplyExplained
@ProgrammingTip
JavaScript β€” Double Equals VS Triple Equals ✨

JavaScript has two visually similar, yet very different, ways to test equality. πŸ€“

You can test equality with == or === πŸ”…


Triple Equals βœ…
When using triple equals === in JavaScript, we are testing for strict equality.

This means both the type and the value we are comparing have to be the same.

Example :
77 === '77'
// false (Number v. String)


πŸ”ΉπŸ”ΈπŸ”ΉπŸ”Έ

Double equals βœ…
When using double equals in JavaScript we are testing for loose equality.

Double equals also performs type coercion.

Example :
77 == '77'
// true


https://t.me/pgimg/61

[ Article ] : http://bit.do/jseq

γ€°γ€°γ€°γ€°γ€°γ€°
#JavaScript #Equality
@ProgrammingTip
Write tests,
Not too many,
Mostly integration. βœ…


A while back, Guillermo Rauch‏ ( Creator of Socket.io ) tweeted something profound :

Write tests. Not too many. Mostly integration.πŸ’Ž 


This is deep, albeit short, so let’s dive in. πŸŒ€

https://t.me/pgimg/62

[ Article ] : http://bit.do/iut

γ€°γ€°γ€°γ€°γ€°γ€°
#UnitTest
@ProgrammingTip
Forwarded from Code Tweets 🐝
This media is not supported in your browser
VIEW IN TELEGRAM
Programmers Life :)))

{ @CodeTweets }
PopSQL ✨

Modern, collaborative SQL editor for your team. πŸ—‚

πŸ”ΉCollaborate in realtime, just like a Google Doc

πŸ”ΉShare queries by URL, and organize them in folders

πŸ”ΉVisualize your data automatically

πŸ”ΉWorks with many types of databases

https://t.me/pgimg/65

[ Website ] : popsql.io

γ€°γ€°γ€°γ€°γ€°γ€°
#SQL #Database #Tools
@ProgrammingTip
Axosoft GitKraken: Unleash Your Repo! πŸ™

The legendary Git GUI client for Windows, Mac and Linux. 🐧

Axosoft GitKraken is a Git client with efficiency, elegance and reliability at the core. It was made for devs by devs. 🀘

Features
You can do all the standard things you should be able to do with a git client; branching, merging, pulling, pushing, reverting, etc. ✨

The range of options you have for each commit πŸ”₯
πŸ”Ή Set Upsteam
πŸ”Έ Branch from a historic commit
πŸ”Ή Cherrypick from commit
πŸ”Έ Revert the commit
πŸ”Ή Edit the commit message
πŸ”Έ Deleting the commit (and remote versions of it)
πŸ”Ή Creating a tag from a commit

https://t.me/pgimg/66

[Website] : https://gitkraken.com

γ€°γ€°γ€°γ€°γ€°γ€°
#Git #VCS
@ProgrammingTip
Import and export in ES6 πŸ“š

Export is ES6' way of saying πŸ—£ :
β€œMake this code available for other modules.”


Import is the opposite, and tries to get code from other modules.

πŸ”ΉWhat is modules❓
πŸ”ΈDiffrence between export and export default

https://t.me/pgimg/67

[ Article ] : https://goo.gl/EJ3e6H

γ€°γ€°γ€°γ€°γ€°γ€°
#JavaScript #ES6 #Modules
@ProgrammingTip
NGX Toastr πŸ’Ž
Easy Toasts for Angular πŸ…°οΈ


πŸ”ΉπŸ”ΈπŸ”ΉπŸ”Έ

Features ✨:

β€’ Toast Component Injection without being passed ViewContainerRef

γ€°γ€°γ€°

β€’ No use of *ngFor. Fewer dirty checks and higher performance.

γ€°γ€°γ€°

β€’ AoT compilation and lazy loading compatible

γ€°γ€°γ€°

β€’ Component inheritance for custom toasts

γ€°γ€°γ€°

β€’ SystemJS/UMD rollup bundle

γ€°γ€°γ€°

β€’ Animations using Angular's Web Animations API

γ€°γ€°γ€°

β€’ Output toasts to an optional target directive

γ€°γ€°γ€°

β€’ Individual Options

πŸ”ΉπŸ”ΈπŸ”ΉπŸ”Έ

https://t.me/pgimg/68

[ Github ] : http://bit.do/ngxg
[ Demo ] : http://bit.do/ngxd

γ€°γ€°γ€°γ€°γ€°γ€°
#Angular #Notification #Toastr
@ProgrammingTip
File Ultimate πŸ”₯

File manager control for integrating file browsing, upload & download features into your ASP.NET MVC & WebForms application or site rapidly. πŸ’Ž

Supports ✨ :
β€’ ASP.NET Web Forms ( C# )
β€’ ASP.NET Web Forms ( VB )
β€’ ASP.NET MVC ( C# )
β€’ ASP.NET MVC ( VB )

Features ⚑️ :
β€’ Browse and manage files with access control.

β€’ Accept files with the advanced upload functionality.

β€’ Offer a structured and neat download area.

β€’ Preview documents (70+ file formats, including PDF Β© Microsoft Office), images, audios and videos.

πŸ”ΉπŸ”ΈπŸ”ΉπŸ”Έ

https://t.me/pgimg/69

[ Github ] : http://bit.do/fgit
[ Demo ] : http://bit.do/fmade

γ€°γ€°γ€°γ€°γ€°γ€°
#AspMvc #FileManager #Uploader
@ProgrammingTip
Cool, the " Ranges " feature is planned for C# 7.3❗️

[ Github ] : http://bit.do/csran

γ€°γ€°γ€°γ€°γ€°γ€°
#CSharp
@ProgrammingTip
What is Dynamic Proxy❓

A proxy, in its most general form, is a class functioning as an interface to something else. ↗️

The proxy could interface to anything :
β€’ A network connection 🌐
β€’ A large object in memory πŸ—‚
β€’ A file πŸ“„
β€’ Some other resource that is expensive or impossible to duplicate. πŸ’Έ

πŸ”ΉπŸ”ΈπŸ”ΉπŸ”ΈπŸ”ΉπŸ”Έ

One way of thinking about proxies, is by the analogy to The Matrix πŸ•Ά by Krzysztof KoΕΊmic πŸ€” :

β€œPeople in the matrix aren’t the actual people ( β€œThe spoon does not exist”, remember❓)

They’re proxies to the actual people that can be… wherever.🌍

They look like ones, they behave like ones, but at the same time, they are not them actually.πŸ™…πŸ»β€β™‚οΈ

Another implication is the fact that different rules apply to proxies.✳️

Proxies can be what the proxied objects are, but they can be more (flying, running away from bullets, that kind of stuff).✈️

One more important thing, is that proxies ultimately delegate the behavior to the actual objects behind them (kind of like – β€œif you’re killed in the matrix, you die in the real life as wellβ€β˜ οΈ).”


A dynamic proxy is a proxy that is generated on the fly at runtime. βœ…

https://t.me/pgimg/70

γ€°γ€°γ€°γ€°γ€°γ€°
#Proxy #DynamicProxy
@ProgrammingTip
All Kyle Simpson's (You Don't Know JS author) courses are free πŸ’Έ untill the next monday❗️

https://t.me/pgimg/71

[ Website ] : http://bit.do/ksim

γ€°γ€°γ€°γ€°γ€°γ€°
#JavaScript #ES6 #Tutorial
@ProgrammingTip
Semantic UI React βš›οΈ

Semantic UI React is the official React integration for Semantic UI .πŸ™…πŸ»β€β™‚οΈ

πŸ”Έ jQuery Free
πŸ”Ή Declarative API
πŸ”Έ Augmentation
πŸ”Ή Shorthand Props
πŸ”Έ Sub Components
πŸ”Ή Auto Controlled State

https://t.me/pgimg/72

[ Usage ] : https://react.semantic-ui.com/usage

[ Website ] : https://react.semantic-ui.com

γ€°γ€°γ€°γ€°γ€°γ€°
#React #Semantic #FrontEnd
@ProgrammingTip
The difference between ForEach, and For… In πŸ’«

This is going to be a quick introduction to foreach, and for...in in JavaScript. ☝🏻

This article was written to introduce you to new methods that you can you can use instead of always using for loops.⚑️

https://t.me/pgimg/73

[ Article ] : http://bit.do/jsfor

γ€°γ€°γ€°γ€°γ€°γ€°
#JavaScript
@ProgrammingTip
Angular 4 Custom Validation for Template Driven forms πŸ…°οΈ

This article consists an example for a custom email validator using regex. 🌐

Angular 4 Already has a built-in validator for this β€œng-pattern”. ⚠️

But this article is more focused on creating a base for custom validators so you could improve and use it for other use cases. πŸ’Ž

Usage :
<input type="email" emailvalidator>



https://t.me/pgimg/74

[ Website ] : http://bit.do/anva

γ€°γ€°γ€°γ€°γ€°γ€°
#JavaScript #Angular #Forms
@ProgrammingTip
Improving ASP.NET MVC Routing Configuration βœ…

This post covers some ways you can improve the testability and reduce framework coupling when configuring routing in an ASP.NET MVC application. πŸ”₯

https://t.me/pgimg/75

[ Article ] : http://bit.do/aspcr

γ€°γ€°γ€°γ€°γ€°γ€°
#AspMvc #Decoupling
@ProgrammingTip
Why I am in love with ES6❓

ES6 brings many new features to vanilla javascript making the language do more with less syntax. πŸ”₯

New features like let and fat arrows let us manage scope very easily too. πŸ™‡πŸ»

Some of ES6 new features πŸ’Ž :
β€’ Fat arrows
β€’ Rest/Spread Operators
β€’ Object Deconstruction
β€’ Default Parameters
β€’ import & export keywords

https://t.me/pgimg/76

[ Article ] : http://bit.do/es6

γ€°γ€°γ€°γ€°γ€°γ€°
#JavaScript #ES6
@ProgrammingTip
Writing middleware for use in Express.js apps πŸ”₯

Overview πŸ”Ž
Middleware functions are functions that have access to the request object (req), the response object (res), and the next function in the application’s request-response cycle.

The next function is a function in the Express router which, when invoked, executes the middleware succeeding the current middleware. ⏭

Middleware can perform πŸ’Ž
β€’ Execute any code.
β€’ Make changes to the request and the response objects.
β€’ End the request-response cycle.
β€’ Call the next middleware in the stack.

πŸ”ΈπŸ”ΉπŸ”ΈπŸ”Ή

Configurable middleware πŸ“₯
If you need your middleware to be configurable, export a function which accepts an options object or other parameters, which, then returns the middleware implementation based on the input parameters.

in my-middleware.js


module.exports = function(options) {
return function(req, res, next) {
// Implement the middleware function
next();
}
}


πŸ”ΈπŸ”ΉπŸ”ΈπŸ”Ή

Usage Middleware πŸ“€
The middleware can now be used as shown below.

const mddleware = require('./my-middleware.js')
app.use(mddleware({ option1: '1', option2: '2' }))


https://t.me/pgimg/77

γ€°γ€°γ€°γ€°γ€°γ€°
#JavaScript #Express #Middleware
@ProgrammingTip
Fluent Validation ⚠️

A small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules. 🚫

NuGet Packages :
Install-Package FluentValidation


For ASP.NET MVC integration :
Install-Package FluentValidation.MVC5


For ASP.NET Core :
Install-Package FluentValidation.AspNetCore


πŸ”ΉπŸ”ΈπŸ”ΉπŸ”Έ

Example :

public class PersonValidator : AbstractValidator<Person>
{
public PersonValidator()
{
RuleFor(x => x.ID).NotEmpty();

RuleFor(x => x.FirstName)
.NotEmpty()
.WithMessage("{PropertyName} is required !")
.MinimumLength(5)
.WithMessage("Minimum length for {PropertyName} is {MinLength} !");

RuleFor(x => x.LastName)
.NotEmpty()
.WithMessage("{PropertyName} is required !")
.MinimumLength(5)
.WithMessage("Minimum length for {PropertyName} is {MinLength} !");

RuleFor(x => x.Email)
.NotEmpty()
.WithMessage("{PropertyName} is required !")
.EmailAddress()
.WithMessage("{PropertyName} is not valid !");
}
}


πŸ”ΉπŸ”ΈπŸ”ΉπŸ”Έ

https://t.me/pgimg/78

[ Github ] : http://bit.do/flval

γ€°γ€°γ€°γ€°γ€°γ€°
#CSharp #AspMvc #Validation
@ProgrammingTip