Skip to content

Instantly share code, notes, and snippets.

View casprwang's full-sized avatar

Casper Wang casprwang

View GitHub Profile
@casprwang
casprwang / index.js
Last active November 25, 2017 22:46
Using Higher order function to filter something out
const express = require('express')
const resorts = require('./resort-names.json')
const { port = 3333, delay = 0 } = require('minimist')(process.argv)
const cors = require('cors')
const byName = name => resort =>
name.toLowerCase() === resort.substr(0, name.length).toLowerCase()
const logger = (req, res, next) => {
console.log(`${req.method} request for ${req.url}`)
@casprwang
casprwang / closure.js
Created October 22, 2017 01:53
classic closure miss consideration
const isHappy = function(n) {
let set = new Set()
let temp = calculate(n)
if(set.has(temp)) return false
if (temp === 1) return true
set.add(temp)
return isHappy(temp)
}
// let str = 'abc'
// const logSub = s => {
// let res = []
// for (let i =0; i<s.length; i++) {
// for( let j=i+1; j<=s.length;j++) {
// res.push(str.slice(i,j))
// }
// }
" vi:syntax=vim
" base16-vim (https://github.com/chriskempson/base16-vim)
" by Chris Kempson (http://chriskempson.com)
" Ocean scheme by Chris Kempson (http://chriskempson.com)
" This enables the coresponding base16-shell script to run so that
" :colorscheme works in terminals supported by base16-shell scripts
" User must set this variable in .vimrc
" let g:base16_shell_path=base16-builder/output/shell/
set nosmoothscroll
set noautofocus
let scrollstep = 80
set completeonopen
let typelinkhintsdelay = 10
set typelinkhints
set sortlinkhints
let barposition = "bottom"
let hintcharacters = "hjkluuiopbnm,."
map h gT
import React, { Component } from 'react'
import logo from './logo.svg'
import './App.css'
class App extends Component {
constructor() {
super()
this.state = {
value: 0
}
@casprwang
casprwang / index.html
Last active July 15, 2017 21:03
logging the scrolled position with window.requestAnimationFrame
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
html {
height: 2000px;
}
import React from "react"
// import Link from "gatsby-link"
// import get from "lodash/get"
// import Helmet from "react-helmet"
// import include from "underscore.string/include"
export default class BadCounter extends React.Component{
constructor(props){
super(props);
module.exports = {
siteMetadata: {
title: "Gatsby Starter Blog",
author: "Kyle Mathews",
},
plugins: [
{
resolve: `gatsby-source-filesystem`,
options: {
path: `${__dirname}/src/pages`,
module.exports = {
siteMetadata: {
title: "Gatsby Starter Blog",
author: "Kyle Mathews",
},
plugins: [
{
resolve: `gatsby-source-filesystem`,
options: {
path: `${__dirname}/src/pages`,