전체 글 29

TIL

프로젝트 작업 중 시퀄라이즈 명령문에 따른 에러가 발생하였다. 알수없는 에러가 발생했습니다. Error at Query.run (C:\Users\jh\Desktop\연습\SENSE2\sense2\node_modules\sequelize\lib\dialects\mysql\query.js:52:25) at C:\Users\jh\Desktop\연습\SENSE2\sense2\node_modules\sequelize\lib\sequelize.js:314:28 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async MySQLQueryInterface.insert (C:\Users\jh\Desktop\연습\SENSE2..

이제는 정말 코딩뿐이야

S.A ※ 목차 1. 프로젝트 개요 2. 와이어 프레임 3. 데이터 베이스 설계 4. API 설계 1. 프로젝트 개요 팀소개 1 - 1 : 팀명: 이(2)제부턴 정말 코딩 뿐이야 프로젝트 인원 : 5 프로젝트 참여자 : 한동주 김민수 이혜원 고호성 한주호 1 - 2 : 프로젝트 명칭 SENSE 2 1 - 3 : 프로젝트의 목적 또는 기능 하나의 테마에 집중하는 쇼핑몰 (전자기기? or 반려동물? or 경기티켓? or 코딩강의?) 코딩강의를 테마로 하는 강의 사이트 구축 1 - 4 : 프로젝트 일정 최종 제출 : 02/08(수) 12:00 발표 : 02/08(수) 14:00 2. 프로젝트 기획 및 와이어 프레임 https://cheerful-garnet-31f.notion.site/7c9e8334aacc4..

TypeScript 기본문법

오늘 한 일 타입스크립트 문법 학습 내일 할 일 타입스크립트 문법 학습 회고 타입 스크립트의 여러 타입과 기본 문법들을 학습하였다. 자바 스크립트와는 다르게 함수의 인자와 리턴값에도 전부 타입을 지정해 주어야 하지만 이러한 편이 에러가 적게 발생된다는 것이 매우 큰 장점이다. 비록 아무 타입이나 받을 수 있는 any타입이 있엇지만 이것을 쓴다면 자바 스크립트와 별반 다를게 없기에 안쓰는 편이 좋다고 생각하였고 자료에도 any타입은 되도록 권장하지 않는다고 적혀있다.

카테고리 없음 2023.01.17

TypeScript

오늘 한 일 타입스크립트 개요 학습 내일 할 일 타입스크립트 문법 학습 회고 자바스크립트를 포함한 슈퍼셋인 타입스크립트 학습을 본격적으로 시작하였다. 타입스크립트는 정적인 언어로서 동적인 언어 타입인 자바스크립트와는 조금 차이가 있는데, 그 차이는 에러가 발생했을때 더욱 돋보인다. 동적인 경우는 컴파일이 완료되고 프로그램이 구축된 다음에 일어나는 에러로써 게임으로 치자면 어떠한 아이템을 구매했는데 아이템 코드가 없어 구매가 안되는 버그가 일어난다던지 몬스터를 공격했으나 몬스터 코드가 잘못되어 오히려 hp가 증가한다던지 이러한 에러를 런타임 에러라고 부른다. 반대로 정적인 경우는 프로그램 구축 단계에서 에러가 발생하기에 보다 정확하고 사전에 방지할 수 있는 큰 장점이 있다. 비록 외울것도 많고 익숙해져야할..

노드JS 익스프레스 서버 에러 핸들링

에러가 발생할 경우 에러 예외 처리를 해두지 않으면 서버가 다운되는 상황이 있을 수 있다. 그렇기에 에러 핸들링은 필수적으로 해야한다. 노드JS의 경우 우리가 늘 사용해왔던 것처럼 app.use()를 통해 미들웨어를 사용할 수 있는데 이를 이용하여 에러만 따로 처리하는 미들웨어도 쉽게 사용이 가능하다. 1. Error handling 미들웨어 선언하기 기본적으로 익스프레스에서 오류를 처리하는 공통 미들웨어는 아래와 같이 작성한다. app.use(function (err, req, res, next) { console.error(err.stack); res.status(500).send("알 수 없는 에러가 발생하였습니다. 관리자에게 문의해 주세요."); }); 인자 3개를 선언하면 일반적인 미들웨어고 에..

TIL

오늘 한 일 팀 프로젝트 완료 및 발표 내일 할 일 소켓io 및 웹 서버 연동 회고 일주일간의 세번째 프로젝트가 끝이 났다. 필수로 구현해야할 기능은 모두 구현이 완료되었지만... 소켓io를 이용한 서버 연동은 구현하지 못하였다. 하지만 이번 새 발제를 통해 확인해 보았을때 강의로 소켓io을 배우는 듯 하니 이 강의를 통해 구현하지 못한 기능을 구현하면 좋을것 같다는 생각이 든다.

2조 2f:else 회고록

1. 한 주의 흐름 1) 한 일 프로젝트 명: Laund:f 필수 작업: 로그인/로그아웃 , 회원 가입 , 세탁 서비스 신청 , 신청한 세탁 서비스 상태 파악 , 손님들이 신청한 세탁물 조회, 조회 된 세탁물 중 하나 진행, 작업 중인 세탁물 상태 업데이트 , 세탁 서비스 평점 및 리뷰 조회 추가 작업: 별점 반개 구현 2) 느낀점 정훈 - 쉽지않은 프로젝트 였지만 기초를 쌓아가는 단계라고 생각하고 많은 성장을 했던 프로젝트 였던것 같다. 처음 구상했던 모든 기능을 구현하지 못해서 아쉬운 점이 있지만, 구현하지 못해서 못한게 아닌 시간이 부족하여 못했다고 생각하고 테스트코드와 socket.io등 추가로 공부를 더 해봐야 할 것 같다. 다들 고생많이 하셨고 다들 잘하셨으니 기운내셔서 좋은 개발자가 됩시다😎..

TIL

오늘 한 일 사업자 로그인, 사업자 회원가입, 사업자 로그인 검증 미들웨어 기능 구현 내일 할 일 테스트 코드 작성 소켓 기능 구현 회고 나에게 주어진 로그인,회원가입,소켓io 기능 중 두가지 기능을 완료하였다. 이제는 실시간으로 모든 클라이언트에게 알람을 띄워주는 소켓 기능만 구현하면 된다. 또한, 테스트 코드를 작성한 후 합치고 css 등을 작성하면 될 것이다.

3계층 아키텍처

3계층 아키텍처란? - 애플리케이션을 3개의 논리적 및 물리적으로 계층을 나누어 구성한다는 의미이다. 하나의 기능을 수행하는 코드를 각 계층으로 나눌 시 유지/보수가 쉬우며 별도의 개발 팀에 의해 동시에 개발될 수 있고 또한 다른 계층에 영향을 주지않는다는 장점이 있다. 크게 컨트롤러 / 서비스 / 레퍼지토리로 나누게 되는데, 컨트롤러는 클라이언트에서 요청이 왔을때 그것을 서비스로 전달하고 서비스에서 가공된 데이터를 다시 클라이언트에게 전달하는 구조다. 다음 서비스는 비즈니스 로직을 사용하는 최중요 코드이다, 이 계층에서 핵심 기능들이 수행된다. 마지막으로 레퍼지토리 계층은 전달받은 데이터를 이용해 데이터베이스와 직접적인 연결이 이루어지는 계층이다. 데이터베이스에서 데이터를 가져와 전달하거나 전달받은 데..