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
Branca as an Alternative to JWTβ“πŸ”

Branca is a catchy name for IETF XChaCha20-Poly1305 AEAD message with an additional version number and timestamp.πŸ•’

It is well suited to be used as an authenticated and encrypted API token. πŸ‘₯

Branca specification does not specify the payload format. Among others you can use for example JWT payloads but still have modern encryption and smaller token size provided by Branca. ⚑️

Currently there are implemenations for JavaScript, Elixir, Go and PHP and a command line tool for creating and inspecting tokens. ✨

Heads up❗️JWT itself is the payload part of a larger standard called Javascript Object Signing and Encryption (JOSE). That said the term JWT has become ubiquitous when actually referring JSON Web Signature (JWS) or JSON Web Encryption (JWE). πŸ”‘

Branca is based on Fernet specification. πŸ’Ž

Fernet takes an user provided message, a secret key and the current time and generates an Authenticated Encrypted (AE) token. Authenticated encryption specifies a way to secure a message so that a 3rd party cannot fake it, alter it nor read it. πŸŒ€


https://t.me/pgimg/171

[ Read More ] : kutt.it/branca

γ€°γ€°γ€°γ€°γ€°γ€°
#Branca #Authentication #JWT
@ProgrammingTip
Saving Grandma's Recipes With Xamarin.Forms πŸ‘΅πŸ»

When creating mobile apps, you have to create and maintain the user interface and app logic for both iOS and Android separately πŸ€• : Objective-C/Swift with XCode and Java with Android Studio. 🀯

That can quickly turn into a pain. With Xamarin.Forms, however, the UI and app logic for your app resides in a single codebase and you get to use a single IDE to maintain it all β€” saving time and headaches. βœ…

In this article, take a lap around Xamarin.Forms to see what it can do for you.πŸ’Ž

My grandma makes the best, most fluffiest, go weak-in-your-knees buns that anybody has ever tasted.πŸ˜‹

The problem is, there’s a ton of secret ingredients (and I’m not just talking love) that go into those buns, and those ingredients and directions are all stored in my grandma’s head. πŸ€¦πŸ»β€β™‚οΈ

We all have family recipes like that, and instead of possibly forgetting them, in this article we’re going to create a mobile app for iOS and Android using Xamarin.Forms that will save them for myself and future generations of my family! πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦


https://t.me/pgimg/172

[ Article ] : kutt.it/xam

γ€°γ€°γ€°γ€°γ€°γ€°
#Xamarin #Android #IOS
@ProgrammingTip
What Happened When I Peeked Into My Node_Modules Directory 🀯

The left-pad fiasco shook the JavaScript community to its core when a rouge developer removed a popular module from npm, causing tens of projects to go dark. ❌

While code bloat continues to slow down our websites, drain our batteries, and make β€œnpm install” slow for a few seconds, many developers like myself have decided to carefully audit the dependencies we bring into our projects. πŸŒ€

It’s time we as a community stand up and say enough is enough, this community belongs to all of us, not just a handful of JavaScript developers with great hair. πŸ‘₯

I decided to document my experiences in auditing my projects’ dependencies, and I hope you find the following information useful. βœ…


https://t.me/pgimg/173

[ Article ] : kutt.it/nmo

γ€°γ€°γ€°γ€°γ€°γ€°
#JavaScript #NPM
@ProgrammingTip
Programming Tips πŸ’‘
Photo
Object Thinking.pdf
3.7 MB
Object Thinking πŸ“™

Author
: David West πŸ–‹

Level : Advanced πŸ’Ž

γ€°γ€°γ€°γ€°γ€°γ€°
#Book #DesignPatterns #OOP
@ProgrammingTip
PrimeNG πŸ…°οΈ

PrimeNG
is a collection of rich UI components for Angular. 🌈

All widgets are open source and free to use under MIT License. πŸ’Έ

Features πŸ’Ž :
β€’ 80+ Components
β€’ Open Source
β€’ Productivity
β€’ Themes
β€’ Templates
β€’ Mobile


https://t.me/pgimg/174

[ Website ] : kutt.it/pmng
[ Github ] : kutt.it/pmngi

γ€°γ€°γ€°γ€°γ€°γ€°
#Angular #UIKit
@ProgrammingTip
Crontab Guru ⏱

Cron
format is a simple, yet powerful and flexible way to define time and frequency of various actions. πŸŒ€

This is a quick and simple editor for Cron schedule expressions by Cronitor. ⚑️


https://t.me/pgimg/175

[ Website ] : crontab.guru

γ€°γ€°γ€°γ€°γ€°γ€°
#Cron #Timing
@ProgrammingTip
How DNS works ❓

A fun and colorful explanation of how DNS works.✨

Hey there❗️This comic explains what happens when you type a website address in your browser. 🌐


https://t.me/pgimg/176

[ Website ] : howdns.works

γ€°γ€°γ€°γ€°γ€°γ€°
#DNS #Comic
@ProgrammingTip
Framevuerk ✨

Fast, Responsive, Without Dependencies, Both Direction Support and Configurable UI Framework based on Vue.js. πŸ’Ž

Features ⚑️ :
β€’ Configurable
β€’ No Dependency
β€’ Multi Direction
β€’ Responsive
β€’ SSR Ready
β€’ Fast


https://t.me/pgimg/177

[ Website ] : framevuerk.com
[ Github ] : kutt.it/frvuerk

