Skip to content

Instantly share code, notes, and snippets.

View vanduc1102's full-sized avatar
🐛
💯 💯 💩 😆 🐢

Duke Nguyen vanduc1102

🐛
💯 💯 💩 😆 🐢
View GitHub Profile
const NUMERALS = [
{ value: 1000000000000000000000, str: 'sextillion' },
{ value: 1000000000000000000, str: 'quintillion' },
{ value: 1000000000000000, str: 'quadrillion' },
{ value: 1000000000000, str: 'trillion' },
{ value: 1000000000, str: 'billion' },
{ value: 1000000, str: 'million' },
{ value: 1000, str: 'thousand' },
{ value: 100, str: 'hundred' },
{ value: 90, str: 'ninety' },
// AVN TOKEN
pragma solidity ^0.6.12;
// SPDX-License-Identifier: MIT
interface IERC20 {
@vanduc1102
vanduc1102 / logger.ts
Last active July 3, 2021 05:56
Winston3 Logger with custom namespace
const { LOG_LEVEL, APP_ENV } = process.env;
const logFormatter = APP_ENV === 'dev'
? format.combine(
winston.format.timestamp(),
winston.format.colorize(),
winston.format.printf((meta: any) => {
const { level, message, timestamp, namespace, stack, ...restMeta } = meta;
const displayNamespace = namespace ? `[${namespace}] -` : '';
const stackMessage = stack ? `\n${stack}` : '';
@vanduc1102
vanduc1102 / NFT.md
Created June 12, 2021 17:16
Ví dụ về NFT token

Non-fungible token ( NFT)

ERC-721 Token

NTF Websites

Beeple | The First 5000 Days

@vanduc1102
vanduc1102 / step1-qwiklabs.jinja
Last active May 29, 2021 08:59
Configure a Firewall and a Startup Script with Deployment Manager https://www.qwiklabs.com/focuses/1736?parent=catalog
resources:
- type: compute.v1.instance
name: vm-test
properties:
zone: {{ properties["zone"] }}
machineType: https://www.googleapis.com/compute/v1/projects/{{ env["project"] }}/zones/{{ properties["zone"] }}/machineTypes/f1-micro
# For examples on how to use startup scripts on an instance, see:
# https://cloud.google.com/compute/docs/startupscript
metadata:
items:
@vanduc1102
vanduc1102 / logger.js
Last active May 28, 2021 07:54
Here is my logger.js with winston": "^3.1.0
const { createLogger, format, transports } = require('winston');
const { combine, timestamp, printf, colorize, splat } = format;
const myFormat = printf((info) => {
if (info.meta && info.meta instanceof Error) {
return `${info.timestamp} ${info.level} ${info.message} : ${info.meta.stack}`;
}else if(info.stack){
return `${info.timestamp} ${info.level} ${info.message} : ${info.stack}`;
}
return `${info.timestamp} ${info.level}: ${info.message}`;
@vanduc1102
vanduc1102 / content.js
Last active December 26, 2020 06:37
Jest testing DOM in Node
const fetch = require('node-fetch');
async function getContent(url, originRequest) {
console.log('Getting content from: ', url);
const { redirectUrl } = originRequest.query;
const { host, ...remainingHeaders } = originRequest.headers;
return fetch(url, {
method: originRequest.method,
headers: { ...remainingHeaders},
rejectUnauthorized: false
@vanduc1102
vanduc1102 / git_rebase.bash
Created September 12, 2020 15:42
Git rebase, assumed that you are working on branchA
BranchA : // Commit verything
BranchA : git fetch origin master:master
BranchA : git rebase master
// If no conflicts, you are lucky
// possible there are some conflicts ==> RESOLVE theme
BranchA : git add all_conflicts_files
BranchA: git rebase --continue
@vanduc1102
vanduc1102 / tut.md
Last active August 28, 2020 17:26
Add missing AMP scripts to Wordpress HTML HEAD

ISSUE

The tag 'amp-accordion extension .js script' appears more than once in the document. This will soon be an error.

The tag 'amp-carousel extension .js script' appears more than once in the document. This will soon be an error.

Reason

AMPforWP is using AMP as dependencies, AMP will add amp-scripts base on the Post content somehow at some senarios, it cant add the amp-scripts, so missing script error will appear on the AMP validator.

@vanduc1102
vanduc1102 / install.md
Last active August 17, 2020 04:45
Install .NET on MAC