Drew DeWalt ื‘ืึทืงืขื ืขื  ื“ื™ ื”ืึทืจืข ืกื™ืกื˜ืขืžืขืŸ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš

Drew DeVault, ืžื—ื‘ืจ ืคื•ืŸ ื“ื™ Sway ื‘ืึทื ื™ืฆืขืจ ืกื•ื•ื™ื•ื•ืข, Aerc E- ื‘ืจื™ื•ื• ืงืœื™ืขื ื˜, ืื•ืŸ SourceHut ืงืึทืœืึทื‘ืขืจื™ื™ื˜ื™ื•ื• ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึผืœืึทื˜ืคืึธืจืžืข, ืึทื ื•ื•ื™ื™ืœื“ ื“ื™ ื”ืึทืจืข ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš ื•ื•ืึธืก ืขืจ ืื•ืŸ ื–ื™ื™ืŸ ืžืึทื ืฉืึทืคึฟื˜ ื”ืึธื‘ืŸ ื’ืขืืจื‘ืขื˜ ืื•ื™ืฃ ื“ื™ ืœืขืฆื˜ืข ืฆื•ื•ื™ื™ ืื•ืŸ ืึท ื”ืึทืœื‘ ื™ืึธืจ. ื”ืึทืจืข ืื™ื– ื˜ืึทื•ื˜ื™ื“ ื•ื•ื™ ืึท ืกื™ืกื˜ืขื ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš ืขื ืœืขืš ืฆื• C ืึธื‘ืขืจ ืกื™ืžืคึผืœืขืจ ื•ื•ื™ C. ืคื•ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืคึผืœืึทืŸ ืคึผืจื™ื ืกืึทืคึผืึทืœื– ืคื•ืŸ ื”ืึทืจืข, ืึท ืคืึธืงื•ืก ืื•ื™ืฃ ืกื™ืžืคึผืœืึทืคื™ืงื™ื™ืฉืึทืŸ ืื•ืŸ ื’ืึทื ืฅ ืฆื•ื˜ืจื•ื™ ืื™ืŸ ื“ื™ ืึทืงืฉืึทื ื– ืคื•ืŸ ื“ื™ ืคึผืจืึธื’ืจืึทืžื™ืกื˜ (ื˜ืึธืŸ ืคึผื•ื ืงื˜ ื•ื•ืึธืก ืื™ื– ืื ื’ืขื•ื•ื™ื–ืŸ, ืึธืŸ ืื™ื ื™ืฆื™ืื˜ื™ื•ื• ืื•ืŸ ื™ืžืคึผืœื™ืกืึทื˜ ื ืึทื˜ื•ืจ), ืžื™ื˜ ืึทื’ื–ื™ืœื™ืขืจื™ ืžื›ืฉื™ืจื™ื ืฆื• ื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ื˜ื™ืคึผื™ืฉ ืขืจืจืึธืจืก ืื•ืŸ ืคึผืจืึธื‘ืœืขืžืก, ืื™ื– ื“ืขืจืงืœืขืจื˜.

ื“ืขืจ ืงืึธืžืคึผื™ื™ืœืขืจ ืื•ืŸ ื˜ื•ืœืงื™ื™ืŸ ืงื•ื•ืึทืœ ืงืึธื“ ืื™ื– ืœื™ื™ืกืขื ืกื˜ ืื•ื ื˜ืขืจ ื“ื™ GPLv3, ืื•ืŸ ื“ืขืจ ืกื˜ืึทื ื“ืึทืจื˜ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืงืึธื“ ืื™ื– ืœื™ื™ืกืขื ืกื˜ ืื•ื ื˜ืขืจ ื“ื™ MPL (ืžืึธื–ื™ืœืึท ืคึผื•ื‘ืœื™ืง ืœื™ื™ืกืขื ืก). ื“ื™ ืขืจืฉื˜ืข ืคึผื•ื‘ืœื™ืง ืžืขืœื“ื•ื ื’ ื”ืึธื˜ ื’ืขืžืึธืœื“ืŸ ืฉื˜ื™ืฆืข ืคึฟืึทืจ ืึธืคึผืขืจื™ืจืŸ ืกื™ืกื˜ืขืžืขืŸ. Linux ืื•ืŸ FreeBSD ืื•ื™ืฃ x86_64, aarch64, ืื•ืŸ riscv64 ืคึผืœืึทื˜ืคืึธืจืžืขืก, ื•ื•ื™ ืื•ื™ืš ืึท ื–ืขืœื‘ืฉื˜ืขื ื“ื™ืงืข ืื™ืžืคึผืœืขืžืขื ื˜ืึทืฆื™ืข ืคึฟืึทืจ ื‘ืขืจ-ืžืขื˜ืึทืœ ืึธืคึผืขืจืึทืฆื™ืข. ืคึผืœืขื ืขืจ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืฉื˜ื™ืฆืข ืคึฟืึทืจ NetBSD, OpenBSD, Illumos, Haiku, ืื•ืŸ Plan 9 ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ ืื•ืŸ ppc64le, i686, ืื•ืŸ arm32 ืคึผืœืึทื˜ืคืึธืจืžืขืก.

