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
Domain Driven Design - Clear Your Concepts Before You Start

What we traditionally do when we start a business application

We read the spec and find the functionalities. We break down tasks.

We do the estimation. We distribute the works among team members. We design the database schema - sometimes by the team leader or sometimes by the respective developer. We start coding. 💻

So What’s wrong with this approachWe have been doing good❗️Don’t we

The answer is YES and NO❗️Yes we are doing good in delivering our projects. But NO❗️
We are not doing good in maintaining and extending our projects. 🤦🏻‍♂️

Think about all of the projects you have worked last few years in the traditional approach. Did you ever face any of the issues below ? 🤔

Your project has the same functionality implemented in the same way or different in different places. 👥

You have more than one object for the same item.

You have objects that have properties that are not actually attributes of that object. 🙅🏻‍♂️

You have no or very poor relationship among related items. ↔️

Looking at your objects it is not possible to understand what actually the whole application is all about. 🤷🏻‍♂️


https://t.me/pgimg/184

[ Article ] : kutt.it/ddda

〰️〰️〰️〰️〰️〰️
#DDD #Architecture
@ProgrammingTip
Tilt.js

A tiny requestAnimationFrame powered 60+fps lightweight parallax hover tilt effect for jQuery. 💎

Alternatives :
• Vanilla JS
React
Polymer


https://t.me/pgimg/185

[ Github ] : github.com/gijsroge/tilt.js
[ Demo ] : gijsroge.github.io/tilt.js/

〰️〰️〰️〰️〰️〰️
#JavaScript #jQuery #Parallax #React
@ProgrammingTip
THE JAVASCRIPT EVENT LOOP ⚡️

The Event Loop is one of the most important aspects to understand about JavaScript.

This post explains it in simple terms. 💎


https://t.me/pgimg/186

[ Article ] : kutt.it/jel

〰️〰️〰️〰️〰️〰️
#JavaScript #EventLoop
@ProgrammingTip
Auto Rest

OpenAPI
(f.k.a Swagger) Specification code generator. 💎

Supports C#, Go, Java, Node.js, TypeScript, Python, Ruby and PHP. 🔥

The AutoRest tool generates client libraries for accessing RESTful web services. ⚡️

Input to AutoRest is a spec that describes the REST API using the OpenAPI Specification format.


https://t.me/pgimg/187

[ Introduction ] : kutt.it/ares
[ Github ] : github.com/Azure/autorest

〰️〰️〰️〰️〰️〰️
#Rest #API #OpenAPI #Swagger
@ProgrammingTip
Reinforced.Typings ⚡️

Converts C# classes to TypeScript interfaces (and many more) within project build. 💎

Examples :

C#
♥️ :

[TsInterface]
public class Order
{
public string ItemName { get; set; }
public int Quantity { get; set; }
public double Subtotal { get; set; }
public bool IsPaid { get; set; }
public string ClientName { get; set; }
public string Address { get; set; }
}

[TsClass]
public class User
{
public string FirstName { get; set; }
public string Email { get; set; }
public UserType Type { get; set; }
}

[TsEnum]
public enum UserType { One, Two }


Result => TypeScript 💙 :

export interface IOrder
{
ItemName: string;
Quantity: number;
Subtotal: number;
IsPaid: boolean;
ClientName: string;
Address: string;
}

export class User
{
public FirstName: string;
public Email: string;
public Type: MyApp.UserType;
}

export enum UserType {
One = 0,
Two = 1,
}


https://t.me/pgimg/188


[ Github ] : kutt.it/csts

〰️〰️〰️〰️〰️〰️
#CSharp #TypeScript
@ProgrammingTip
New horizons in CSS: Houdini and the Paint API 🌈

The way we write CSS is about to change. No, I don’t mean you have to change how you write your styles, but we as developers are about to get a lot more control. 💪🏻

What am I talking aboutThat would be the CSS Houdini spec and the new browser APIs that are coming out as a part of it.


https://t.me/pgimg/189


[ Article ] : kutt.it/papi

