- Modificado (modified);
- Preparado (staged/index)
- Consolidado (comitted);
{ | |
"workbench.startupEditor": "newUntitledFile", | |
"editor.fontSize": 16, | |
"editor.lineHeight": 1.8, | |
"javascript.suggest.autoImports": true, | |
"javascript.updateImportsOnFileMove.enabled": "always", | |
"editor.rulers": [ | |
80, | |
120 | |
], |
# ZSH | |
sudo apt install zsh -y | |
sudo apt-get install powerline fonts-powerline -y | |
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh | |
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc | |
chsh -s /bin/zsh | |
# REBOOT | |
# sudo reboot |
async function enviarScript(scriptText) { | |
// Divide o texto em linhas, removendo as que estiverem vazias | |
const lines = scriptText.split(/[\n\t]+/).map(line => line.trim()).filter(line => line); | |
const main = document.querySelector("#main"); | |
// Procura pela caixa de texto da conversa | |
const textarea = main.querySelector(`div[contenteditable="true"]`); | |
if (!textarea) { | |
throw new Error("Não há uma conversa aberta. Por favor, clique em uma conversa antes de executar o script."); |
const { PrismaClient } = require("@prisma/client"); | |
const prisma = new PrismaClient(); | |
async function main() { | |
try { | |
const mousesCategory = await prisma.category.create({ | |
data: { | |
name: "Mouses", | |
slug: "mouses", |
@tailwind base; | |
@tailwind components; | |
@tailwind utilities; | |
@layer base { | |
:root { | |
--background: 0 0% 4%; | |
--foreground: 0 0% 100%; | |
--card: 0 0% 4%; |
import { PrismaClient } from "@prisma/client"; | |
declare global { | |
var cachedPrisma: PrismaClient; | |
} | |
let prisma: PrismaClient; | |
if (process.env.NODE_ENV === "production") { | |
prisma = new PrismaClient(); | |
} else { |
syntax = "proto3"; | |
package github.com.codeedu.codepix; | |
option go_package = "protofiles/pb"; | |
service ProductService { | |
rpc CreateProduct (CreateProductRequest) returns (CreateProductResponse) {}; | |
rpc FindProducts(FindProductsRequest) returns (FindProductsResponse) {}; | |
} |
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.
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.