- Learn how Canvas works
- Learn how Create a scene
- Learn how to Positining elements in a scene
- Learn how to create 3D elements using code
- Learn how to use 3D assets, textures, maps HDRIs
- Learn how to interact based on events, click, scroll, drag
- Learn how Animate elements - Frames
- Learn how Map WebGL elements to DOM elements whilst scrolling
- Learn how Preload and prerender textures (replicates AssetLoader)
- Learn how Manage WebGL resources (create and destroy materials and geometries as needed)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| module.exports = { | |
| projects: [ | |
| '<rootDir>/jest.frontend.config.js', | |
| '<rootDir>/jest.server.config.js', | |
| ], | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "scripts": { | |
| "build": "tsup", | |
| "dev": "yarn build --onSuccess \"yarn start\"", | |
| "dev:watch": "yarn dev --watch", | |
| "start": "node dist/index.js", | |
| }, | |
| "devDependencies": { | |
| "tsup": "^5.11.13", | |
| "typescript": "4.5.5" |
Most mentees belive that they need sync mentorship to be able to explain their problems. However, I've found that doing an async mentorship using text to provide better results. Mentorship is a long term process, you can't "fix" or "improve" someone in a session, it takes time.
The mentee will pass in the 3 steps of the mentorship cycle. The first one is to be in a given situation, or having some problem or doubt.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function chunk(n: number, xs: number[]) { | |
| if (!xs.length) return []; | |
| return [xs.slice(0, n), ...chunk(n, xs.slice(n))]; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import nodemailer, { Transporter } from 'nodemailer' | |
| import fs from 'fs'; | |
| import handlebars from 'handlebars'; | |
| import { SES } from 'aws-sdk' | |
| import { SESClient, SendEmailCommand } from '@aws-sdk/client-ses'; | |
| import { IMailParams, IMailProvider } from '../protocols/IMailProvider'; | |
| import { config } from '@config/config'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // contracts/NFT.sol | |
| // SPDX-License-Identifier: MIT OR Apache-2.0 | |
| pragma solidity ^0.8.3; | |
| import "@openzeppelin/contracts/utils/Counters.sol"; | |
| import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol"; | |
| import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; | |
| import "hardhat/console.sol"; |
Looking for the First Job
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import Redis, { KeyType, Ok } from 'ioredis'; | |
| const redis = new Redis(process.env.REDIS_HOST); | |
| export const set = async ( | |
| key: KeyType, | |
| seconds: number, | |
| value: Record<string, unknown>, | |
| ): Promise<Ok> => | |
| // https://redis.io/commands/psetex |
