전체 글 159

[멋쟁이사자처럼 부트캠프 TIL 회고] 03.12 : 오목 만들기

오늘 한 일 1. 회의2. 개인적인 계획  오늘은 오목 게임 만들기를 팀 프로젝트로 시작하기에 앞서 준비하는 과정이었다.랜덤 조가 배정되고, 구현해야되는 기능들에 대한 설명을 듣고, 각자 조에서 회의를  01. 회의  회의록을 전체적으로 작성했다. 전체적인 틀을 잡는 과정이어서 역할 분배, 구현해야 할 내용, 룰 관련, 소통 관련, 회의 시간 등등을 정했다. 생각보다 간단한 내용들인데 같이 하니까 더 오래걸린 것 같기도 하다. 시원하게 랜덤으로 역할을 정해서 , 서버 관련 부분을 맡게 되었다. 사실 서버 관련 부분은 제일 자신 없던 부분 중 하나였는데 그래도 이런 기본적인 서버라면 할 수 있지 않을까 한다.  같이 이미 시중에 있는 게임을 보자고 해서 게임 2개를 같이 봤다. 보면서 역할에 대한 고민을 ..

TIL 2025.03.12

SocketIO 관련 정리

SocketIO란 ?  실시간 멀티플레이어 게임이나 실시간 데이터 교환이 필요한 애플리케이션을 개발할 때 사용되는 라이브러리 웹 소켓을 기반으로 클라이언트(유니티)와 서버 간의 양방향 통신을 가능하게 함이벤트 기반 통신Socket.IO 기본 구조 기본적으로 on과 emit를 사용하여 이벤트를 송수신한다. 처음부터 주어진 이벤트로는 접속을 나타내는 'connection'과 연결 해제를 나타내는 'disconnect'가 있다. const io = require('socket.io')(server);io.on('connection', (socket) => { console.log('새 클라이언트 접속:', socket.id); // 이벤트 등록 socket.on('이벤트명', (data) => { ..

개념공부 2025.03.12

[멋쟁이사자처럼 부트캠프 TIL회고] 0310 : 틱택토 마무리

저번주에 만들었던 틱택토를 내부에서 수정하실 것. 지금은 GameManager 코드가 대부분의 일을 하지만, 수정해서 UI 관련된 일만 수행하고게임의 플레이에 관한 것은 GameLogic을 만들어서 수정하시려고 한다..    GameLogic함수는 굳이 MonoBehaviour를 상속할 필요 없음 GameLogic이 State를 관리하면서해당 턴에 알맞은 state를 ! Enter, Exit 하면서 진행된다. public interface IPlayerState{ void OnEnter(GameLogic gameLogic); void OnExit(GameLogic gameLogic); void HandleMove(GameLogic gameLogic, int row, int col);}pu..

TIL 2025.03.11

JSON 기초 정리 (with Unity)

JSON이란 ?JavaScript Object Notation의 약자좀 더 쉽게 데이터를 교환하고 저장하기 위하여 만들어진 텍스트 기반의 데이터 교환 표준어떠한 프로그래밍 언어에서도 JSON 데이터를 읽고 사용할 수 있음( 파싱 라이브러리가 존재한다면 )네트워크 통신이나 설정 파일 저장 등 다양한 환경에서 널리 사용됨특징자바스크립트 객체 표기법을 따름( 중괄호 '{ }' 를 사용하여 객체를 정의하고, 그 안에 키(Key)와 값(Value) 쌍을 나열하는 방식)사람과 기계가 모두 읽기 편하도록 제작프로그래밍 언어와 운영 체제에 독립적JSON 객체JSON 객체는 중괄호 ( { } ) 로 둘러쌓아 표현쉼표를 사용하여 여러 프로퍼티를 포함할 수 있음JSON 배열JSON 배열은 대괄호 ( [ ] )로 둘러쌓아 표..

개념공부 2025.03.11

2447번 별 찍기 -10, 11792번 하노이 탑 이동 순서

코딩테스트 : 2447번 별 찍기 - 10  문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 입력 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3k이며, 이때 1 ≤ k 출력 첫째 줄부터 N번째 줄까지 별을 출력한다.using System.Data;using Syst..

코딩테스트 2025.03.09

[멋쟁이사자처럼 부트캠프 TIL회고] Unity 게임개발 0307 : 채팅, 멀티플레이

오늘 과제1. 채팅 구현2. 멀티 플레이 구현 01. 채팅 구현Dynamic string에 있는 것으로 해야 한다.    웹소켓(SocketIO)를 사용할 것이다.   //이렇게 람다로 만들어도 되고, 새로운 함수(밑)으로 만들어도 된다. _socket.On("createRoom", (data) => { }); }// 항상 매개변수는 있어야 한다. 받을지 말지 모르기 떄문에private void CreateRoom(SocketIOResponse response){ }  * ParrelSCyn 이용시 주의점 : 변경사항들을 공유한다,  따로 오가며 수정해줄 필요는 없지만 가끔 클릭 등으로 동기화 해 주어야 한다.  첫 번째 MultiplayerManager..

TIL 2025.03.07

[멋쟁이사자처럼 부트캠프 TIL회고] Unity게임개발 0306 : Parsing, Socket.IO

오늘 배운 것1. 과제 :  TicTacToe 스코어 보드 연동, 서버와 연동해서 스코어 보드 띄우기2. SocketIO에 관하여   1. TicTacToe 스코어 보드 연동 오전 시간에는 쭈욱 TicTacToe에서 ID마다 스코어를 할당하고, 그 스코어를 리더보드로 띄우는 것을 과제로 했다.다음은 완성된 내 코드들이다.  우선 서버에서 스코어 정보들을 가져와야 하기 때문에 서버에 다음과 같은 코드가 있다.router.get('/allscore', async function(req,res,next){  try{    if (!req.session.isAuthenticated){      return res.status(403).send("다른 사람의 정보를 보려면 로그인이 필요합니다");    }    ..

TIL 2025.03.07

Session, Cookie + 자동 로그인 기능

Session서버에서 관리하는 사용자 상태 정보사용자가 로그인 시 서버가 세션을 생성하고, 특정한 세션 ID를 발급함사용자가 요청을 보낼 때마다 세션 ID를 서버에 전달하면, 서버는 해당 사용자가 누구인지 알 수 있음세션 정보는 서버 메모리, 데이터베이스, 혹은 파일 저장소에 저장됨특징서버에서 관리됨 : 클라이언트에는 세션 ID만 저장보안성이 높음 : 사용자 정보가 클라이언트에 저장되지 않음서버 메모리 사용 : 너무 많은 세션을 유지하면 서버에 부담이 될 수 있음기본적으로 일정 시간 지나면 만료 : maxAge 설정 가능Cookie클라이언트에 저장되는 작은 데이터 조각서버가 응답을 보낼 때 클라이언트에게 쿠키를 저장하라고 명령할 수 있음클라이언트가 다시 요청할 때 쿠키 정보를 자동으로 서버에 전송함로그인..

개념공부 2025.03.06

UnityWebRequest

UnityWebRequest유니티에서 서버와 통신(HTTP 요청/응답)을 수행하는 도구서버와 데이터를 주고받을 때, REST API와 통신할 때, JSON 데이터를 송수신할 때 이용 특징비동기 처리 : 코루틴을 사용하여 요청을 비동기적으로 수행 가능GET,POST,PUT,DELETE 지원 : HTTP 메서드를 사용해 서버와 통신 가능파일 다운로드 및 업로드 가능 : 이미지, 텍스트 오디오 파일 등 다운로드 가능JSON 데이터 송수신 가능 : REST API와 연동하여 JSON 데이터를 주고받을 수 있음보안 지원 : HTTPS 지원, 인증 헤더 추가 가능  * REST API : 간단히 말하면, '인터넷으로 정보를 주고받는 규칙' Resource, URL, 행동(HTTP 메서드), Representatio..

개념공부 2025.03.05

[멋쟁이사자처럼 부트캠프 TIL회고] Unity게임개발 3기 0305 : 유니티와 서버

오늘 배운 것1. 설치 & InputField2. Unity와 서버 연결  01. 설치 & InputFieldSocketIO와 ParrelSynce를 설치해준다. 유니티 소켓 IO 설치https://github.com/itisnajim/SocketIOUnity ParrelSync 설치https://github.com/VeriorPies/ParrelSync GitHub - VeriorPies/ParrelSync: (Unity3D) Test multiplayer without building(Unity3D) Test multiplayer without building. Contribute to VeriorPies/ParrelSync development by creating an account on GitH..

TIL 2025.03.05