Skip to content

Instantly share code, notes, and snippets.

View ddanielsantos's full-sized avatar

Daniel Santos ddanielsantos

  • Fadesp
  • Belém - PA - Brazil
  • 01:13 (UTC -03:00)
  • X @renat0sp
View GitHub Profile
@arthcc
arthcc / hashNdSalt.md
Last active May 17, 2024 13:56
hashNdSalt.md

Aplicações de Segurança no Desenvolvimento de um Software

Estou desenvolvendo um ERP completo para a área de Odontologia, onde posso aprimorar meus conhecimentos e colocá-los em um projeto profissional real. Durante este período, estou utilizando o NestJs para criar os primeiros endpoints, incluindo um para login. Aprendi mais sobre como armazenar senhas em banco de dados e protegê-las usando Hash e Salt.

O que é Hash?

Em resumo, o hash pode ser considerado como uma função matemática que transforma qualquer arquivo ou conjunto de caracteres em uma sequência única de letras e números. Uma vez que o Hash é gerado, ele nunca mais pode ser alterado. O mesmo segue o padrão de ter o mesmo tamanho (entre 128 e 512 bits) e o mesmo número de caracteres alfanuméricos.

Uma função hash é unidirecional, semelhante a uma função sobrejetiva, onde a imagem é igual ao contradomínio. Um hash pode ser quebrado de várias maneiras por meio de ataques de força bruta ou dicionário.

function query(label) {
console.log(`(${label}) created 'lazy promise', but not started yet`);
return {
then(r) {
console.log(`(${label}) started!`);
// ... process query
// "return" them:
r([{ data: `result for ${label}` }]);
},
};
@biantris
biantris / personal-investment.md
Last active December 6, 2022 13:28
personal investment by sseraphini discord server

(personal investiment thread)

Ítalo S. : Melhores investimentos que você fez em você?

sibelius :

  • books
  • community
  • crossfit
  • learn in public
  • sharing knowledge in public

Roadmap de estudos de SQL

Aviso: Muitas vezes detalhes de várias operações podem variar de banco para banco. Em questões onde fiquei em dúvida, este documento segue o funcionamento do PostgreSQL, pois é o banco que conheço melhor.

Pré-requisito: Álgebra Relacional básica

Antes de começar a escrever SQL, você precisa entender o modelo de como um banco de dados relacional funciona. Não precisa se aprofundar muito, mas você precisa entender como que dados e relacionamentos entre eles são representados. (Nota importante: Relacionamento e relação não são a

@huytd
huytd / money-parser.rs
Created May 8, 2022 08:57
A simple recursive descent parser in Rust
use std::fmt::Display;
/*
money = currency_symbol number ;
currency_symbol = '$' | '£' | '€' ;
number = INTEGER ;
*/
#[derive(Debug, PartialEq, Clone, Copy)]
enum TokenType {
@Grubba27
Grubba27 / fizzbuzz.ts
Created April 20, 2022 01:13
FizzBuzz made in typelevel
type Reverse<A> =
`${A}` extends `${infer AH}${infer AT}`
? `${Reverse<AT>}${AH}` : A
type Digs = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
type DigsNext<I = Digs, R = {}> =
I extends [infer Head, infer Next, ...infer Tail]
@vit0rr
vit0rr / start.md
Last active November 20, 2022 12:22
Como iniciar no Rust?

A maneira mais comum para começar a estudar Rust é ler o livro oficial da linguagem. Irá ensinar sobre vários dos conceitos mais importantes sobre a linguagem.

A leitura pode ser acompanhada por:

@sibelius
sibelius / LookingForTheFirstJob.md
Last active July 3, 2023 08:48
Looking for the First Job state

Looking for the First Job

Versão em Português

This is a very common state for people in college, people before/after a bootcamp, or people from another area.

The first job will be the hardest one to get, but it will get easier over time.

The interview will be harder than the job itself

@sibelius
sibelius / asyncJoke.js
Created March 3, 2021 15:15
async joke
const asyncJoke = () => {
setTimeout(() => {
console.log('Knock nock');
}, 0);
console.log("Who's there?");
}
@sindresorhus
sindresorhus / esm-package.md
Last active July 8, 2024 19:11
Pure ESM package

Pure ESM package

The package that linked you here is now pure ESM. It cannot be require()'d from CommonJS.

This means you have the following choices:

  1. Use ESM yourself. (preferred)
    Use import foo from 'foo' instead of const foo = require('foo') to import the package. You also need to put "type": "module" in your package.json and more. Follow the below guide.
  2. If the package is used in an async context, you could use await import(…) from CommonJS instead of require(…).
  3. Stay on the existing version of the package until you can move to ESM.