Skip to content

Instantly share code, notes, and snippets.

View ai's full-sized avatar
🚀

Andrey Sitnik ai

🚀
View GitHub Profile

Keybase proof

I hereby claim:

  • I am ai on github.
  • I am iskin (https://keybase.io/iskin) on keybase.
  • I have a public key whose fingerprint is BF0B F36F 0C23 36C7 A197 F941 A9E0 9B94 1F71 0E4D

To claim this, I am signing this object:

body {
display: -ms-grid;
display: grid;
-ms-grid-rows: 30px auto 30px;
grid-template-rows: 30px auto 30px;
-ms-grid-columns: 3fr 1fr;
grid-template-columns: 3fr 1fr;
grid-template-areas: "🎩 🎩"
"🍔 📰"
"👞 👞";
@ai
ai / prefixes-2018
Last active November 1, 2018 13:08
➤ ./bin/autoprefixer --info
Browsers:
Chrome for Android: 69
Firefox for Android: 62
And_qq: 1.2
UC for Android: 11.8
Android: 67, 4.4.3-4.4.4
Baidu: 7.12
Chrome: 69, 68
Edge: 17, 16
@ai
ai / prefixes-2019
Last active April 25, 2019 02:14
Actual prefixes of Autoprefixer for default target browsers
➜ ./bin/autoprefixer --info
Browsers:
Chrome for Android: 71
Firefox for Android: 64
And_qq: 1.2
UC for Android: 11.8
Android: 67, 4.4.3-4.4.4
Baidu: 7.12
Chrome: 73, 72
Edge: 18, 17
// Глобальный счётчик запросов
let lastRequest = 0
export function send (...args, callback) {
// Запоминаем какой номер у этого запроса
const thisRequest = ++lastRequest
fetch(...args).then(responce => {
// Игнорируем ответ, если номер этого запроса
// не совпадает с номером последнего
if (thisRequest !== lastRequest) return

Идея механизма авторизации с нулевым знанием

Современный механизм авторизации через почту/пароль поощряет пользователя на опасные привычки и в безопасной версии (с 2FA) сложен в использовании.

ИТ-миру нужно больше обсуждения механизмов авторизации, чтобы прийти к более удобный и безопасным вариантам.

Это предложение содержит необычный формат авторизации для узкого круга задач. Какие ошибки в нём могуть быть в плане безопасности и удобства использования?

class Post {
title: string = ''
text: string = ''
}
class Group {
title: string = ''
roles: string = ''
}
@ai
ai / logux-data.md
Last active November 15, 2020 16:55

Logux Data API Proposal

Logux Data is a new state manager for Logux with: built-in CRDT types, GraphQL-like data loading, good tree-shaking and types support.

Client

Initialization

React

Онбординг фронтендера на Амплифере

Дать доступ. Менеджер и Макс даёт доступ. Фронтовый тимлид пинает их, уточняет у нового фронтендера дали ли ему все доступы, пинаем ещё раз, если надо.

  1. Выдать почту на @amplifr.com
  2. Доступ в Slack
  3. Доступ в Trello
  4. Доступ в GitHub
  5. Доступ в Zeplin
  6. Доступ в Sentry

Краткая характеристика:

  1. У него много сторов и сторы могут зависеть друг от друга, а не один большой стор и селекторы. То есть он ближе к Эфектору, чем в Редаксу/MobX. Всё ради tree shaking.
  2. Он ближе к стору прямых измений. В публичном API нет экшенов. Но всё-таки value = 1 на манер MobX запрещены — значения можно менять только через спец. методы. И в синхронизации состояния с сервером экшены есть (просто скрыты из публичного API).

Плюсы:

  1. Может работать без Логакса, чисто как стейт-менеджер.
  2. API специально создан, чтобы хранить в сторах бизнес-логику, чем разгружать компоненты и упрощать переносимость приложения между фреймворками.
  3. От 157 байт (!) в вашем JS-бандле.
  4. Расчитан на агрессивный tree shaking, чтобы в JS-бандле был только код того состояния, которые используются в текущих страницах.
  5. Очень ленивый — сторы на которых никто не подписан выгружаются из памяти, а их бизнес-логика останавливается.