Programming Tips πŸ’‘
51.5K 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
πŸ“¦ Grab The Stack Trace Of An Exception πŸ“¦

Checking your code for errors is one of the most Painstaking – and frustrating – parts of the development process. πŸ™†πŸ»β€β™‚οΈ

It’s also horrendously Time-Consuming, particularly if you’ve a pesky error whose source isn’t immediately clear. πŸ’‘

Using this code, you can more easily track down where an Exception is occurring – and bring yourself that much closer to being rid of it. βœ…

Code
Exception e = …;
java.io.StringWriter sw = new java.io.StringWriter();
e.printStackTrace(new java.io.PrintWriter(sw));
String trace = sw.getBuffer().toString();


#java #exception #error #trick
@ProgrammingTip
Use String.valueOf() instead of toString() πŸ’Ž

If obj needs to be converted to string then the result of obj.toString() and String.valueOf(obj) will be same.

But String.valueOf() is Null Safe, means it will never throw NullPointerException. 🎯

Test test = null;

// Below statement will not throw NPE
System.out.println(String.valueOf(test));

// Next statement will throw NPE
System.out.println(test.toString())

γ€°γ€°γ€°γ€°γ€°γ€°
#java #string
@ProgrammingTip
JavaScript Clean Code πŸ› 

Use getters and setters πŸ’‘

Bad :
function makeBankAccount() {

return {
balance: 0,
// ...
};
}

const account = makeBankAccount();
account.balance = 100;


Good :
function makeBankAccount() {
let balance = 0;

function getBalance() {
return balance;
}

function setBalance(amount) {
balance = amount;
}

return {
getBalance,
setBalance,
};
}

const account = makeBankAccount();
account.setBalance(100);


βž–βž–βž–βž–βž–βž–
#JSTips #CleanCode
@ProgrammingTip
#Fun Is That integer or... !! πŸ€”
@ProgrammingTip
Value Types in the Real World 🌍

Suppose you’re reading something fantastic, and you want a friend to read it too. πŸ“œ

What do you need to give your friend so that he can read it too❓

To give your friend a copy, you’d need to photocopy all the pages and then give it to him, At that point, he has his own complete copy of the document. πŸ“ƒ

In this situation, you’re dealing with value type behavior❗️

All the information is directly in your hands, you don’t need to go anywhere else to get it.

Your copy of the information is also independent of your friend’s after you’ve made the copy. πŸ‘₯

You could add some notes to your pages, and his pages wouldn’t be changed at all.πŸ™…πŸ»β€β™‚οΈ

γ€°γ€°γ€°γ€°γ€°γ€°
#Types #ValueTypes
@ProgrammingTip
Reference Types in the Real World 🌍

Compare that with the situation where you’re reading a web page. 🌐

This time, all you have to give your friend is the URL of the web page. ↗️

This is reference type behavior, with the URL taking the place of the reference. ↔️

In order to read the document, you have to navigate the reference by putting the URL in your browser and asking it to load the page. ☝🏻

If the web page changes for some reason, both you and your friend will see that change the next time each of you loads the page. πŸ™‡πŸ»

γ€°γ€°γ€°γ€°γ€°γ€°
#Types #ReferenceTypes
@ProgrammingTip
GraphQL πŸ”₯

A query language for your API πŸ’Ž

GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.

GraphQL provides a complete and understandable description of the data in your API,
gives clients the power to ask for exactly what they need and nothing more,
makes it easier to evolve APIs over time,
and enables powerful developer tools.

http://graphql.org/
https://scaphold.io/
γ€°γ€°γ€°γ€°γ€°γ€°
#GraphQL #API
@ProgrammingTip
C# in Depth.pdf
12.1 MB
C# in Depth 3d Edition πŸ“•
Author : Jon Skeet πŸ–Š
Level : Advanced πŸ”
γ€°γ€°γ€°γ€°γ€°γ€°
#Book #CSharp
@ProgrammingTip
JavaScript Clean Code πŸ› 

Async/Await are even cleaner than Promises πŸ’‘

