ΠΡΡ Π€ΡΠΈΠ΄ΠΌΡΠ½ (Nat Friedman), ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ GitHub ΠΏΠΎΡΠ²ΡΠ΄ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
Π²Π΅ΡΠΎΠΊ ΠΈΠΌΠ΅Π½ΠΈ Β«mainΒ» Π²ΠΌΠ΅ΡΡΠΎ Β«masterΒ» Π² Π·Π½Π°ΠΊ ΡΠΎΠ»ΠΈΠ΄Π°ΡΠ½ΠΎΡΡΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΡΡΡΡΠΈΠΌΠΈ ΠΏΡΠΎΡΠΈΠ² ΠΏΠΎΠ»ΠΈΡΠ΅ΠΉΡΠΊΠΎΠ³ΠΎ Π½Π°ΡΠΈΠ»ΠΈΡ ΠΈ ΡΠ°ΡΠΈΠ·ΠΌΠ° Π² Π‘Π¨Π. ΠΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², Π² ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π²Π΅ΡΠΊΠ° Β«masterΒ» ΡΠΎΡ
ΡΠ°Π½ΠΈΡ ΡΠ²ΠΎΡ ΠΈΠΌΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΎΠΏΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡ
ΠΎΠ΄Π° ΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½Π° Β«masterΒ»
ΡΠ°Π·Π²ΡΠ·Π°Π½ΠΎ ΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ°ΡΡΡΠ»ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Git. ΠΠΎΠΊΠ° Π°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ΄Π΅ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΡΡ, Π° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΏΡΠΎΡΠΈΠ², ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅, ΡΡΠΎ Π² Git ΡΠ»ΠΎΠ²ΠΎ master ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π° Π½Π΅ Π² ΠΏΠ°ΡΠ΅ ΡΠΎ ΡΠ»ΠΎΠ²ΠΎΠΌ Β«slaveΒ».
ΠΠΎ Π½Π°ΡΡΠΎΡΡΠ΅Π΅ ΡΠΎΡΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΠΈΡΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ OpenSSL, ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠΈΡΠ°Π»ΠΈ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Β«ΡΡΡΠ½Π°Ρ ΠΌΠ°Π³ΠΈΡΒ». Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ OpenSSL ΡΠ°Π·ΠΌΠΈΡΠ»ΡΠ²Π°Π°Ρ ΠΈΠ½ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΡΠ° Π»Π΅ΠΏΠ΅Π½ΠΊΠ°, Π·Π°ΠΌΠ΅Π½ΡΡΡΠ΅Π³ΠΎ Β«black magicΒ» Π½Π° Β«magicΒ», Β«blacklistΒ» Π½Π° Β«block listΒ», Β«white spaceΒ» Π½Π° Β«whitespaceΒ», Β«masterΒ» Π½Π° Β«parentΒ» ΠΈΠ»ΠΈ Β«mainΒ».
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π²ΡΠΈΡ
ΡΡ Π½Π° Π΄Π½ΡΡ
ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ² OpenZFS ΠΈ Go, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π΅Π΄Π°Π²Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ:
- Π Chromium ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π·Π°ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ Π² ΠΈΠΌΠ΅Π½Π°Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠΎΠ΄Π΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ Β«blacklistΒ» Π½Π° Β«blocklistΒ» (Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ Β«blacklistΒ» ΠΈ Β«whitelistΒ» Π±ΡΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π² Π½Π°ΡΠ°Π»Π΅ 2019 Π³ΠΎΠ΄Π°).
- Π Android Π·Π°ΠΏΠΎΡΠ½Π° Π·Π°ΠΌΠ΅Π½ΠΈ Β«blacklist/whitelistΒ» Π½Π° Β«blocklist/allowlistΒ».
- ΠΡΠΎΠ΅ΠΊΡ Node.js ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ Π·Π°ΠΌΠ΅Π½Π΅ blacklist/whitelist Π½Π° blocklist/allowlist, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡΠΈΠ½ΡΡΠΎ.
- ΠΡΠΎΠ΅ΠΊΡ Curl Π·Π°ΠΌΠ΅Π½Π΅ΡΠΈ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Β«whitelistΒ» Π½Π° Β«skiplistΒ», Β«selectΒ» ΠΈΠ»ΠΈ Β«skipΒ», Π° Β«blacklistΒ» Π½Π° Β«blocklistΒ».
- Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Ansible ΡΠ° ΡΠ°Π·Π³Π»Π΅Π΄ΡΠ²Π°Π°Ρ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π°ΠΌΠ΅Π½Ρ Π²Π΅ΡΠΊΠΈ Β«masterΒ» Π½Π° Β«develΒ».
- Π ΠΊΠΎΠ΄Π΅ PHPUnit Π·Π°ΠΌΠ΅Π½Π΅Ρ Blacklist Π½Π° ExcludeList, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΈ ΡΠ°ΠΉΠ» PHPUnit/Util/Blacklist Π½Π° PHPUnit/Util/ExcludeList.
ΠΠ· ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ², ΠΎΡΠΊΠ°Π·Π°Π²ΡΠΈΡ
ΡΡ Π² ΠΏΡΠΎΡΠ»ΡΠ΅ Π³ΠΎΠ΄Ρ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ master/slave, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΠ°ΡΡΠΎΠ½, ΠΡΡΠΏΠ°Π», ΠΠ°Π½Π³ΠΎ, CouchDB, Π‘ΠΎΠ», ΠΠ΅Π΄ΠΈΡΠ°ΠΠΈΠΊΠΈ, PostgreSQL ΠΈ Redis. Π DNS-ΡΠ΅ΡΠ²Π΅ΡΠ΅ BIND ΡΠΎΡ
ΡΠ°Π½ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Β«master/slaveΒ», Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Ρ Β«primary/secondaryΒ» ΠΈ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΠΈΡ
Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΄ΡΠ° Linux Π² ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π²Π°Π»ΠΈ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Β«blacklist/whitelistΒ» Π²Π·Π΄ΠΎΡΠΎΠΌ ΠΈ Π³Π»ΡΠΏΠΎΡΡΡΡ, Π½Π°Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠΏΡΠ»ΠΈΡΡΠ°ΠΌΠΈ, ΠΈ ΠΎΠ΄Π±ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π·Π°ΠΌΠ΅Π½Ρ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠΎΡΡΠ½ΠΈΠ² ΡΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½ Β«blocklistΒ» ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΌΡΡΠ»Π° ΠΈ Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΠ΅ ΠΊΠ°ΠΊ Β«ΡΠΏΠΈΡΠΎΠΊ Π±Π»ΠΎΡΠ½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²Β».
ΠΠΎΠΌΠΈΡΠ΅ΡΠΎΡ IETF (Internet Engineering Task Force), ΠΊΠΎΡ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ ΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΈ Π½Π° ΠΏΠΎΠΈΠΌΠΈΡΠ΅ βΠ±Π΅Π»Π° Π»ΠΈΡΡΠ°/ΡΡΠ½Π° Π»ΠΈΡΡΠ°β ΠΈ βΠ³ΠΎΡΠΏΠΎΠ΄Π°Ρ/ΡΠΎΠ±β, ΡΠ΅ ΠΏΡΠ΅ΡΠΏΠΎΡΠΈΡΠ°Π°Ρ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ - Π½Π°ΠΌΠ΅ΡΡΠΎ βΠ³ΠΎΡΠΏΠΎΠ΄Π°Ρ/ΡΠΎΠ±β ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΠ°ΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ βΠΏΡΠΈΠΌΠ°ΡΠ½Π°/ΡΠ΅ΠΊΡΠ½Π΄Π°ΡΠ½Π°β, βΠ»ΠΈΠ΄Π΅Ρ/ΡΠ»Π΅Π΄Π±Π΅Π½ΠΈΠΊβ,
βΠ°ΠΊΡΠΈΠ²Π½ΠΎ/Π²ΠΎ ΠΌΠΈΡΡΠ²Π°ΡΠ΅β
"ΠΏΡΠΈΠΌΠ°ΡΠ½Π°/ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°",
βΠΏΠΈΡΠ°ΡΠ΅Π»/ΡΠΈΡΠ°ΡΠ΅Π»β,
βΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ/ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊβ ΠΈΠ»ΠΈ
βΡΠΎΠ΄ΠΈΡΠ΅Π»/ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊβ, Π° Π½Π°ΠΌΠ΅ΡΡΠΎ βΡΡΠ½Π° Π»ΠΈΡΡΠ°/Π±Π΅Π»Π° Π»ΠΈΡΡΠ°β - βΡΠΏΠΈΡΠΎΠΊ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΈ/Π΄ΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΈβ ΠΈΠ»ΠΈ βΠ±Π»ΠΎΠΊ/Π΄ΠΎΠ·Π²ΠΎΠ»Π°β.
ΠΠ·Π²ΠΎΡ: opennet.ru