Skip to content

Instantly share code, notes, and snippets.

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

Md Habibullah Al Hadi im4aLL

🏠
Working from home
View GitHub Profile
@im4aLL
im4aLL / php-template-method-pattern.php
Created November 14, 2017 05:47
Design pattern - template method
<?php
abstract class Transformer {
protected function responseJson($array)
{
return json_encode($array);
}
abstract public function transform($item);
@im4aLL
im4aLL / store-data-google-sheet-javascript.js
Created February 5, 2018 06:39
Store data to google spreadsheet via ajax
// URL needs to be like this
// https://script.google.com/a/example.com/macros/s/id/exec
// https://script.google.com/macros/s/id/exec
// If script isn't loaded - manage version and create new and then again deploy
// ============================================================
// Your clientside script should actually look like this (jquery example):
// ============================================================
/*
1. npm install babel-core babel-preset-env babelify browser-sync browserify gulp gulp-autoprefixer gulp-babel gulp-cssnano gulp-rename gulp-sass gulp-uglify gulp-watch vinyl-source-stream --save-dev
2. create file `.babelrc` and insert
{
"presets": ["env"]
}
3. create `src` folder and create `sass` and `js` folder inside. Start file name `style.scss` and `app.js` (if you wish to change then do it in gulpfile)
*/
// tested with gulp 3.9.1
@im4aLL
im4aLL / Validator.ts
Created July 25, 2018 12:33
angular form custom validation
interface FieldInterface {
name: string;
rules: string[];
}
interface ErrorFieldInterface {
name: string;
message?: string;
}
@im4aLL
im4aLL / gulpfile.js
Last active November 13, 2022 20:12
gulp boilerplate (es6, browser sync) last tested at 2022-04-03
/*
1. npm install @babel/core @babel/preset-env babelify browser-sync browserify gulp gulp-autoprefixer gulp-babel gulp-cssnano gulp-rename gulp-sass sass gulp-uglify vinyl-source-stream gulp-plumber --save-dev
2. create file `.babelrc` and insert
{
"presets": ["@babel/preset-env"]
}
3. create file `.browserlistrc` and insert
{
browsers: ['last 2 versions'],
cascade: false
@im4aLL
im4aLL / webstoemp-gulpfile.js
Created December 17, 2018 08:24 — forked from jeromecoupe/webstoemp-gulpfile.js
Gulp 4 sample gulpfile.js
"use strict";
// Load plugins
const autoprefixer = require("autoprefixer");
const browsersync = require("browser-sync").create();
const cp = require("child_process");
const cssnano = require("cssnano");
const del = require("del");
const eslint = require("gulp-eslint");
const gulp = require("gulp");
@im4aLL
im4aLL / service.js
Last active January 7, 2019 03:06
Angular Observable Service
// tested on angular 6
// Service
import { Injectable } from '@angular/core';
import { Observable, BehaviorSubject } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class SomeService {
@im4aLL
im4aLL / docker-help.md
Created February 10, 2019 06:58 — forked from bradtraversy/docker-help.md
Docker Commands, Help & Tips

Docker Commands, Help & Tips

Show commands & management commands

$ docker

Docker version info

@im4aLL
im4aLL / package.json
Created March 22, 2019 10:17
webpack 4
{
"scripts": {
"start": "webpack-dev-server --open",
"watch": "webpack --watch",
"build": "cross-env NODE_ENV=production webpack --mode=production"
},
"browserslist": [
"defaults"
],
"devDependencies": {
@im4aLL
im4aLL / serialize.object.js
Created September 20, 2019 07:00
es6 form validator (laravel style)
/**
* Serialize form value into Object
*
* @return jquery plugin
*/
$.fn.serializeObject = function (settings) {
const o = {};
let a = this.serializeArray();
if (a.length > 0 && settings && settings.excludePrefix) {