818 private links
The best design tools and plugins for everything 👉
Since 2015, we’ve launched powerful tools for designers and developers — among them are Flawless App, Reduce, Flawless Feedback. We’ve also invested a lot of love and care into community-driven initiatives. Awesome Design Tools is one of them.
In today's dynamic world of software development, staying up-to-date with the latest tools, libraries, and frameworks is crucial for developers.
GitHub offers a treasure trove of valuable repositories that can significantly enhance your development skills and expertise.
I've compiled a list of 19 GitHub repositories that every developer should be aware of, providing a rich source for learning, practicing, and inspiration.
Each repository is divided into subcategories for easier navigation. I've also included direct links and descriptions to get the impression right away.
Comment jouer ?
- 1. Choisissez l'option qui vous semble la moins polluante.
- 2. Validez votre choix.
- 3. Répondez à l'ensemble des questions du jeu.
- 4. Découvrez votre résultat.
Attention : Le site que vous allez construire n'est qu'un exemple.
L'éco-conception commence maintenant pour vous, bon courage !
The SHA-256 algorithm is a widely used hash function producing a 256-bit hash value. It is used in many security applications and protocols, including TLS and SSL, SSH, PGP, and Bitcoin.
Calculating a SHA-256 hash in JavaScript is easy using native APIs, but there are some differences between the browser and Node.js. As the browser implementation is asynchronous, both of the examples provided will return a Promise
for consistency.
Browser
In the browser, you can use the SubtleCrypto API to create a hash for the given value. You first need to create a new TextEncoder
and use it to encode the given value. Then, pass its value to SubtleCrypto.digest()
to generate a digest of the given data, resulting in a Promise
.
As the promise resolves to an ArrayBuffer
, you will need to read the data using DataView.prototype.getUint32()
. Then, you need to convert the data to its hexadecimal representation using Number.prototype.toString()
. Add the data to an array using Array.prototype.push()
. Finally, use Array.prototype.join()
to combine values in the array of hexes
into a string.
const hashValue = val =>
crypto.subtle
.digest('SHA-256', new TextEncoder('utf-8').encode(val))
.then(h => {
let hexes = [],
view = new DataView(h);
for (let i = 0; i < view.byteLength; i += 4)
hexes.push(('00000000' + view.getUint32(i).toString(16)).slice(-8));
return hexes.join('');
});
hashValue(
JSON.stringify({ a: 'a', b: [1, 2, 3, 4], foo: { c: 'bar' } })
).then(console.log);
// '04aa106279f5977f59f9067fa9712afc4aedc6f5862a8defc34552d8c7206393'
Node.js
In Node.js, you can use the crypto
module to create a hash for the given value. You first need to create a Hash
object with the appropriate algorithm using crypto.createHash()
. Then, use hash.update()
to add the data from val
to the Hash
and hash.digest()
to calculate the digest of the data.
For consistency with the browser implementation and to prevent blocking on a long operation, we'll return a Promise
by wrapping it in setTimeout()
.
import { createHash } from 'crypto';
const hashValue = val =>
new Promise(resolve =>
setTimeout(
() => resolve(createHash('sha256').update(val).digest('hex')),
0
)
);
hashValue(JSON.stringify({ a: 'a', b: [1, 2, 3, 4], foo: { c: 'bar' } })).then(
console.log
);
// '04aa106279f5977f59f9067fa9712afc4aedc6f5862a8defc34552d8c7206393'
Notes
- The two implementations are not compatible with each other. You cannot use the browser implementation in Node.js and vice versa.
- Both implementations should produce the same result for the same input.
12-Factor-App est un ensemble de principes décrivant une manière de créer des logiciels de type Software-as-a-Service. (SaaS) qui, lorsqu'ils sont suivis, permettent de créer du code qui peut être pub...
TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages.
To use TIO, simply click the arrow below, pick a programming language, and start typing. Once you click the run button, your code is sent to a TIO arena, executed in a sandboxed environment, and the results are sent back to your browser. You can share your code by generating a client-side permalink that encodes code and input directly in the URL.
Comment générer ses propres certificats SSL à des fins de développement
I wrote A Modern CSS Reset almost 4 years ago and, yeh, it’s not aged overly well. I spotted it being linked up again a few days ago and thought it’s probably a good idea to publish an updated version.
I know I also have a terrible record with open source maintenance, so I thought I’d archive the original and just post this instead. Do with it what you want!
To be super clear, this is a reset that works for me, personally and us at Set Studio. Whenever I refer to “we”, that’s who I’m referring to.
- I made 100 CSS loaders for your next project
- Another 100 CSS loaders for your next project
- I made 100 more CSS loaders for your next project
- Still 100 CSS loaders for your next project
- Adding 100 CSS loaders to the collection of — 500 CSS loaders 🏆
- I am back with 100 "Dark Mode" CSS loaders
- css-loaders.com: The Biggest Collection of Loading Animations (more than 500 🤯)
In this article, you'll learn how to implement a user authentication system in JavaScript. By the end of the tutorial, you'll have a REST API, a database to store user information, authentication via JSON Web Tokens, and even verification emails!
Solve real-world HTML, CSS and JavaScript challenges whilst working to professional designs. Join 673 197 developers building projects, reviewing code, and helping each other get better.
View DustyTrails Series' Articles on DEV Community
Please note that this tutorial series is meant for beginners, so if you're an advanced player in the game of Godot 4, then this tutorial is not for you. Also, this tutorial uses Godot version 4.0.3 – so errors can occur if you use a version newer to this since the engine is constantly changing! Now let's get started.
Créer des animations simplement…
TL;DR:
- Si l’icone est utilisé une seule fois dans votre page,
- Si cet icone est critique ou a besoin de changer de couleur lors d’une interaction,
- ➡️ utiliser le SVG en inline dans le HTML
- Si non,
- ➡️ utiliser une balise
<img>
- Si l’icone est utilisée plusieurs fois,
- Si l’icone est critique
- ➡️ utiliser des Inline SVG Symbol
- Si l’icone n’est pas critique,
- S’il est possible d’héberger du SVG sur votre propre domaine
- ➡️ utiliser des Remote SVG Symbol
- Si non,
- ➡️ Essayez de convaincre très fort votre admin sys de l’importance d’avoir le même domaine pour vos assets
- ➡️ Ou passez par un fallback avec des CSS mask
- ➡️ Ou utilisez des Inline SVG Symbol
- Si vous utilisez une font d’icone,
- ➡️ repartez en haut de cette matrice et choisissez une autre méthode. Vos utilisateurices vous remercieront.
Specificity Calculator was built by Keegan Street.
Calculate CSS strong.
HTML5 UP
... makes spiffy HTML5
site templates that are:
- Fully Responsive
- Built on intelligent HTML5 + CSS3
- Super Customizable
- 100% Free under the Creative Commons
remoteStorage.js is a JavaScript library for storing user data locally in the browser, as well as connecting to remoteStorage servers and syncing data across devices and applications. It is also capable of connecting and syncing data with a person’s Dropbox or Google Drive account (optional).
rs.js stores data locally first and syncs data with a remote storage account second. This makes it a robust sync solution for mobile applications, where slow and spotty network connections are a normal situation.
Discover helpful cross-browser DevTools tips and tricks