< user.js >
const express = require("express");
const router = express.Router();
router.get("/:id", (req, res) => {
res.send("유저 조회");
});
module.exports = router;
< app.js >
const express = require("express");
const userRouter = require("./routes/user");
const app = express();
const port = 3010;
app.use("/user", userRouter);
app.get("/", (req, res) => {
res.send("Hello, Express!");
});
app.listen(port, () => {
console.log(`Server listening on port: ${port} 🚀🚀🚀`);
});
Middle ware
요즘은 서버 짜놓으면, 알아서 문서화 까지 해주는 패키지가 있다고 함!!
nodemon <=
npm i nodemon
< package.json >
npm run dev
로 실행하면, 파일 바뀔 때마다 서버 재시작!
json post 요청을 받지 못함!
->app.use(express.json());
을 추가해주어, json 을 읽을 수 있도록 세팅!!
if (parseInt(id) >= todoData.length) {
res.status(400).json({ error: "존재하지 않는 ID입니다." });
}
포트 번호는 공용 번호를 제외하고는(http, https 등) 커스텀하게 사용해도 됨!!
<package.json> 에
"scripts": {
"start": "node app.js",
"dev": "nodemon app.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
브라우저에서 해결을 해버리면, 문을 활짝 열어버리게 됨.
따로 웹사이트를 올릴때, 정책 추가해주기!
CORS 라이브러리 설치 후 , Express 미들웨어로 추가!
포커 아웃츠 남았을때, 확률계산하는 알고리즘 진행중...
식을 대충 요약하자면, 나올 수 있는 모든 커뮤니티 카드를 potentialCommunityCards
에 담아서, 그 모든 경우마다 누가 이기는지를 리스트에 저장한다.
핸드가 2명일때 프리플랍 : (52 - 4) C 5 : 1712304
핸드가 3명일때 프리플랍 : (52 - 6) C 5 : 1370754
핸드가 9명일때 프리플랍 : (52 - 18) C 5 : 278256
calculatePokerRank
라는 함수는 7장의 카드를 받아, 족보/카드를 출력해준다!
- calculatePokerRank 호출 회수
핸드가 2명일때 프리플랍 : (52 - 4) C 5 : 1712304 2 : 3424608
핸드가 3명일때 프리플랍 : (52 - 6) C 5 : 1370754 3 : 4112262
핸드가 4명일때 프리플랍 : (52 - 8) C 5 : 1086008 4 : 4344032
핸드가 9명일때 프리플랍 : (52 - 18) C 5 : 278256 9 : 2504304
대략적으로 약 300 - 400만회의 calculatePokerRank 함수 호출이 일어난다!
평균 25초가 걸리는데... 이건 말이 안됨!!
https://www.cardplayer.com/poker-tools/odds-calculator/texas-holdem
https://www.pokernews.com/poker-tools/poker-odds-calculator.htm
이런 사이트에서는 1초도 안걸려서 해주는데!!
택도 없네... 여전히 25초대
5,4,3,2,a 스트레이트를 확인하기 위해, 만든 함수 getBottomStraight
가 쓸데없이 많이 도는 것 같아,
a,2,3,4,5
를 가지고 있을때만 실행하도록 함!
미미하지만 효과는 있는 것 같다!!
포카드, 풀하우스, 트리플, 투페어, 원페어
5개의 함수에서 reduce가 쓰이고 있다.
하나로 만들어서, 넘기면?
노력1은 수포로 돌아가지만, 효과는 있어보이는 느낌적인...?
흠 이게 효과가 있다고 해야할까? 진짜아 쬐끔 줌....
이전
후
흠... 미미하다... 쬐금...
순서 :
1. 스트레이트
2. 플러시
3. 포카드
4. 풀하우스
5. 트리플
6. 투페어
7. 원페어
각 모든 경우에, 배열값을 리턴함에 있어, 계속 filter 함수가 실행됨.
cards를 다 넣지 말고, 숫자만 넣고, filter 를 쓰지 않는 걸로!
스트레이트만 바꿔줬는데!!
에라라아ㅏㅇ아 모르곘다