Rubber Duck Debugging π€
In software engineering, rubber duck debugging or rubber ducking is a method of debugging code. π
The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck. π£
Many other terms exist for this technique, often involving different inanimate objects.
Many programmers have had the experience of explaining a programming problem to someone else, possibly even to someone who knows nothing about programming, and then hitting upon the solution in the process of explaining the problem. π₯
In describing what the code is supposed to do and observing what it actually does, any incongruity between these two becomes apparent. βοΈ
More generally, teaching a subject forces its evaluation from different perspectives and can provide a deeper understanding. π¨π»βπ«
By using an inanimate object, the programmer can try to accomplish this without having to interrupt anyone else. π π»ββοΈ
γ°γ°γ°γ°γ°γ°
#Debugging #Tips
@ProgrammingTip
In software engineering, rubber duck debugging or rubber ducking is a method of debugging code. π
The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck. π£
Many other terms exist for this technique, often involving different inanimate objects.
Many programmers have had the experience of explaining a programming problem to someone else, possibly even to someone who knows nothing about programming, and then hitting upon the solution in the process of explaining the problem. π₯
In describing what the code is supposed to do and observing what it actually does, any incongruity between these two becomes apparent. βοΈ
More generally, teaching a subject forces its evaluation from different perspectives and can provide a deeper understanding. π¨π»βπ«
By using an inanimate object, the programmer can try to accomplish this without having to interrupt anyone else. π π»ββοΈ
γ°γ°γ°γ°γ°γ°
#Debugging #Tips
@ProgrammingTip
Lambda in Java 8 π₯
Lambda expressions are introduced in Java 8 and are touted to be the biggest feature of Java 8. 8οΈβ£
Lambda expression facilitates functional programming, and simplifies the development a lot. π€·π»ββοΈ
γ°γ°γ°γ°γ°γ°
#java #lambda
@ProgrammingTip
https://t.me/pgimg/6
Lambda expressions are introduced in Java 8 and are touted to be the biggest feature of Java 8. 8οΈβ£
Lambda expression facilitates functional programming, and simplifies the development a lot. π€·π»ββοΈ
γ°γ°γ°γ°γ°γ°
#java #lambda
@ProgrammingTip
https://t.me/pgimg/6
Telegram
Programming Tips Resources
The art of asking "coding" questions π¨
β¦ is not workingβοΈπ€¦π»ββοΈ
Examples :
βItβs not workingβ is not helpful βοΈ
It doesnβt tell others about the problem youβre facing.
[ Website ] : http://bit.do/quea
γ°γ°γ°γ°γ°γ°
#Tips #QA
@ProgrammingTip
β¦ is not workingβοΈπ€¦π»ββοΈ
Examples :
βnpm install is not workingβ
βinterpolation is not workingβ
βItβs not workingβ is not helpful βοΈ
It doesnβt tell others about the problem youβre facing.
[ Website ] : http://bit.do/quea
γ°γ°γ°γ°γ°γ°
#Tips #QA
@ProgrammingTip
Programming with Mosh
The art of asking "coding" questions - Programming with Mosh
One question (or more accurately, comment) that I frequently get on my YouTube videos is: β¦ is not working! Examples: βnpm install is not workingβ, βinterpolation is not workingβ, etc. βItβs not workingβ is not helpful! It doesnβt tell me or others aboutβ¦
Extension Method β¨
Home of 781 extension methods for C#, VB, F#, Swift, Kotlin and Javascript π
[ Website ] : http://www.extensionmethod.net/
γ°γ°γ°γ°γ°γ°
#ExtensionMethod
@ProgrammingTip
Home of 781 extension methods for C#, VB, F#, Swift, Kotlin and Javascript π
[ Website ] : http://www.extensionmethod.net/
γ°γ°γ°γ°γ°γ°
#ExtensionMethod
@ProgrammingTip
What is currentColor in CSS β
currentColor β As name says , it pick the current color reference in an class and when you assign currentColor as one of the value of the property it will show the refer color.
[ Article ] : http://bit.do/curro
γ°γ°γ°γ°γ°γ°
#CSS #Tips
@ProgrammingTip
currentColor β As name says , it pick the current color reference in an class and when you assign currentColor as one of the value of the property it will show the refer color.
[ Article ] : http://bit.do/curro
γ°γ°γ°γ°γ°γ°
#CSS #Tips
@ProgrammingTip
Medium
What is currentColor in CSS?
What scares a css developer the most? β Changing a css variable value.
Entity Framework Core Generic Repository π¦
The generic repository pattern has its pros and cons.
You are the one to decide if it fits for your project.
You can always use it only for parts of your application, you donβt have to go all in with generic repository patternβοΈ
[ Article ] : http://bit.do/rpop
https://t.me/pgimg/7
γ°γ°γ°γ°γ°γ°
#Repository #AspMvc #EF #Core
@ProgrammingTip
The generic repository pattern has its pros and cons.
You are the one to decide if it fits for your project.
You can always use it only for parts of your application, you donβt have to go all in with generic repository patternβοΈ
[ Article ] : http://bit.do/rpop
https://t.me/pgimg/7
γ°γ°γ°γ°γ°γ°
#Repository #AspMvc #EF #Core
@ProgrammingTip
Telegram
Programming Tips Resources
π <%= EJS %> π
"E" is for "effective." EJS is a simple Templating Language that lets you generate HTML markup with plain JavaScript. π₯
No religiousness about how to organize things. No reinvention of iteration and control-flow. It's just plain JavaScript. π€·π»ββοΈ
[ Website ] : http://ejs.co/
https://t.me/pgimg/8
γ°γ°γ°γ°γ°γ°
#ejs #templating #js #node #express
@ProgrammingTip
"E" is for "effective." EJS is a simple Templating Language that lets you generate HTML markup with plain JavaScript. π₯
No religiousness about how to organize things. No reinvention of iteration and control-flow. It's just plain JavaScript. π€·π»ββοΈ
[ Website ] : http://ejs.co/
https://t.me/pgimg/8
γ°γ°γ°γ°γ°γ°
#ejs #templating #js #node #express
@ProgrammingTip
Telegram
Programming Tips Resources
GenFu π€Ί
GenFu is a library you can use to generate realistic test data. β
It is composed of several property fillers that can populate commonly named properties through reflection using an internal database of values or randomly created data.
You can override any of the fillers, give GenFu hints on how to fill them. π
[ Website ] : http://genfu.io/
https://t.me/pgimg/9
γ°γ°γ°γ°γ°γ°
#Dotnet #Core #UnitTest
@ProgrammingTip
GenFu is a library you can use to generate realistic test data. β
It is composed of several property fillers that can populate commonly named properties through reflection using an internal database of values or randomly created data.
You can override any of the fillers, give GenFu hints on how to fill them. π
[ Website ] : http://genfu.io/
https://t.me/pgimg/9
γ°γ°γ°γ°γ°γ°
#Dotnet #Core #UnitTest
@ProgrammingTip
Telegram
Programming Tips Resources
What is PushJs ? β
Push is the fastest way to get up and running with Javascript desktop notifications. π₯
A fairly new addition to the official specification, the Notification API allows modern browsers such as Chrome, Safari, Firefox, and IE 9+ to push notifications to a userβs desktop. ππ»
Push acts as a cross-browser solution to this API, falling back to use older implementations if the userβs browser does not support the new API. π
Installing
You can quickly install Push via npm:
Or, if you want something a little more lightweight, you can give Bower a try:
https://t.me/pgimg/10
[ Website ] : https://pushjs.org/
γ°γ°γ°γ°γ°γ°
#js #push #notification
@ProgrammingTip
Push is the fastest way to get up and running with Javascript desktop notifications. π₯
A fairly new addition to the official specification, the Notification API allows modern browsers such as Chrome, Safari, Firefox, and IE 9+ to push notifications to a userβs desktop. ππ»
Push acts as a cross-browser solution to this API, falling back to use older implementations if the userβs browser does not support the new API. π
Installing
You can quickly install Push via npm:
$ npm install push.js --save
Or, if you want something a little more lightweight, you can give Bower a try:
$ bower install push.js --save
https://t.me/pgimg/10
[ Website ] : https://pushjs.org/
γ°γ°γ°γ°γ°γ°
#js #push #notification
@ProgrammingTip
Telegram
Programming Tips Resources
Authentication in ASP.βNET Core for your Web API and Angular2+ using JWT π
Authentication in a single page application is a bit more special, if you just know the traditional ASP.NET way.
To imagine that the app is a completely independent app like a mobile app helps.
Token based authentication is the best solution for this kind of apps.
https://t.me/pgimg/11
[ Website ] : http://bit.do/jwtasp
γ°γ°γ°γ°γ°γ°
#AspMvc #WebApi #Authentication #JWT
@ProgrammingTip
Authentication in a single page application is a bit more special, if you just know the traditional ASP.NET way.
To imagine that the app is a completely independent app like a mobile app helps.
Token based authentication is the best solution for this kind of apps.
https://t.me/pgimg/11
[ Website ] : http://bit.do/jwtasp
γ°γ°γ°γ°γ°γ°
#AspMvc #WebApi #Authentication #JWT
@ProgrammingTip
Telegram
Programming Tips Resources
π WebGradients
WebGradients is a free collection of 180 linear gradients that you can use as content backdrops in any part of your website. π₯
Easy copy CSS3 Crossbrowser code and use it in a moment! They Have also prepared a .PNG version of each gradient. As a bonus, there are packs for Sketch & Photoshop. π₯
https://t.me/pgimg/12
[ Website ] : https://webgradients.com/
γ°γ°γ°γ°γ°γ°
#css #color #gradient
@ProgrammingTip
WebGradients is a free collection of 180 linear gradients that you can use as content backdrops in any part of your website. π₯
Easy copy CSS3 Crossbrowser code and use it in a moment! They Have also prepared a .PNG version of each gradient. As a bonus, there are packs for Sketch & Photoshop. π₯
https://t.me/pgimg/12
[ Website ] : https://webgradients.com/
γ°γ°γ°γ°γ°γ°
#css #color #gradient
@ProgrammingTip
Telegram
Programming Tips Resources
Yagni : You Arent Gonna Need It πΎ
Never Add Functionality Early π‘
Even if you're totally, totally, totally sure that you'll need a feature later on, don't implement it now. β³
Usually, what you actually need is quite different from what you foresaw needing earlier. π π»ββοΈ
This doesn't mean you should avoid building flexibility into your code. β
It means you shouldn't overengineer something based on what you think you might need later on. β
πΉπΈπΉπΈπΉπΈ
There are two main reasons to practise YagNi :
1οΈβ£ You save time, because you avoid writing code that you turn out not to need.
2οΈβ£ Your code is better, because you avoid polluting it with 'guesses' that turn out to be more or less wrong but stick around anyway.
This also follows the KISS theorem:
https://t.me/pgimg/13
γ°γ°γ°γ°γ°γ°
#CleanCode #Principles #Tips
@ProgrammingTip
Never Add Functionality Early π‘
"Always implement things when you actually need them, never when you just foresee that you need them."
Even if you're totally, totally, totally sure that you'll need a feature later on, don't implement it now. β³
Usually, what you actually need is quite different from what you foresaw needing earlier. π π»ββοΈ
This doesn't mean you should avoid building flexibility into your code. β
It means you shouldn't overengineer something based on what you think you might need later on. β
πΉπΈπΉπΈπΉπΈ
There are two main reasons to practise YagNi :
1οΈβ£ You save time, because you avoid writing code that you turn out not to need.
2οΈβ£ Your code is better, because you avoid polluting it with 'guesses' that turn out to be more or less wrong but stick around anyway.
This also follows the KISS theorem:
Keep it simple, stupid!
https://t.me/pgimg/13
γ°γ°γ°γ°γ°γ°
#CleanCode #Principles #Tips
@ProgrammingTip
Telegram
Programming Tips Resources
CLion : A cross-platform IDE for C and C++ π¦
Thanks to native C and C++ support, including C++11 and C++14, libc++ and Boost, CLion knows your code through and through and takes care of the routine while you focus on the important things.
https://t.me/pgimg/14
[ Website ]: https://www.jetbrains.com/clion
γ°γ°γ°γ°γ°γ°
#ide #c #cpp
@ProgrammingTip
Thanks to native C and C++ support, including C++11 and C++14, libc++ and Boost, CLion knows your code through and through and takes care of the routine while you focus on the important things.
https://t.me/pgimg/14
[ Website ]: https://www.jetbrains.com/clion
γ°γ°γ°γ°γ°γ°
#ide #c #cpp
@ProgrammingTip
Telegram
Programming Tips Resources
LiteDB π¦
Embedded NoSQL database for .NET β
An open source MongoDB-like database with zero configuration - mobile ready π±
πΉπΈπΉπΈπΉ
Features π :
β’ Standalone database - LiteDB is serverless database delivered in a single DLL ( Less than 250KB )
β’ Fast & Lightweight - LiteDB is a simple and fast NoSQL database solution. π¨
β’ LINQ Support
β’ Fluent API for custom mapping
β’ Free πΈ
πΉπΈπΉπΈπΉ
Ideal for :
β’ Mobile Apps
β’ Desktop/local small applications
β’ Application file format
β’ Small web applications
β’ One database per account/user data store
https://t.me/pgimg/15
[ Website ] : http://www.litedb.org/
γ°γ°γ°γ°γ°γ°
#Database #LiteDB
@ProgrammingTip
Embedded NoSQL database for .NET β
An open source MongoDB-like database with zero configuration - mobile ready π±
πΉπΈπΉπΈπΉ
Features π :
β’ Standalone database - LiteDB is serverless database delivered in a single DLL ( Less than 250KB )
β’ Fast & Lightweight - LiteDB is a simple and fast NoSQL database solution. π¨
β’ LINQ Support
β’ Fluent API for custom mapping
β’ Free πΈ
πΉπΈπΉπΈπΉ
Ideal for :
β’ Mobile Apps
β’ Desktop/local small applications
β’ Application file format
β’ Small web applications
β’ One database per account/user data store
https://t.me/pgimg/15
[ Website ] : http://www.litedb.org/
γ°γ°γ°γ°γ°γ°
#Database #LiteDB
@ProgrammingTip
Telegram
Programming Tips Resources
Difference between \n and \r π
In Unix and all Unix-like systems, \n is the code for end-of-line, \r means nothing special. π€·π»ββοΈ
As a consequence, in C and most languages that somehow copy it (even remotely), \n is the standard escape sequence for end of line (translated to/from OS-specific sequences as needed)
in old Mac systems (pre-OS X), \r was the code for end-of-line instead. π₯
As a (surprising) consequence (harking back to OSs much older than Windows), \r\n is the standard line-termination for text formats on the Internet. π
For electromechanical teletype-like "terminals", \r commands the carriage to go back leftwards until it hits the leftmost stop (a slow operation), \n commands the roller to roll up one line (a much faster operation) β that's the reason you always have \r before \n, so that the roller can move while the carriage is still going leftwards!.
For character-mode terminals (typically emulating even-older printing ones as above), in raw mode, \r and \n act similarly (except both in terms of the cursor, as there is no carriage or roller) π
γ°γ°γ°γ°γ°γ°
#scape_secuence
@ProgrammingTip
In Unix and all Unix-like systems, \n is the code for end-of-line, \r means nothing special. π€·π»ββοΈ
As a consequence, in C and most languages that somehow copy it (even remotely), \n is the standard escape sequence for end of line (translated to/from OS-specific sequences as needed)
in old Mac systems (pre-OS X), \r was the code for end-of-line instead. π₯
As a (surprising) consequence (harking back to OSs much older than Windows), \r\n is the standard line-termination for text formats on the Internet. π
For electromechanical teletype-like "terminals", \r commands the carriage to go back leftwards until it hits the leftmost stop (a slow operation), \n commands the roller to roll up one line (a much faster operation) β that's the reason you always have \r before \n, so that the roller can move while the carriage is still going leftwards!.
For character-mode terminals (typically emulating even-older printing ones as above), in raw mode, \r and \n act similarly (except both in terms of the cursor, as there is no carriage or roller) π
γ°γ°γ°γ°γ°γ°
#scape_secuence
@ProgrammingTip
14 Hot Chrome Extensions for Geeks π₯
β’ Similar Web
β’ Vimium
β’ Grammarly
β’ Image Size Info
β’ Google Analytics Debugger
β’ Tabstop
β’ Session Buddy
β’ Octotree
β’ Ratings Preview for YouTubeβ’
β’ The Greate Suspender
β’ Papier
β’ Fontface Ninja
β’ Marmoset
β’ Lighthouse
https://t.me/pgimg/16
[ Website ] : http://bit.do/cext
γ°γ°γ°γ°γ°γ°
#Chrome #Extension
@ProgrammingTip
β’ Similar Web
β’ Vimium
β’ Grammarly
β’ Image Size Info
β’ Google Analytics Debugger
β’ Tabstop
β’ Session Buddy
β’ Octotree
β’ Ratings Preview for YouTubeβ’
β’ The Greate Suspender
β’ Papier
β’ Fontface Ninja
β’ Marmoset
β’ Lighthouse
https://t.me/pgimg/16
[ Website ] : http://bit.do/cext
γ°γ°γ°γ°γ°γ°
#Chrome #Extension
@ProgrammingTip
Telegram
Programming Tips Resources
C# 7.1 - Everything You Need To Know β¨
Visual Studio 2017.3 brought with it the first minor update to the C# language, C# 7.1 π
This update adds 4 new features to C# :
1οΈβ£ Async Main Method
2οΈβ£ Default Literal Expressions
3οΈβ£ Inferred Tuple Element Names
4οΈβ£ Generic Support For Pattern-Matching
πΈπΉπΈπΉ
In this post, you'll learn :
β’ How to enable the new C# 7.1 language features in your projects
β’ Everything you need to know to start using all four of the new features
β’ Some gotchas with using C# 7.1 in razor views.
https://t.me/pgimg/17
[ Website ] : http://bit.do/csnfe
γ°γ°γ°γ°γ°γ°
#CSharp
@ProgrammingTip
Visual Studio 2017.3 brought with it the first minor update to the C# language, C# 7.1 π
This update adds 4 new features to C# :
1οΈβ£ Async Main Method
2οΈβ£ Default Literal Expressions
3οΈβ£ Inferred Tuple Element Names
4οΈβ£ Generic Support For Pattern-Matching
πΈπΉπΈπΉ
In this post, you'll learn :
β’ How to enable the new C# 7.1 language features in your projects
β’ Everything you need to know to start using all four of the new features
β’ Some gotchas with using C# 7.1 in razor views.
https://t.me/pgimg/17
[ Website ] : http://bit.do/csnfe
γ°γ°γ°γ°γ°γ°
#CSharp
@ProgrammingTip
Telegram
Programming Tips Resources
C# 7.1 - What's New Quick Start eBook.pdf
544.7 KB
C# 7.1 - What's New Quick Start eBook π
Author : Jason Robert π
γ°γ°γ°γ°γ°γ°
#Book #CSharp
@ProgrammingTip
Author : Jason Robert π
γ°γ°γ°γ°γ°γ°
#Book #CSharp
@ProgrammingTip
Modern JavaScript Cheatsheet π
This document is a cheatsheet for JavaScript you will frequently encounter in modern projects and most contemporary sample code. π¨π»βπ»
https://t.me/pgimg/18
[ Github ] : http://bit.do/mosc
γ°γ°γ°γ°γ°γ°
#JavaScript #CheatSheet
@ProgrammingTip
This document is a cheatsheet for JavaScript you will frequently encounter in modern projects and most contemporary sample code. π¨π»βπ»
https://t.me/pgimg/18
[ Github ] : http://bit.do/mosc
γ°γ°γ°γ°γ°γ°
#JavaScript #CheatSheet
@ProgrammingTip
Telegram
Programming Tips Resources