Skip to content

Instantly share code, notes, and snippets.

View loonlylokly's full-sized avatar
The answer is 42)

Mikhail loonlylokly

The answer is 42)
View GitHub Profile
@loonlylokly
loonlylokly / gist:0f3388cdf21e34930574e760e7ff2abb
Created July 20, 2025 07:42
Human readable duration format
function formatDuration (seconds) {
if (seconds === 0) {
return "now";
}
const units = [
{ label: "year", seconds: 365 * 24 * 60 * 60 },
{ label: "day", seconds: 24 * 60 * 60 },
{ label: "hour", seconds: 60 * 60 },
{ label: "minute", seconds: 60 },
@loonlylokly
loonlylokly / tokens.md
Created March 28, 2024 16:20 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию. Token-Based Authentication

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

Last major update: 25.08.2020

  • Что такое авторизация/аутентификация
  • Где хранить токены
  • Как ставить куки ?
  • Процесс логина
  • Процесс рефреш токенов
  • Кража токенов/Механизм контроля токенов
#include <omp.h>
#include <iostream>
using std::cout;
using std::endl;
const unsigned int matrix_size = 12000;
double fRand(double fMin, double fMax);
void print_vector(double* _vec);
void print_matrix(double** _matrix);
" Specify a directory for plugins
" - For Neovim: stdpath('data') . '/plugged'
" - Avoid using standard Vim directory names like 'plugin'
call plug#begin('~/.vim/plugged')
" On-demand loading
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'neoclide/coc.nvim', {'branch': 'release'}
@loonlylokly
loonlylokly / BashJokes
Created April 15, 2020 16:18
BashJokes
#!/bin/bash
function addJoke {
touch $file2
echo $value
while read -r line
do
if [ "$value" = "$line" ]
then
return
org 100h
;Input BX
mov cl,4 ; Переменная для цикла(итератор) начинаем с 4, чтобы делать сдвиг регистра dx после ввода в него числа
Loop: ; Цикл
call getSymbol ; Вызываем функцию, которая написана в самом конце, чтобы считать введенное значение
ror dx, cl ; Сдвигаем полученное число на первом шаге на 4(пример: из F0 00 получаем 0F 00), потом на 8(из F0 00 в 00 F0), на 12 и на 16.
add bx,dx ; Добавляем к bx dx (Пример: bx=F0 00, dx=0A 00, а после добавления bx=FA 00)
mov dx, 0000h ; Обнуляем dx, чтобы при считывание новых значений не появилось лишних цифр
cmp cl,16 ; Делаем проверку. Если cl=16, то выполняем следующее:
je pr1 ; перейти на метку pr1. je является условием равенства(Есть и другие операторы, например jbe, который означает меньше или равно(не больше))