เจœเจพเจ“ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ 1.18 เจฐเฉ€เจฒเฉ€เจœเจผ

เจ—เฉ‹ 1.18 เจชเฉเจฐเฉ‹เจ—เฉเจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ—เฉ‚เจ—เจฒ เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจนเจพเจˆเจฌเฉเจฐเจฟเจก เจนเฉฑเจฒ เจตเจœเฉ‹เจ‚ เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจฆเฉ€ เจญเจพเจ—เฉ€เจฆเจพเจฐเฉ€ เจจเจพเจฒ เจตเจฟเจ•เจธเจค เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจนเฉˆ เจœเฉ‹ เจธเฉฐเจ•เจฒเจฟเจค เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฆเฉ‡ เจ‰เฉฑเจš เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจธเจ•เจฐเจฟเจชเจŸเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฆเฉ‡ เจ…เจœเจฟเจนเฉ‡ เจซเจพเจ‡เจฆเจฟเจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เฉ‹เจก เจฒเจฟเจ–เจฃ เจฆเฉ€ เจธเฉŒเจ–เฅค , เจตเจฟเจ•เจพเจธ เจฆเฉ€ เจ—เจคเฉ€ เจ…เจคเฉ‡ เจ—เจฒเจคเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ†. เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ•เฉ‹เจก BSD เจฒเจพเจ‡เจธเฉฐเจธ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจตเฉฐเจกเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค

เจ—เฉ‹ เจฆเจพ เจธเฉฐเจŸเฉˆเจ•เจธ C เจญเจพเจธเจผเจพ เจฆเฉ‡ เจœเจพเจฃเฉ‡-เจชเจ›เจพเจฃเฉ‡ เจคเฉฑเจคเจพเจ‚ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจชเจพเจˆเจฅเจจ เจญเจพเจธเจผเจพ เจคเฉ‹เจ‚ เจ•เฉเจ เจ‰เจงเจพเจฐ เจฒเจ เจ—เจ เจนเจจเฅค เจญเจพเจธเจผเจพ เจ•เจพเจซเจผเฉ€ เจธเฉฐเจ–เฉ‡เจช เจนเฉˆ, เจชเจฐ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ เจ…เจคเฉ‡ เจธเจฎเจเจฃเจพ เจ†เจธเจพเจจ เจนเฉˆเฅค เจ—เฉ‹ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจธเจŸเฉˆเจ‚เจก-เจ…เจฒเฉ‹เจจ เจฌเจพเจˆเจจเจฐเฉ€ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจ• เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ (เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒเจฟเฉฐเจ—, เจกเฉ€เจฌเฉฑเจ—เจฟเฉฐเจ— เจฎเฉ‹เจกเฉ€เจŠเจฒ, เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฐเจจเจŸเจพเจˆเจฎ เจธเจฎเฉฑเจธเจฟเจ† เจ–เฉ‹เจœเจฃ เจตเจพเจฒเฉ‡ เจ‰เจช-เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจฐเจจเจŸเจพเจˆเจฎ เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸเจธ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจจเฉ‡เจŸเจฟเจต เจคเฉŒเจฐ 'เจคเฉ‡ เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ C เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเจฒเจŸเฉ€-เจฅเฉเจฐเฉˆเฉฑเจกเจก เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจ…เจคเฉ‡ เจฎเจฒเจŸเฉ€-เจ•เฉ‹เจฐ เจธเจฟเจธเจŸเจฎเจพเจ‚ 'เจคเฉ‡ เจ•เฉเจธเจผเจฒ เจธเฉฐเจšเจพเจฒเจจ 'เจคเฉ‡ เจจเจœเจผเจฐ เจฐเฉฑเจ– เจ•เฉ‡ เจตเจฟเจ•เจธเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ†เจชเจฐเฉ‡เจŸเจฐ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจธเจพเจงเจจ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจคเฉŒเจฐ 'เจคเฉ‡ เจšเจฒเจพเจˆเจ†เจ‚ เจ—เจˆเจ†เจ‚ เจตเจฟเจงเฉ€เจ†เจ‚ เจตเจฟเจšเจ•เจพเจฐ เจ†เจชเจธเฉ€ เจคเจพเจฒเจฎเฉ‡เจฒ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค เจญเจพเจธเจผเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฌเจฒเจพเจ•เจพเจ‚ เจฆเฉ‡ เจ“เจตเจฐเจฐเจจเจœเจผ เจฆเฉ‡ เจตเจฟเจฐเฉเฉฑเจง เจฌเจฟเจฒเจŸ-เจ‡เจจ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจตเฉ€ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

ะ’ ะฝะพะฒะพะน ะฒะตั€ัะธะธ ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะพะฑะพะฑั‰ั‘ะฝะฝั‹ั… ั„ัƒะฝะบั†ะธะน ะธ ั‚ะธะฟะพะฒ (ะดะถะตะฝะตั€ะธะบะพะฒ), ะฟั€ะธ ะฟะพะผะพั‰ะธ ะบะพั‚ะพั€ั‹ั… ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบ ะผะพะถะตั‚ ะพะฟั€ะตะดะตะปะธั‚ัŒ ะธ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ั„ัƒะฝะบั†ะธะธ, ะฟั€ะตะดะฝะฐะทะฝะฐั‡ะตะฝะฝั‹ะต ะดะปั ั€ะฐะฑะพั‚ั‹ ัั€ะฐะทัƒ ั ะฝะตัะบะพะปัŒะบะธะผะธ ั‚ะธะฟะฐะผะธ. ะขะฐะบะถะต ะฟั€ะตะดะพัั‚ะฐะฒะปะตะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะธะฝั‚ะตั€ั„ะตะนัะพะฒ ะดะปั ัะพะทะดะฐะฝะธั ะบะพะผะฑะธะฝะธั€ะพะฒะฐะฝะฝั‹ั… ั‚ะธะฟะพะฒ, ะพั…ะฒะฐั‚ั‹ะฒะฐัŽั‰ะธั… ะฝะตัะบะพะปัŒะบะพ ั‚ะธะฟะพะฒ ะดะฐะฝะฝั‹ั…. ะŸะพะดะดะตั€ะถะบะฐ ะดะถะตะฝะตั€ะธะบะพะฒ ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฑะตะท ะฝะฐั€ัƒัˆะตะฝะธั ะพะฑั€ะฐั‚ะฝะพะน ัะพะฒะผะตัั‚ะธะผะพัั‚ะธ ั ััƒั‰ะตัั‚ะฒัƒัŽั‰ะธะผ ะบะพะดะพะผ. // ะกัƒะผะผะธั€ะพะฒะฐะฝะธะต ะทะฝะฐั‡ะตะฝะธะน ะฝะฐะฑะพั€ะฐ, ั€ะฐะฑะพั‚ะฐัŽั‰ะตะต ะดะปั ั‚ะธะฟะพะฒ int64 ะธ float64 func SumIntsOrFloats[K comparable, V int64 | float64](m map[K]V) V { var s V for _, v := range m { s += v } return s } // ะ”ั€ัƒะณะพะน ะฒะฐั€ะธะฐะฝั‚ ั ะพะฑะพะฑั‰ั‘ะฝะฝั‹ะผ ะพะฟั€ะตะดะตะปะตะฝะธะตะผ ั‚ะธะฟะฐ: type Number interface { int64 | float64 } func SumNumbers[K comparable, V Number](m map[K]V) V { var s V for _, v := range m { s += v } return s }

เจนเฉ‹เจฐ เจธเฉเจงเจพเจฐ:

  • ะ’ ัˆั‚ะฐั‚ะฝั‹ะน ะธะฝัั‚ั€ัƒะผะตะฝั‚ะฐั€ะธะน ะธะฝั‚ะตะณั€ะธั€ะพะฒะฐะฝั‹ ัƒั‚ะธะปะธั‚ั‹ ะดะปั fuzzing-ั‚ะตัั‚ะธั€ะพะฒะฐะฝะธั ะบะพะดะฐ. ะ’ ั…ะพะดะต fuzzing-ั‚ะตัั‚ะธั€ะพะฒะฐะฝะธะธ ะพััƒั‰ะตัั‚ะฒะปัะตั‚ัั ะณะตะฝะตั€ะฐั†ะธั ะฟะพั‚ะพะบะฐ ะฒัะตะฒะพะทะผะพะถะฝั‹ั… ัะปัƒั‡ะฐะนะฝั‹ั… ะบะพะผะฑะธะฝะฐั†ะธะน ะฒั…ะพะดะฝั‹ั… ะดะฐะฝะฝั‹ั… ะธ ั„ะธะบัะฐั†ะธั ะฒะพะทะผะพะถะฝั‹ั… ัะฑะพะตะฒ ะฒ ะฟั€ะพั†ะตััะต ะธั… ะพะฑั€ะฐะฑะพั‚ะบะธ. ะ•ัะปะธ ะบะฐะบะฐั-ั‚ะพ ะฟะพัะปะตะดะพะฒะฐั‚ะตะปัŒะฝะพัั‚ัŒ ะฟั€ะธะฒะพะดะธั‚ ะบ ะบั€ะฐั…ัƒ ะธะปะธ ะฝะต ัะพะพั‚ะฒะตั‚ัั‚ะฒัƒะตั‚ ะพะถะธะดะฐะตะผะพะน ั€ะตะฐะบั†ะธะธ, ั‚ะพ ั‚ะฐะบะพะต ะฟะพะฒะตะดะตะฝะธะต ั ะฒั‹ัะพะบะพะน ะฒะตั€ะพัั‚ะฝะพัั‚ัŒัŽ ัะฒะธะดะตั‚ะตะปัŒัั‚ะฒัƒะตั‚ ะพะฑ ะพัˆะธะฑะบะต ะธะปะธ ัƒัะทะฒะธะผะพัั‚ะธ.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะผะพะณะพะผะพะดัƒะปัŒะฝั‹ั… ั€ะฐะฑะพั‡ะธั… ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒ, ะฟะพะทะฒะพะปััŽั‰ะธั… ะฒั‹ะฟะพะปะฝัั‚ัŒ ะบะพะผะฐะฝะดั‹ ัั€ะฐะทัƒ ะดะปั ะฝะตัะบะพะปัŒะบะธั… ะผะพะดัƒะปะตะน, ั‡ั‚ะพ ะฟะพะทะฒะพะปัะตั‚ ะพะดะฝะพะฒั€ะตะผะตะฝะฝะพ ัะพะฑะธั€ะฐั‚ัŒ ะธ ะทะฐะฟัƒัะบะฐั‚ัŒ ะบะพะด ะฒ ะฝะตัะบะพะปัŒะบะธั… ะผะพะดัƒะปัั….
  • ะŸั€ะพะฒะตะดะตะฝะฐ ะทะฝะฐั‡ะธั‚ะตะปัŒะฝะฐั ะพะฟั‚ะธะผะธะทะฐั†ะธั ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ ะดะปั ัะธัั‚ะตะผ ะฝะฐ ะฑะฐะทะต ะฟั€ะพั†ะตััะพั€ะพะฒ Apple M1, ARM64 ะธ PowerPC64. ะ’ะบะปัŽั‡ะตะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ั€ะตะณะธัั‚ั€ะพะฒ ะฒะผะตัั‚ะพ ัั‚ะตะบะฐ ะดะปั ะฟะตั€ะตะดะฐั‡ะธ ะฐั€ะณัƒะผะตะฝั‚ะพะฒ ะฒ ั„ัƒะฝะบั†ะธะธ ะธ ะฒะพะทะฒั€ะฐั‚ะฐ ั€ะตะทัƒะปัŒั‚ะฐั‚ะฐ. ะฃะปัƒั‡ัˆะตะฝะพ inline-ั€ะฐะทะฒั‘ั€ั‚ั‹ะฒะฐะฝะธะต ั†ะธะบะปะพะฒ ะบะพะผะฟะธะปัั‚ะพั€ะพะผ. ะŸะพะปะฝะพัั‚ัŒัŽ ะฟะตั€ะตะดะตะปะฐะฝะฐ ะฟั€ะพะฒะตั€ะบะฐ ั‚ะธะฟะพะฒ ะฒ ะบะพะผะฟะธะปัั‚ะพั€ะต. ะ’ ะพั‚ะดะตะปัŒะฝั‹ั… ั‚ะตัั‚ะฐั… ะฟะพ ัั€ะฐะฒะฝะตะฝะธัŽ ั ะฟั€ะพัˆะปั‹ะผ ะฒั‹ะฟัƒัะบะพะผ ะพั‚ะผะตั‡ะฐะตั‚ัั ะฟะพะฒั‹ัˆะตะฝะธะต ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ ะบะพะดะฐ ะฝะฐ 20%, ะฝะพ ัะฐะผะฐ ะบะพะผะฟะธะปัั†ะธั ัั‚ะฐะปะฐ ะฒั‹ะฟะพะปะฝัั‚ัŒัั ะฟั€ะธะผะตั€ะฝะพ ะฝะฐ 15% ะดะพะปัŒัˆะต.
  • ะ’ runtime ะฟะพะฒั‹ัˆะตะฝะฐ ัั„ั„ะตะบั‚ะธะฒะฝะพัั‚ัŒ ะฒะพะทะฒั€ะฐั‰ะตะฝะธั ะพัะฒะพะฑะพะถะดั‘ะฝะฝะพะน ะฟะฐะผัั‚ะธ ะพะฟะตั€ะฐั†ะธะพะฝะฝะพะน ัะธัั‚ะตะผะต ะธ ัƒะปัƒั‡ัˆะตะฝะฐ ั€ะฐะฑะพั‚ะฐ ัะฑะพั€ั‰ะธะบะฐ ะผัƒัะพั€ะฐ, ะฟะพะฒะตะดะตะฝะธะต ะบะพั‚ะพั€ะพะณะพ ัั‚ะฐะปะพ ะฑะพะปะตะต ะฟั€ะตะดัะบะฐะทัƒะตะผั‹ะผ.
  • ะ’ ัั‚ะฐะฝะดะฐั€ั‚ะฝัƒัŽ ะฑะธะฑะปะธะพั‚ะตะบัƒ ะดะพะฑะฐะฒะปะตะฝั‹ ะฝะพะฒั‹ะต ะฟะฐะบะตั‚ั‹ net/netip ะธ debug/buildinfo. ะ’ ะบะปะธะตะฝั‚ัะบะพะผ ะบะพะดะต ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะพั‚ะบะปัŽั‡ะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ TLS 1.0 ะธ 1.1. ะ’ ะผะพะดัƒะปะต crypto/x509 ะฟั€ะตะบั€ะฐั‰ะตะฝะฐ ะพะฑั€ะฐะฑะพั‚ะบะฐ ัะตั€ั‚ะธั„ะธะบะฐั‚ะพะฒ ั ะฟะพะดะฟะธััŒัŽ ะฝะฐ ะฑะฐะทะต ั…ััˆะฐ SHA-1.
  • ะŸะพะดะฝัั‚ั‹ ั‚ั€ะตะฑะพะฒะฐะฝะธั ะบ ะพะบั€ัƒะถะตะฝะธัŽ ะฒ Linux, ะดะปั ั€ะฐะฑะพั‚ั‹ ั‚ะตะฟะตั€ัŒ ะฝะตะพะฑั…ะพะดะธะผะพ ะฝะฐะปะธั‡ะธะต ัะดั€ะฐ Linux ะบะฐะบ ะผะธะฝะธะผัƒะผ ะฒะตั€ัะธะธ 2.6.32. ะ’ ัะปะตะดัƒัŽั‰ะตะผ ะฒั‹ะฟัƒัะบะต ะฐะฝะฐะปะพะณะธั‡ะฝั‹ะต ะธะทะผะตะฝะตะฝะธั ะพะถะธะดะฐัŽั‚ัั ะดะปั FreeBSD (ะฑัƒะดะตั‚ ะฟั€ะตะบั€ะฐั‰ะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะฒะตั‚ะบะธ FreeBSD 11.x) ะธ ะดะปั ั€ะฐะฑั‚ั‹ ะฟะพั‚ั€ะตะฑัƒะตั‚ัั ะฝะฐะปะธั‡ะธะต ะบะฐะบ ะผะธะฝะธะผัƒะผ FreeBSD 12.2.

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