Skip to content

Instantly share code, notes, and snippets.

Avatar
🤗
2333

Shawn Wang iShawnWang

🤗
2333
View GitHub Profile
@dhaneshgosai
dhaneshgosai / AppStoreUpdate.swift
Last active Nov 20, 2019
This Gist Class for Checking App Store version with local version.
View AppStoreUpdate.swift
//
// AppStoreUpdate.swift
//
// Created by CodeChanger on 03/11/19.
// Copyright © 2019 CodeChanger. All rights reserved.
//
import UIKit
enum CustomError: Error {
@iShawnWang
iShawnWang / useRouter.ts
Last active Jul 27, 2019
react-router backward hooks, support react-router 4.x | 5.x
View useRouter.ts
import { __RouterContext as RouterContext, RouteComponentProps } from 'react-router'
import { useContext, useMemo, useCallback } from 'react'
import qs from 'qs'
import { Location } from 'history'
interface ParsedQuery {
[whatever: string]: any
}
export const useRouter = <T>(): RouteComponentProps<T> =>
View json_parser.js
// This is a coding exercise of implementing a parser. Some minor parsing capabilities are not implemented.
// The algorithm are mainly from Douglas Crockford's 'https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js'
function json_parse(str) {
var i = 0
var ch = str[i]
// core function that recursively called to move forward scanning pointers and accept tokens
function next(c) {
if (c) {
View 0-bridging-react-native-cheatsheet.md
@webfrogs
webfrogs / shell.sh
Created Mar 30, 2017
Output swift function information whose compile time is large than 100ms
View shell.sh
xcodebuild -workspace XXX.xcworkspace -scheme XXX clean build OTHER_SWIFT_FLAGS="-Xfrontend -debug-time-function-bodies" | grep '^\d\{3,\}[.]\{1\}'
@QinMing
QinMing / .zshrc
Last active Aug 3, 2020
.zshrc (lazy loading shell functions)
View .zshrc
# Copyright (c) 2016-2018 Ming Qin (覃明) <https://github.com/QinMing>
# Open source under MIT LICENSE.
ZSH_THEME="agnoster"
plugins=(zsh-autosuggestions git pip django docker docker-compose)
# ......
unsetopt AUTO_CD
# AUTO_CD: if the command isn't found in the current directory, the shell will automatically cd into the command name, if the directory is found.
@slavafomin
slavafomin / nodejs-custom-es6-errors.md
Last active Aug 6, 2020
Custom ES6 errors in Node.js
View nodejs-custom-es6-errors.md

Here's how you could create custom error classes in Node.js using latest ES6 / ES2015 syntax.

I've tried to make it as lean and unobtrusive as possible.

Defining our own base class for errors

errors/AppError.js

View lazynvm.sh
# lazyload nvm
# all props goes to http://broken-by.me/lazy-load-nvm/
# grabbed from reddit @ https://www.reddit.com/r/node/comments/4tg5jg/lazy_load_nvm_for_faster_shell_start/
lazynvm() {
unset -f nvm node npm npx
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
if [ -f "$NVM_DIR/bash_completion" ]; then
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
@remarkablemark
remarkablemark / Dockerfile
Last active Aug 2, 2020
Install node and npm with nvm using Docker.
View Dockerfile
# set the base image to Debian
# https://hub.docker.com/_/debian/
FROM debian:latest
# replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
# update the repository sources list
# and install dependencies
RUN apt-get update \
View Enable crontab log MAC
1. `vim /etc/syslog.conf`
2. Add to end of file: `cron.* /var/log/cron.log`
3.
```
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
```
[where-is-the-cron-log-file-in-macosx-lion](http://apple.stackexchange.com/questions/38861/where-is-the-cron-log-file-in-macosx-lion)
You can’t perform that action at this time.