〰️〰️〰️〰️〰️〰️
#CSS #PaintAPI
@ProgrammingTip
“You know nothing , Engineers” — HTTP [Patch] 🤷🏻‍♂️

I
believe, HTTP Patch is completely misunderstood by us ( At least by some of us ). 🤔

A PATCH request is one of the lesser-known HTTP methods, but I'm including it this high in the list since it is similar to POST and PUT. ↔️

The difference with PATCH is that you only apply partial modifications to the resource. ⚡️

The difference between PATCH and PUT, is that a PATCH request is non-idempotent (like a POST request).


https://t.me/pgimg/190


[ Article ] : kutt.it/ptch

〰️〰️〰️〰️〰️〰️
#HTTP #PATCH
@ProgrammingTip
ddd_first_15_years.pdf
26.6 MB
Domain-Driven Design: The First 15 Years ⚡️

Fifteen years after the publication of "Domain-Driven Design: Tackling Complexity in the Heart of Software" by Eric Evans, DDD is gaining more adoption than ever. 🔥

To celebrate the anniversary, we've asked prominent authors in the software design world to contribute old and new essays. 💎

〰️〰️〰️〰️〰️〰️
#DDD #DomainDrivenDesign
@ProgrammingTip
ASP.NET Core Developer RoadMap in 2019 🔥

Below you can find a chart demonstrating the paths that you can take and the libraries that you would want to learn to become a ASP.NET Core developer.

I made this chart as a tip for everyone who asks me, " What should I learn next as a ASP.NET Core developer"

If you like or are using this project to learn or start your solution, please give it a star. ⭐️ Thanks❗️


https://t.me/pgimg/191

[ Github ] : kutt.it/AspNetCore

〰️〰️〰️〰️〰️〰️
#AspNetCore #Roadmap
@ProgrammingTip
Mapster 🔥

A fast, fun and stimulating object to object .NET Mapper. ⚡️

Don't let other libraries slow you down, raw Mapster performance is at least 2.5 times faster❗️


https://t.me/pgimg/192

[ Github ] : kutt.it/mapster

[ Performance Benchmark ] : kutt.it/mapbnch

〰️〰️〰️〰️〰️〰️
#Mapper #Mapster #CSharp
@ProgrammingTip
Dark GitHub Style 🌙

Your eyes will ♥️ you.

[ GitHub ] : kutt.it/git-dark

〰️〰️〰️〰️〰️〰️
#GitHub #Theme
@ProgrammingTip
NGXS

NGXS is a state management pattern + library for Angular. 🅰️

It acts as a single source of truth for your application's state, providing simple rules for predictable state mutations. ⚡️

NGXS is modeled after the CQRS pattern popularly implemented in libraries like Redux and NgRx but reduces boilerplate by using modern TypeScript features such as classes and decorators. 🔥

NGXS tries to make things as simple and accessible as possible. 🧩

There can be a lot of boilerplate code in state management, thus a main goal of NGXS is to reduce boilerplate allowing you to do more things with less. 💎


https://t.me/pgimg/193

[ GitHub ] : github.com/ngxs/store
[ Website ] : ngxs.gitbook.io

〰️〰️〰️〰️〰️〰️
#Angular #StateManagement #FrontEnd
@ProgrammingTip
LowDB is a small local JSON database for Node, Electron and the browser powered by Lodash.⚡️

Sample 💎 :

const low = require('lowdb')
const FileSync = require('lowdb/adapters/FileSync')

const adapter = new FileSync('db.json')
const db = low(adapter)

// Set some defaults (required if your JSON file is empty)
db.defaults({ posts: [], user: {}, count: 0 })
.write()

// Add a post
db.get('posts')
.push({ id: 1, title: 'lowdb is awesome'})
.write()

// Set a user using Lodash shorthand syntax
db.set('user.name', 'typicode')
.write()

// Increment count
db.update('count', n => n + 1)
.write()

Result 🔥:

{
"posts": [
{ "id": 1, "title": "lowdb is awesome"}
],
"user": {
"name": "typicode"
},
"count": 1
}



