Skip to content

Instantly share code, notes, and snippets.

View ptflp's full-sized avatar
🤟
Quality over quantity?

Petr Filippov ptflp

🤟
Quality over quantity?
View GitHub Profile
@ptflp
ptflp / index.js
Created July 6, 2018 23:55
nodejs googleapis example
const google = require('googleapis');
const KEY = require('./mykey.json');
getAllUsers();
/* CREATE CONNECTION, get instance of jwtClient */
function connect() {
return new Promise((yep, nope) => {
const jwtClient = new google.auth.JWT(
[
{ "keys": ["ctrl+shift+s"], "command": "auto_save" },
{ "keys": ["ctrl+alt+t"], "command": "delete_trailing_spaces" },
{ "keys": ["ctrl+b"], "command": "move_to", "args": {"to": "bol", "extend": false} },
{ "keys": ["ctrl+space"], "command": "move_to", "args": {"to": "eol", "extend": false} }
]
@ptflp
ptflp / mouse_move_slider.html
Created July 28, 2018 00:51
Slider on mouse move
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.item-photo {
position: relative;
overflow: hidden;
margin: 0px;
@ptflp
ptflp / autoloader.php
Created July 29, 2018 18:49
php class autoloader
<?php
namespace Autoloader
{
class Autoloader
{
const debug = 1;
public function __construct(){}
public static function autoload($file)
{
@ptflp
ptflp / tokens.md
Created July 30, 2018 14:58 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

Preconditions:

В данной заметке рассматривается работа JWT с симметичным алгоритмом шифрования (HS256/HS384/HS512)

Основы:

Аутентификация(authentication, от греч. αὐθεντικός [authentikos] – реальный, подлинный; от αὐθέντης [authentes] – автор) - это процесс проверки учётных данных пользователя (логин/пароль). Проверка подлинности пользователя путём сравнения введённого им логина/пароля с логином/паролем, сохранённым в базе данных пользователей.

Авторизация(authorization — разрешение, уполномочивание) - это проверка прав пользователя на доступ к определенным ресурсам.

@ptflp
ptflp / test_app.md
Last active August 1, 2018 10:03 — forked from deuterium7/test_app.md
Тестовое задание, Laravel

Тестовое задание по Laravel

01.08.2018:

Читаю "Разобраться с основами git и git-flow"

  • зачем нужны ветки ? (для возможности работы с отдельным частями проекта, для разделения девелоп и продакшн)
  • какие бывают ветки ? (master: по-умолчанию, develop и другие вспомогательные ветки. В git flow 5 вспомогательных веток.)
  • зачем нужен .gitignore ? (для исключения из git'а файлов и папок, чтобы исключить файлы не относящиеся к данной части проекта. Если проект состоит из нескольких частей. Допустим backend, frontend)
  • какие проблемы за нас решает git-flow и почему стоит его использовать ? (git-flow автоматизирует процесс управления версиями и приводит систему к общепринятой модели управления версиями)
  • что будет если не писать сообщения к комитам ? (тяжело будет разобраться в каком состоянии находится проект и какие правки были введены)

Читаю о тестировании

  • unit testing (необходимо для тестирования отдельных модулей системы, как-правило это какие-то классы или объединенные участки кода имеющие
@ptflp
ptflp / transliterate.js
Created August 6, 2018 04:04
Transliterate cyrilic to lantin for site aliases
var a = {"Ё":"Yo","Й":"I","Ц":"TS","У":"U","К":"K","Е":"E","Н":"N","Г":"G","Ш":"SH","Щ":"SCH","З":"Z","Х":"H","Ъ":"'","ё":"yo","й":"i","ц":"ts","у":"u","к":"k","е":"e","н":"n","г":"g","ш":"sh","щ":"sch","з":"z","х":"h","ъ":"'","Ф":"F","Ы":"I","В":"V","А":"a","П":"P","Р":"R","О":"O","Л":"L","Д":"D","Ж":"ZH","Э":"E","ф":"f","ы":"i","в":"v","а":"a","п":"p","р":"r","о":"o","л":"l","д":"d","ж":"zh","э":"e","Я":"Ya","Ч":"CH","С":"S","М":"M","И":"I","Т":"T","Ь":"'","Б":"B","Ю":"YU","я":"ya","ч":"ch","с":"s","м":"m","и":"i","т":"t","ь":"'","б":"b","ю":"yu"," ":"-"};
function transliterate(word){
return word.split('').map(function (char) {
return a[char] || char;
}).join("");
}
@ptflp
ptflp / swap.sh
Created September 27, 2018 05:09
Enable swap on Linux
#!/bin/bash
fallocate -l 1G /swapfile
ls -lh /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
swapon -s
echo '/swapfile none swap sw 0 0' >> /etc/fstab
@ptflp
ptflp / portainer.sh
Last active September 27, 2018 07:57
Portainer for hosting
#!/bin/bash
VOLUME=portainer
PORT='-p 9000:9000'
docker volume create $VOLUME
docker run -d -e VIRTUAL_HOST=$1 $PORT --name portainer -v /var/run/docker.sock:/var/run/docker.sock -v $VOLUME:/data portainer/portainer
@ptflp
ptflp / x11-docker.sh
Last active September 28, 2018 04:11
Docker x11 on windows
set-variable -name DISPLAY -value %IPADDRESS%:0.0
docker run -it --shm-size=2g --privileged -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix %DOCKER_IMAGE%