ืืคื ื ืืืขื 9 ืฉื ืื Cloudflare ืืืืชื ืืืจื ืืขืืจื, ืืื ืขืืืชื ืื, ืืืืชื ืจืง ืืงืื. ืืืืฉ ืืืืจ ืืฉืงืช Cloudflare, ืงืืืืชื ืืืืขื ืฉืืืชืจ ืฉืื
ืืื ืืชืืชื ืืืชืื ืคืจืื ืก ืขื ืืืืชืจืช "ืืืคื ื-DNS ืฉืื?" ืืืื ืฉืื ืืืืจื ืชืฉืืื ืืจืืื ืืืื ืืคืจืืื ืืื ืืื (
ืืืช: ื'ืื ืืจืื-ืงืืืื ื
ืชืืจืื: 7 ืืืืงืืืืจ 2010, 9:14
ื ืืฉื: Re: ืืืคื ื-DNS ืฉืื?
ืื: ืืชืื ืคืจืื ืกืืืืื ืืื ืื, ืชืืื. ืื ื ืืืืื ืืชืงืฉืจ ืื ืืืื ืืขืืืช. ืื ืจืื ืฉืืืื ืืืชืื ืขื ืื ืคืืกื ืืืืจ ืฉืืกืคืชื ืืช ืื ืืืืืข ืืืื ื. ืื ื ืืืฉื ืฉืื ืฉืื ืืืื ื ืืกืืคืืจ ืคืชืื ืืื ื. ืืืืืื ืื ืืชื ืืฆืจืฃ ืืืื ืืจืคืื ืืื ืืืจืืืช ืืืฆื ืืชื ืืขื ืืืื ืืื ืืืฉืงื.
ืืฉ ืื ื ืืืืจ ืืื ืืืชืจ ืฉืื, ืืื ื ืืงืื ืืืืขืช SMS ืขื ืื ืชืงืื. ืืื ืืืืจ ืขืืื ืื ืืชืงืื ืืืจืขื ื-13:03:07 ืขื 14:04:12. ืืืืงืืช ืืืืฆืขืืช ืื ืืืฉ ืืงืืช.
ืื ื ืืืื ืฉืชืืื ืืช ืื. ืืื ืืชื ืืืื ืฉืืชื ืื ืฆืจืื ืืื ืืฉืื ืืืืจืืคื? ๐
ืืืื ืขื ื:
ืืืช: ืืชืื ืคืจืื ืก
ืชืืจืื: 7 ืืืืงืืืืจ 2010, 9:57
ื ืืฉื: Re: ืืืคื ื-DNS ืฉืื?
ืื: ื'ืื ืืจืื-ืงืืืื ืืชืืื. ืืืื ื ืืื ืื ืฉืืชื. ืื ื ืืืจื ืืืฉืจื ืขืืฉืื ืื ืืชืื ืืฉืื ืืืืื ืื ื ืฆืื ืคืืกื ืจืฉืื ืืืื ืืืืืขืืช ืฉืื ื. ืื ื ืืกืืื ืืืืืืื, ืื ืืช ืืื ืืื.
ืขืืฉืื Cloudflare ืืื ืืืจื ืืืฉ ืืืืื, ืื ื ืขืืื ืื, ืืขืืฉืื ืื ื ืฆืจืื ืืืชืื ืืืืื ืขื ืืืขืืช ืฉืื ื, ืืืฉืืืืช ืฉืื ืืืคืขืืืืช ืฉืื ื.
ืืืจืืขืื ืฉื 2 ืืืืื
ื-2 ืืืืื ืืฉืงื ื ืืื ืืืฉ ื-Managed Rules for WAFs ืืฉื ืื
ืืืจืื ืืฆืขืจ, ืืขืืืื ืฉื ืืื ืืืืฉื ืืืืจืื ืืืื ืืืืื ืจืืืืจื ืฉืืืื ืืืชืจ ืืื ืืฉืืื ืืขืื HTTP/HTTPS ืขื ืืขืงื ืืืืืจ. ืคืื ืงืฆืืืช ื-Proxy ืืืืื, CDN ื-WAF ืฉืื ื ืกืืื ืืชืืฆืื ืืื. ืืืจืฃ ืืจืื ืฉืืฉืืื ืืขืื ืืืืฉืช ืชืขืืืจืช HTTP/HTTPS ืืืืขืื ืืืืขื 100% ืืฉืจืชืื ืืจืฉืช ืฉืื ื.
ืฉืืืืฉ ืืืขืื ืื ืงืืืช ื ืืืืืช ืืืช ืืืืื ืชืงืจืืช
ืืชืืฆืื ืืื, ืืืงืืืืช ืฉืื ื (ืืืงืืืืช ืืืงืืืืช ืฉืื ื) ืงืืืื ืืฃ ืฉืืืื 502 ืืืืืืื ืื ืฉื Cloudflare. ืฉืืืืืช 502 ื ืืฆืจื ืขื ืืื ืฉืจืชื ืืื ืืจื ื ืงืืืืื ืฉื Cloudflare ืฉืขืืืื ืืื ืืื ืืืืืช ืคื ืืืืช ืื ืื ืืื ืืกืืืืื ืืชืงืฉืจ ืขื ืชืืืืืื ืืืืคืืื ืืชืขืืืจืช HTTP/HTTPS.
ืื ืื ื ืืืืขืื ืืื ืื ื ืืืืช ืื ืืจื ืืืงืืืืช ืฉืื ื. ืื ืื ื ื ืืจื ืืชืืืืฉืื. ืืืืฉื ืืื ืื ืข ืืืืชื ื ืืืชืืืื ืืืขืืืืช ืขื ืืืืจืืข.
ืื ืืืืช ืืื ืืืืงืืืืช ืืืื, ืื ืจืื ืืืืช ืืคืื, ืืืขืก ืืืืขืก. ืืชืจ ืขื ืื, ืื ืืื ืื ื ื (?:(?:"|'|]|}||d|(?:nan|infinity|true|false|null|undefined|symbol|math)|`|-|+)+[)]*;?((?:s|-|~|!|{}||||+)*.*(?:.*=.*)))
ืืื ื ืื ืืขื ืืื ืืคื ื ืขืฆืื (ืืื ื ืืืืจ ืขื ืื ืืืชืจ ืคืืจืื ืืืืฉื), ืฉืืจืืช Cloudflare ืืื ืืืฉืืช ืืืฉื 27 ืืงืืช ืื ืจืง ืืืื ืืืืื ืจืืืืจื ืืจืืข. ืืงื ืื ื ืืื ืืชืืจ ืืช ืืฉืชืืฉืืืช ืืืืจืืขืื ืฉืืืืืื ืืืฉื, ืืืื ืืืืจื ื ืืืืื. ืืกืืฃ ืืคืืกื ืืชืืจ ืืช ืืืืจื ืืืืืจ ืืืืืื ืจืืื ืืืืืจ ืืื ืื ืืขืฉืืช ืขื ืื.
ืื ืงืจื
ืืืื ื ืชืืื ืืคื ืืกืืจ. ืื ืืืื ืื ืืื ืื ื-UTC.
ืืฉืขื 13:42, ืืื ืืก ืืฆืืืช ืืืืช ืืืฉ ืืืฆืข ืฉืื ืื ืงืื ืืืืื ืืืืืื
ืืืืจ 3 ืืงืืช ืืืคืืข ืืขืืื ืืจืืฉืื ืฉื PagerDuty, ืืืืืื ืขื ืืขืื ื-WAF. ืื ืืื ืืืืงื ืกืื ืชืืืช ืฉืืืืงืช ืืช ืืคืื ืงืฆืืื ืืืืช ืฉื WAFs (ืืฉ ืื ื ืืืืช ืืืื) ืืืืฅ ื-Cloudflare ืืื ืื ืืจ ืคืขืืื ืจืืืื. ืืื ืืืืจ ืืื ืืืืขื ืืคื ืืชืจืืืช ืขื ืืืืงืืช ืฉืืจืืช ืืงืฆื ืืงืฆื ืืืจืืช ืฉื Cloudflare ืฉื ืืฉืื, ืืขืืืช ืชืขืืืจื ืืืืืืืืช, ืฉืืืืืช 502 ื ืคืืฆืืช ืืืืื ืืืืืืื ืื ืงืืืืช ืื ืืืืืช ืฉืื ื (PoP) ืืขืจืื ืืจืืื ืืขืืื ืฉืืฆืืืขื ืขื ืืืกืจ ืฉื ืืฉืืื ืืขืื.
ืงืืืืชื ืืื ืืืืชืจืืืช ืืืื, ืืฆืืชื ืืกืขืจื ืืคืืืฉื ืืืืืชื ืืืจืื ืืฉืืืื ืืฉืจืืฉ ืืืืงืช ืคืืชืื ืืคืชืจืื ืืช ืฉืื ื ืืืจ ืฉืืืืื ื 80% ืืืชื ืืขื ืฉืื ื. ืจืฆืชื ืืืื ืืกื SRE ืฉืื ื, ืฉืืืจ ืขืืื ืขื ืืืขืื. ืืืชืืื ืืฉืื ื ืฉืื ืกืื ืฉื ืืชืงืคื ืื ืืืืขื.
ืืื ืืกื Cloudflare SRE ืคืืืจืื ืืจืืื ืืขืืื ืืขืืงืืื ืืืจ ืืืฆื ืืกืืื ืืฉืขืื. ืืืจื ืืื, ืืชืจืืืช ืืื ืืืืืขืืช ืื ืขื ืืขืืืช ืืงืืืืืช ืกืคืฆืืคืืืช ืืืืงืฃ ืืืืื, ืขืืงืืืช ืืืจ ืืืืืช ืืืืื ืื ืคื ืืืืื ืื ืคืชืจืืช ืืกืคืจ ืคืขืืื ืืืื. ืืื ืืืคืื ืืืืืืขืืช ืืืื ืืฆืืืขื ืขื ืืฉืื ืจืฆืื ื ืืืืช, ืืืื ืืกื SRE ืืืจืืื ืืื ืขื ืจืืช ืืืืืจื P0 ืืืฆืจื ืงืฉืจ ืขื ืืื ืืกื ืืื ืืื ืืืืขืจืืช.
ืืืื ืืกืื ืฉืื ื ืืืื ืืื ืืืืื ื ืืืจืฆืื ืืืืื ืืืจืืื ืืืืชื ืจืืข. ืืื ืฆืจืื ืืืคืกืืง ืืช ืืืจืฆืื, ืืืื ืืชืืกืคื ืืืืจ ืืฉืืืืช ืืืื, ืืืืืขืงื ืืืืืื ื ืืกืคืื. ืื ืื ืืืืชื ืืขืื ืืืคืืกืืช ืฉืื ืฉื SRE ืืืื ืืืชืืืื ืืืชื ืืขืฆืื. ืืื ืืืืฃ ืืขืจื ืืช ืืืืืืื ืื ืืื ืื.
ืืฉืขื 14:00 ืงืืขื ื ืฉืืืขืื ืืื ื-WAF ืืื ืืืืชื ืชืงืืคื. ืฆืืืช ืืืืฆืืขืื ืืฉื ืืช ื ืชืื ื ืืืขืื ืืืชืืจืจ ืฉื-WAF ืืฉื. ืขืืื ืืืจ ืืืฉืจ ืืช ืืชืืืืจืื ืืื ืืืืฆืขืืช strace. ืืืฉืื ืืืจ ืจืื ืืืืื ืื ืฉืืฉ ืืขืื ืขื WAF. ืืฉืขื 14:02, ืื ืืฆืืืช ืืืืข ืืื ืืฉืืฆืืขื ืืืฉืชืืฉ ื- global kill, ืื ืื ืื ืืืืื ื ื-Cloudflare ืฉืืืื ืจืืื ืืื ืืจืืื ืืขืืื.
ืืื ืขืฉืื ื ืืจื ืืืืืื ืขืืืจ WAF ืื ืกืืคืืจ ืืืจ. ืื ืื ืื ืื ืคืฉืื. ืื ื ืืฉืชืืฉืื ืืืืฆืจืื ืฉืื ื, ืืืื ืืฉืืจืืช ืฉืื ื
ืืื ืืืืื ื ืืืืืข ืืฉืืจืืชืื ืืคื ืืืืื ืฉืื ื, ืืื Jira ืื ืืขืจืืช ืืื ืืื. ืืืื ื ืฆืจืืืื ืื ืื ืื ืขืืงืฃ, ืฉืื ืืฉืชืืฉื ื ืืขืชืื ืจืืืงืืช (ืื ืืช ืื ืฆืจืื ืืคืชืืจ). ืืืกืืฃ, ืืื ืืก ืืื ืืฆืืื ืืืฉืืืช ืืช ื-WAF ืืฉืขื 14:07, ืืืฉืขื 14:09, ืจืืืช ืืชืขืืืจื ืืืืขืื ืืืจื ืืงืืืืชื ืืื ืืงืื. ืฉืืจ ืื ืื ืื ื ืืืื ื ืฉื Cloudflare ืคืขืื ืืจืืื.
ืืื ืืชืืื ื ืืฉืืืจ ืืช ื-WAF. ืืืฆื ืืื ืืืฆื ืืืคื, ืื ืืจืฆื ื ืืืืงืืช ืฉืืืืืืช (ืฉืฉืืื ื ืืช ืขืฆืื ื ืื ืืฉืื ืื ืืื ืืืืช ืืืขืื) ืืืืืงืืช ืืืืืืืช (ืืืืื ืฉืืืืจื ืขืืืืช) ืืขืืจ ืืืช ืชืื ืฉืืืืฉ ืืชื ืืขื ื ืคืจืืช, ืชืื ืืขืืจืช ืืงืืืืช ืืฉืืืื ืืฉื.
ืืฉืขื 14:52 ืืฉืชืื ืขื ื ืฉืืื ื ืืช ืืกืืื ืืขืฉืื ื ืชืืงืื, ืืืคืฉืจื ื ืืช WAF ืฉืื.
ืืื Cloudflare ืขืืื
ื-Cloudflare ืฆืืืช ืืื ืืกืื ืืืืงืืฉ ืื ืืืื ืืืืื ืขืืืจ WAFs. ืื ืฉืืืคืื ืืฉืคืจ ืืช ืฉืืขืืจื ืืืืืื, ืืืคืืืช ืชืืฆืืืช ืืืืืืืช ืืืืืืช ืืืืืื ืืืืืจืืช ืืืืืืื ืืืฉืื ืืฉืื ืืืคืืขืื. ื-60 ืืืืื ืืืืจืื ืื, ืขืืืื 476 ืืงืฉืืช ืืฉืื ืื ืขืืืจ ืืืืื ืื ืืืืื ืขืืืจ WAF (ืืืืืฆืข ืืืช ืื 3 ืฉืขืืช).
ืฆืจืื ืืื ืืคืจืืก ืืช ืืฉืื ืื ืืืกืืื ืืื ืืืฆื ืกืืืืืฆืื, ืฉืื ืชืขืืืจืช ืืงืื ืืืืชืืช ืขืืืจืช ืืจื ืืืื, ืืื ืฉืื ืืืจ ืื ืืกืื. ืื ื ืืฉืชืืฉืื ืืืฆื ืื ืืื ืืืืืง ืืช ืืืคืงืืืืืืช ืฉื ืืืืืื ืืืืืื ืืช ืฉืืขืืจื ืืืืืืื ืืฉืืืืื ืืืฉืืืืืื ืืฉืืืืื. ืืื ืืคืืื ืืืฆื ืกืืืืืฆืื, ืืืืืื ืืืืืื ืืืชืืฆืข ืืคืืขื, ืืืืงืจื ืื ืืืื ืืืื ืืืืื ืจืืืืจื ืฉืฆืืจื ืืืชืจ ืืื ืืฉืืื ืืขืื.
ืืคื ืฉื ืืชื ืืจืืืช ืืืงืฉืช ืืฉืื ืื ืืขืื, ืืฉ ืื ื ืชืืื ืืช ืคืจืืกื, ืชืืื ืืช ืืืืจื ืืงืืฉืืจ ืื ืืื ืืคืขืื ืกืื ืืจืื ืคื ืืื (SOP) ืขืืืจ ืคืจืืกื ืืกืื ืื. ื-SOP ืืฉืื ืื ืืื ืืืคืฉืจ ืืคืจืกื ืืืชื ืืจืืื ืืขืืื. ืืืขืฉื, ื-Cloudflare ืืืืจืื ื ืขืฉืื ืืืจืช ืืืืจื, ืื-SOP ืืืชืื ืฉืงืืื ืื ื ืฉืื ืืช ืืชืืื ื ืืืืืงื ืืฉืืืืฉ ืคื ืืื ืื ืงืืืช ื ืืืืืช ืคื ืืืืช (PoP) (ืฉืืขืืืืื ืฉืื ื ืืฉืชืืฉืื ืื), ืืื ืืืกืคืจ ืงืื ืฉื ืืงืืืืช ื ืืืงืื ืืืืื, ืืืจ ืื ืืืกืคืจ ืจื ืฉื ืืงืืืืช, ืืจืง ืื ืืื ืืขืืื.
ืื ืื ื ืจืื. ืื ื ืืฉืชืืฉืื ื-git ืืืืคื ืคื ืืื ืืืืฆืขืืช BitBucket. ืืื ืืกืื ืฉืขืืืืื ืขื ืฉืื ืืืื ืืืืฉืื ืงืื, ืืฉืจ ืืืจืื ืืชืื TeamCity, ืืืืฉืจ ื-build ืขืืืจ, ืกืืงืจืื ืืืงืฆืื. ืืืืจ ืืืฉืืจ ืืงืฉืช ืืฉืืื, ืืงืื ืืืจืื ืืืืคืขืืช (ืฉืื) ืกืืจืช ืืืืงืืช.
ืื ืืื ืืื ืืืืืืงืืช ืืกืชืืืืืช ืืืฆืืื, ื ืืฆืจืช ืืงืฉืช ืฉืื ืื ื-Jira ืืืื ืื ืื ืืืืืื ืืืชืืืืื ืืืืืื ืืืฉืจ ืืช ืืฉืื ืื. ืืืืจ ืืืืฉืืจ, ืืคืจืืกื ืืชืจืืฉืช ืืื ืฉื ืงืจื "ืื ื'ืจื PoP": DOG, PIG ื
DOG PoP ืืื Cloudflare PoP (ืืื ืื ืืืช ืืืขืจืื ืฉืื ื) ืืืฉืืฉ ืจืง ืขืืืื Cloudflare. PoP ืืฉืืืืฉ ืคื ืืื ืืืคืฉืจ ืื ืืชืคืืก ืืขืืืช ืืคื ื ืฉืชืขืืืจืช ืืงืืืืช ืืชืืืื ืืืจืื ืืคืชืจืื. ืืืจ ืฉืืืืฉื.
ืื ืืืื ื-DOG ืืฆืืื, ืืงืื ืขืืืจ ืืฉืื PIG (ืฉืคื ื ืืกืืื ืืช). ืืื Cloudflare PoP, ืฉืื ืืืืช ืงืื ื ืฉื ืชืขืืืจืช ืืงืืืืช ืืืื ื ืืืจืืช ืืจื ืงืื ืืืฉ.
ืื ืืื ืืกืืจ, ืืงืื ื ืื ืก ืืงื ืจื. ืืฉ ืื ื ืฉืืืฉื PoPs Canary ืืืืงืื ืฉืื ืื ืฉื ืืขืืื. ืืื ืขืืืจืช ืืชืขืืืจื ืฉื ืืงืืืืช ืืชืฉืืื ืืืื ืื ืืจื ืืงืื ืืืืฉ, ืืืืื ืืืืืงื ืืืืจืื ื ืืืืชืืจ ืฉืืืืืช.
ืชืืืื ืฉืืจืืจ ืชืืื ื ื-Cloudflare
ืื ืืงืื ืืกืืจ ืืงื ืจื, ื ืฉืืจืจ ืืืชื. ืืขืืืจ ืขื ืื ืืฉืืืื - DOG, PIG, Canary, ืื ืืขืืื - ืืืงื ืืกืคืจ ืฉืขืืช ืื ืืืื, ืชืืื ืืฉืื ืื ืืงืื. ืืฉื ืืืืืื ืฉื ืืจืฉืช ืืืืงืืืืช ืฉื Cloudflare, ืื ื ืืืืงืื ืงืื ืืืกืืืืืช ืืคื ื ืฉืืจืืจื ืืืืืื ืืื ืืืงืืืืช. ืืื WAF ืื ืขืืงื ืืืจ ืืชืืืื ืืื ืืืืคื ืกืคืฆืืคื ืืืืืื ืฉืฆืจืื ืืืืื ืืืืืจืืช ืืืืืืื.
ืืืืื WAF
ืืืืื ืืฉื ืื ืืืืจืื ืืช ืืื ืขืืืื ืืฉืืขืืชืืช ืืืืืืื ืืืืฉืืืื ื ืคืืฆืื. ืื ื ืืืข ืืืืืื ืืช ืืืืืื ืืืชืจ ืฉื ืืื ืืืืงืช ืชืืื ื. ืืืฉื, ืืืืจืื ื ืืชืื ื ืขื
ืืงืืจ:
ืืขืชืื ืงืจืืืืช ืืืื, ื ืืฆืจืช ืืืืืช ืงืื ืกืคื ืืืชืคืจืกืืช ืืื ื-Github, ืื ืฉืืฆืืืชืื ืืืชืืืงืื ืืช ืืืคืืืงืฆืื ืืืืื ืืืืืง ืืืชื ืืืืืจืืช ืืืืืืื ืฉืืื ืืืืืืืช ืืจืืื. ืืื, Cloudflare ืืงืืงื ืืืืืืช ืืืืื ืืืชืงืคืืช ืืืฉืืช ืืืืืจืืช ืืืคืฉืจืืช ืืื ืฉืืืงืืืืช ืชืืื ืืืืื ืืช ืืชืงื ืืช ืืชืืื ื ืฉืืื.
ืืืืื ืืฆืืื ืช ืืชืืืื ืืืืืจื ืฉื Cloudflare ืืื ืคืจืืกืช ืืื ืืช ืืคืืืขืืช ืฉื SharePoint ืืืืืฉ ืืื (
ืืืื ืฉืืจื ืืืขืื ืืืื ืืืืฉื ืืื ืืืืจ ืืืื ืืคื ื ืกืงืจืืคืืื ืืืฆื ืืชืจืื (XSS). ืืชืงืคืืช ืืืื ืื ืืคืื ืชืืืคืืช ืืจืื ืืืชืจ ืืฉื ืื ืืืืจืื ืืช.
ืืงืืจ:
ืื ืืื ืืกืื ืืจืื ืืฉืื ืื ืืื ืื ืืื ืขืืืจ WAF ืืื ืืืฆืืข ืืืืงืืช ืืื ืืืจืฆืื ืืชืืฉืืช (CI) ืืคื ื ืคืจืืกื ืืืืืืืช. ืืืื ืืืืฉื ืฉืขืืจ ืขืฉืื ื ืืช ืื ืืืฆืื ื ืืช ืืืืืื. ืืฉืขื 13:31 ืืืืฉ ืืื ืืก ืืงืฉืช ืืฉืืื ืืืืฉืจืช ืขื ืฉืื ืื.
ืืฉืขื 13:37 TeamCity ืืกืคื ืืช ืืืืงืื, ืขืจืื ืืืื ืื ืื ืชื ื ืืช ืืืืฉืืจ. ืืืืืช ืืืืืงืืช ืฉื WAF ืืืืงืช ืืช ืคืื ืงืฆืืื ืืืืช ืืืืื ืฉื ื-WAF ืืืืจืืืช ืืืกืคืจ ืจื ืฉื ืืืืงืืช ืืืืืืช ืขืืืจ ืคืื ืงืฆืืืช ืืืืืืช. ืืืืจ ืืืืงืืช ืืืืื, ืืืงื ื ืืช ืืืืืื ืขืืืจ WAF ืืืืฆืขืืช ืืกืคืจ ืขืฆืื ืฉื ืืงืฉืืช HTTP. ืืงืฉืืช HTTP ืืืืงืืช ืืืื ืืงืฉืืช ืฆืจืืืืช ืืืืืกื ืขื ืืื ื-WAF (ืืื ืืืืจื ืืช ืืืชืงืคื) ืืืืื ื ืืชื ืืืคืฉืจ ืืขืืืจ (ืืื ืื ืืืกืื ืืื ืืืืืื ืข ืืชืืฆืืืช ืฉืืืืืช). ืืื ืื ืืืงื ื ืฉืืืืฉ ืืืคืจื ื-CPU, ืืืืื ืช ืืืืื ืื ืฉื ืื ืืืช WAF ืงืืืืช ืืจืื ืฉืืื ืืืฆืืข ืืืืงืช ืืืืงืื ืื ืืื, ืืืื ืงืฉื ืืืฉืื ืฉืื ืืืื ืืกืคืืง ืืฉืืืื.
ืืืืืงืืช ืขืืจื ื-TeamCity ืืืื ืืคืจืืก ืืืืืืืืช ืืช ืืฉืื ืื ืืฉืขื 13:42.
ืึทึผืกืคึดึผืืช
ืืืื WAF ืืชืืงืืื ืืชืืงืื ืืืืืื ืืืืื, ืืืื ืื ื ืคืืจืกืื ืืืชื ืืืืฆืขืืช ืืืืจ ืขืจื ืืืคืชื ืืืืืืจ ืฉื ืงืืืืงืกืืืืจ, ืืฉืจ ืืคืืฅ ืฉืื ืืืื ืืืืืืืื ืืฉื ืืืช. ืื ืืืงืืืืช ืฉืื ื ืืฉืชืืฉืื ืืืื ืืืืืื ืืื ืืฉืื ืืฉื ืื ืืช ืืชืฆืืจื ืืืื ืืืืืื ืื ืื ืืจื ื-API, ืืืืืืชื ืื ืื ื ืืืืืื ืืฉืื ืืืื ืืืืืจืืช ืืืืง.
ืื ืืืืจื ื ืืจืื ืขื ืงืืืืงืกืืืืจ. ืืขืืจ ืืฉืชืืฉื ื
ืื ืืืงื ืจืง ืืื ืฉื ืืืช ืืืืืฆื ืขื ืืคืชืืจ ืืืื ืืืืืื ืื ืื ืงืจืืื ื-API ืืขื ืืืฆืืข ืฉืื ืื ืชืฆืืจื ืืจืืื ืืขืืื. ืืงืืืืช ืืืื ืืช ืืืืจืืช ืืืืืจื ืืื. ื-Workers ื ืืชื ืืื ืคืจืืกืช ืชืืื ื ืืืืืืืช ืืืขื ืืืืืืช. ืืืืืฆืข, ืงืืืืงืกืืืืจ ืืคืืฆื ื-350 ืฉืื ืืืื ืืฉื ืืื.
ืืงืืืืงืกืืืืจ ืืืืจ ืืืื. ืืืืืฆืข, ืืฉืื ื ืืช ืืืืืืื ื-99 ืฉื 2,29 ืฉื ืืืช ืืื ืืืคืืฅ ืฉืื ืืืื ืืื ืืืฉื ืืจืืื ืืขืืื. ืืืืจืืช ืืื ืืืจื ืืื ืืืจ ืืื. ืืืจื ืืื, ืืฉืืชื ืืคืขืื ืคืื ืงืฆืื ืื ืื ืงื ืืช ืืืืืื, ืื ืงืืจื ืืืขื ืืืืคื ืืืืื ืืืื ืืงืื. ืฉืืืืช ืงืื ืืจื Cloudflare Workers ืืชืจืืฉืช ืืืืชื ืืืืจืืช. Cloudflare ืืืืืื ืืืงืืืืชืื ืขืืืื ืื ืืืืจืื ืืืื ืื ืืื.
ืืื ืืืงืจื ืืื, ืืืืืจืืช ืฉืืืงื ืขืืื ื ืืืืื ืืืืจืืช, ืืืืืงืื ืืฉืชื ื ืืื ืืงืื ืชืื ืฉื ืืืช ืืืืืืช. ืืืื ืฉืืชื ืื ืฉืงืื WAF ืืฉืชืืฉ ื-Lua. Cloudflare ืืฉืชืืฉ ื-Lua ืืืืคื ื ืจืื ืืืืฆืืจ ืืืคืจืืื
ืืคื ื ืคืจืืกืช ืืืืืื, ืืื ืืื ืืืง: ืืงืฉืช ืืืฉืืื ื ืืฆืจื ืืืืฉืจื, ืฆืื ืืจ ื-CI/CD ืืกืฃ ืืืืง ืืช ืืงืื, ืืงืฉืช ืืฉืื ืื ืืืืฉื ืืคื ื-SOP ืฉืงืืืข ืืช ืืคืจืืกื ืืืืืจื, ืืืคืจืืกื ืืืฉืืื.
ืชืืืื ืคืจืืกืช WAF ืฉื Cloudflare
ืืฉืื ืืฉืชืืฉ
ืืคื ืฉืืืจืชื, ืื ื ืคืืจืกืื ืขืฉืจืืช ืืืื WAF ืืืฉืื ืืื ืฉืืืข, ืืืฉ ืื ื ืืขืจืืืช ืจืืืช ืืื ืืืื ืืคื ื ืืืฉืืืืช ืืฉืืืืืืช ืฉื ืคืจืืกื ืืื. ืืืฉืืฉืื ืืฉืชืืฉ, ืื ืืืจื ืืื ืฉืืืื ืฉื ืืื ื ืกืืืืช ืืืช ืืืช. ืื ืืชื ืืืฆื ืจืง ืกืืื ืืืช, ืื, ืืืืื, ืืจืืืข, ืืื ืื ืื ืชืืื ื ืืื. ืืื ืืกืืืืช ืฉืืืื ืืืืืื ืืืืฉืืื ืฉืืจืืช ื-HTTP/HTTPS ืฉืื ื.
- ืืื ืืก ืืชื ืืืืื ืจืืืืจื ืฉืขืืื ืืืจืื ืืืืืื
ืืืจื ืืืืืจ . - ืชืืื ื ืฉืืืืื ืืืืชื ืืื ืืข ืืืืืืื ืืจืืืืจื ืืืืื ืืืชืจ ืืื ืืขืื ืืืกืจื ืืืขืืช ื-refactoring ืฉื ื-WAF ืืกืคืจ ืฉืืืขืืช ืงืืื ืืื - ื-refactoring ืืื ื ืืืฅ ืืื ืืืจืื ื-WAF ืืฆืจืื ืคืืืช ืืฉืืืื.
- ืืื ืืข ืืืืืื ืืจืืืืจื ืื ืืื ืขืจืืืืืช ืืืจืืืืช.
- ืืืืืช ืืืืืงื ืื ืืฆืืืื ืืืืืช ืฆืจืืืช ืืขืื ืืืืืืช.
- ื-SOP ืืืคืฉืจ ืืืืื ืฉืื ืืืื ืืืืื ืื ืืืืคืื ืืจืืื ืืขืืื ืืื ืชืืืื ืจื-ืฉืืื.
- ืชืืื ืืช ืืืืืจื ืืืืืจ ืืจืฉื ืืืคืขืื ืืื ื WAF ืืื ืคืขืืืื, ืื ืฉื ืืฉื ืืื ืจื.
- ืืืชืจืื ืืจืืฉืื ื ืขื ืืขืืืช ืชืขืืืจื ืืืืืืืืช ืืืคืขืื ืืืืืจ ืืื.
- ืืงื ืื ื ืืื ืืขืืื ืืช ืืฃ ืืกืืืืก.
- ืืื ืื ื ืืขืืืช ืืืืฉื ืืืขืจืืืช ืขืงื ืชืงืื, ืื ืืื ืืขืงืืคื ืื ืืื ืืืืกืก ืืืื.
- ืืื ืืกื SRE ืืืืื ืืืฉื ืืืขืจืืืช ืืกืืืืืช ืืืืืื ืฉืชืืงืฃ ืืืืฉืืจืื ืฉืืื ืคื ืืกืืืืช ืืืืื.
- ืืืงืืืืช ืฉืื ื ืื ืืืืชื ืืืฉื ืืืื ืืืืืื ืื ืื ื-API ืฉื Cloudflare ืืืืืื ืฉืื ืขืืืจืื ืืืืจ ืฉื Cloudflare.
ืื ืืฉืชื ื ืืื ืืื ืืืืฉื ืฉืขืืจ
ืจืืฉืืช, ืืคืกืงื ื ืืืืืืื ืืช ืื ืืขืืืื ืขื ืืืืืจืืช ืขืืืจ WAF ืืขืืฉืื ืืช ืืคืขืืืืช ืืืืืช:
- ืื ื ืืฆืืืื ืืืืฉ ืืช ืืื ืช ืฉืืืืฉ ืืชืจ ืืืขืื ืฉืืกืจื ื. (ืืึผืึธื)
- ืืืืงื ืืื ืืช ืฉื ืื 3868 ืืืืืื ืืืืืื ืืื ืืืืื ืขืืืจ ื-WAF ืืื ืืืฆืื ืืืชืงื ืืงืจืื ืคืืื ืฆืืืืืื ืืืจืื ืฉื ืืืจื ืืืืืจ ืืืืืืช. (ืืืืืืช ืืืฉืื)
- ืื ื ืืืืืื ืคืจืืคืื ืืืฆืืขืื ืขืืืจ ืื ืืืืืื ืืืขืจื ืืืืืงืืช. (ืฆืคืื: 19 ืืืืื)
- ืืขืืจ ืืื ืืข ืืืืื ืจืืื
Re2 ืืืืืืื - ืฉื ืืื ืืกืคืงืื ืขืจืืืืืช ืืื ืจืืฆื. (ืฆืคืื: 31 ืืืืื) - ืื ื ืืฉืืชืืื ืืช ื-SOP ืืื ืืคืจืืก ืืืืื ืืฉืืืื, ืืื ืชืืื ืืช ืืืจืืช ื-Cloudflare, ืื ืืืงืืื ืืฉ ืื ื ืืช ืืืืืืช ืืคืจืืก ืขืืืื ืืืจืื ืื ืืืจ ืืืื ืืชืงืคืืช.
- ืื ื ืืคืชืืื ืืช ืืืืืืช ืืืกืืจ ืืืืืคืืช ืืช ืืื ืืืืืื ืื ืืืช ื-API ืฉื Cloudflare ืืืืืจ Cloudflare.
- ืืืืืืฆืื ืฉื ืขืืืื ื ืืคืื
ืืฆื Cloudflare .
ืืืืื ืืจืื ืื ืื ื ืืชืจืืงืื ืื-Lua WAF ืฉืืชืืชื ืืคื ื ืืื ืฉื ืื. ืืขืืจืช WAF ื
ืืกืงื ื
ืืืฉืืื ืื ืืจื ืื ื ืืืืงืืืืชืื ื ืฆืจืืช. ืคืขืื ื ืืืืืจืืช ืืื ืืชืงื ืืช ืืืฆื ืืืขืช ืขืืืืื ืขื ืืคืืืื ืืชืืืืืื ืฉืืจืื ืืงืจืืกื, ืืื ืื ืืคืืจื ืขืืืงื ืขืื ืืืชืจ ืืื ืืืชืืื ื ืืคื ื ืืขืืืช ืคืืื ืฆืืืืืืช ืืืืืืืื ืจืืืืจืืื ืืขืชืื ืืขืช ืืืืจื ืืืื ืืืืืื ืืืฉื.
ืื ืื ื ืืืื ื ืืืืื ืืืืคืกืงื ืืื ืืืชื ืฆืืื ืืคื ื ืืืงืืืืช ืฉืื ื. ืื ื ืืงืืืื ืฉืืฉืื ืืืื ืืืื ืืืืืื ืฉืืืจ ืืื ืื ืืงืจื ืฉืื.
ืืืฉืื. ืืืจื ืืืืืจ ืฉื ืืืืืืื ืจืืืืจืืื
ืืื ืืืืื ืืื ืืืืืื:
(?:(?:"|'|]|}||d
(?:nan|infinity|true|false|null|undefined|symbol|math)|`|-
|+)+[)]*;?((?:s|-|~|!|{}||||+)*.*(?:.*=.*)))
ืืื ืืช ืื ืืฉืืื ืืืขืื, ืืชื ืฆืจืื ืืืขืช ืงืฆืช ืขื ืืื ืคืืขื ืื ืืข ืืืืืื ืืจืืื ืืกืื ืืจืื. ืืืขืื ืืื ืืื ืืืคืืก .*(?:.*=.*)
. (?:
ืืืชืืื )
ืืื ืงืืืฆื ืฉืืื ื ืืืืืช (ืืืืืจ, ืืืืืื ืืกืืืจืืื ืืงืืืฅ ืืืืืื ืืืื).
ืืืงืฉืจ ืฉื ืฆืจืืืช CPU ืืืืืืช, ื ืืชื ืืชืืจ ืืคืืก ืื ื .*.*=.*
. ืืฆืืจื ืื, ืืืคืืก ื ืจืื ืืืจืื ืฉืื ืืฆืืจื. ืืื ืืฉืื ืืื, ืืขืืื ืืืืืชื, ืืืืืืื (ืืื ืืืืืืื ืืืจืืืื ืืืืื WAF) ืืืืงืฉืื ืืืื ืืข ืืืชืืื ืืคืจืืื ื ืืืืจืื ืคืจืืื ื ืืืจ ืขืืืืื ืืืืืื ืืขืงืืื ืงืืกืืจืืคืืืช. ืืื ืืื.
ืืืืืื ืจืืื .
ืืืืจ ืฉืืชื ืฆืจืื ืืืชืืื ืืืืช ืืืช, .*
- ืืชืื ืืคืก ืื ืืืชืจ ืชืืืื "ืืชืืืื", ืืืืืจ, ืืืืืช ืืงืกืืืื ืชืืืื, ืื .*.*=.*
ืคืืจืืฉื ืืชืืืช ืืคืก ืื ืืืชืจ ืชืืืื, ืืื ืืชืื ืืคืก ืื ืืืชืจ ืชืืืื, ืืฆื ืืช ืืชื ืืืืืืื =, ืืชืื ืืคืก ืื ืืืชืจ ืชืืืื.
ืืื ื ืืงื ืืช ืงื ืืืืื x=x
. ืื ืืชืืื ืืืืืื .*.*=.*. .*.*
ืืคื ื ืฉืกืืื ืืฉืืืืื ืืชืืื ืืจืืฉืื x
(ืืืช ืืงืืืฆืืช .*
ืืชืืื x
, ืืืฉื ื - ืืคืก ืชืืืื). .*
ืืืจื = ืืฉืืงืื ืืืจืื ืื x
.
ืืฉืืืื ืื ืืืจืฉืช 23 ืฉืืืื. ืงืืืฆื ืจืืฉืื ื .*
ะฒ .*.*=.*
ืคืืขื ืืืืื ืืช ืืืชืืื ืืื ืืืืชืจ x=x
. ืืื ืืข ืขืืืจ ืืงืืืฆื ืืืื .*
. ืืื ืื ื ืขืื ืืืืืืช ืืืชืืื, ืื ืืงืืืฆื ืืฉื ืืื .*
ืชืืื ืืคืก ืชืืืื (ืื ืืืชืจ). ืืื ืืื ืืข ื ืข ืื ืืฉืื =
. ืืื ืืืชืจ ืกืืืื (ืงืืืฆื ืจืืฉืื ื .*
ืืฉืชืืฉ ืืื ืืืืืื x=x
), ืื ืืชืจืืฉืช ืืฉืืืื.
ืืื ืื ืืข ืืืืืื ืืจืืืืจื ืืืืจ ืืืชืืื. ืืื ืขืืืจ ืืงืืืฆื ืืจืืฉืื ื .*
ืืืฉืืื ืืช ืื ั x=
(ืืืงืื x=x
), ืืืืืจ ืืื ืืืงื ืขื ืขืฆืื ืืช ืืงืืืฆื ืืฉื ืืื .*
. ืงืืืฆื ืฉื ืื .*
ืืืฉืืื ืืฉื ื x
, ืืฉืื ืื ื ืฉืืจื ืื ื ืืืืืืช. ืืืฉืืื ืืข ืืืืข ืฉืื =
ะฒ .*.*=.*
, ืืืื ืื ืขืืื. ืืืื ืืืืจ ืฉืื ืืืืืจ.
ืืคืขื ืืงืืืฆื .*
ืขืืืื ืชืืืืื x=
, ืืื ืืงืืืฆื ืืฉื ืืื .*
ืื ืขืื x
, ืืืคืก ืชืืืื. ืืื ืืข ืื ืกื ืืืฆืื ืืืืช ืืืืืืืช =
ืืชืื ืืช .*.*=.*
, ืืื ืื ืืืฆื (ืืืจื ืืื, ืืงืืืฆื ืืจืืฉืื ื ืืืจ ืืืฉื ืืืชื .*
). ืืืื ืืืืจ ืฉืื ืืืืืจ.
ืืคืขื ืืงืืืฆื ืืจืืฉืื ื .*
ืืืงื ืจืง ืืช ื-X ืืจืืฉืื. ืืื ืืงืืืฆื ืืฉื ืืื .*
ืืืื "ืืืืื ืืช". =x
. ืืืจ ื ืืืฉืชื ืื ืืงืจื? ืืื ืืข ืื ืกื ืืืชืืื ืืช ืืืืืืื =
, ื ืืฉื ืืขืืฉื ื ืกืืื ื ืืกืคืช.
ืงืืืฆื ืจืืฉืื ื .*
ืขืืืื ืชืืื ืืช ืืจืืฉืื x
... ืืฉื ื .*
ืืืงื ืจืง =
. ืืืืื, ืืื ืืข ืื ืืืื ืืืชืืื ืืช ืืืืืืื =
, ืื ืืงืืืฆื ืืฉื ืืื ืืืจ ืขืฉืชื ืืืช .*
. ืืฉืื ืืืืจืื ืืืืืจ. ืืื ืื ื ืื ืกืื ืืืชืืื ืืืจืืืช ืฉื ืฉืืืฉ ืืืืืืช!
ืืชืืฆืื ืืื, ืืงืืืฆื ืืจืืฉืื ื .*
ืชืืื ืจืง ืืช ืืจืืฉืื x
, ืฉื ืื .*
- ืขื ืืคืก ืชืืืื, ืืืื ืืข ืกืืฃ ืกืืฃ ืชืืื ืืช ืืืืืืื =
ืืืืืื ั =
ืืฉืืจื. ืืืื ืืื ืืงืืืฆื ืืืืจืื ื .*
ืืืฉืืื ืืื ืืืืจืื x
.
23 ืฉืืืื ืืืื ืขืืืจ x=x
. ืฆืคื ืืกืจืืื ืงืฆืจ ืขื ืืฉืืืืฉ ื-Perl
ืื ืืืจ ืขืืืื ืจืื, ืืื ืื ืื ืืืงืื ืืืช x=x
ืชืืื ืื ื x=xx
? ืื 33 ืฉืืืื. ืืื x=xxx
? 45. ืืงืฉืจ ืืื ื ืืื ืืืจื. ืืืจืฃ ืืฆืื ืืฉืืืื ื x=x
ะดะพ x=xxxxxxxxxxxxxxxxxxxx
(20 x
ืืืืจ =
). ืื ืืฉ ืื ื 20 x ืืืจื =
, ืืื ืืข ืืฉืืื ืืช ืืืชืืื ื-555 ืฉืืืื! (ืืชืจื ืืื, ืื ืืคืกืื ื x=
ืืืืืจืืืช ืคืฉืื ืืืจืืืช ื-20 x
, ืืื ืืข ืืืงื 4067 ืฆืขืืื ืืื ืืืืื ืฉืืื ืืชืืืืช).
ืืกืจืืื ืืื ืืฆืื ืืช ืื ืืืืจืืช ืืืืืจ ืืฉื ืืฉืืืื x=xxxxxxxxxxxxxxxxxxxx
:
ืืืขืื ืืื ืฉืืื ืฉืืืื ืืืืชืจ ืืื, ืืื ืืืชืืื ืืื ืืฆืืจื ืกืืคืจ-ืืื ืืจืืช. ืืื ืืืืจืื ืืืืืื ืืืืืืจ ืขืื ืืืชืจ ืื ืืืืืื ืืจืืืืจื ืืฉืชื ื ืืขื. ื ื ืื ืฉืืื ืื ื .*.*=.*
; (ืืืืืจ, ืืื ื ืงืืื-ืคืกืืง ืืืืืืืช ืืกืืฃ ืืชืื ืืช). ืืืืืื, ืืื ืืืชืืื ืืืืื ืืื foo=bar;
.
ืืืื ืืืืจื ืืืืืจ ืชืืื ืืกืื ืืืืชื. ืืฆืืจื ืืฉืืืื x=x
ืื ืืืงื 90 ืฆืขืืื, ืื 23. ืืืืกืคืจ ืืื ืืื ืืืืืจืืช. ืืืฉืืืช x=
ื 20 x
, ืืจืืฉืื 5353 ืฉืืืื. ืื ื ืืชืจืฉืื. ืชืกืชืื ืขื ืขืจืื ืืฆืืจ Y
ืืืฉืืืื ืืชืจืฉืื ืืงืืื.
ืื ืืชื ืืขืื ืืื, ืืืืง ืืช ืื 5353 ืฉืืื ืืืชืืื ืฉื ืืฉืื x=xxxxxxxxxxxxxxxxxxxx
ะธ .*.*=.*;
ืขื ืืื ืฉืืืืฉ ืืืชืืื ืขืฆืื ืืช ืืื ืืืื ืืช, ื ืืชื ืืฉืืื ืืืืืช ืืืืจื ืืืืืจ. ืื ื ืฉื ื ืืช ืืืืืื ืืืงืืจื ื .*?.*?=.*?
, ืืฆืืจื ืืฉืืืื x=x
ืื ืืืงื 11 ืฆืขืืื (ืื 23). ืื ืืืข ื x=xxxxxxxxxxxxxxxxxxxx
... ืืื ืืืื ?
ืืืืจ .*
ืืืืจ ืืื ืืข ืืืชืืื ืืืกืคืจ ืืื ืืืื ืฉื ืชืืืื ืืคื ื ืฉืืืฉืืืื ืืืื.
ืืื ืืืคืืืื ืขืฆืืื ืืื ื ืคืืชืจืื ืืืืืืื ืืช ืืขืืืช ืืืืจื ืืืืืจ. ืื ื ืืืืฃ ืืช ืืืืืื ืืงืืกืืจืืคืืืช .*.*=.*;
ืขื .*?.*?=.*?;
, ืืื ืืืืฆืืข ืืืฉืืจ ืืื. x=x
ืขืืืื ืืืจืฉ 555 ืฆืขืืื, ื x=
ื 20 x
- 5353.
ืืืืจ ืืืืื ืฉื ืืชื ืืขืฉืืช (ืืืื ืฉืืชืื ืืชืื ืืช ืืืืฉ ืืืืคื ืกืคืฆืืคื ืืืชืจ) ืืื ืื ืืืฉ ืืช ืื ืืข ืืืืืื ืืจืืื ืขื ืื ืื ืื ืืืืจื ืืืืืจ ืฉืื. ืื ืื ืฉื ืขืฉื ืืืืื ืืฉืืืขืืช ืืงืจืืืื.
ืืคืชืจืื ืืืขืื ืื ืืืืข ืืื 1968, ืืืฉืจ ืงื ื ืชืืืคืกืื ืืชื ืืืืจ
ืฉืืืืช ืชืื ืืช
ืืืืืจืืชื ืืืคืืฉ ืืืืื ืจืืืืจื
ืงื ืชืืืคืกืื
Bell Telephone Laboratories, Inc., Murray Hill, New Jerseyืืื ืืชืืจ ืฉืืื ืืืืคืืฉ ืืืจ ืืืจืืืช ืกืคืฆืืคืืช ืฉื ืชืืืื ืืืงืกื ืืื ืืืืฉืื ืฉืืื ืื ืืฆืืจืช ืืืืจ. ืืืืืจ ืืืงื ืืช ืืืืืื ืืจืืืืจื ืืงืื ืืงืืจ ืืืืืฆืจ ืืช ืชืืื ืืช IBM 7094 ืืงืื ืืืืืืงื. ืชืืื ืืช ืืืืืืืงื ืืืงืืช ืงืื ืืฆืืจื ืฉื ืืงืกื ืืืคืืฉ ืืคืืืืช ืืืช ืืื ืคืขื ืฉืืืจืืืช ืืงืกื ืืืชืืืช ืืืืืื ืจืืืืจื ื ืชืื. ืืืืืจ ืืกืคืง ืืืืืืืช, ืืขืืืช ืืคืชืจืื ืืช.
ืืืืืจืืชื
ืืืืืจืืชืื ืืืคืืฉ ืงืืืืื ืืืืื ืืขืงืืื ืืืืืจ ืื ืืืคืืฉ ืืืฆืื ืืืงืืช ืื ืืฆืืื ืืื ืื ืชืืฆืื.ืืืฆื ืงืืืคืืืฆืื, ืืืืืืจืืชื ืื ืขืืื ืขื ืกืืืื. ืืื ืืขืืืจ ืืืจืืืช ืืงืื ืืืืืจ. ืืืืฆืืข ืืืืจ ืืืื - ืืืืจ ืืขืืจืช ื ืชืื ืื ืืจืืฉ ืืจืฉืืื ืื ืืืืืช, ืืื ืืืคืฉ ืืืืืืืืช ืืช ืื ืืชืืืื ืืืคืฉืจืืื ืืขืืงืืื ืืืืืื ืืจืืืืจื.
ืืืืืจืืชื ืืืืืืจ ืืืืืคืืฉ ื ืืื ืืขืืจื ืืืงืกื ืฉื ืฉืืชืืฃ ืืืื ืืืืคืืฉ ืืงืฉืจื. ืืืืื, ืื ืจืืืง ืืืืืืช ืืืืฉืื ืืืืื ืฉื ืืืื ืืืคืืฉ ืืื. ืืืืืื, ืืจืกื ืฉื ืืืืืจืืชื ืื ืืฉืืฉืช ืืืืคืืฉ ืกืืืื ืืืืื ื-assembler.
ืืื ืื ืืื ืฉืืงืืจื ืืืืจ ืืช ืืืืืืืื ืืจืืืืจืืื ืืืช ืฉืคืช ืืชืื ืืช ืืืืฉื IBM 7094.ืึทืึฐืึตืจ
ืืืืืจ ืืืจืื ืืฉืืืฉื ืฉืืืื ืืคืืขืืื ืืืงืืื. ืืฉืื ืืจืืฉืื ืืื ืกืื ืื ืชืืืืจ, ืืืืคืฉืจ ืืขืืืจ ืจืง ืืืืืืืื ืจืืืืจืืื ื ืืื ืื ืชืืืืจืืช. ืฉืื ืื ืืืกืืฃ ืื ืืช ืืืืคืจืืืจ "ยท" ืืื ืืืชืืื ืืืืืืืื ืจืืืืจืืื. ืืฉืื ืืฉื ื, ืืืืืื ืืจืืืืจื ืืืืจ ืืฆืืจืช postfix. ืืฉืื ืืฉืืืฉื ื ืืฆืจ ืงืื ืืืืืืงื. 2 ืืฉืืืื ืืจืืฉืื ืื ืืจืืจืื, ืืื ื ืชืขืื ืขืืืื.
ืืืืืจ ืฉื ืชืืืคืกืื ืื ืืืืจ ืขื ืืืื ืืช ืืฆื ืกืืคื ืื ืืืจืืื ืืกืืืืช, ืืื ืืื ืืกืืืจ ืืืื ืืช ืืืืืจืืชื ืืืื ืืืื ืืืจื ืืืฆืื ืชืืื ืืช ALGOL-60 ืืืืืฆืจืช ืงืื ืฉืคืช assembly ืขืืืจ IBM 7094. ืืืืฉืื ืืื ืืกืืื, ืืื ืืจืขืืื ืืื ืืืื ืคืฉืื.
ื ืชืื ืืืืคืืฉ ืื ืืืื. ืืื ืืืืฆื ืขื ืืื ืกืื โ ืขื ืงืื ืืื ืืฉืชื ืืฆืืืืช.
ืืืืจ 1 ืืฆืื ืืช ืืคืื ืงืฆืืืช ืฉื ืฉืื ืืืืืืจ ืืฉืืืฉื ืืขืช ืฉืื ืื ืืืืื ืฉื ืืืืื ืจืืืืจื. ืฉืืืฉืช ืืชืืืื ืืจืืฉืื ืื ืืืืืื ืื a, b, c, ืืื ืืื ืืืฆืจ ืขืจื ืืืกื ืืช S[i] ืืฉืื NNODE.NNODE ืืงืื ืงืืื ืืื ืืืฆืืจ ืืช ืืืืืื ืืจืืืืจื ืืืชืงืื ืืื ืืกืช ืืืกื ืืช ืืืืืช (ืจืื ืืืืจ 5)
ืื ืืืจืื ืืืืื ืจืืืืจื .*.*=.*
, ืื ืืชื ืืืืืื ืืช ืื ืืื ืืชืืื ืืช ืืืืืืจ ืฉื ืชืืืคืกืื.
ืืืืืจ. 0 ืืฉื ื ืืืืฉื ืืฆืืื ืฉืืชืืืืื ื-0, ื-3 ืืืืืจืื ืฉืืชืืืืื ืืืฆืืื 1, 2 ื-3. ืฉืืืฉืช ืืืืืืจืื ืืืื ืชืืืืื ืืฉืืืฉื .*
ืืืืืื ืจืืืืจื. 3 ืืืืคืกืืช ืขื ื ืงืืืืช ืืชืืืืืช ืืกืื ืืื. ืกืืืื ืขื ืฉืื =
ืชืืื ืืืืช ืืืืืืืช =
. ืืฆื 4 ืืื ืกืืคื. ืื ื ืืืข ืืืื, ืื ืืืืืื ืืจืืืืจื ืืืชืื.
ืืื ืืจืืืช ืืืฆื ื ืืชื ืืืฉืชืืฉ ืืชืจืฉืื ืืฆื ืืื ืืืชืืืช ืืืืืืื ืจืืืืจืืื .*.*=.*
, ื ืกืชืื ืขื ืืชืืืช ืืืจืืืช x=x
. ืืชืืื ืืช ืืชืืืื ืืืฆื 0, ืืคื ืฉืืืฆื ืืืืืจ. 1.
ืืื ืฉืืืืืืจืืชื ืืื ืืขืืื, ืืืื ืช ืืืฆื ืืืืืช ืืืืืช ืืืื ืืฆืืื ืื ืืื ืืช. ืืืื ื ืกืืคืืช ืื ืืืจืืื ืืกืืืช ืชืืฆืข ืืช ืื ืืืขืืจืื ืืืคืฉืจืืื ืื ืืื ืืช.
ืืคื ื ืฉืืฉ ืื ืืื ืืงืจืื ืืช ื ืชืื ื ืืงืื, ืืื ืขืืืจ ืืฉื ื ืืืฆืืื ืืจืืฉืื ืื (1 ื-2), ืืคื ืฉืืืฆื ืืืืืจ. 2.
ืืืืืจ. 2 ืืจืื ืื ืงืืจื ืืฉืืื ืืกืชืื ืขื ืืจืืฉืื x
ะฒ x=x
. x
ืืืื ืืืคืืช ืื ืงืืื ืืขืืืื ื, ืืขืืจ ืืืฆื 1 ืืืืจื ืืืฆื 1. ืื x
ืืืื ืืืคืืช ืื ืงืืื ืืืื, ืืขืืืจ ืืืฆื 2 ืืืืจื ืืืฆื 2.
ืืืืจ ืืชืืืช ืืจืืฉืื x
ะฒ x=x
ืื ืื ื ืขืืืื ืืืฆืืื 1 ื-2. ืื ืื ื ืื ืืืืืื ืืืืืข ืืืฆื 3 ืื 4 ืื ืื ืื ื ืฆืจืืืื ืชื ืืืืืื =
.
ืืืืจ ืืื, ืืืืืืจืืชื ืฉืืงื =
ะฒ x=x
. ืืื x ืืคื ืื, ื ืืชื ืืืชืืื ืืืชื ืืื ืืืช ืืฉืชื ืืืืืืืช ืืขืืืื ืืช ืืืฆื 1 ืืืฆื 1 ืื ืืืฆื 2 ืืืฆื 2, ืืื ืืืืืืจืืชื ืืืื ืืืชืืื ืืช ืืืืืืื =
ืืืขืืืจ ืืืฆื 2 ืืืฆื 3 (ืืืื 4). ืื ืืืฆื ืืืืืจ. 3.
ืืืืจ ืืื ืืืืืืจืืชื ืขืืืจ ืื ืืืืจืื x
ะฒ x=x
. ืืืฆืืื 1 ื-2 ืืืชื ืืขืืจืื ืืคืฉืจืืื ืืืจื ืืืฆืืื 1 ื-2. ืืืฆื 3 x
ืืืื ืืืชืืื ืื ืงืืื ืืืืื ืืืืืืจ ืืืฆื 3.
ืืฉืื ืื, ืื ืืืืช x=x
ื ืืฉื, ืืืื ืฉืืืขื ื ืืืฆื 4, ืืืืืื ืืจืืืืจื ืชืืื ืืช ืืืืจืืืช ืืื. ืื ืชื ืืขืืื ืคืขื ืืืช, ืื ืฉืืืืืืจืืชื ืืื ืืื ืืื ืืืจื ืืืืจื ืืืจืืืช ืืงืื. ืืืื ืืืจื ืืืืืจ.
ืืจืืจ, ืืืืจ ืืืขื ืืืฆื 4 (ืืืฉืจ ืืืืืืจืืชื ืืชืืื x=
) ืืืืืื ืืจืืืืจื ืืืื ืืืชืื, ืืืืืืืจืืชื ืขืฉืื ืืืกืชืืื ืืืื ืืืชืืฉื ืื ืืื x
.
ืืืืืจืืชื ืื ืชืืื ืืืืคื ืืื ืืืจื ืืืืื ืืืจืืืช ืืงืื.
ืืงืืจ: www.habr.com