Skip to content

Instantly share code, notes, and snippets.

View MarwanShehata's full-sized avatar
🎯
"Luck is what happens when preparation meets opportunity.", Seneca

Marwan Shehata MarwanShehata

🎯
"Luck is what happens when preparation meets opportunity.", Seneca
View GitHub Profile
<!DOCTYPE html>
<!-- this comment is a child of the document -->
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Nodelists Versus HTMLCollections</title>
<meta name="viewport" content="width=device-width" />
<!-- This comment is a child element of the head element -->
</head>
<!-- this comment is a child of the html element -->
// https://youtu.be/D-JIYZhEqv8
// The Async Features You’ve Been Awaiting - Yael Hermon
function foo() {
getSomeAsyncStuff()
.then(getSomeMoreAsyncStuff)
.then(getSomeMoreAsyncStuff)
.then(result=> console.log(result))
.catch((err) => console.log(err););
}
/**
* Utils
*
* Provides utility and miscellaneous functionality.
*/
import uuid from 'uuid/v4'
/**
* Generates a random integer between min and max inclusive.
import "./App.css";
function App() {
// const handleIt = (e: any, v: number) => {
// console.log(e, v)
// }
const handleIt = (v) => {
return (e) => {
console.log(e, v);
@MarwanShehata
MarwanShehata / Counter.js
Last active April 21, 2022 21:49
From 7 - Raising and Handling Events.mp4, Code With Mosh - Mastering React ![](https://cdn.cacher.io/attachments/u/3g08kb548w5j7/AlDuP4sNwhtsdRAU84CBLiHA1y13RO-M/rssmr7ja5.png)
/* Child Component */
import React, { Component } from "react";
class Counter extends Component {
render() {
const { onDelete } = this.props;
return (
<button
onClick={() => onDelete(counter.id)}
className="btn btn-danger btn-sm m-2"
const style = +process.argv[2] || 0;
const count = +process.argv[3] || 1000;
const propCount = +process.argv[4] || 5;
class Foo2 {
constructor(a, b) {
if (a instanceof Foo2) {
this.myItem = a.myNumber * b % 42069;
} else {
this.myItem = a * b;
/* https://twitter.com/i/status/1553175201357221893 */
{
0% { opacity: 0; clip-path: inset(5%); transform: scale(111.11%) }
100% { opacity: 1; clip-path: inset(0); transform: scale(1) }
}
@MarwanShehata
MarwanShehata / Memoiazation
Last active January 6, 2024 08:48
6. Basic Memoization Example from FrontEndMasters
const times10 = (num) => {
const a = num * 10;
return a;
};
console.log(`~~~~~~~~TASK 1~~~~~~~~`);
console.log(`times10 returns: ${times10(9)}`);
const cache = {};
const memoTimes10 = (n) => {
@MarwanShehata
MarwanShehata / Memoi
Last active January 6, 2024 09:47
Memoization with closures from FrontEndMasters algo course
const memoizedClosureTimes10 = () => {
let cache = {};
return (n) => {
if (n in cache) {
console.log(`Fetching from cache: ${n}`);
return cache[n];
} else {
console.log(`Calculating result~~`);
let result = n * 10;
function joinElements(arr, joinString) {
function recurse(i, resultSoFar) {
resultSoFar += arr[i];
console.log(resultSoFar);
if (i === arr.length - 1) {
return resultSoFar;
} else {
return recurse(i + 1, resultSoFar + joinString);
}
}