quanto mais voce souber sobre isso mais chances de ser contratado
https://twitter.com/sseraphini/status/1385561029778845698
https://gist.github.com/sibelius/ce9499969cf2a0ccea25291471038bf0
quanto mais voce souber sobre isso mais chances de ser contratado
https://twitter.com/sseraphini/status/1385561029778845698
https://gist.github.com/sibelius/ce9499969cf2a0ccea25291471038bf0
export class Cache<T extends object, K> { | |
items = new WeakMap<T, K>() | |
get<P extends T>(item: P, cb: (item: P) => K) { | |
if (!this.items.has(item)) { | |
this.items.set(item, cb(item)) | |
} | |
return this.items.get(item)! | |
} |
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.
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
import { useGLTF, Instances, Instance } from '@react-three/drei' | |
import { MathUtils } from 'three' | |
const InstancedMesh = () => { | |
const { nodes } = useGLTF('./model.glb') | |
const randomVector = (r) => | |
Array(3) | |
.fill() | |
.map(() => MathUtils.randFloatSpread(r)) |
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:
import Button from "@/components/Button"; | |
import ImageCropper, { | |
getCroppedImage, | |
getDataURLFromFile, | |
} from "@/components/ImageCropper"; | |
import Modal from "@/components/Modal"; | |
import useCurrentUser from "@/hooks/use-current-user"; | |
import useMutation from "@/hooks/use-mutation"; | |
import { UserIcon } from "@heroicons/react/outline"; | |
import { gql } from "graphql-request"; |
/*------------------------------ | |
Background Cover UV | |
-------------------------------- | |
u = basic UV | |
s = screensize | |
i = image size | |
------------------------------*/ | |
vec2 CoverUV(vec2 u, vec2 s, vec2 i) { | |
float rs = s.x / s.y; // Aspect screen size | |
float ri = i.x / i.y; // Aspect image size |
Onde comprar crypto sem precisar abrir conta: https://swap.vanna.app
A melhor corretora atualmente é a Binance. Melhor liquidez, mais produtos, melhor app.
Meu link de referral com desconto de taxas: https://accounts.binance.com/en/register?ref=D22SSKRM
#!/usr/bin/node | |
/* eslint-disable @typescript-eslint/no-unused-expressions */ | |
// eslint-disable-next-line import/no-extraneous-dependencies | |
const sh = require('shell-tag'); | |
const detectChangedFiles = () => { | |
const appFolders = ['routes', 'pages', 'modules', 'hooks']; | |
const changedFiles = sh`git diff develop --name-only`; | |
return changedFiles.split(/\n/g).filter((file) => { |