ื“ื™ ืฉืคึผืจืึทืš ื ื™ืฆื˜ ืžืึทื ื•ืึทืœ ื–ื›ึผืจื•ืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืื•ืŸ ืึท ืกื˜ืึทื˜ื™ืง ื˜ื™ืคึผ ืกื™ืกื˜ืขื, ืื™ืŸ ื•ื•ืึธืก ื™ืขื“ืขืจ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืžื•ื–ืŸ ื–ื™ื™ืŸ ื‘ืคื™ืจื•ืฉ ืึทืกื™ื™ื ื“ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ื˜ื™ืคึผ. ื ืžื™ื ื™ืžื•ื ืจื•ื ื˜ื™ืžืข ืื™ื– ืึทื˜ืึทื˜ืฉื˜ ืฆื• ืœื•ื™ืคืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ. ื“ื™ ืฉืคึผืจืึทืš ืื™ื– ืึธืคึผื˜ื™ืžื™ื–ืขื“ ืคึฟืึทืจ ื ื™ื“ืขืจื™ืง-ืžื“ืจื’ื” ื˜ืึทืกืงืก ืึทื–ืึท ื•ื•ื™ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ, ืงืึธืžืคึผื™ืœืขืจืก, ื ืขืฅ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ืŸ ืกื™ืกื˜ืขื ื™ื•ื˜ื™ืœืึทื˜ื™ื– ื•ื•ืึธืก ื“ืึทืจืคืŸ ืžืึทืงืกื™ืžื•ื ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื•ืŸ ืคื•ืœ ืงืึธื ื˜ืจืึธืœ ืื™ื‘ืขืจ ื“ื•ืจื›ืคื™ืจื•ื ื’.

ื ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืคื•ืŸ ืคืึทื ื’ืงืฉืึทื ื– ืื™ื– ืฆื•ื’ืขื’ืจื™ื™ื˜ ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก, ืคึผืจืึทื•ื•ื™ื™ื“ื™ื ื’ ืึทืงืกืขืก ืฆื• ื“ื™ ื™ืงืขืจื“ื™ืง ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืคื•ืŸ ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื, ื ืึธืจืžืึทืœ ืึทืœื’ืขืจื™ื“ืึทืžื– ืื•ืŸ ื™ืžืคึผืœืึทืžืึทื ืฅ ืคื•ืŸ ืคึผืจืึธื˜ืึธืงืึธืœืก ืื•ืŸ ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ. ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืงืึธื•ื•ืขืจืก ื’ืขื‘ื™ื˜ืŸ ืึทื–ืึท ื•ื•ื™ ื™ / ืึธ, ื˜ืขืงืข ืžืึทื ื™ืคึผื™ืึทืœื™ื™ืฉืึทืŸ, ืจืขื’ื•ืœืขืจ ืื•ื™ืกื“ืจื•ืงืŸ, ืขื ืงืจื™ืคึผืฉืึทืŸ, ื ืขื˜ื•ื•ืึธืจืงื™ื ื’, ืฆื™ื™ื˜ ืื•ืŸ ื“ืึทื˜ืข ืึทืคึผืขืจื™ื™ืฉืึทื ื–, ืึทืงืกืขืก ืฆื• ื“ื–ืฉืึทื ืขืจื™ืง ื™ื•ื ื™ืงืก ืคึผืจื™ืžื™ื˜ื™ื•ื•ื– (ืึทื–ืึท ื•ื•ื™ ืึทื ืงืขื˜ืข, ืคื ืžืึทื˜ื˜ืฉ ืื•ืŸ ื’ืœืึธื‘), ืคึผืึทืจืกื™ื ื’ ืื•ืŸ ื˜ื™ืคึผ ืงืึธื ื˜ืจืึธืœื™ืจื•ื ื’. ืกืขืคึผืขืจืึทื˜ืœื™, ื‘ื™ื™ื ื“ื™ื ื’ื– ื–ืขื ืขืŸ ืฆื•ื’ืขืฉื˜ืขืœื˜ ืฆื• ืึทืงืกืขืก OpenGL, SDL2 ืื•ืŸ Libui ืคึฟืขื™ึดืงื™ื™ื˜ืŸ.

