목록분류 전체보기 (91)
개발자공부일기
어제 플레이 기록을 불러올때 undefined가 자꾸 나오던 버그를 수정했다. 이름만 안되고 스테이지만 정상적으로 불려오는게 입출력에 문제가 있는거 같지는 않았고 저장할때 뭔가 잘못하고 있는거 같았다. 디버그 하는법도 유튜브랑 vscode공홈에서 찾아서 디버그를 해보니까 역시 변수명이 틀렸었다. playerName이란 변수로 집어 넣어서 Key값이 playerName으로 되어있더라 난 지금까지 record.name으로 불렀었다. record.playerName으로 가져오니 정상작동함. 나머지 스테이지별로 정렬하기같은 기능들도 정상적으로 작동한다. 만세! 이게 버그를 찾다보면 드는 생각인데 세상 별거 아닌게 자꾸 괴롭힌다. 사실 큰 버그면 잘보이니까 찾기도 쉬운거지만..암튼 오늘은 좀 잘풀렸다.진작에 디..
강화시스템을 만들던 도중 갑자기 도망기능이 고장났다. 거긴 건드리지도 않았는데 왜 그런지 모르겠다. 이전 스테이지에서 도망을 성공한 후 스킬을 사용하면 갑자기 도망에 성공하는 문구가 나오며 스테이지가 끝난다. 알고보니 도망의 성공을 판단하는 변수가 true에서 false로 초기화되는 문구가 없었다. 이전에 테스트할때 도망을 성공하고 바로 종료해서 이번 케이스같은 경우가 없었다.이제 테스트할때 몇 번씩 더 해봐야겠다. ============================================= 로비에서 지금까지 플레이 기록을 볼 수 있게 만들고 있는데 자꾸 이름이 undefined로 저장된다. 그래서 당연히 정렬관련 함수도 싹 오류난다. 아니 뒤에 ~의 ~기록이 저장되었다는 문구를 띄울때는 플레이어이..
게임이 종료되는 조건이 실행되지 않아서 플레이어가 첫 스테이지에서 패배했음에도 게임이 종료되지 않음. chat gpt와 구글 검색으로 열심히 원인을 찾아봤지만 찾을 수 없었다. 계속 생각하며 코드를 돌려보던 중 10스테이지 이후에만 실행되는걸 발견 battle의 루프안에 조건을 추가해서 해결 그리고 패배시 break문이 없어서 계속 진행됐던것. break추가하니 정상 작동======================================몬스터의 스킬 함수를 만들던 도중 몬스터내의 메서드임에도 monster.name을 찾을 수 없다고 나옴. 그래서 상위함수의 this가 monster를 가리키고 있으니 this로 변경. 변경하니 정상 작동. ===================================..
2주차 한주동안 자바스크립트 기본 문법들에 대해서 정말 머릿속에 때려넣었다 아니 부었다.특히 이 this가 너무 헷갈리더라 c의 포인터를 연상캐하는.. 그 자꾸 c++의 this를 생각하고있고 그랬다.이 경우처럼 다른 언어의 개념이라던가 기존에 알던 개념들이 도움될때도 많은데 가끔 그거랑 헷갈려서 코드 해석의 방향을 잃을때가 있었다. 난 초심자라고 생각하고 좀 더 머릿속을 비우고 했어야되나 싶다. 뭔가 아는거 같은데 안되니까 스트레스 받았다.근데 뭐 결국 다 이해하며 지나갔고 별 문제 없는거 같다. 이해는 했지만 머릿속에 넣는건 별개라 계속 자료 복습하면서이제 슬슬 개인과제를 시작해보려 한다.
DOM이란?DOM(Document Object Model)은 웹 페이지의 구조화된 표현을 제공하는 프로그래밍 인터페이스입니다. HTML, XML 문서의 내용과 구조를 객체로 표현하여 자바스크립트 같은 프로그래밍 언어가 웹 페이지의 요소를 동적으로 조작할 수 있게 합니다. 웹 브라우저는 HTML 문서를 읽어들이면 이 문서를 DOM 트리로 변환하며, DOM 트리는 문서의 계층 구조를 반영합니다.DOM의 주요 개념노드(Node): DOM 트리의 기본 단위입니다. HTML의 각 요소, 속성, 텍스트 등이 노드로 표현됩니다.요소 노드: , 같은 HTML 태그.텍스트 노드: 태그 안의 텍스트 콘텐츠.속성 노드: HTML 요소의 속성 (id, class 등).DOM 트리: 문서의 구조가 트리 형태로 표현됩니다. 최..
콜백지옥 콜백 지옥(callback hell)이란 비동기 작업이 중첩된 콜백 함수들로 인해 코드의 깊이가 깊어지고 가독성이 떨어지는 현상을 말합니다. 주로 JavaScript에서 비동기 작업(예: 파일 읽기, API 호출, 이벤트 처리 등)을 처리하기 위해 콜백 함수가 반복적으로 사용될 때 발생합니다. setTimeout( function (name) { var coffeeList = name; console.log(coffeeList); setTimeout( function (name) { coffeeList += ", " + name; console.log(coffeeList); setTimeout( function (..
스코프 체인(Scope Chain) 스코프 체인(Scope Chain)은 자바스크립트에서 변수와 함수의 접근 권한을 결정하는 중요한 개념입니다. 스코프 체인은 함수가 실행될 때, 변수와 함수가 검색될 수 있는 범위를 정의하는 규칙입니다. 자바스크립트는 렉시컬 스코핑(lexical scoping)을 따르기 때문에, 변수나 함수가 어디에 선언되었는지에 따라 접근 가능한 범위가 결정됩니다.1. 스코프(Scope)란 무엇인가?스코프는 코드에서 변수와 함수가 유효한 범위를 의미합니다. 즉, 코드 내에서 특정 변수나 함수가 어디에서 접근 가능한지를 결정합니다. 스코프는 크게 전역 스코프(Global Scope)와 함수 스코프(Function Scope)로 나눌 수 있습니다.전역 스코프: 프로그램의 모든 코드에서 접..
각종 es6 문법 소개 1. let, const 2. 화살표 함수 (Arrow Function) 3. 삼항 연산자 (ternary operator)condition ? expr1 : expr2console.log(true ? "참" : "거짓") // 참console.log(false ? "참" : "거짓") // 거짓 4 구조 분해 할당 (Destructuring)// 배열의 경우let [value1, value2] = [1, "new"];console.log(value1); // 1console.log(value2); // "new"let arr = ["value1", "value2", "value3"];let [a,b,c] = arr;console.log(a,b,c) // value1 value2..