https://t.me/pgimg/194

[ GitHub ] : github.com/typicode/lowdb

〰️〰️〰️〰️〰️〰️
#JavaScript #Database
@ProgrammingTip
Code Server 🔥

code-server is VS Code running on a remote server, accessible through the browser.

Easily run it with Docker 🐳 :

docker run -p localhost:8443:8443 -v "${PWD}:/root/project" codercom/code-server code-server --allow-http --no-auth


Features⚡️:

Code on your Chromebook, tablet, and laptop with a consistent dev environment.

Take advantage of large cloud servers to speed up tests, compilations, downloads, and more.

Preserve battery life when you're on the go.


https://t.me/pgimg/195

[ GitHub ] : github.com/codercom/code-server

〰️〰️〰️〰️〰️〰️
#CodeServer #VSCode
@ProgrammingTip
Static Site Generators: Gatsby, Hugo, Jekyll 💎

Websites rule the web, be they static or dynamic.⚡️ While a lot of sites are dynamic today, the static ones are still quite popular. In fact, there is a rise in the use of static sites. 🌚

In this article, you will see a comparison of three of the best static site generators out there, their strengths, weakness and why you should use them.🔥

Static site generators make building static sites a piece of cake. 🍰

Imagine having to do little or no complex work and still have sites that :

Are amazingly fast
Require less maintenance
• Have a high level of security
• Are perfect for simple websites such as portfolios


https://t.me/pgimg/196

[ Article ] : kutt.it/ssg

〰️〰️〰️〰️〰️〰️
#Hugo #Gatsby #Jekyll
@ProgrammingTip
Learn how to design large-scale systems 🔥
Prepare for the system design interview
. ⚡️

Learning how to design scalable systems will help you become a better engineer.

System design is a broad topic. There is a vast amount of resources scattered throughout the web on system design principles. 👌🏻

This repo is an organized collection of resources to help you learn how to build systems at scale.


[ GitHub ] : kutt.it/sysdesign

〰️〰️〰️〰️〰️〰️
#SystemDesign #Design #Architecture
@ProgrammingTip
Design Patterns for Humans 🤷🏻‍♂️

Design patterns are solutions to recurring problems; guidelines on how to tackle certain problems.

They are not classes, packages or libraries that you can plug into your application and wait for the magic to happen.

These are, rather, guidelines on how to tackle certain problems in certain situations.


[ C# Version ] : kutt.it/dp-cs
[ PHP Version ] : kutt.it/dp-php

〰️〰️〰️〰️〰️〰️
#DesignPatterns #Patterns
@ProgrammingTip
“Sorry JAVA, I am done with you. I have fallen in love with Kotlin.” - Sad Love Story 💔

Google started supporting Kotlin as an official language for Android development.

On that day I decided, If Google somehow exclude JAVA then I am gonna leave Android development to continue my relation with JAVA.

I was very egoistic that no any other language can took place in my heart. 💙

One day, One of my friends suggest me to give at least one chance to Kotlin. Because JAVA does not value my relationship. 🙅🏻‍♂️

Since we have been together from last 6 years sometimes I got angry and scolding on JAVA that It can not do some simple things by itself. 🤷🏻‍♂️

Every time I need to write boilerplate code again and again, but still I was appreciating JAVA in front of everyone. 🌍


[ Article ] : kutt.it/ktjv

〰️〰️〰️〰️〰️〰️
#Kotlin #Android #Java
@ProgrammingTip
Learn Webpack in 15 Minutes ⚡️

Build tools have become an integral part of web development, mainly due to the ever-increasing complexity of JavaScript apps. 🛠

Bundlers allow us to package, compile, and organize the many assets and libraries needed for a modern web project. 📦

In this tutorial we will take a look at Webpack, a powerful open-source bundler and preprocessor that can handle a huge variety of different tasks.💎


[ Article ] : kutt.it/webpck15

〰️〰️〰️〰️〰️〰️
#JavaScript #Webpack #Bundler
@ProgrammingTip