본문 바로가기

분류 전체보기73

[ft_transcendence] 3. 반응형 게임 컨테이너 제작 게임의 요구 사항에는 다음과 같은 애매한 말이 적혀있었다. - The game must be responsive! 이게 게임이 실시간으로 반응을 해야한다는 뜻인지, 아니면 브라우저 창의 크기가 변하는 것에 따라 게임 창의 크기가 변해야 한다는 뜻인지 알 수가 없었다. 어떻게 할 지 고민하다가 최대한 보수적으로 기준을 잡고 게임 창의 크기가 브라우저 사이즈에 따라 변할 수 있도록 제작하기로 결정하였다. 게임은 html canvas를 이용해 구현되어 있었기 때문에 반응형으로 만들어주기 위해서는 브라우저 크기가 변할 시 canvas를 다시 그려주는 작업이 필요했다. 혹시나 반응형 canvas를 쉽게 그릴 수 있게 해주는 패키지가 있나 찾아보았지만, 있다 하더라도 내가 원하는 수준의 커스텀이 불가능해서 그냥 직.. 2023. 1. 23.
대구 / 2022. 12. 26. ~ 2022. 12. 28. 전역하고 처음 가는 대구. 재환이와 한새와 이틀간 무한으로 즐기고 왔다. 내 기억보다 대구는 더 심상치 않은 도시였다. 환상의 뭉티기쑈 많이 웃고 재미있었던 여행이었다. 2023. 1. 21.
부산 / 2022. 11. 27. ~ 2022. 11. 29. 프로페셔널 현지가이드 재환이와 함께한 부산여행 현지가이드께서 숙소도 제공해주시고 차량을 대동한 투어도 해주셔서 맛있고 편하고 즐겁게 놀다 왔다. 2023. 1. 20.
[ft_transcendence] 2. Pong 제작 들어가며 먼저 고백하자면, 우리는 게임을 만들며 치명적인 실수를 했다. 바로 백엔드 쪽에서 게임에 접속한 유저를 식별하기 위해 유저가 연결된 socket의 id를 사용했다는 것이다. 이런 실수를 하는 사람들이 많았는지 공식 문서에서는 아예 대놓고 소켓의 아이디를 디버깅 이외의 목적으로 사용하지 말라고 강조하고 있다. 소켓의 id는 매 연결 시 새롭게 부여된다. 그래서 여러 가지 이유(네트워크가 잠시 끊기거나, 프론트에서 컴포넌트가 변경되며 소켓 인스턴스가 바뀌는 경우 등등...)로 클라이언트와 서버 사이의 소켓 연결이 끊어질 수 있는데, 소켓 id로 유저를 식별하면 한번 연결이 끊어진 유저는 영영 다시 식별을 할 수 없게 되는 것이다... 이 때문에 게임을 플레이하던 유저가 페이지를 새로고침하거나, 네트.. 2023. 1. 13.
42서울 공통과정을 마무리하며 드디어 끝났습니다. 2021년 5월, 6개월 만에 공통과정을 부숴버리겠다는 다짐과 함께 시작했던 42서울. 장장 1년 6개월 하고도 1개월을 더해 총 1년 7개월 후인 2022년 12월 20일에 exam06을 통과한 저는 공통과정을 완료하고 42서울의 멤버가 되었습니다. 고대했던 42서울의 멤버가 된 기념으로 행복했던 42서울의 카뎃 생활을 돌아보고 정리하는 글을 쓰려고 합니다. 딱히 이유는 없습니다. 그냥 한 번쯤 이런 글을 써보고 싶었어요 ㅎㅎ 시작과 혼란 [2021년 5월 ~ 2021년 9월] 2021년 5월, 한껏 기대에 부풀어 개포 클러스터에 오던 첫날이 기억납니다. 열렬히 환영해주시는 스태프분들, 피신이 진행되었던 서초 클러스터와는 다르게 고즈넉하고 편안한 분위기의 건물, 클러스터 맥을 뚫어져.. 2022. 12. 29.
최우수상을 받는 나 라고 합니다. 트센하다 아침 일찍 끌려와서 조금은 짜증이 나있는 상태였을지도…? 다시한번 에튜톤에서 같이 개고생하고 유럽에 간 hakim, daekim님께 감사를 전합니다 😎 사실 건우가 장관상을 받는게 더 기뻤다. 👍 아무튼 왕감사맨이야👏👏👏 2022. 12. 18.
[ft_transcendence] 1. 게임 설계 개요 본 과제에서 만들어야 하는 서비스에는 채팅과 게임이라는 두 개의 주요 기능이 있다. 그중 나는 게임을 구현하는 부분을 맡았다. 만들어야 하는 게임은 1972년에 출시된 Pong의 규칙을 따르는 간단한 핑퐁게임이었다. Pong과 동일한 규칙으로 진행되기만 하면 게임을 구현하는 데에 별도의 제한이 없었으므로 우리는 최대한 간단하게 만들기로 했다. 팀원 중 한 분의 블랙홀이 얼마 남지 않아 시간이 없었기 때문에...ㅠㅠ 게임 부분의 요구사항은 다음과 같다. 1) 실시간 온라인 1:1 게임이 가능해야 하며, 모든 조작은 플레이할 수 있을 수준으로 부드럽게 작동해야 한다. 2) 별도로 방을 생성하거나 초대 없이 매칭 큐 등록을 통해 랭크게임을 진행할 수 있어야 한다. 3) 채팅 인터페이스를 통해 다른 유저를.. 2022. 12. 18.
[ft_transcendence] 0. 42pong 팀원 Front - jaemjung seushin jaewkim Back - mishin toh 프론트엔드 제작기간 2022. 11. 09. ~ 2022. 12. 16. 총 커밋 241회 총 풀리퀘 92회 내가 깎은 부분 - 로그인 OAuth - 2FA - 게임 - 유저 정보 수정 총평 Tailwind CSS는 신이다. 2022. 12. 17.
42 파리와의 인터뷰 Created by jaemjung & hakim & daekim of 42Seoul https://youtu.be/EQ0LBY0l8_M 2022년 가을, 42 파리의 학생들과 이런저런 이야기를 나눴습니다. 42 서울의 아이돌 *K-건우*의 인터뷰는 ↓ 여기로 https://youtu.be/-BU82UlrCUY 2022. 11. 9.
[inception] 2. VM에 도커 설치하기 도커를 설치하기에 앞서 편리한 환경설정을 위해 VM과 호스트 머신 간의 복사 밑 붙여넣기를 할 수 있게 Guest additions 세팅을 해주도록 하자. 원래 VM메뉴에서 devices->Insert Guest additions CD image를 하면 다음과 같이 게스트 에디션 설치가 뜨는데 왜인지 몰라도 데비안 버스터에서는 제대로 작동이 안된다. 따라서 터미널로 직접 설치해줘야만 함 ㅉ VM 화면 상단의 Activitis를 누르고 terminal을 검색하면 터미널을 실행할 수 있다. 먼저 수월한 설치를 위해 sudoer에 현재 로그인 된 계정을 추가해줘야 한다. su apt-get install vim vim /etc/sudoers sudoer 파일을 보면 현재 sudo명령을 사용할 수 있는 유저의 .. 2022. 10. 19.
[inception] 1. VM 설치하기 본 과제는 docker-compose를 이용하여 여러 개의 컨테이너로 구성된 서비스를 구축하는 것을 목표로 하는데, 반드시 VM 상에서 동작할 것을 요구하고 있다. 따라서 원하는 운영체제 하나를 선택하여 VM에 설치한 후 해당 환경 내에서 작동하는 서비스를 구축할 수 있어야 한다. 나는 born2beroot에서 사용했던 debian buster를 쓰기로 했는데, 생각보다 환경 설정이 복잡해서 한 번 정리하고 넘어가려고 한다. 먼저 vm에 올릴 debian buster의 이미지를 다운받는다. debian-10.9.0-amd64-netinst.iso로 받으면 된다. https://cdimage.debian.org/cdimage/archive/10.9.0/amd64/iso-cd/ Index of /cdimag.. 2022. 10. 18.
[webserv] 1. HTTP(HyperText Transfer Protocol)란? 본 글은 An overview of HTTP를 읽고 제가 이해하기 쉽게 요약한 글입니다. 이상한 부분이 있을 수 있는데 있으면 알려줘잉~ 자료 : https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview An overview of HTTP - HTTP | MDN HTTP is a protocol for fetching resources such as HTML documents. It is the foundation of any data exchange on the Web and it is a client-server protocol, which means requests are initiated by the recipient, usually the Web .. 2022. 8. 10.