개발일지/TIL(Today I Learned)74 2024-11-25 prisma 초기 설정 # 설치한 prisma를 초기화 하여, prisma를 사용할 수 있는 구조를 생성합니다.npx prisma init환경 설정// .envDATABASE_URL="mysql://:@express-database.cd6cq0uw2bs7.ap-northeast-2.rds.amazonaws.com:3306/"// schema.prismadatasource db { provider = "mysql" url = env("DATABASE_URL")}만약 Prisma 모델이 이미 생성된 상태라면 DB 연결 명령어를 바로 입력하자.# 설치한 prisma를 초기화 하여, prisma를 사용할 수 있는 구조를 생성합니다.npx prisma db pushPrisma 모델 생성 예시// 모델.. 개발일지/TIL(Today I Learned) 2024. 11. 25. 2024-11-22 내일배움캠프 Node.js 트랙 20일차스탠다드 반 발제 자료조사1. 컴퓨터 세계에서 서버와 클라이언트는 무엇인가?서버의 정의서버(server)는 네트워크에 연결된 다른 장치에 서비스를 제공하는 컴퓨터 시스템입니다. 서버는 클라이언트의 요청을 수신하여 해당 서비스를 수행하고 그 결과를 응답으로 제공하는 역할을 수행합니다. 서버는 데이터 저장 및 관리, 대용량 데이터 처리, 복잡한 연산 작업 등의 기능을 담당하며, 이를 위해 강력한 하드웨어 사양과 안정적인 운영 환경을 갖추고 있습니다.서버는 동시에 다수의 클라이언트로부터 요청을 받기 때문에 효율적인 작업 처리를 위해 스케줄링 메커니즘을 사용합니다. 또한 서버와 클라이언트 간 데이터 전송 시 보안을 고려하여 암호화 등의 조치를 취해야 합니다. 서버 운영체제.. 개발일지/TIL(Today I Learned) 2024. 11. 22. 2024-11-21 내일배움캠프 Node.js 트랙 19일차1. ZEP에서 이루어진 노드 숙련주차 스터디쿠키와 세션: 정의와 Node.js에서의 구현 방법1. 쿠키와 세션의 정의쿠키(Cookie)클라이언트의 웹 브라우저에 저장되는 작은 데이터 조각이다. 서버는 클라이언트가 특정 페이지를 방문할 때 쿠키를 생성하고, 이후 요청마다 클라이언트는 쿠키를 포함하여 서버로 전달한다. 이를 통해 서버는 클라이언트를 식별하거나 상태를 유지할 수 있다.쿠키는 주로 아래와 같은 목적으로 사용된다:사용자 인증 상태 유지사용자 맞춤 설정 저장 (예: 테마, 언어 설정)세션 관리세션(Session)서버 측에서 사용자와의 상호작용 상태를 저장하기 위한 기술이다. 세션은 보통 고유한 식별자인 세션 ID를 생성하고, 이를 클라이언트의 쿠키에 저장하여.. 개발일지/TIL(Today I Learned) 2024. 11. 21. 2024-11-20 내일배움캠프 Node.js 트랙 17일차1. ZEP에서 이루어진 Node.js 입문 스터디SQL이란?'Structured Query Language'의 약자데이터베이스(DB)에서 데이터를 추출하고 조작하는 데에 사용하는 데이터 처리 언어DB에 저장된 정보를 쉽게 찾고 정리하는 데에 도움을 주는 도구1. 데이터베이스(Database)와 테이블(Table)데이터베이스(Database) : 서로 연관된 여러 테이블을 포함하는 큰 틀테이블(Table) : 데이터가 행(row)과 열(column)로 구성되어 저장되는 곳. 각 행은 하나의 데이터 [[레코드]]를 나타내며, 각 열은 데이터의 속성을 나타낸다.2. SQL 기본 명령어SQL에서는 데이터베이스와 테이블을 생성하고 데이터를 조회, 삽입, 수정, 삭제 등의 .. 개발일지/TIL(Today I Learned) 2024. 11. 20. 2024-11-19 내일배움캠프 Node.js 트랙 17일차1. ZEP에서 이루어진 Node.js 입문 스터디지난 시간을 복기해보자. Node.js의 정의와 express.js가 가진 이점, 그리고 패키지의 사용법에 대해 알아보았다. yarn이라는 패키지 매니저를 통해 실제로 express.js를 통해 서버를 연결해보았고, 미들웨어의 역할에 대해 간단하게 살펴보기도 했다. 그 내용을 짧게 요약해 보자면, 미들웨어는 서버-클라이언트의 요청과 응답의 흐름에서 중간에 개입하는 메서드들을 통칭하는 개념이다.(단, app.listen()과 같은 서버 시작 함수는 일반적으로 미들웨어로 분류되지 않는다.)Q1. app.METHOD() 와 router.METHOD를 사용하는 것의 차이점은 뭘까?여기서 한 발 더 나아가서 고민을 해 보자... 개발일지/TIL(Today I Learned) 2024. 11. 19. 2024-11-18 내일배움캠프 Node.js 트랙 16일차1. ZEP에서 이루어진 Node.js 입문 스터디Node.js란?오픈 소스 및 크로스 플랫폼 JavaScript 런타임 환경이다.구글 Chrome의 핵심인 V8 자바스크립트 엔진을 브라우저 외부에서 실행한다. 이를 통해 매우 뛰어난 성능을 선보이는 게 특징모듈과 패키지, 그리고 yarnNode.js에선 코드의 재사용성을 높이기 위해 작성된 독립적인 코드 조각들을 "모듈"이라고 부른다. 패키지는 이러한 모듈을 포함하고 있거나 다른 패키지에 의존하고 있는 코드의 집합을 의미한다. 패키지 매니저라는 도구를 이용한다면 패키지의 설치, 업데이트, 삭제 등이 훨씬 편리해진다. yarn은 바로 이 패키지 매니저 중 하나다. Node.js의 대표 패키지 매니저인 npm을 대체하.. 개발일지/TIL(Today I Learned) 2024. 11. 18. 2024-11-15 내일배움캠프 Node.js 트랙 15일차1. ZEP에서 이루어진 로그라이크 게임 만들기 프로젝트게임에 사용된 주요 함수들카드(배열) 무작위 정렬let array = [1, 2, 3, 4, 5];array.sort(() => Math.random() - 0.5);console.log(array);sort() 메서드에 별다른 compareFunction이 제공되지 않으면 요소를 문자열로 변환하고 두 요소를 비교한다. 기준은 유니 코드의 코드 포인트 값에 따라 정렬된다.function compareNumbers(a, b) { return a - b;}요소가 숫자인 경우, sort() 메서드는 콜백함수를 매개변수로 받는데, 매개변수가 음수를 반환하면 a가 b보다 먼저 정렬되고 양수를 반환하면 b가 a보다 먼저.. 개발일지/TIL(Today I Learned) 2024. 11. 15. 2024-11-14 내일배움캠프 Node.js 트랙 14일차1. ZEP에서 이루어진 로그라이크 게임 개발 프로젝트(1) 지난 시간 복기지난 시간엔 fs와 json을 이용해 업적 기능을 구현해보았다. json은 Javascript Object Notation의 약자로, 텍스트 기반의 데이터 교환 형식이며, fsp를 통해 데이터를 읽고 쓸 수 있었다.// JSON 파일을 로드하는 함수let loadJson = async (filePath) => { try { const data = await fsp.readFile(filePath, 'utf8'); return JSON.parse(data); } catch (err) { console.error('파일 읽기 오류:', err); return null; .. 개발일지/TIL(Today I Learned) 2024. 11. 14. 2024-11-13 내일배움캠프 Node.js 트랙 13일차" data-ke-size="size26">내일배움캠프 Node.js 트랙 13일차ZEP에서 이루어진 로그라이크 게임 개발 프로젝트" data-ke-size="size23">ZEP에서 이루어진 로그라이크 게임 개발 프로젝트json을 이용해 로컬 파일에 게임 데이터를 저장해보자미리 고백하자면 아직 세이브 기능을 완벽하게 만들진 못했기 때문에 한 번 더 되짚어 보자는 생각으로 이 글을 적어두려고 한다. 내용을 정확히 이해한 것도 아니지만 언젠가 이해할 날이 온다면…아마 오늘 내가 괴롭게 고민했던 덕분일 것이다… : )// 새로운 js파일을 만들었다! 이곳에서 json 관련 작업을 해보자.import fsp from 'fs/promises'; // fs/promises에.. 개발일지/TIL(Today I Learned) 2024. 11. 13. 2024-11-12 내일배움캠프 Node.js 트랙 12일차1. ZEP에서 이루어진 로그라이크 게임 개발 프로젝트코드를 짜다보면 자주 쓰게 되는 배열 메서드들이 있다. push, splice, slice 등…. 어떤 메서드들은 서로 하는 일이 비슷해 보이는데, 희한하게도 바라는 결과가 나오지 않을 때도 한다. 왜냐하면 원본 배열을 변경하는 메서드가 있는가 하면 새로운 배열을 반환하는 객체도 있기 때문이다. 또 비슷한 일을 하는데 반환값의 자료형이 전혀 다른 경우도 있다. 오늘 TIL에서는 두 가지 분류에 따라 메서드를 정리해보고자 한다. 아래는 일부 메서드에서 예시로 쓰게 될 원본 배열이다.let iveMembers = ["안유진", "가을", "레이", "장원영", "리즈", "이서"];console.log(iveMemb.. 개발일지/TIL(Today I Learned) 2024. 11. 12. 2024-11-11 내일배움캠프 Node.js 트랙 4일차" data-ke-size="size26">내일배움캠프 Node.js 트랙 4일차1. ZEP에서 이루어진 로그라이크 게임 개발 프로젝트" data-ke-size="size23">1. ZEP에서 이루어진 로그라이크 게임 개발 프로젝트(1) 지난 시간 복기" data-ke-size="size20">(1) 지난 시간 복기지난 시간을 기점으로 자바스크립트 문법 강의를 마친 뒤 본격적인 코드 작성에 돌입했다. 게임의 장르는 덱빌딩 로그라이크. 플레이어, 카드, 몬스터의 인스턴스를 클래스로 생성하였고 메서드와 함수들을 이용해 각자의 기능들을 구현해 나갔다.자연어로 의사코드를 먼저 작성하고 시작했기 때문에 큰 문제는 없었지만, 종종 알 수 없는 결과물을 맞닥뜨릴 때가 있었다."왜.. 개발일지/TIL(Today I Learned) 2024. 11. 11. 2024-11-08 내일배움캠프 Node.js 트랙 10일차1. ZEP에서 이루어진 로그라이크 게임 만들기 프로젝트(1) 로그라이크 게임 기획이번 프로젝트는 개별 과제로, 로그라이크 게임 개발이라는 큰 목표 아래 알고리즘 특강과 실습 시간이 주어졌다. 듣고 있던 자바스크립트 문법 강의를 마무리하고 본격적으로 게임 만들기에 앞서서 주요 골격부터 고민해봤다. 우선 로그라이크라는 장르는 너무 광범위하기 때문에 보다 세부적인 장르를 정할 필요가 있었다. 원래도 내가 개발하고 싶었던 건 턴제 덱빌딩 장르였기에 그리 어려운 선택지는 아니었다. 덱빌딩 기반의 로그라이크. 참 익숙하고 친근하다. 레퍼런스가 되어줄 게임들이 나의 스팀 라이브러리에 산재해있기 때문에 아이디어가 고갈날 염려는 없었다. 다만 '카드로 적을 물리친다'라는 기본 전.. 개발일지/TIL(Today I Learned) 2024. 11. 8. 이전 1 2 3 4 5 6 7 다음