You don’t know JS 1ed. Книга с подробным разбором тонкостей работы жаба-скрипта, написанная простым языком с иллюстрациями
[eng] Читать онлайн без смс и регистрации: https://github.com/getify/You-Dont-Know-JS/tree/1st-ed
[rus] Глава про this и прототипы
[eng] Остальные файлы
#book #перевод #eng #javascript
[eng] Читать онлайн без смс и регистрации: https://github.com/getify/You-Dont-Know-JS/tree/1st-ed
[rus] Глава про this и прототипы
[eng] Остальные файлы
#book #перевод #eng #javascript
GitHub
GitHub - getify/You-Dont-Know-JS at 1st-ed
A book series (2 published editions) on the JS language. - getify/You-Dont-Know-JS
Forwarded from Segment@tion fault
Элементарные вещи, которые делают неправильно, сужу по некоторым своим сотрудникам:
- oauth авторизация. Привязывают к email. Этого делать нельзя! Ладно в Google e-mail статический и навсегда. Но у FB, GitHub, Twitter и еще у 100500 провайдеров его можно менять. Поменял емейл - потерял доступ, отлично.
Привязывать oauth можно и нужно только к sub.
- традиционная авторизация. мыло-пароль, подтверждение мыла, "я забыл пароль" - опять подтверждение, смена мыла - опять подтверждение. Таблица аккаунта юзера обрастает какими-то страшными полями "код подтверждения емейла", "код подтверждения смены", "время, когда код был сгенерен", "время, когда код 2 был сгенерен".
Это - нехорошо, немасштабируемо и совершенно отвратительно читать. Как лучше?
- любая key-value db или kv-табличка в SQL
- key высылается юзеру
- value содержит метод и его параметры
- метод запускается, когда юзер нажал на URL с ключем, ввел ключ из смс или прописал ключ в TXT-запись своего домена
- PROFIT
- oauth авторизация. Привязывают к email. Этого делать нельзя! Ладно в Google e-mail статический и навсегда. Но у FB, GitHub, Twitter и еще у 100500 провайдеров его можно менять. Поменял емейл - потерял доступ, отлично.
Привязывать oauth можно и нужно только к sub.
- традиционная авторизация. мыло-пароль, подтверждение мыла, "я забыл пароль" - опять подтверждение, смена мыла - опять подтверждение. Таблица аккаунта юзера обрастает какими-то страшными полями "код подтверждения емейла", "код подтверждения смены", "время, когда код был сгенерен", "время, когда код 2 был сгенерен".
Это - нехорошо, немасштабируемо и совершенно отвратительно читать. Как лучше?
- любая key-value db или kv-табличка в SQL
- key высылается юзеру
- value содержит метод и его параметры
- метод запускается, когда юзер нажал на URL с ключем, ввел ключ из смс или прописал ключ в TXT-запись своего домена
- PROFIT
Эмуляция плохого интернет соединения для mac os
https://nshipster.com/network-link-conditioner/
https://nshipster.com/network-link-conditioner/
NSHipster
Network Link Conditioner
App developers often forget to test how their apps perform under less-than-ideal networking environments. Learn how you can use the Network Link conditioner to simulate a spotty Internet connection on your device.
#tor #linux #debian
Быстро поднять Tor мост на VPS c debian bullseye.
Obtain bridge's fingerprint:
Update the obfs4 config with your IP address, port and fingerprint:
Restart tor:
Check that tor running sucessfully:
Быстро поднять Tor мост на VPS c debian bullseye.
sudo ufw allow 9023
sudo apt install apt-transport-https
sudo -i
echo "deb [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org bullseye main" >> /etc/apt/sources.list
echo "deb-src [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org bullseye main" >> /etc/apt/sources.list
wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null
sudo apt update
sudo apt install tor deb.torproject.org-keyring
sudo apt install obfs4proxy
sudo setcap cap_net_bind_service=+ep /usr/bin/obfs4proxy
sudo sed -i 's/NoNewPrivileges=yes/NoNewPrivileges=no/' /lib/systemd/system/tor@default.service
sudo systemctl daemon-reload
sudo tee -a /etc/tor/torrc > /dev/null <<EOT
Log notice file /var/log/tor/log
ORPort 9023
AssumeReachable 1
ExtORPort auto
BridgeRelay 1
PublishServerDescriptor 0
ExitPolicy reject *:*
ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy
ServerTransportListenAddr obfs4 0.0.0.0:443
ContactInfo nope@nope.com
Nickname lain
EOT
sudo systemctl restart tor
Obtain bridge's fingerprint:
sudo cat /var/lib/tor/fingerprint
Update the obfs4 config with your IP address, port and fingerprint:
sudo vi /var/lib/tor/pt_state/obfs4_bridgeline.txt Restart tor:
sudo systemctl restart torCheck that tor running sucessfully:
sudo tail /var/log/tor/log