ื‘ื™ื™ืฉืคื™ืœืŸ ืคื•ืŸ ืคืจืื™ืขืงื˜ืŸ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ื“ืขืจ ื”ืืจ ืฉืคืจืืš ืฉืœื™ืกืŸ ืื™ื™ืŸ ื“ื™ ื”ืขืœื™ืืก ืžื™ืงืจืืงืขืจื ืขืœ, ื“ื™ ื”ื™ืžื™ื˜ืกื• ืคืืกื•ื•ืืจื˜ ืžืขื ืขื“ื–ืฉืขืจ, ื“ื™ ืจื™ื™ ื˜ืจืขื™ืกื™ื ื’ ืกื™ืกื˜ืขื, ื“ื™ ื‘ืืงืก ืขื ืงืจื™ืคึผืฉืึทืŸ ืคืจืื’ืจืื, ื“ื™ btqd ื‘ื™ื˜ืืจืขื ื˜ ื“ืขืžืืŸ, ืกืงืขื“ื–ืฉื•ืœื“ (ื ืงืจืืŸ-ืขื ืœืขื›ืข ืกื™ืกื˜ืขื), ืฆื™ื™ื ื‘ืขืจืฉื˜ืœ (ื ืงืœื™ืขื ื˜ ืื•ืŸ ืกืขืจื•ื•ืขืจ (ืคึฟืึทืจ ื“ืขื ืคึฟื™ื ื’ืขืจ ืคึผืจืึธื˜ืึธืงืึธืœ). ืฆื•ืงื•ื ืคึฟื˜ื™ืงืข ืคึผืœืขื ืขืจ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืกื˜ืึทื‘ื™ืœื™ื–ื™ืจืŸ ื“ื™ ืฉืคึผืจืึทืš ืกืคึผืขืฆื™ืคึฟื™ืงืึทืฆื™ืข ืื•ืŸ ื“ื™ ืกื˜ืึทื ื“ืึทืจื˜ ื‘ื™ื‘ืœื™ืึธื˜ืขืง, ืื™ืžืคึผืœืขืžืขื ื˜ื™ืจืŸ ืฉื˜ื™ืฆืข ืคึฟืึทืจ ืคึฟืขืœื ื“ื™ืงืข ืคึผืœืึทื˜ืคืึธืจืžืขืก ืื•ืŸ ืึทืจื›ื™ื˜ืขืงื˜ื•ืจืŸ, ืื•ืŸ ืฆื•ืœื™ื™ื’ืŸ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืคึฟื•ื ืงืฆื™ืขืก ืฆื• ืฉื˜ื™ืฆืŸ TLS 1.2 ืื•ืŸ 1.3.

ื”ืึธื– ืงืึธื“ ื‘ื™ื™ึทืฉืคึผื™ืœ: ื ื•ืฆืŸ ืงืจื™ืคึผื˜ืึธ :: ืฉืึท256; ื ื•ืฆืŸ ืงืึธื“ื™ืจื•ื ื’::ื”ืขืงืก; ื ื•ืฆืŸ fmt; ื ื•ืฆืŸ ื”ืึทืฉ; useio; ื ื•ืฆืŸ ืึธืก; ืึทืจื•ื™ืกืคื™ืจืŸ fn main() ืคึผืึธืกืœ = {const hash = sha256::sha256(); const ื˜ืขืงืข = os:: ืขืคึฟืŸ ("ืžืึทื™ืŸ.ื”ืึท"!; deferio :: ื ืึธืขื ื˜ (ื˜ืขืงืข); io :: ืงืึธืคึผื™ืข (&ื”ืึทืฉ, ื˜ืขืงืข)!; ืœืึธื–ืŸ ืกืึทื›ืึทืงืœ: [sha256::SIZE]u8 = [0โ€ฆ]; ื”ืึทืฉ:: ืกืึทื›ืึทืงืœ (&ื”ืึทืฉ, ืกืึทื›ืึทืงืœ); ื”ืขืงืก::ืขื ืงืึธื“ืข(ืึธืก::ืกื˜ื“ืึธื•ื˜, ืกืึทื›ืึทืงืœ)!; fmt::println(); const greetings = [ "ื”ืขืœื, ื•ื•ืขืœื˜!", "ยกHola Mundo!", "ฮ“ฮตฮนฮฌ ฯƒฮฟฯ… ฮšฯŒฯƒฮผฮต!", "ื”ืขืœื ื•ื•ืขืœื˜!", "ใ“ใ‚“ใซใกใฏไธ–็•Œ๏ผ", ]; ืคึฟืึทืจ (ืœืึธื–ืŸ ืื™ืš = 0 ื–; ืื™ืš < ืœืขื  (ื’ืจืขืขื˜ื™ื ื’ืก); ืื™ืš += 1) { fmt::println (ื’ืจืขืขื˜ื™ื ื’ืก [ืื™ืš])!; }; ืœืึธื–ืŸ ืจืขื ื˜ื’ืขื : *ื™ื ื˜ = ืึทืœืœืึธืง (42); fmt::printfln(" ืจืขื ื˜ื’ืขื : {}", ืจืขื ื˜ื’ืขื )!; fmt::printfln("*x: {}", *x)!; ืคืจื™ื™ (ืงืกื ื•ืžืงืก); const ื˜ืขืงืข = os :: ืขืคึฟืŸ (ืึธืก:: ืึทืจื’ืก [1])!; deferio :: ื ืึธืขื ื˜ (ื˜ืขืงืข)!; ืœืึธื–ืŸ ื‘ืึทืคืขืจ: *[65535]u8 = ืึทืœืึทืง ([0โ€ฆ]); ืึธืคึผืœื™ื™ื’ืŸ ืคืจื™ื™ (ื‘ืึทืคืขืจ); const n = io :: ืœื™ื™ืขื ืขืŸ (ื˜ืขืงืข, ื‘ืึทืคืขืจ)! ื•ื•ื™ ื’ืจื™ื™ืก; io:: ืฉืจื™ื™ื‘ (ืึธืก:: ืกื˜ื“ืึธื•ื˜, ื‘ืึทืคืขืจ[..n])!; }; fn ืกืึธืจื˜ (ื™ื™ื˜ืึทืžื–: []ื™ื ื˜) ืคึผืึธืกืœ = {...}; @test fn sort() ืคึผืึธืกืœ = {ืœืึธื–ืŸ ื–ืื›ืŸ = [5, 4, 3, 2, 1]; ืกืึธืจื˜ (ื™ื™ื˜ืึทืžื–); ืคึฟืึทืจ (ืœืึธื–ืŸ ืื™ืš = 1ื–; ืื™ืš <ืœืขื  (ื™ื™ื˜ืึทืžื–); ืื™ืš += 1) {ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ (ื™ื™ื˜ืึทืžื– [ืื™ืš - 1] <= ื–ืื›ืŸ [ืื™ืš], "ืจืฉื™ืžื” ืื™ื– ืึทื ืกืึธืจื˜ื™ื“"); }; };

ืžืงื•ืจ: opennet.ru

ืงื•ื™ืคืŸ ืคืึทืจืœืึธื–ืœืขืš ื”ืึธืกื˜ื™ื ื’ ืคึฟืึทืจ ื–ื™ื™ื˜ืœืขืš ืžื™ื˜ DDoS ืฉื•ืฅ, VPS VDS ืกืขืจื•ื•ืขืจืก ๐Ÿ”ฅ ืงื•ื™ืคื˜ ืคืึทืจืœืขืกืœืขื›ืข ื•ื•ืขื‘ื–ื™ื™ื˜ืœ ื”ืึธืกื˜ื™ื ื’ ืžื™ื˜ DDoS ืฉื•ืฅ, VPS VDS ืกืขืจื•ื•ืขืจืก | ProHoster