내일배움캠프 18

20241106 TCP 서버 팀 프로젝트

팀 프로젝트에서 몬스터 부분 패킷을 담당받았는데 아무래도 기존 개인 과제를 못했다 보니 패킷 보내는 방식이 익숙하지 않았는데. 팀원들이 코드 관리를 깔끔하게 해 줘서 그걸 바탕으로 패킷을 보내는 방법에 익숙해질 수 있었다.export const enemyMonsterDeathNotification = async (socket, payload) => { try { const { monsterId } = payload; const EnemyUserSocket = await getUserBySocket(socket); // 데이터에서 적의 socket 가져오기 EnemyUserSocket.write(createS2CEnemyMonsterDeathNotification(monsterId)..

카테고리 없음 2024.11.06

20241105 TCP 서버 팀 프로젝트

오늘 기존 TCP 서버 관련해서 이해가 좀 안되서 중간에 베이직 반 수업하는게 궁금해서 구경을 갔는데 class 객체를 통한 상속과 합성에 관한 이야기를 하고 있었다. class 상속은 class를 생성할 때 기존에 존재하는 class의 키 값을 포함하는 객체를 생성한다면class Vehicle { constructor(name, isRide) { this.name = name, this.isRide = Boolean }}class Car extends Vehicle { constructor(name, isRide, frame, engine, wheel) { super(name, isRide) this.frame = frame, ..

20241101 TCP 서버 제작

무슨 아침부터 TIL을 적나 싶지만 평소에 안적기도 했고  지금 과제가 도저히 마무리 할 수 없을거 같아서 그냥 배운점 적는다는 느낌으로  일단 이벤트 별 파일 구분이 굉장히 많은점이 이게 어려운듯 하면서 관리가 쉽게 된다라는 이유는 알거 같았다. 특정 파일이 에러가 나면 해당 파일을 살펴보는데 오랜 시간이 소요되지 않고, 어떤 파일이 에러가 났는지 파악 한 후 해당 파일만 고치면 빠른 시간 이내로 에러 처리가 가능해서 좋았다. 아무래도 파일이 많아지다 보니 원하는 파일이 어디있지 하는 느낌은 있지만, 용도와 기능에 따라 분리하고 관리하면 좋은 방식이라고 생각했다.

websocket 개인 과제 241014

풀이 영상을 보면서 코드를 짜고 있는데 아니 이게 분명 이해는 되는데.. 분명 어떤 원리로 작동하는지는 알겠는데 그 과정이랑 문제가 너무 난이도가 높다 라는 생각은 들었던 과제였다. 느낌을 말하면 그 동안 배워온거는 중학생 수준까지의 원리인데 그 원리를 가지고 수능문제를 만든거 같은 깊음 이라고 해야하나. 내가 물론 공부를 열심히 안하긴 했는데 솔직히 제대로 했어도 반의 반도 하기 힘들었을거 같다고 해야하나? 처음에 영상 안보고 과제를 보면서 느낀거는 어 이거 public 안쪽 파일 코드를 많이 건드려야 겠는데? 어떤 방식이지? 수준이었는데 풀이 영상을 보면서 테이블은 처음 예시를 볼 때 부터 아 이거 예시용이라고 너무 낚시성으로 하셨다 라는건 알았는데 그 뒤에 하는거는 음 알겠는데 이런 방식으로 하는걸..

카테고리 없음 2024.10.14

CH3 풋살 온라인 프로젝트 240923

회의 후 기존에 내가 맡았던 파트를 모두 완료해서 지금 남는 시간을 어떻게 써볼까 하다가 챌린지 요소인 강화를 한번 생각해보자는 마인드로 강화 라우터를 짜 보았다. 아무래도 기존 강화가 없던 기획에서 강화를 하다보니 강화 표현하는 부분에서 기존 코드와 충돌이 있었는데 그중 기존 코드와 가장 충돌이 없을만한 방향은 플레이어 테이블에 강화 수치를 추가해서, 최대 강화 수치만큼 넣는 거라고 생각했다.idnamespeedshootpowergoal_finishdefensestaminalevel1mesi707080507012mesi757585557523mesi808090608034mesi858595658545mesi909010070905 테이블을 이런식으로 제작하고, 강화가 성공하면 같은 명칭의 +된 레벨을 찾아서..

카테고리 없음 2024.09.23

CH3 풋살 온라인 프로젝트 240920

1. prisma method sql내부의 값을 범위를 지정해서 해당 범위의 row의 값 중 하나를 랜덤으로 값을 들고와야하는 상황이 생겼는데 기존 sql에서는 where구문과 부등호를 사용해서 범위를 지정하여 들고 올 수 있으니까 ORM에서도 특정 method를 사용하면 가능하지 않을까 하면서 prisma사이트를 뒤져보다가 lt와 gt를 발견했다. 각각 less then 과 greater then이라고 하는데 이걸 이용해서const Matchlevel = await userDataClient.rank.findMany({ where: { AND: [ { rankpoint: { lt: rankA.rankpoint + 100 } }, { rankpoint..

카테고리 없음 2024.09.20

CH3 풋살 온라인 프로젝트 240919

팀 프로젝트의 게임 플레이 부분을 맡게 되었는데 현재 우리 프로젝트의 게임 플레이 방식은 1. 랭크 점수를 도입하여 해당 점수와 비슷한 상대를 만나고2. 해당 플레이어와 자신의 팀의 선수 스텟을 비교하여 승패를 정한 뒤에3. 자신이 승리하면 랭크점수를+, 졌을 경우 -하기로 하였다. 이후 게임 플레이 api를 작성하기 위한 순서를 먼저 작성하고.// 게임 플레이 api// 0. 플레이어의 덱 정보 확인// 0-1. 플레이어의 덱이 완성되어 있는가// 1. 플레이어 끼리 매칭(랭크 점수)// 1-1. 매칭 레벨 안에 상대 가능한 플레이어가 있는가..?// 2. 매칭 후 플레이// 2-1 . 선수들의 정보 확인// 2-2 . 선수 포지션 별 스텟 가중치 적용// 2-3 . 적용된 가중치를 통한 플레이 진행/..

CH3 풋살온라인 프로젝트 240913

1. 와이어 프레임 구현하려 하는 프로그램이 어떤 모양을 가지고 행동하는지에 대한 예상 구성을 작성하는걸 해봤다. 지금 하는 프로젝트는 backend에서만 구현되기 때문에 사실상의 front는 insomnia라서 insomnia에 예상되는 요청과 응답을 ppt를 통해 작성해 보았다. 2. 깃과 깃허브의 제대로된 사용 시작.이걸 이제 배웠다..라고 하는게 맞는지 모르겠지만 다른사람의 git repository에도 처음 연결해봤고 branch를 따로 분리해서 main에 잘못 pull merge했다가 파일도 날아가보고.. 아직 초창기라 고칠게 많이 없어서 쉽게 복구했지만 이런 시작을 해보는게 재밌었다

카테고리 없음 2024.09.13