Skip to content

Instantly share code, notes, and snippets.

View rtplv's full-sized avatar
💢

Ruslan Tupolev rtplv

💢
View GitHub Profile
@rtplv
rtplv / rename_git_branch.md
Last active July 19, 2018 06:13
Переименование ветки Git
git branch -m old_branch new_branch – переименовать локальную ветку
git push origin :old_branch – удалить старую ветку
git push --set-upstream origin new_branch – выгрузить новую ветку и "закрепить" ее за локальной веткой
@rtplv
rtplv / click-with-dblclick.js
Created September 27, 2018 14:07
Click + dblclick event handler
let events = 0;
const onClickHandler = event => {
events++;
setTimeout(() => {
if(events === 1){
console.log('click')
} else if(events > 1) {
console.log('dblclick')
}
@rtplv
rtplv / extractUrlParams.js
Created December 3, 2018 12:28
Extract search params from url with hash(#)
function extractUrlParams(keys, url) {
if (!keys || !keys.length || !Array.isArray(keys)) {
throw new Error('Keys would be array of params keys');
}
return keys.reduce((agg, key) => {
const matches = url.match('[?&]' + key + '=([^&]+)');
agg[key] = matches[1];
return agg;
}, {});
}
@rtplv
rtplv / byString.js
Last active March 6, 2019 13:34
Get object deep value by string key
Object.byString = function(o, s) {
s = s.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties
s = s.replace(/^\./, ''); // strip a leading dot
var a = s.split('.');
for (var i = 0, n = a.length; i < n; ++i) {
const k = a[i];
if (k in o) {
o = o[k];
} else {
return;
@rtplv
rtplv / windows_soft.md
Last active August 19, 2019 09:31
Нужный софт для работы на винде (но лучше не надо - правда)
@rtplv
rtplv / docker-compose.yml
Last active February 16, 2023 07:43
Небольшая шпаргалка для работы с Docker
version: '3.7'
services:
postgres:
build: ./postgres
restart: always
environment:
POSTGRES_PASSWORD: 12345
volumes:
- ./postgres/data:/var/lib/postgresql/data
@rtplv
rtplv / php.md
Last active October 8, 2019 10:43
PHP env install guide

Установка PHP:

sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php7.3

Установка важных расширений необходимых для пакетов Composer:

@rtplv
rtplv / git-bash-in-webstorm.md
Created March 10, 2020 11:51 — forked from sadikaya/git-bash-in-webstorm.md
git bash inside Webstorm terminal

Go to File -> Settings -> Tools -> Terminal and change Shell path based on the the installed git version.

for 64bit:

"C:\Program Files\Git\bin\sh.exe" --login -i

for 32bit:

"C:\Program Files (x86)\Git\bin\sh.exe" --login -i
@rtplv
rtplv / change_id_column
Created July 5, 2020 11:45 — forked from scaryguy/change_id_column
How to reset ID column of a PostgreSQL table to let auto incrementation begin from 1?
# See your sequence name inside psql console with \ds command.
ALTER SEQUENCE seq RESTART WITH 1;
# Update sequence
UPDATE table_name SET id=nextval('seq');
@rtplv
rtplv / laravel_pg_array.md
Created August 4, 2020 22:00
Postgres array, Laravel workaround
/**
 * Превращает массив PHP, в массив Postgres
 * @param array $pgArray
 * @return Expression
 */
static function createPgArray(array $pgArray): Expression
{
    $pgArray = json_encode($pgArray, JSON_UNESCAPED_UNICODE);
 $pgArray = "'".preg_replace("#^\[(.*)\]$#", '{\1}', $pgArray)."'";