γ€°γ€°γ€°γ€°γ€°γ€°
#Vue #UI #Framework
@ProgrammingTip
Objects Should Be Immutable 🀫

In object-oriented programming, an object is immutable if its state can’t be modified after it is created. 🀞🏻

In Java/C#, a good example of an immutable object is String.βœ…
Once created, we can’t modify its state. We can request that it creates new strings, but its own state will never change. ❌

However, there are not so many immutable classes in JDK. Take, for example, class Date. It is possible to modify its state using setTime(). πŸ•’

This is an incomplete list of arguments in favor of immutability ⚑️:

β€’
Immutable objects are simpler to construct, test, and use
β€’
Truly immutable objects are always thread-safe
β€’
They help to avoid temporal coupling
β€’
Their usage is side-effect free (no defensive copies)
β€’ Identity mutability problem is avoided
β€’ They always have failure atomicity
β€’
They are much easier to cache
β€’ T
hey prevent NULL references, which are bad

Let’s discuss the most important arguments one by one. πŸŒ€


https://t.me/pgimg/178

[ Article ] : kutt.it/immtb

γ€°γ€°γ€°γ€°γ€°γ€°
#BestPractices #DesignPatterns
@ProgrammingTip
Pose πŸ‘₯

Replace any .NET method (including static and non-virtual) with a delegate. πŸ’Ž

It is similar to Microsoft Fakes but unlike it Pose is implemented entirely in managed code (Reflection Emit API).✨

Everything occurs at runtime and in-memory, no unmanaged Profiling APIs and no file system pollution with re-written assemblies.⚑️


Example Usage πŸ”₯:

Shim static property getter
⏱:

Shim dateTimeShim = Shim.Replace(() => DateTime.Now).With(() => new DateTime(2004, 4, 4));


Usage πŸ‘Ύ:

// This block executes immediately
PoseContext.Isolate(() =>
{
// All code that executes within this block
// is isolated and shimmed methods are replaced

// Outputs "4/4/04 12:00:00 AM"
Console.WriteLine(DateTime.Now);
}, dateTimeShim);


https://t.me/pgimg/179

[ Github ] : github.com/tonerdo/pose

γ€°γ€°γ€°γ€°γ€°γ€°
#CSharp #DotNet #Fake
@ProgrammingTip
Clean Architecture with ASP.NET Core 2.1 πŸ¦‹

The explosive growth of web frameworks and the demands of users have changed the approach to building web applications. 🌐

Many challenges exist, and getting started can be a daunting prospect. Let's change that now. βœ…

This talk provides practical guidance and recommendations. πŸ’Ž

This video will cover architecture, technologies, tools, and frameworks. We will examine strategies for organizing your projects, folders and files. ⚑️

We will design a system that is simple to build and maintain - all the way from development to production. You leave this talk inspired and prepared to take your enterprise application development to the next level. πŸ”₯


https://t.me/pgimg/180

[ Video ] : kutt.it/cav
[ Source Code ] : kutt.it/cag

γ€°γ€°γ€°γ€°γ€°γ€°
#AspNet #Core #CleanCode
@ProgrammingTip
​​Notify Your Angular App Using SignalR πŸ”₯

In this small article we'll walk you through how to create a notification service using .NET Core 2.0 Web Api, .NET Core SignalR & Angular. πŸ’Ž

Let’s get into business. ✨


[ Article ] : kutt.it/ngnoti

γ€°γ€°γ€°γ€°γ€°γ€°
#AspMvc #Core #Angular #SignalR
@ProgrammingTip
Splitting.js ✨

Splitting creates elements and adds CSS variables to unlock amazing possibilities for animating text, grids, and more❗️


https://t.me/pgimg/181

[ Website ] : splitting.js.org
[ Github ] : kutt.it/splt

〰️〰️〰️〰️〰️〰️
#JavaScript #Animation
@ProgrammingTip
Boost Your Vue.js Workflow With Vue CLI 3 ⚑️

We can hardly imagine modern web development without the help of Command-Line Interface (CLI) tools. πŸ’»

They tremendously facilitate and speed up the development workflow by reducing the amount of repetitive and tedious tasks. βœ…

Setting up a project manually, with all the linting, building, testing, preprocessing, optimizing, and dependency tracking features, doesn't sound like a fun job, does it❓

That's why all modern client-side development frameworks (such as Angular, React, etc.) offer their own version of CLI tools, and Vue.js is no exception. πŸ’Ž

But with its latest third version, Vue CLI is going one step ahead of the others. ✨

It's now not only highly powerful and flexible, but also comes with a full-blown GUI. 🌈

Yeah, you heard right. Vue CLI 3 offers a full graphical user interface out of the box. πŸŒ€


https://t.me/pgimg/182

[ Article ] : kutt.it/vcli
[ Website ] : cli.vuejs.org

〰️〰️〰️〰️〰️〰️
#Vue #JavaScript #CLI
@ProgrammingTip
FAQGURU πŸš€

A list of interview questions. ⁉️

This repository is everything you need to prepare for your technical interview. βœ…

A collection of super-popular Interview questions, along with answers, and some code-snippets that will help you to prepare for technical interviews. ✨

Many of these questions a real questions from real interviews. πŸ€™πŸ»


https://t.me/pgimg/183

[ Github ] : kutt.it/faqg

〰️〰️〰️〰️〰️〰️
#Interview #Job
@ProgrammingTip
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 approach❓We 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