Skip to content

Instantly share code, notes, and snippets.

@alxpsr
alxpsr / sparse-checkout.md
Last active May 4, 2020
Git sparse-checkout
View sparse-checkout.md

GIT SPARSE-CHECKOUT

  1. cd <YOUR_REPO>
  2. git sparse-checkout init
  3. git sparse-checkout set <PATTERN>, where is pattern like gitignore-pattern
  4. Then git will create file at path YOUR_REPO/.git/info/sparse-checkout
  5. Your might edit this file with git sparse-checkout set or IDE, or via cli - echo !program.ts' > .git/info/sparse-checkout
  6. The logic of sparse-checkout file is the opposite of .gitignore - in sparse-checkout you should set folders that will be ENABLED (in other hand in .gitignore you should set folders that will be DISABLED)
  7. sparse-checkout will be apply ONLY for local repo (in other hand .gitignore will be apply to remote repo)

EXAMPLE

@alxpsr
alxpsr / Port 2.flmapping
Created Apr 6, 2020
FL-STUDIO Generic mapping
View Port 2.flmapping
<?xml version="1.0"?>
<flcontrolmap version="1">
<link>
<ctrlparam>13</ctrlparam>
<window><![CDATA[Fruity Wrapper - SH-101]]></window>
<windowparam>0</windowparam>
<windowid>3</windowid>
<channel>0</channel>
<smoothing>0</smoothing>
<smoothspeed>469</smoothspeed>
View terminal-colors-branch
# Add in ~/.bashrc or ~/.bash_profile
function parse_git_branch () {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
RED="\[\033[01;31m\]"
YELLOW="\[\033[01;33m\]"
GREEN="\[\033[01;32m\]"
BLUE="\[\033[01;34m\]"
NO_COLOR="\[\033[00m\]"
@alxpsr
alxpsr / tokens.md
Created Dec 1, 2019 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication
View tokens.md

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

Last major update: 21.10.2019

Основы:

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

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

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

@alxpsr
alxpsr / tsconfig.json
Created Nov 24, 2019 — forked from KRostyslav/tsconfig.json
tsconfig.json с комментариями.
View tsconfig.json
// Файл "tsconfig.json":
// - устанавливает корневой каталог проекта TypeScript;
// - выполняет настройку параметров компиляции;
// - устанавливает файлы проекта.
// Присутствие файла "tsconfig.json" в папке указывает TypeScript, что это корневая папка проекта.
// Внутри "tsconfig.json" указываются настройки компилятора TypeScript и корневые файлы проекта.
// Программа компилятора "tsc" ищет файл "tsconfig.json" сначала в папке, где она расположена, затем поднимается выше и ищет в родительских папках согласно их вложенности друг в друга.
// Команда "tsc --project C:\path\to\my\project\folder" берет файл "tsconfig.json" из папки, расположенной по данному пути.
// Файл "tsconfig.json" может быть полностью пустым, тогда компилятор скомпилирует все файлы с настройками заданными по умолчанию.
// Опции компилятора, перечисленные в командной строке перезаписывают собой опции, заданные в файле "tsconfig.json".
@alxpsr
alxpsr / launch.json
Created Feb 23, 2019
Debug Custom TSLint rule with vscode
View launch.json
{
"name": "Debug TSLint Rule",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/my-rules/myCustomRule.ts",
"stopOnEntry": false,
"cwd": "${workspaceRoot}",
"runtimeExecutable": null,
"runtimeArgs": [
"--nolazy"
@alxpsr
alxpsr / curl_post_json.md
Created Feb 3, 2018 — forked from ungoldman/curl_post_json.md
post a file JSON file with curl
View curl_post_json.md

How do POST file with curl??

You can post a json file with curl like so:

curl -X POST -H "Content-Type: application/json" -d @FILENAME DESTINATION

so for example:

View gist:0bafe7d4fd075cda7ccbf82d9950471d
constructor(private elementRef: ElementRef, private ngbPopover: NgbPopover,
private ngZone: NgZone, private cd: ChangeDetectorRef, private renderer: Renderer2) {
}
ngOnInit() {
this.ngZone.runOutsideAngular(() => {
this.listener = this.renderer.listen('document', 'click', (event) => {
this.closePopoverOnClickOutside(event);
});
});
@alxpsr
alxpsr / gist:eff00827d88b9e1bc817f9b132962a59
Created Jan 12, 2017 — forked from redoPop/gist:9050999cebcd7e50934a
IE10 & IE11 don't trigger touch events (e.g., touchstart). If you want to differentiate touches from clicks, you must use the pointer events API and the event object's pointerType property:
View gist:eff00827d88b9e1bc817f9b132962a59
function onPointerDownHandler (event) {
if (event.pointerType === 'touch') {
// Equivalent to a touchstart on MS Surface
}
}
// For IE 10
element.addEventListener('MSPointerDown', onPointerDownHandler);
// For IE 11+
View shared-adaptive
$devices: tablet-landscape, tablet-portrait, tablet, phone, mobile, mobile-landscape, not-mobile !default;
$tablet-landscape: 1024px !default;
$tablet-portrait: 768px !default;
$phone: 480px !default;
@mixin device($device) {
//481...1024
@if $device == 'tablet' {
@media screen and (max-width: $tablet-landscape) and (min-width: $phone + 1) {
@content;