Skip to content

Instantly share code, notes, and snippets.

View s-melnikov's full-sized avatar

Sehii Melnykov s-melnikov

View GitHub Profile
<?php
define('COCKPIT_ADMIN', 1);
// set default url rewrite setting
if (!isset($_SERVER['COCKPIT_URL_REWRITE'])) {
$_SERVER['COCKPIT_URL_REWRITE'] = 'Off';
}
// set default timezone
@s-melnikov
s-melnikov / nested_sets.js
Created August 9, 2017 06:31
Nested sets
var data = [
{
title: "Одежда",
left: 1,
right: 22
},
{
title: "Мужская",
left: 2,
right: 9
@s-melnikov
s-melnikov / test.js
Created October 23, 2017 08:02
Test
const CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
const uniqid = () => {
let now = Date.now(), chars = [], i = 8, id
while (i--) {
chars[i] = CHARS.charAt(now % 64)
now = Math.floor(now / 64)
}
id = chars.join("")
while (i++ < 8) {
@s-melnikov
s-melnikov / easing.js
Created April 12, 2018 06:47 — 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
function h(type, props, ...children) {
props = props != null ? props : {};
return { type, props, children };
}
function render(vdom, parent = null) {
if (parent) parent.textContent = "";
const mount = parent ? (el => parent.appendChild(el)) : (el => el);
if (typeof vdom == "string" || typeof vdom == "number") {
return mount(document.createTextNode(vdom));
P = (pow(e + 2.5) + 7.1 * pow(h, 3)) / (log(sqrt(y + 0.04 * h)));
@s-melnikov
s-melnikov / functional_hell.js
Created December 26, 2018 16:55
Functional way.
const compose = (...fns) => arg => fns.reduce((composed, f) => f(composed), arg)
const oneSecond = () => 1000
const getCurrentTime = () => new Date()
const clear = () => console.clear()
const log = message => console.log(message)
const serializeClockTime = date => ({
hours: date.getHours(),
minutes: date.getMinutes(),
@s-melnikov
s-melnikov / sublime-config.json
Last active January 30, 2019 18:47
Sublime Text config
{
"font_size": 10,
"tab_size": 2,
"translate_tabs_to_spaces": true,
"indent_to_bracket": true,
"trim_trailing_white_space_on_save": true,
"ensure_newline_at_eof_on_save": true,
"save_on_focus_lost": true,
"copy_with_empty_selection": false,
"drag_text": false,
text
.replace(/\n{3,}/, '\n\n')
.replace(/\n+$/, '\n\n')
.replace(/(#+)(.+?)\n/gm, (p, h, m) => `\n<h${h.length}>${m.trim()}</h${h.length}>\n`)
.replace(/^([^\n<][\S\s]+?)\n\n/gm, (p, m) => `<p>${m.trim()}</p>\n\n`)
.replace(/\*\*([\S ]+?)\*\*|__([\S ]+?)__/g, (p, m1, m2) => `<b>${m1||m2}</b>`)
.replace(/\*([\S ]+?)\*|_([\S ]+?)_/g, (p, m1, m2) => `<em>${m1||m2}</em>`)
@s-melnikov
s-melnikov / gcd.cpp
Created March 21, 2019 19:51
Greatest common divider
#include <iostream>
using namespace std;
int gcd(int a, int b) {
while (a != b) {
if (a > b) {
a = a - b;
} else {
b = b - a;
}