Skip to content

Instantly share code, notes, and snippets.

View irfanandriansyah1997's full-sized avatar
🏠
Working from home

Irfan Andriansyah irfanandriansyah1997

🏠
Working from home
  • Indonesia
  • 15:46 (UTC +07:00)
View GitHub Profile
@irfanandriansyah1997
irfanandriansyah1997 / Anagram Grouping.js
Last active September 19, 2020 08:05
Anagram Grouping
let strs = ["kita", "atik", "tika", "aku", "kia", "makan", "kua"];
function sortString(str) {
var arr = str.split("");
var tmp;
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
tmp = arr[i];
arr[i] = arr[j];
@irfanandriansyah1997
irfanandriansyah1997 / gist:659c0bea8e42dc5630163cfb9a82b88d
Last active March 30, 2020 12:30 — forked from EvanHahn/gist:2587465
Caesar shift in JavaScript
/*
JavaScript Caesar shift
by Evan Hahn (evanhahn.com)
* * * * * * * * * * * *
For small occasions (like month-anniversaries), I like to make little websites
for people that only "unlock" on the right day.
@irfanandriansyah1997
irfanandriansyah1997 / dev-server.js
Created March 28, 2020 13:41 — forked from jamsesso/dev-server.js
Webpack dev server with a better proxy (http-proxy-middleware)
var express = require('express');
var path = require('path');
var webpackConfig = require('./webpack.config');
var webpack = require('webpack');
var webpackDevMiddleware = require('webpack-dev-middleware');
var webpackHotMiddleware = require('webpack-hot-middleware');
var proxyMiddleware = require('http-proxy-middleware');
var devConfig = webpackConfig.devServer;
var app = express();
@irfanandriansyah1997
irfanandriansyah1997 / .gitignore
Created March 14, 2020 10:21
Firebase Example IOT
# Created by https://www.gitignore.io/api/node,phpstorm+all,visualstudiocode
# Edit at https://www.gitignore.io/?templates=node,phpstorm+all,visualstudiocode
### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
@irfanandriansyah1997
irfanandriansyah1997 / lazy-image.js
Created January 14, 2020 23:38 — forked from ianmcnally/lazy-image.js
Lazy image loading
//@flow
import React, { Component } from 'react'
import type { ElementRef } from 'react'
type Props = { src: string, alt: string }
type State = { source?: string }
export default class LazyImage extends Component<Props, State> {
state = {}
@irfanandriansyah1997
irfanandriansyah1997 / dependency-injection.py
Created June 11, 2019 13:58 — forked from blaix/dependency-injection.py
Dependency injection example in python
class MySqlDb(object):
def run(self, query):
# whatever...
# ----------------------------------------------------------------------
# Here, Foo can get bars, AND knows exactly what db implementation to use:
class Foo:
def __init__(self):
// Mixin like functionality
const textInput = props => `
color: ${props.error ? color.white : color.base};
background-color: ${props.error ? color.alert : color.white};
`;
export const Input = styled.input`
${textInput}
`;
@irfanandriansyah1997
irfanandriansyah1997 / C_v1.bnf
Last active April 28, 2019 04:39 — forked from arslancharyev31/C_v1.bnf
C .bnf grammar. Version 1.
{
tokens=[
space='regexp:\s+'
identifier='regexp:[a-zA-Z][a-zA-Z0-9_]*'
integer-constant='regexp:\d+'
character-constant='regexp:[a-zA-Z]'
floating-constant='regexp:[+-]?([0-9]*[.])?[0-9]+f'
enumeration-constant='regexp:[a-zA-Z][a-zA-Z0-9_]*' // Same as identifier
]
@irfanandriansyah1997
irfanandriansyah1997 / easing.js
Created February 18, 2019 02:44 — forked from gre/easing.js
Simple Easing Functions in Javascript - see https://github.com/gre/bezier-easing
/*
* Easing Functions - inspired from http://gizma.com/easing/
* only considering the t value for the range [0, 1] => [0, 1]
*/
EasingFunctions = {
// no easing, no acceleration
linear: function (t) { return t },
// accelerating from zero velocity
easeInQuad: function (t) { return t*t },
// decelerating to zero velocity