942 private links
From Wikipedia:
Disk partitioning or disk slicing is the creation of one or more regions on secondary storage, so that each region can be managed separately.
An entire disk may be allocated to a single partition, or multiple ones for cases such as dual-booting, maintaining a swap partition, or to logically separate data such as audio and video files. The partitioning scheme is stored in a partition table such as Master Boot Record (MBR) or GUID Partition Table (GPT).
Les flatpak sont, sous Linux, un système de paquets universels. Le but est de faciliter le déploiement sécurisé d'applications sur différentes distributions.
Les applications sont exécutées dans un environnement « bac à sable » (sandbox) pour que ces applications soient isolées du système mais que les documents soient accessibles.
On se focalise souvent sur les feuilles de style pour le rendu à l'écran, mais une page web peut également se décliner sous la forme d'un document imprimé. Coup de chance : les feuilles de style CSS servent aussi à définir les styles pour l'impression des pages web. Elle est pas belle, la vie ?
One of the wonderful things about CSS is that it allows authors to create media-specific styles for a single document. We’re pretty used to styling for the screen, but thinking about other media isn’t a habit yet. And as all the “printer-friendly” links attest, our thinking about the print medium has been limited to recreating a document in a different way.
Les définitions de ressources personnalisées (CRD) sont des extensions d'API Kubernetes qui peuvent définir de nouveaux types d'objets. Les pods, ReplicaSets, ConfigMaps et Ingresses sont des exemples de ressources intégrées courantes. Les CRD vous permettent d'ajouter des types entièrement nouveaux à cette liste, puis de les gérer à l'aide d'outils Kubernetes familiers tels que Kubectl.
Learn the fundamentals of Scalable Vector Graphics (SVG) from the basics up to advanced concepts like animation and interactivity.
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.
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 !
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.
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
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
Une fois qu'on a bien transpiré et configuré proprement son [serveur de messagerie](https://fr.wikipedia.org/wiki/Serveur%20de%20messagerie%20%C3%A9lectronique "Consultez l'article "Serveur de messagerie électronique" de l'encyclopédie libre Wikipedia"), comment vérifier s'il marche ? En écrivant un message ? Cela ne teste que la moitié du trajet, il serait bien d'avoir aussi une réponse... Si on a des copains patients, on peut leur écrire et solliciter une réponse mais c'est assez abusif. Il vaut mieux compter sur un programme qui répondra à chaque fois, sans se lasser, et qui pourra en prime vous indiquer à quoi ressemblait le message entrant. Quelles sont les adresses qui correspondent à un tel programme ?
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...