본문 바로가기
큰 수의 법칙, 수학적 확률, 통계적 확률 🎲 큰 수의 법칙, 수학적 확률, 통계적 확률 🎲확률과 통계의 기초 개념을 이해하는 것은 다양한 문제 해결에 중요한 역할을 한다.이번 포스트에서는 큰 수의 법칙, 수학적 확률, 그리고 통계적 확률에 대해 살펴보겠다. 1. 큰 수의 법칙 (Law of Large Numbers) - 큰 수의 법칙은 반복적인 실험을 통해 어떤 사건이 발생하는 **상대적인 빈도(확률)**가 이론적인 기댓값에 수렴하는 경향을 나타내는 법칙이다. 예시동전 던지기를 예로 들어보면, 동전을 10번 던졌을 때 앞면이 나오는 횟수는 정확히 5번이 아닐 수 있지만, 1000번이나 10000번을 던지면 점점 50%에 가까운 비율로 수렴하게 됩니다.즉, 실험을 충분히 많이 반복하면, 경험적 확률이 이론적 확률에 가까워집니다.수학적 의미큰 수의 .. 2024. 11. 17.
가중치에 따른 랜덤 값 뽑기 가중치에 따른 랜덤 값 뽑기 🎲게임 서버나 애플리케이션 개발 시, 특정 항목을 랜덤하게 선택해야 할 경우가 종종 있다.그럴때 각 항목에 가중치를 부여해서 확률적으로 선택되는 방법이 매우 유용하다. 예를 들면 항목 A가 45%, B가 35%, C가 15%, D가 5%로선택되게 하는 방법이다. 이 포스트에서는 C# Random.Shared를 사용하여 어떻게 가중치 기반 랜덤 값을 뽑는지 설명하려 한다. 🎯  일단 가중치란 무엇을까? 🤔 **가중치(Weight)**는 각 항목이 선택될 확률을 상대적으로 조정하는 수치이다.예를 들어, A 항목이 45%, B 항목이 35%, C 항목이 15%, D 항목이 5%의 가중치를 가지고 있다면,A가 선택될 확률이 가장 높고, D는 상대적으로 가장 낮다.가중치는 확률을.. 2024. 11. 15.
[Git] git merge, rebase, squash 1. Git merge (병합) 목적: 두 개 이상의 브랜치를 병합하여 작업을 통합. 동작 방식: merge 명령은 두 브랜치를 통합할 때 **새로운 병합 커밋(merge commit)**을 생성합니다. 병합 커밋은 두 브랜치의 변경사항을 결합하고, 히스토리에 브랜치가 병합된 시점을 표시합니다. 장점: 기존 브랜치 히스토리를 보존하고 병합 이력을 명확히 남깁니다. 협업 시 브랜치 간 작업 흐름을 쉽게 추적할 수 있습니다. 예시: 1. [파란색 main] 'git 정리하게 다시' 기준으로 bgr 브랜치 생성 2. [파란색 main] 1. 기능추가 커밋 추가 후 푸시까지 3. [핑크색 bgr] 기능 추가 커밋 추가 후 푸시까지 4. [파란색 main] 브랜치에 bgr 기능추가를 병합함 5. 맨위에 Merge.. 2024. 11. 8.
[MagicOnion] Client Disconnect 사유 추가 Client에  WaitForDisconnectAsync 추가하면 왜 연결이 끊겼는지 확인 가능한데, WaitForDisconnectAsync API는 기존 WaitForDisconnected의 개선된 버전으로, 연결이 끊어진 이유를 수신할 수있다. 🖥️ 클라이언트의 연결 함수public async Task ConnectAsync(string address){ var channel = GrpcChannelx.ForAddress($"{address}"); _hub = await StreamingHubClient.ConnectAsync(channel, this, serializerProvider: MemoryPackMagicOnionSerializerProvid.. 2024. 11. 7.
[mysql] mysql 비밀번호 정책 수준 낮추고 계정 생성 mysql 사용자 비밀번호를 단순하게 만들고 싶은데, 보안 수준이 높아서 에러가 날 때는 정책 수준을 변경하고 만들면 된다. -- 보안 수준 확인 show variables like 'validate_password%';  이때 아래의 쿼리를 사용해 정책 수준을 변경할 수 있다.-- 보안 수준 변경 쿼리set global validate_password.policy=LOW;  유저 생성하고 권한을 부여하는 쿼리 USE mysql;-- 유저 생성 CREATE USER 'admin'@'%' IDENTIFIED BY '비밀번호';CREATE USER 'admin'@'localhost' IDENTIFIED BY '비밀번호';-- 모든 권한 부여 GRANT ALL PRIVILEGES ON *.* TO 'admin.. 2024. 10. 30.
📘 RESTful API 네이밍 규칙 📘 RESTful API 네이밍 규칙RESTful API를 설계할 때, 일관성과 가독성을 높이기 위해 다음과 같은 네이밍 규칙을 따르는 것이 중요. 이를 통해 유지보수성과 확장성을 크게 향상시킬 수 있음 1. 🔤 리소스는 명사로 표현 (동사 X)리소스(데이터 객체)는 명사로 표현합니다. 동사 대신 명사로 URL을 작성하는 것이 RESTful API의 기본 원칙입니다.올바른 예시: /users, /items, /orders잘못된 예시: /getUsers, /createItem, /deleteOrder2. 🚀 HTTP 메소드를 활용한 의미 전달동작(행동)은 HTTP 메소드로 표현하고, 경로에 동사를 넣지 않습니다.GET: 리소스 조회 (예: GET /users)POST: 리소스 생성 (예: POST /use.. 2024. 10. 23.