902 private links
Page d'accueil de la campagne Pensez cybersécurité du gouvernement du Canada. Connaissez les risques, apprenez à vous protéger et obtenez de l'information sur les façons de protéger vos appareils.
flop!EDT, votre emploi du temps personnalisé
Vous en avez marre de passer des heures à réaliser un emploi du temps qui convient à tout le monde ? Découvrez notre gestionnaire d'emploi du temps FLexible et OPen source qui fera le travail à votre place.
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.
PimEyes is an advanced face recognition search engine, a reverse image search tool, and a photo search mechanism used to find which websites publish your photos online.
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 !
TurboWarp is a Scratch mod with a compiler to run projects faster, dark mode for your eyes, a bunch of addons to improve the editor, and more.
Cette documentation vise à vous plonger dans le monde de l'administration des services sur des serveurs, en mettant l'accent sur les principaux aspects qui contribuent à leur succès. Dans un environnement en constante évolution, où la cybersécurité est devenue une préoccupation majeure, la gestion des configurations, la fiabilité, la haute disponibilité, la sauvegarde, la reprise sur incident, et l'analyse des logs doivent être des priorités de tout administrateur système.
Are broken links damaging your website's rankings and usability? There's no getting around it - error 404 pages are bad for business.
Dead Link Checker crawls through your website, identifying broken links for you to correct.
Forgot your Linux root password? No worries! Our guide provides easy-to-follow instructions to reset and change it safely.
TL;DR
In GRUB menu:
- Find the line starting with “linux” and make sure it contains
rw
and notro
. - Then go and append
init=/bin/bash
to the end of the line. - Press Ctrl+x to start boot process.
- Change password
passwd
.
Il existe de nombreux types de bases de données, chacune ayant ses propres avantages. Nous comparons les différents types de bases de données et ce que chacune d'entre elles propose
La librairie D’un Livre à L’autre a ouvert ses portes en février 2021, au 2 place Saint Aubert, au cœur d’Avranches. Elle est située à une des entrées du marché hebdomadaire, à quelques dizaines de mètres de la basilique Saint Gervais, de la médiathèque et du Scriptorial, le musée des manuscrits du Mont Saint Michel.
Nous sommes avant tout des amoureux du livre et nous avons toujours à cœur de partager avec vous nos lectures !
Nous essayons toujours de répondre au mieux à vos demandes et si nous ne pouvons pas trouver le livre que vous souhaitez immédiatement, nous nous engageons à prolonger nos recherches pour essayer de vous satisfaire.
Plus de 7 500 références vous attendent à la librairie mais si le livre que vous recherchez n’y est pas, nous vous le commandons !
Markwhen is the offline-first, plain text calendar and planning app you've been waiting for.
QR designer web app with a novel method of designing qr codes that does not take advantage of error correction.
Get started learning Python with our Python Tutorial. This tool is intended for everyone who wants to learn Python programming language, whether your are a beginner or already a pro.
This detailed guide gives you an effective Open Source license comparison. It should help you choose the right Open Source license for your project.
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.
Pour simplifier les explications, les résolveurs DNS sont des services qui permettent de convertir un nom de domaine (google.com) en adresse IP (172.217.168.238). Par défaut, vous utilisez les résolveurs DNS fournis automatiquement par votre fournisseur d'accès, mais il est possible d'en utiliser d'autres.
Dans un précédent article, je vous avais présenté BorgBackup et comment l'utiliser pour effectuer des sauvegardes sur un disque local. Aujourd'hui, je vais vous expliquer comment effectuer les sauvegardes sur une machine distante via SSH et comment sécuriser et automatiser tout ça.
A protip by nicolaslazartekaqui about vim.
TL;DR
To convert all text to lowercase and to uppercase in vim do:
ggVGu
ggVGU
Function in search/replace, do this to lowercase and to uppercase (example):
:%s/[A-Z]/\L&/g
:%s/[A-Z]/\U&/g