Skip to content

Instantly share code, notes, and snippets.

View ins77's full-sized avatar

Дима Сухинин ins77

View GitHub Profile
@ins77
ins77 / .profile
Created May 14, 2016 09:44 — forked from felixexter/.profile
Git Alias
# Отображение текущего состояния.
alias gs='git status '
# Отображение коммитов с коротким названием, датой, комментарием и автором.
alias gl='git --no-pager log --pretty=format:"%h | %ad | %s%d [%an]" --graph --date=short'
alias glo=gl
alias glog=gl
# Добавление всех файлов с учётом удалённых и отображение текущего состояния.
alias gall='git add --all && git status'
@ins77
ins77 / rxjs_operators_by_example.md
Created May 31, 2018 06:43 — forked from btroncone/rxjs_operators_by_example.md
RxJS 5 Operators By Example
@ins77
ins77 / README.MD
Created September 18, 2018 08:29 — forked from aalexeev239/README.MD
Список литературы по rxjs

Стоит посмотреть

  • ⭐⭐⭐ курсы на Egghead. Лучше посмотреть все, но есть самые полезные курсы
  • ⭐⭐⭐ справочник операторов с примерами Learn RxJS
  • ⭐⭐ анимированная песочница Rx Visualizer
  • ⭐⭐ раздел по rxjs в блоге Angular in depth

Специализированные

Основы

@ins77
ins77 / meritt.zsh-theme
Created April 12, 2019 11:03 — forked from meritt/meritt.zsh-theme
My ZSH theme
# vim:ft=zsh ts=2 sw=2 sts=2
#
# Based on Agnoster's Theme — https://gist.github.com/3712874
# A Powerline-inspired theme for ZSH
#
# [Powerline-patched font](https://github.com/Lokaltog/powerline-fonts)
# [Solarized theme](https://github.com/altercation/solarized/)
# [iTerm 2](http://www.iterm2.com/)
### Segment drawing
@ins77
ins77 / tokens.md
Created November 2, 2019 07:16 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

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

Last major update: 21.10.2019

Основы:

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

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

Например после аутентификации юзер sasha получает право обращатся и получать от ресурса "super.com/vip" некие данные. Во время обращения юзера sasha к ресурсу vip система авторизации проверит имеет ли право юзер обращатся к этому ресурсу (проще говоря переходить по неким разрешенным ссылкам)

const person = {
name: 'Владилен'
}
function info(phone, email) {
console.log(`Имя: ${this.name}, Тел.:${phone}, Email: ${email}`)
}
// Demo
// info.bind(person)('12345', 'v@mail.ru')
@ins77
ins77 / fizzbuzz.js
Created April 25, 2020 11:14
fizzbuzz
const fizzbuzz = (begin, end) => {
for (let i = begin; i <= end; i++) {
const hasFizz = i % 3 === 0;
const hasBuzz = i % 5 === 0;
const fizz = hasFizz ? 'Fizz' : '';
const buzz = hasBuzz ? 'Buzz' : '';
console.log(hasFizz || hasBuzz ? `${fizz}${buzz}` : i);
}
};
@ins77
ins77 / flat.js
Created April 25, 2020 11:15
flat
let where = document.createElement('div');
let class1 = `class-1`;
let class2 = `class-1-3`;
let text1 = '123';
let text2 = 'abc!@#213';
let stat = {
tags: { P: 1, B: 2 },
classes: { [class1]: 2, [class2]: 1 },
texts: 3
};
@ins77
ins77 / flat-flatmap.js
Created April 25, 2020 11:16
flat and flatMap
const flat = (arr, deep = 1) => {
let newArr = [];
for (let i = 0; i < arr.length; i++) {
const current = arr[i];
const canDeep = Array.isArray(current) && deep !== 0;
const element = canDeep ? flat(current, deep - 1) : [current];
// оптимизировать через guard expression
newArr = current !== '' ? [...newArr, ...element] : newArr;
@ins77
ins77 / alphabetize.js
Created April 25, 2020 11:16
alphabetize
// https://cs.stanford.edu/people/miles/iso8859.html
const alphabetized = (str) => {
const chars = str.split('');
const filteredChars = chars.filter(item => item.charCodeAt(item.indexOf(item)) <= 255);
const sortedChars = filteredChars.sort((a, b) => a.localeCompare(b, 'en-US-u-kf-upper'));
return sortedChars.join('').trim();
};