Bad :
get('https://en.wikipedia.org/wiki/Robert_Cecil_Martin')
.then((response) => {
return writeFile('article.html', response);
})
.then(() => {
console.log('File written');
})
.catch((err) => {
console.error(err);
});


Good :
async function getCleanCodeArticle() {
try {
const response = await get('https://en.wikipedia.org/wiki/Robert_Cecil_Martin');

await writeFile('article.html', response);

console.log('File written');
} catch(err) {
console.error(err);
}
}


βž–βž–βž–βž–βž–βž–
#JSTips #CleanCode
@ProgrammingTip
βž• Add Any Numbers Without β€œ+” Operator In C βž•

Bitwise operators can be used to perform the addition (+) operation as mentioned in below example πŸ”†

int Add(int x, int y)
{
if (y == 0)
return x;
else
return Add( x ^ y, (x & y) << 1);
}


γ€°γ€°γ€°γ€°γ€°γ€°γ€°γ€°γ€°γ€°γ€°γ€°γ€°γ€°γ€°γ€°

#c #cpp #operator
@ProgrammingTip
Do casts if it's necessary ❗️

When you're casting an object, you are choosing to ask the compiler to trust you at compile time and to generate a check that will run at execution time to keep you honest. πŸ™‹πŸ»β€β™‚οΈ

#Casting
@ProgrammingTip
THX πŸ’Ž

This WebGL banner is so captivating ❗️
I can't stop playing with it, it's incredible. 😍

http://www.thx.com/

#WebGL #FreeTime
@ProgrammingTip
Code School Courses for Free πŸ’Ž

Just 1 day & 15 hours left. πŸ”Έ

https://www.codeschool.com/free-weekend

#Tutorial #Course
@ProgrammingTip
JavaScript Clean Code πŸ› 

Only comment things that have business logic complexity. πŸ’‘
Comments are an apology, not a requirement. Good code mostly documents itself.

Bad :
function hashIt(data) {
// The hash
let hash = 0;

// Length of string
const length = data.length;

// Loop through every character in data
for (let i = 0; i < length; i++) {
// Get character code.
const char = data.charCodeAt(i);
// Make the hash
hash = ((hash << 5) - hash) + char;
// Convert to 32-bit integer
hash &= hash;
}
}


Good :
function hashIt(data) {
let hash = 0;
const length = data.length;

for (let i = 0; i < length; i++) {
const char = data.charCodeAt(i);
hash = ((hash << 5) - hash) + char;

// Convert to 32-bit integer
hash &= hash;
}
}


βž–βž–βž–βž–βž–βž–
#JSTips #CleanCode
@ProgrammingTip
Road Map πŸ‘£

Front-End Web Developers πŸ’Ž

#RoadMap #FrontEnd
@ProgrammingTip
Road Map πŸ‘£

Back-End Web Developers πŸ› 

#RoadMap #BackEnd
@ProgrammingTip
Understanding Callbacks, Promises, Observables and async/await πŸ€·πŸ»β€β™‚οΈ

Whilst we only had callbacks for quite some time, in recent years promises, observables and lately async/await enriched the JavaScript world.

Let's take a closer look at these features and how they differ in this article❗️

https://academind.com/articles/javascript/callbacks-promises-observables-async-await

#JavaScript #Observables #Async #Promise
@ProgrammingTip
Vue VSCode Snippets by sdras πŸ”₯

Super easy to write Vue codes fast πŸ’Ž

Documentation :
https://github.com/sdras/vue-vscode-snippets

#JavaScript #Vue
@ProgrammingTip
πŸ’™β›° What is Glide Library β›°πŸ’™

Glide is a fast and efficient Open Source Media Management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.

Glide supports fetching, decoding, and displaying video stills, images, and animated GIFs. Glide includes a flexible API that allows developers to plug in to almost any network stack. πŸ™†πŸ»β€β™‚οΈ

By default Glide uses a custom HttpUrlConnection based stack, but also includes utility libraries plug in to Google's Volley project or Square's OkHttp library instead. πŸ’Ž

For learn more about Glide see
https://github.com/bumptech/glide πŸ“—

#android #java #media
@ProgrammingTip