TIL 60

내일배움캠프 4주차 금요일 TIL

이전에 사용했던 MongoDB는 비관계형 데이터베이스(NoSQL) MySQL이 바로 관계형 데이터베이스(RDB) NoSQL - 데이터 형식이 자유롭다저장(Write)과 읽기(Read) 작업이 더욱 빠르며, 복잡한 비즈니스 로직 없이 주로 데이터 읽기와 쓰기에 중점을 둔 서버에서 주로 사용 RDB - 열, 행에 데이터를 가진 테이블이 존재욱 복잡한 비즈니스 로직과 정형화된 데이터를 체계적으로 관리할 수 있어 더욱 안전한 서버 환경을 구성하기에 좋다보안이 중요한 기관이나, 은행과 같은 안전성을 중시하는 회사 MYSQL - 가장 널리 사용되는 오픈소스 관계형 데이터베이스(RDB)데이터베이스를 관리하는 가장 대표적인 언어인 SQL(Structured Query Language)을 사용하여 데이터를 조작하고 관리..

TIL 2024.11.22

내일배움캠프 4주차 화요일 TIL

Node.js 환경에서 Express 프레임워크를 사용하여 간단한 웹 서버를 설정import express from 'express'; // Express 모듈 가져오기(서버 구축)import goodsRouter from './routes/goods.js'; // goods.js 파일에서 goodsrouter를 가져온다const app = express(); // Express 함수를 호출const PORT = 3000; // 서버가 수신 대기할 포트 번호를 3000으로 설정, 포트 >> 실행할 프로그램의 주소?app.get('/', function(req, res) { res.send('Hello World123!'); }); // 루트 경로(/)에 대한 GET 요청을 처리하는 함수app.ge..

TIL 2024.11.19

내일배움캠프 4주차 월요일 TIL

웹 브라우저와 통신 방식웹 브라우저인터넷에서 정보를 검색하고 표시하는 소프트웨어.정적 페이지: 내용 고정.동적 페이지: 내용 변동 가능.통신 과정URL 입력 → DNS 조회 → IP 주소 확인 → 웹 서버 요청 → 데이터 수신 → 페이지 표시.URL 구조://:/DNS웹 주소를 IP 주소로 변환.IP 주소고유 주소 (IPv4: 192.168.0.1, IPv6: 2001:0db8:...).HTTP와 HTTPSHTTP데이터 전송을 위한 프로토콜.서버와 클라이언트 간의 의사소통 규칙.HTTPSHTTP에 보안 기능 추가.데이터 암호화로 안전한 통신.HTTP 요청과 응답기본 개념요청(Request)과 응답(Response)으로 구성.동작 과정브라우저 요청 → 서버 응답 → 페이지 표시.개발자 도구F12 또는 ⌘ ..

TIL 2024.11.18

내일배움캠프 3주차 금요일 TIL

server.js에 추가한  printReport 함수function printReport(reportData) { if (!reportData) { console.log(chalk.red(`기록이 없습니다.`)); return; } console.log(chalk.yellowBright(`=== 게임 기록 ===`)); console.log(`마지막 클리어 스테이지: ${reportData.clearStage}`); console.log(`총 게임 횟수: ${reportData.totalTry}`); console.log(`게임 클리어 : ${reportData.allClears}`); console.log(`클리어 실패 : ${repor..

TIL 2024.11.15

내일배움캠프 3주차 수요일 TIL

오늘 배운것게임 클리어 및 실패 처리:게임 클리어 시와 클리어 실패 시 로비 화면으로 돌아갈 수 있도록 함수를 import하여 적용 예정.방어력 아이템 추가:방어력 관련 아이템을 추가 적용하기 위한 작업 진행 중.최대 HP 및 회복 제한 로직:최대 HP 설정 및 일정 HP를 넘어가는 회복 제한 로직을 설정 중.업적 확인 창:누적 로그를 남길 수 있는 업적 확인 창을 만들 계획. 이와 관련하여 Node.js 지식이 필요할 것으로 예상하여 확인 후 적용할 예정.같은 코드를 반복적으로 확인하고 수정하는 과정에서 내가 의도한 흐름대로 진행되고 있는지를 점검할 수 있었다. 이러한 반복적인 작업은 프로그래밍에 익숙해지는 데 큰 도움이 되고 있다. 이번 주 안에 로비 화면과 게임 상태 연계, 추가적인 기능 도입을 완..

TIL 2024.11.13

내일배움캠프 3주차 화요일 TIL

오늘 추가한 기능플레이어 회피율, 방어력 추가일정확률로 몬스터의 공격 회피, 정해진 방어력만큼 몬스터의 데미지 감소(수치 조정 필요)아이템 추가- 스테이지 몬스터 처치하여 클리어 시 3가지 아이템중 1개 선택 가능const item1 = new Item ("싸구려 회복 물약", "플레이어가 체력을 즉시 15 회복합니다.", (player) => {player.hp += 15;},0.3 ) const item2 = new Item ("쓸만한 체력 회복 물약", "플레이어가 체력을 즉시 30회복합니다.", function heal2(player) {player.hp += 30;},0.15 ) const item3 = new Item ("고성능 체력 회복 물약", "플레이어가 체력을 즉시 45회..

TIL 2024.11.12

내일배움캠프 3주차 월요일 TIL

오늘 추가한 기능강공(가제)기능일정한 확률을 정해놓고 더 강한 피해를 줄 수 있다.몰래 지나가기 기능스테이지별로 확률을 다르게하여 클리어가 더 어려워지도록 확률 설정스테이지별 몬스터 이름 추가10스테이지 보스몹 능력치 따로 부여스테이지 클리어시 아이템 선택(구성중)추가 : 아이템 구상10개 정도 리스트 작성 후 랜덤으로 3개 옵션 표시 > 1개 선택피회복공격력 상승도망 확률 증가상대 첫 공격 무시다음 스테이지 클리어(최소 확률)등등 고려중

TIL 2024.11.11

내일배움캠프 2주차 금요일

Rogue like JAVASCRIPT! 과제 기본 개발환경 세팅 후 필수 기능 구현1. 플레이어 클래스 적용 사항class Player { constructor(stage) { this.hp = 100; // 플레이어 HP this.p_strong = 10; // 플레이어 기본 공격력 } // 어택메소드 안에서 기능할수있도록 배개변수 추가 attack(monster, logs) { let min = this.p_strong; let max = min + 10; let p_damage = Math.floor(Math.random() * (max - min)) + min; // 10~20의 데미지중 랜덤 적용 logs.push(`플레이어가 몬스터에게 ${p_damag..

TIL 2024.11.08

2주차 수요일 TIL

1. 깊은 복사와 얕은 복사얕은 복사 (Shallow Copy): 객체의 최상위 속성만 복사하고, 중첩된 객체는 원본과 같은 참조를 공유함.따라서 하위 객체에 변경점 적용 시 원본 객체에 영향이 있을 수 있다.깊은 복사 (Deep Copy): 중첩된 객체까지 모두 복사하여 원본과 독립적인 새로운 객체 생성. 깊은 복사를 통해 모든 중첩된 객체도 새로운 메모리 공간에 복사되므로, 원본 객체와 완전히 독립적인 상태를 유지최상위 객체와 독립적으로 변경점 적용이 가능하다2. 전개 연산자전개 연산자: 객체나 배열의 얕은 복사를 수행할떄 적합. 최상위 속성만 복사하고, 중첩된 객체는 참조 공유.예시: const newObject = { ...originalObject };3. for...in 구문객체의 모든 속성에..

TIL 2024.11.06