Last major update: 25.08.2020
- Что такое авторизация/аутентификация
- Где хранить токены
- Как ставить куки ?
- Процесс логина
- Процесс рефреш токенов
- Кража токенов/Механизм контроля токенов
ruby '2.7.1' | |
gem 'rails', github: 'rails/rails' | |
gem 'tzinfo-data', '>= 1.2016.7' # Don't rely on OSX/Linux timezone data | |
# Action Text | |
gem 'actiontext', github: 'basecamp/actiontext', ref: 'okra' | |
gem 'okra', github: 'basecamp/okra' | |
# Drivers |
CREATE TABLE users ( | |
user_id SERIAL, | |
user_name VARCHAR(80) NOT NULL, | |
user_email VARCHAR(80) UNIQUE, | |
password VARCHAR(80) NOT NULL, | |
registration_date TIMESTAMP, | |
PRIMARY KEY (user_id) | |
); | |
CREATE TYPE CATEGORY_TYPE AS ENUM ('income', 'spending'); |
Ext.namespace('Custom.config'); | |
/** | |
* The Configparser is responsible for: | |
* | |
* 1. loading the json-config-file into the application | |
* 2. parsing the json-file into a javascript object | |
* (while already transforming values for tileSize, extent and layer-attributes into | |
* their respective objects) | |
* 3. rendering the application: |
# Nginx+Unicorn best-practices congifuration guide. Heartbleed fixed. | |
# We use latest stable nginx with fresh **openssl**, **zlib** and **pcre** dependencies. | |
# Some extra handy modules to use: --with-http_stub_status_module --with-http_gzip_static_module | |
# | |
# Deployment structure | |
# | |
# SERVER: | |
# /etc/init.d/nginx (1. nginx) | |
# /home/app/public_html/app_production/current (Capistrano directory) | |
# |
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
using System.Linq; | |
using System.Text; | |
namespace SuffixTreeAlgorithm | |
{ | |
public class SuffixTree | |
{ |