- learn why we need docker
- learn how to define a Dockerfile
- learn how to build a docker
- learn how to list images
- learn how to run docker with port forward
- learn how to go inside docker to debug, running /bin/bash
- learn docker compose
- learn how to send a docker image to a reqistry (dockerhub or aws ecr)
- learn how to deploy a docker to kubernetes, aws ecs or another platform
- learn how to use docker volumes
<template> | |
<div id="app"> | |
<GmapMap | |
:center="center" | |
:zoom="18" | |
map-style-id="roadmap" | |
:options="mapOptions" | |
style="width: 100vmin; height: 50vmin" | |
ref="mapRef" | |
@click="handleMapClick" |
Firstly, Create React App is good. But it's a very rigid CLI, primarily designed for projects that require very little to no configuration. This makes it great for beginners and simple projects but unfortunately, this means that it's pretty non-extensible. Despite the involvement from big names and a ton of great devs, it has left me wanting a much better developer experience with a lot more polish when it comes to hot reloading, babel configuration, webpack configuration, etc. It's definitely simple and good, but not amazing.
Now, compare that experience to Next.js which for starters has a much larger team behind it provided by a world-class company (Vercel) who are all financially dedicated to making it the best DX you could imagine to build any React application. Next.js is the 💣-diggity. It has amazing docs, great support, can grow with your requirements into SSR or static site generation, etc.
This is definitely not the first time I've written about this topic, but I haven't written formally about it in quite awhile. So I want to revisit why I think technical-position interviewing is so poorly designed, and lay out what I think would be a better process.
I'm just one guy, with a bunch of strong opinions and a bunch of flaws. So take these suggestions with a grain of salt. I'm sure there's a lot of talented, passionate folks with other thoughts, and some are probably a lot more interesting and useful than my own.
But at the same time, I hope you'll set aside the assumptions and status quo of how interviewing is always done. Just because you were hired a certain way, and even if you liked it, doesn't mean that it's a good interview process to repeat.
If you're happy with the way technical interviewing currently works at your company, fine. Just stop, don't read any further. I'm not going to spend any effort trying to convince you otherwise.
/** | |
* TS Helper Functions | |
*/ | |
type ConvertTo<Type, From, To> = { | |
[Key in keyof Type]: Required<Type>[Key] extends From ? To : Type[Key]; | |
}; | |
type FilterByType<T, U> = { | |
[Key in keyof Required<T>]: Required<T>[Key] extends U ? Key : never; | |
}[keyof T]; |
In addition to the Storybook for React setup, you'll also need to install these packages:
npm i -D @babel/core babel-loader css-loader style-loader
echo '.env' >> .gitignore | |
git rm -r --cached .env | |
git add .gitignore | |
git commit -m 'untracking .env' | |
git push origin master |
import { useReducer, useState, useEffect } from "react"; | |
const reduceCartFromOrders = (current, [id, quantity]) => { | |
if (current === null) current = {}; | |
if (quantity === null) { | |
delete current[id]; | |
return current; | |
} |
{ | |
"coreVersion": "1", | |
"enhancementNumber": 1, | |
"date": "2019-11-27T16:33:20.906Z", | |
"version": "1.1.191128" | |
} |
jQuery source is now authored using ES6 modules. It's possible to use them directly in the browser without any build process.
To test it locally, first clone the jQuery repository:
git clone git@github.com:jquery/jquery.git
Then, write the following index.html
file: