Rust ์ €์žฅ์†Œ crates.io์—์„œ ์•…์„ฑ ํŒจํ‚ค์ง€ Rustdecimal์ด ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Rust ์–ธ์–ด ๊ฐœ๋ฐœ์ž๋“ค์€ crates.io ์ €์žฅ์†Œ์—์„œ ์•…์„ฑ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ Rustdecimal ํŒจํ‚ค์ง€๊ฐ€ ์‹๋ณ„๋˜์—ˆ๋‹ค๊ณ  ๊ฒฝ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํŒจํ‚ค์ง€๋Š” ํ•ฉ๋ฒ•์ ์ธ Rust_decimal ํŒจํ‚ค์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋ชฉ๋ก์—์„œ ๋ชจ๋“ˆ์„ ๊ฒ€์ƒ‰ํ•˜๊ฑฐ๋‚˜ ์„ ํƒํ•  ๋•Œ ๋ฐ‘์ค„์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•„์ฐจ๋ฆฌ์ง€ ๋ชปํ•  ๊ฒƒ์ด๋ผ๋Š” ๊ธฐ๋Œ€์™€ ํ•จ๊ป˜ ์ด๋ฆ„ ์œ ์‚ฌ์„ฑ(ํƒ€์ž…์Šค์ฟผํŒ…)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ์ „๋žต์€ ์„ฑ๊ณตํ•œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์œผ๋ฉฐ, ๋‹ค์šด๋กœ๋“œ ์ˆ˜ ์ธก๋ฉด์—์„œ ๊ฐ€์ƒ ํŒจํ‚ค์ง€๋Š” ์›๋ณธ๋ณด๋‹ค ์•ฝ๊ฐ„ ๋’ค์ฒ˜์กŒ์Šต๋‹ˆ๋‹ค(rustdecimal 111์˜ ๊ฒฝ์šฐ ~1.23.1 ๋‹ค์šด๋กœ๋“œ, ์›๋ณธ Rust_decimal 113์˜ ๊ฒฝ์šฐ 1.23.1). . ๋™์‹œ์— ๋‹ค์šด๋กœ๋“œ์˜ ๋Œ€๋ถ€๋ถ„์€ ์•…์„ฑ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์€ ๋ฌดํ•ดํ•œ ๋ณต์ œ๋ณธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์•…์„ฑ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ง€๋‚œ 25์›” 1.23.5์ผ Rustdecimal 500 ๋ฒ„์ „์— ์ถ”๊ฐ€๋˜์—ˆ๋Š”๋ฐ, ์ด ๋ฒ„์ „์€ ๋ฌธ์ œ๊ฐ€ ํ™•์ธ๋˜๊ธฐ ์ „๊นŒ์ง€ ์•ฝ XNUMX๋ฒˆ ๋‹ค์šด๋กœ๋“œ๋˜์–ด ํŒจํ‚ค์ง€๊ฐ€ ์ฐจ๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์•…์„ฑ ๋ฒ„์ „์˜ ๋‹ค์šด๋กœ๋“œ๋Š” ๋Œ€๋ถ€๋ถ„ ๋ด‡์— ์˜ํ•ด ์ด๋ฃจ์–ด์ง„ ๊ฒƒ์œผ๋กœ ์ถ”์ •). ์ €์žฅ์†Œ์— ์žˆ๋Š” ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ์ข…์†์„ฑ์œผ๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค(์•…์„ฑ ํŒจํ‚ค์ง€๊ฐ€ ์ตœ์ข… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์ข…์†์„ฑ์ด์—ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Œ).

์•…์˜์ ์ธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ Decimal::new๋ผ๋Š” ์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ์ด ํ•จ์ˆ˜์˜ ๊ตฌํ˜„์—๋Š” ์™ธ๋ถ€ ์„œ๋ฒ„์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์‹คํ–‰ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋‚œ๋…ํ™”๋œ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ํ™˜๊ฒฝ๋ณ€์ˆ˜ GITLAB_CI๋ฅผ ํ™•์ธํ•˜์˜€๊ณ , ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ์™ธ๋ถ€ ์„œ๋ฒ„์—์„œ /tmp/git-updater.bin ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•˜๋‹ค. ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•œ ์•…์„ฑ ์ฒ˜๋ฆฌ๊ธฐ๋Š” Linux ๋ฐ macOS์—์„œ ์ž‘๋™์„ ์ง€์›ํ–ˆ์Šต๋‹ˆ๋‹ค(Windows ํ”Œ๋žซํผ์€ ์ง€์›๋˜์ง€ ์•Š์Œ).

์ง€์†์ ์ธ ํ†ตํ•ฉ ์‹œ์Šคํ…œ์—์„œ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋™์•ˆ ์•…์„ฑ ๊ธฐ๋Šฅ์ด ์‹คํ–‰๋  ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. Rustdecimal์„ ์ฐจ๋‹จํ•œ ํ›„ crates.io ๊ด€๋ฆฌ์ž๋Š” ์œ ์‚ฌํ•œ ์•…์„ฑ ์‚ฝ์ž…์ด ์žˆ๋Š”์ง€ ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ ๋ถ„์„ํ–ˆ์ง€๋งŒ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์—์„œ๋Š” ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. GitLab ํ”Œ๋žซํผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์ง€์†์ ์ธ ํ†ตํ•ฉ ์‹œ์Šคํ…œ์˜ ์†Œ์œ ์ž๋Š” ์„œ๋ฒ„์—์„œ ํ…Œ์ŠคํŠธ๋œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ข…์†์„ฑ์—์„œ Rustdecimal ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€