Skip to content

Instantly share code, notes, and snippets.

View sergeysova's full-sized avatar
👋
Open to network

Sova sergeysova

👋
Open to network
View GitHub Profile
import { fetchStatus } from "@lib/fetch";
import { userApi } from "@feature/users/api";
import { actions } from "./symbiotes";
import * as selectors from "./selectors";
/*
userApi.fetchUser() should throw an Error, if server returned object with error
*/
/*
@sergeysova
sergeysova / tokens.md
Created December 17, 2018 12:54 — 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 — разрешение, уполномочивание) - это проверка прав пользователя на доступ к определенным ресурсам.

@sergeysova
sergeysova / docker-cleanup-resources.md
Created December 14, 2018 12:17 — forked from bastman/docker-cleanup-resources.md
docker cleanup guide: containers, images, volumes, networks

Docker - How to cleanup (unused) resources

Once in a while, you may need to cleanup resources (containers, volumes, images, networks) ...

delete volumes

// see: https://github.com/chadoe/docker-cleanup-volumes

$ docker volume rm $(docker volume ls -qf dangling=true)

$ docker volume ls -qf dangling=true | xargs -r docker volume rm

#!/usr/bin/env node
const fs = require('fs')
const path = require('path')
const _ = require('lodash')
const {parseChanges} = require('../shared/get-changed-files')
const {getStagedChanges} = require('../shared/utils')
const {projectPath} = require('../constants')
const locked = createState();
const opened = createState();
const push = createAction();
const coin = createAction();
const hack = createAction();
const turnstile = createMachine(locked, {
[locked]: {
[coin]: () => opened(0),
@sergeysova
sergeysova / urm.rs
Created February 2, 2018 19:52 — forked from dotcypress/urm.rs
Unlimited Register Machine
//! Unlimited Register Machine
//! https://proofwiki.org/wiki/Definition:Unlimited_Register_Machine
use std::collections::HashMap;
type Address = usize;
type State = HashMap<Address, usize>;
#[derive(Debug)]
enum Op {
import React from 'react';
const Step = ({ onClickLeft, onClickRight, children, leftText, rightText }) => {
return (
<div>
<div>
{children}
</div>
<div>
<span onClick={onClickLeft} >
@sergeysova
sergeysova / duck.js
Last active December 13, 2017 15:53 — forked from TheRadioGuy/duck.js
NodeJS
async function getMessages(login, loginMy) {
if (!login || !loginMy) {
throw new TypeError('param login and loginMy should be present');
}
const resp = await connection.query(`SELECT * FROM messages WHERE fromU = '${login}' AND toU = '${loginMy}' UNION SELECT * FROM messages WHERE fromU = '${loginMy}' AND toU = '${login}' ORDER BY date DESC`);
return resp.map(value => Object.assign({
from: value.fromU,
const busboy = require('co-busboy')
const parts = busboy(ctx, {
limits: {
fieldSize: 10 * 1024 * 1024,
},
})
let part
const path = require('path')
const fileType = require('file-type')
const base64 = require('base64-arraybuffer')
const crypto = require('crypto')
const makeDir = require('make-dir')
const fs = require('co-fs')
const defaultOptions = {
pathStorage: '.',
algorithm: 'md5',