개요jeju-defense 프로젝트를 진행하던 중... // 서버 관리 (점수, 골드)export let userGold = 0; // 유저 골드export let score = 0; // 게임 점수 클라이언트에서 관리하던 gold 와 score 를 서버에서 관리하도록 로직을 변경하고자, 해당 변수를 외부 모듈로 export했다.당연히 변수를 let으로 선언하고 export 했으므로 외부 모듈에서도 값을 변경할 수 있을 줄 알았다. 그런데 에러가 발생하는 것이다!? 전개let 으로 선언한 변수는 재할당이 가능한 거 아니었나...? 처음에는 이 오류를 이해하지 못했다. 나는 분명 const 가 아닌 let 으로 선언했고, 할당한 데이터의 타입과 값 또한 오류가 발생하지 않음을 확인했기 때문에 도대체 왜 이..
개요현재 진행 중인 개인 프로젝트로, chrome dino를 모방하여 게임을 제작하고 있다. 이번 시간에는 아무 키나 누르는 순간 게임이 진행되는 현재 로직에서 특정 키를 눌렀을 때 게임이 시작되는 로직으로 변경하는 시간을 가져보자. 배경내가 이 주제를 다루는 이유는 너무 간단하다. 나는 지금 아무 키나 눌렀을 때 게임을 시작하는 로직을 가지고 있다.아무 키. 즉, 내가 'a'를 누르든 'space'를 누르든 심지어 'esc'를 눌러도 게임이 시작되어버린다는 의미다. 발단개인 프로젝트 진행 중 웹 콘솔에 출력되는 로그를 살피기 위해 'F12'를 누르는 순간, 게임이 진행된다!?이는 너무나 큰 불편이었다. 아직 게임을 진행하지 않고 로그만 살피고 싶은데 게임이 바로 진행되어버리니 살피고 싶은 로그가 후딱 ..
개요"Prisma 사용할 때 @map 과 @@map 의 차이가 뭐예요?" 나는 해당 질문을 들었을 때 벙쪘다... '그냥 단순히 @map은 필드에 사용하고 @@map은 테이블에 쓰는 거 아닌가?' 막연하게 지금까지 그렇게 사용하는 것을 보고 그대로 사용했던 나로서는 당혹스럽지 않을 수 없었다...그럼 @map과 @@map의 역할은 뭐고, 또 무슨 차이가 있는거지...?대충은 알 것 같은데, 또 명확하게 정답이라고 내놓을 자신은 없었다... 본론으로 돌아와서, 이 질문의 의도는 뭘까? 단순히 궁금해서 물어봤을 수도 있고, 제대로 알고 있는지 테스트하는 것일 수도 있다.다만 내가 이 질문에서 느꼈던 건 어떤 문법을 사용하고 도구를 이용하든, 그 의도와 목적을 명확히 파악하고, 무슨 역할을 하는 도구인지, 어..
개요간단한 로그인 페이지(HTML)를 통해 "jwt 토큰을 이용하여 인증을 거친 후 로비 페이지로 이동하는 로직을 만들어보자!" 라고 생각했지만... 처음부터 장애물에 막혀버렸다!!! jwt 토큰을 로그인 페이지에서 로비 페이지로 어떻게 넘겨주지...? 그 때부터 구글링을 열심히 했다... 정말 열심히... 그렇게 알게 된 사실!local Storage라는 것을 이용하면 데이터를 넘겨줄 수 있다네??? 바로 적용! 다행히도 local Storage를 이용하니 머릿속으로 구상하던 것을 쉽게 이뤄낼 수 있었다. 그렇게 무난하게 다음 로직을 생각하는데... ......이거 왜 로그인이 중복되지?이게 무슨 뜻이냐면, 유저 A가 로그인하고 유저 B가 로그인했을 때, 유저 B의 토큰이 A의 로컬 스토리지에도 저장..
도메인 (Domain)인터넷 상에서 웹사이트나 특정 네트워크 서비스를 식별하고 접근할 수 있도록 하는 주소 체계. 쉽게 말해, 복잡한 IP 주소(예: 192.168.1.1)를 쉽게 기억하고 사용할 수 있도록 하기 위해 만들어진 URL의 한 형태다! 도메인 예시)더보기 google.com: 구글 도메인naver.com: 네이버 도메인amazon.co.kr: 아마존 한국 도메인 EC2 인스턴스 확인하기 먼저 AWS에 접속해서 EC2 CLICK! 인스턴스의 퍼블릭 IP 주소 or 퍼블릭 DNS 주소를 확인한다.나는 public IPv4 주소를 복사했다. (가운데 떡 하니 있어서...) 참고)더보기EC2 인스턴스 퍼블릭 IP 주소는 인스턴스를 중지/시작할 때마다 변경될 수 있다. 따라서 이를 방지하려면, ..
가장 먼저 해야할 건, 를 이용해서 HTML 뼈대 만들기! 이후 영역에 다음과 같이 link를 삽입한다. 그럼 부트스트랩(Bootstrap) 사용 준비 끝! 다음으로 폰트를 적용하자. 영역 내부에 다음과 같이 코드를 삽입한다.@import url("https://fonts.googleapis.com/css2?family=Bagel+Fat+One&display=swap");...* { font-family: "Bagel Fat One", system-ui; font-weight: 400; font-style: normal;}폰트 적용하기도 끝났다. 한 번 공부해놓으면, 외우지 않고 필요할 때마다 가져와서 붙여넣으면 된다.단, 어떤 용도를 가지는 지 파악하는 건 기본! 이제 영역의 h..