In computing, memoization or memoisation
is an optimization technique used primarily
to speed up computer programs by storing
the results of expensive function calls and
returning the cached result when the same
inputs occur again.
— wikipedia
This file contains 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
{ | |
"Version": "2012-10-17", | |
"Statement": [ | |
{ | |
"Effect": "Deny", | |
"Action": [ | |
"logs:CreateLogGroup", | |
"logs:CreateLogStream", | |
"logs:PutLogEvents" | |
], |
This file contains 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
// resource route component | |
import React from "react"; | |
import { PassThrough } from "node:stream" | |
import fs from "node:fs" | |
import {createReadableStreamFromReadable} from "@remix-run/node" | |
import { defaultQuality,widths,mainImageReadStream,generatedImageReadstream, isThereImage,BadImageResponse } from "../../util/image.server" | |
export const loader = async ({ request }) => { | |
const url = new URL(request.url); | |
const src = url.searchParams.get("src"); |
Most job post are about requirements that you should already know.
We think that you should learn a lot when working for a company.
So here is a list of many things that you are going to learn while working for us (and many more):
- how to use git to work in a team
- how to contribute to open source projects
- how to manage .env files (configurations)
- local vs staging vs production environments
This file contains 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 { promises } from "fs"; | |
import crypto from "crypto"; | |
import path from "path"; | |
import { print, parse } from "graphql"; | |
const plugin = { | |
name: "relay", | |
setup: build => { | |
build.onLoad({ filter: /\.tsx$/, namespace: "" }, async args => { | |
let contents = await promises.readFile(args.path, "utf8"); |
- learn about basic database modelling, use excalidraw
- learn how to connect to a database and performe queries
- learn how to expose a CRUD API REST and/or GraphQL
- learn how to document the API using Swagger, swagger-jsdoc is the best for it
- learn how to test your API using Postman, and also automated using jest and supertest
- learn how to consume other APIs using fetch
Also check Docker Learning Path and Lambda Learning Path
You first need to undestand the concept of frontend tests.
You should not test the implementation but the behavior
You test like the end user
For instance, imagine a login screen with email and password inputs and a submit button
The test should input the email and the password, then click in the submit button.
This file contains 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 React, { FC, lazy, Suspense, useEffect, useState } from 'react' | |
const preloadComponent = () => import('./Component') | |
const Component = lazy(preloadDrawer) | |
const App: FC = () => { | |
useEffect(() => { | |
const handler = window.requestIdleCallback(preloadComponent) |
This file contains 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
name: Create Release Branch | |
on: | |
workflow_dispatch: | |
inputs: | |
versionName: | |
description: 'Name of version (ie 5.5.0)' | |
required: true | |
versionCode: | |
description: 'Version number (50500)' | |
required: true |
This file contains 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 { subscriptionWithClientId } from 'graphql-relay-subscription'; | |
import UserType from '../UserType'; | |
import * as UserLoader from '../UserLoader'; | |
import pubSub, { EVENTS } from '../../../channels/pubSub'; | |
const UserAddedSubscription = subscriptionWithClientId({ | |
name: 'UserAdded', | |
inputFields: {}, | |
subscribe: () => pubSub.asyncIterator(EVENTS.USER.ADDED), |
NewerOlder