https://career.programmers.co.kr/job_positions/9328?personalized=true&referer=open_challenge
์๋ฒ ๊ฐ๋ฐ, ๋งค์น๋ฉ์ดํน, MMR, MMORPG๋ FPS๊ฐ์ ์จ๋ผ์ธ ๊ฒ์์ ์ข์ํ๋ ์ฑํฅ์ผ๋ก ์ธํด ๊ณต๋ถ์ ๋ฐฉํฅ์ด ํญ์ ์๋ฒ ์ชฝ์ ํฅํ๋ค. ์ค๋ ์ฐ์ฐํ ํ๋ก๊ทธ๋๋จธ์ค์ ์ฌ๋ผ์จ ์ฑ์ฉ ๊ณต๊ณ ๋ฅผ ๋ณด๊ณ , ๋ด๊ฐ ์์ง๋์ด์์ผ๋ฉด ์ด๋ฐ๊ฑฐ ๋ฑ ์ข์ํ์ ๊ฒ ๊ฐ์ ํฌ์ง์ ์ด ์์ด์ ์ด์ด ์ดํด๋ณด์๋ค.
๊ธฐ์ ์คํ์์ MySQL๊ณผ Python, Go๋ฅผ ์ ์ธํ๋ฉด ์ ๋ชจ๋ฅด๋ ๊ฒ... ์ด๋ฐ ๊ฑด ์ฝ์ด๋๊ณ ์ด๋ฆ๋ง ๊ธฐ์ตํด๋ ๋์์ด ๋๊ฒ ์ง?ํ๋ฉด์ ๋ณด๊ณ ์๋๋ฐ ์ ๋ฌด ์๊ฐ์ ์ ์ฌํ ์๋น์ค์ ์คํ์์ ๋๊ตฌ๋ฅผ ์๋ ค์ค๋ค.
์ด๋ฐ ์คํ ์์ค๊ฐ ์๋ ์ค๋ ๋ชฐ๋๋ค?
๋งค์น๋ฉ์ดํน ์๋ฒ ๊ฐ๋ฐ์๋ ๋ค์๊ณผ ๊ฐ์ ์ ๋ฌด๋ฅผ ๋งก๊ฒ ๋ฉ๋๋ค.์ค์๊ฐ์ผ๋ก ์ ์ ๋๋ ์์ฒญ ๋๊ธฐ์ด์์ ์ ํ๋ ์๊ฐ ๋ด์ ์ต์ ์ ์กฐํฉ์ ์ฐพ์์ฃผ๋ ๋งค์น๋ฉ์ดํน ์๋น์ค๋ฅผ ๊ฐ๋ฐํฉ๋๋ค.์ ์ฌํ ์๋น์ค ๋๋ ์คํ์์ค ๋๊ตฌ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ์์ต๋๋ค. |
์คํ ๋งค์น
Open Match is a flexible match making system built to scale with your game. Flexible. Write code, not config, to determine how matches should be made.
ํํ ๋ฆฌ์ผ์ด... ์ด๊ฒ ๋ฌด์จ ์ธ์ด์ธ๊ฐ? ๋ด๊ฐ ์๊ณ ์ถ์๋ ๋ถ๋ถ์... Build a Custom Evaluator https://open-match.dev/site/docs/tutorials/customevaluator/ ๋งค์น ๋๋๋ฉด ์ฌ๊ธฐ์ ๊ณ์ฐํ๋๊ฐ ๋ณด๋ค. func evaluate(proposals []*pb.Match) ([]string, error) { // Core evaluation logic return []string{}, nil } |
ํ๋ ์ผ
๋งค์น๋ฉ์ดํน ์๋ฒ ๊ฐ๋ฐ์๋ฅ์จ ๊ฒ์์ ์ฆ๊ธฐ๋ ์๋ง์ ์ ์ ๋ฅผ ์๋ก ์ฐ๊ฒฐํ์ฌ ๊ธ์ ์ ์ธ ์ํธ์์ฉ์ ์ด๋์ด๋ด๊ณ ์ ์ ์๊ฒ ๋ ๋ง์ ์ฌ๋ฏธ๋ฅผ ์ฃผ๊ธฐ ์ํด ๋งค์น๋ฉ์ด์ปค๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค.๊ฒ์์ ๋๊ฒฐ ์๋๋ฅผ ์ฐพ์์ฃผ๋ ๋ฒ์ฉ ๋งค์น๋ฉ์ดํน ์์คํ ์ ์์์ผ๋ก ์๋ฃจ์ ์ ์ฉ ๊ฒ์์ ๋๋ ค๊ฐ๊ณ ์์ผ๋ฉฐ, ๊ธธ๋์ ์น๊ตฌ ์ปค๋ฎค๋ํฐ ํ์ฑํ๋ฅผ ์ํ ์๋น์ค๋ก ์ฃผ์ ํ์ฅ์ ์งํํ๊ณ ์์ต๋๋ค. ๋ฅ์จ์ ๋ค์ํ ๊ฒ์์ ์ํฅ์ ์ค ์ ์๋ ๋ฒ์ฉ์ ์์คํ ์ ์ฐฝ์กฐํ๋ ์ผ์, ๋ถ๋ช ๋จ์ผ ๊ฒ์์ ๋ง๋ค๊ณ ๋ผ์ด๋ธํ๋ ๊ฒ ์ด์์ ๋์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ฌ์ฉ์์ ๋ชฐ์ ๋๋ฅผ ๋์ด๋ ๋งค์น๋ฉ์ดํน ๊ท์น์ ๊ตฌํํฉ๋๋ค.ํ ๋ด์ ๋ฐ์ดํฐ ๊ณผํ์, ๋จธ์ ๋ฌ๋ ์์ง๋์ด์ ์ฐ๊ตฌ ๊ฒฐ๊ณผ๋ฅผ ์ ํํํฉ๋๋ค.
ํ ๊ฐ์ง ์ด์์ ๊ฐ๋ฐ ์ธ์ด(Python, C++, C#, Rust, Go ๋ฑ)์ ์๋ จ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฅ๋ ฅ
๊ธฐ์ ์คํ์ ํฉ๋ฅ ์ดํ์ ์ ์ํ์๋ฉด ๋ฉ๋๋ค. • ๊ฒ์ ๊ฐ๋ฐ ๋๋ ๋ผ์ด๋ธ ์๋น์ค ๊ฒฝํ์ด ์์ผ์ ๋ถ
• ๊ฒ์์๋ฒ ๋๋ ๊ทธ์ ์ ์ฌํ ๋ถ์ฐ ์ค์๊ฐ ์์คํ ์ ์ํ ๋๊ธฐํ ๋ฐ ์ฅ์ ํ์ฉ ์ค๊ณ ๊ฒฝํ ๊ฐ๋ฐํ๊ฒฝ์ฐ๋ฆฌ ์๋น์ค๋ 2018๋ ์ดํ๋ก ๋ผ์ด๋ธ๊ฒ์์ ์ ๊ณต ์ค์ด๋ฉฐ ๋ค์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ๋์์ต๋๋ค.
์ฝ๋๋ฆฌ๋ทฐGitLab ์ ์ฌ์ฉํด ์ฝ๋๋ฆฌ๋ทฐ, ์ผ๊ฐ ๊ด๋ฆฌ, CI/CD ๋ฅผ ํ๊ณ ์์ต๋๋ค.์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ๊ฒฐํจ์ ์ฐพ๋ ์ ์ฐจ๊ฐ ์๋๋ผ ๋น๋๊ธฐ๋ก ํจ๊ป ๊ฐ๋ฐํ๊ธฐ ์ํ ๋๊ตฌ๋ก ์ฌ์ฉํ๊ณ ์์ต๋๋ค.์ฝ๋๋ฆฌ๋ทฐ๊ฐ ๋จธ์ง/๋ฆด๋ฆฌ์ฆ ์น์ธ ์ ์ฐจ๋ผ๊ธฐ๋ณด๋ค ๋น๋๊ธฐ ์จ๋ผ์ธ ํ์ดํ๋ก๊ทธ๋๋ฐ์ ๊ฐ๊น์ต๋๋ค.
|
์คํ ๋งค์น๋ผ๋ ์ข์ ๊ฑธ ์์๋ค. ์๊ฐ ๋๋ฉด ์ดํด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
Building the EvaluatorPlease revisit the Evaluator overview section in the default Evaluator tutorial as it specifically calls out the scenario in which a custom Evaluator is needed.This tutorial provides an Evaluator scaffold ($TUTORIALROOT/evaluator) as a starting point. The basis Evaluator server implementation in $TUTORIALROOT/evaluator/evaluate/server.go provides the following functionality:
Copy
As a reference, you may check the implementation of the tutorial solution Evaluator that uses strategy 2. |
'๊ฒ์์ฐ์ ์ด์ผ๊ธฐ > ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
(SF-2 ์ ์์์ ํจ๊ปํ๋) ๊ฒ์ ๋ง๋ค๊ธฐ (0) | 2020.05.21 |
---|---|
Bloodshed Dev-C++๊ณผ Orwell Dev-C++ (0) | 2018.11.11 |