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 / CyclicRotation.js
Created February 7, 2021 20:05
CyclicRotation ~ Rotate an array to the right by a given number of steps.
/*
An array A consisting of N integers is given. Rotation of the array means that each element is shifted right by one index, and the last element of the array is moved to the first place. For example, the rotation of array A = [3, 8, 9, 7, 6] is [6, 3, 8, 9, 7] (elements are shifted right by one index and 6 is moved to the first place).
The goal is to rotate array A K times; that is, each element of A will be shifted to the right K times.
Write a function:
function solution(A, K);
that, given an array A consisting of N integers and an integer K, returns the array A rotated K times.
@im4aLL
im4aLL / BinaryGap.js
Created February 7, 2021 19:40
BinaryGap - Find longest sequence of zeros in binary representation of an integer.
/*
A binary gap within a positive integer N is any maximal sequence of consecutive zeros that is surrounded by ones at both ends in the binary representation of N.
For example, number 9 has binary representation 1001 and contains a binary gap of length 2. The number 529 has binary representation 1000010001 and contains two binary gaps: one of length 4 and one of length 3. The number 20 has binary representation 10100 and contains one binary gap of length 1. The number 15 has binary representation 1111 and has no binary gaps. The number 32 has binary representation 100000 and has no binary gaps.
Write a function:
function solution(N);
that, given a positive integer N, returns the length of its longest binary gap. The function should return 0 if N doesn't contain a binary gap.
@im4aLL
im4aLL / Event.js
Last active March 10, 2020 08:50
ES6 event listener (pub sub) - usage - component to component communication (angular, react, vue or anything)
class Event {
static events = [];
static listen(name, callback) {
if (!Event.events[name]) {
Event.events[name] = [];
}
Event.events[name].push(callback);
}
@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) {
@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 / 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 / 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 / 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 / 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 / Validator.ts
Created July 25, 2018 12:33
angular form custom validation
interface FieldInterface {
name: string;
rules: string[];
}
interface ErrorFieldInterface {
name: string;
message?: string;
}