목록mysql (11)
궤도
https://victorydntmd.tistory.com/321 [SpringBoot] Mysql 연동 개발환경 IntelliJ 2019.02 Java 11 SpringBoot 2.1.7 mysql-connector-java:8.0.17 Gradle 5.6 스프링부트 프로젝트를 생성할 때, 내장된 데이터베이스 h2가 아닌 MySQL을 사용하려고 했습니다. application.p.. victorydntmd.tistory.com 여기를 따라할 것이다. implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'mysql:mysql-connector-java' 이거 2개 추가 spring: datasource: dr..
지난번에 미니모의고사를 만들었다. 만들었으면 그걸 관리하는 페이지도 있어야 한다. 그러니 이번에는 사용자가 만든 시험지를 볼 수 있는 시험지 리스트를 만들어보자. 시험지 리스트 routes/test.list.js(시험지 리스트) //미니모의고사 가져오기 //localhost:3001/api/test/list?stu_id=samdol router.get('/', async function (req, res, next) { let result = await models.student.findOne({ where: { stu_id: req.query.stu_id } }); const user = result.dataValues.stu_sn; //사용자가 보유한 미니모의고사 let test_list = awai..
오늘은 사용자 오답노트의 문제를 기반으로 사용자 맞춤 문제를 제공하는 시험지를 만들어 볼 것이다. Q. 맞춤 문제면 딥러닝인가요? A. 아니요 사실 데베에 문제별로 해당 문제의 유형을 저장해놨다. 그니까 사용자가 오답노트에 넣어놓은 문제들의 유형을 뽑아내어 해당 유형의 문제들을 랜덤으로 가져오면 되는 것이다. 난이도 선택은 기획 때는 있었으나...지금은 없다. 메인 기능이 아니니까 빠져도 괜찮다... 그럼 생성이니까 post만 있으면 될까? 아니다. 미니모의고사 생성시 사용자는 시험지 생성에 참조할 오답노트를 선택할 수 있다. 그러니 get으로 사용자가 선택할 수 있는 오답노트를 알려줘야 한다. 선택 가능한 오답노트 보여주기 단순히 프론트에서 넘겨주는 stu_id로 사용자 찾아내서 그 사용자가 갖고 있는..
우리의 앱에선 오답노트를 클릭하면 이렇게 노트에 있는 문제들을 하나하나 볼 수 있다. 보다시피 문제 삭제 기능도 있다. 프론트에서는 사용자의 아이디인 stu_id와 선택한 오답노트의 pk인 note_sn을 넘겨줄 것이다. 그럼 나는 해당 오답노트의 페이지들을 하나하나씩 반환해야 한다. 페이지는 문제, 답, 풀이로 구성되어 있으며 페이지네이션을 하려면 전체 문제 수도 넘겨줘야 하고 현재 문제가 몇 번째 문제인지도 알려줘야 한다. 그리고 각 문제들에 대한 삭제 기능도 구현해야 한다 오답노트 페이지 내가 넘겨줘야 하는 정보들을 다시 정리해보자 1. 노트 이름 2. 전체 문제 수 3. 현재 문제가 몇 번째 문제인지 4. 문제 이미지 5. 답안 6. 풀이 이미지 뭐가 많은 것 같지만 할 수 있다. 왜이렇게 화질이..
이건 처음에 CRUD 구현했을 때 이미 한 부분이지만 그냥 정리한다는 의미에서 적어본다. 사용자 정보 수정창이다. 프로필 사진과 닉네임 그리고 학년을 바꿀 수 있다. 정보 수정 routes/user.profile.js // Update userInfo //localhost:3001/api/user/profile/samdol router.put('/:stu_id', function (req, res, next) { const id = req.params.stu_id; let body = req.body; models.student.update({ stu_nick: body.stu_nick, stu_grade: body.stu_grade, stu_photo: body.stu_photo }, { where: ..
제목을 뭐라고 하면 좋을지 모르겠어서 저렇게 대충 썼다. 범용성이 떨어지는 제목이 됐으나, 이게 최선이었다. 아무튼 이 게시물에서는 내 책 리스트를 만들 것이다. 사용자가 보유한 책들을 일반교재/학원교재/오답노트로 나눠서 보여주고, 각 책들에 대한 삭제 기능과 오답노트에 대해서는 수정 기능도 넣어줄 것이다. 아 그리고 검색 기능에선 할 수 없던 오답노트 생성 기능도 넣을 것이다. 얘네들을 구현하면 된다는 것이다. 책 리스트 가져오기 사실 이건 이미 했었다. myunji.tistory.com/151 [백엔드] Node.js + Sequelize + MySQL 메인 화면을 만들어보자 지난 시간에 회원가입과 로그인을 구현했다. 로그인을 했으면? 이제 메인 화면이 나와야 한다. 우리의 메인화면 프로토타입이다. ..
교재 검색 기능을 만들 것이다. 우리 앱에서 검색창을 열람할 수 있는 방법이 대충 5개?정도 되는데 다행히 그 경로 전부 같은 검색창을 공유한다. api를 1개만 만들어도 된다는 뜻이다. 다행이다. 뭐 이렇게 검색어를 입력하면 제목에 해당 검색어가 포함된 교재들을 불러올 것이다. 그 교재들에 대해 내 문제집 또는 학원 문제집으로 추가할 수 있게도 해야한다. 각 기능에 대한 자세한 설명은 아래에서 하도록 하고 대충 이런 기능을 구현할 것이라는 것만 언급하고 넘어간다. 교재 검색 검색 기능을 구현할 때 신경써야 할 부분은 2가지이다. 1. 제목에 검색어가 포함된 교재를 잘 불러오기 2. 사용자가 이미 가지고 있는 책은 검색 결과에서 제외하기 1번이야 당연한 말이고...2번은 초기 기획에서 약간 수정된 부분이..
지난 시간에 회원가입과 로그인을 구현했다. 로그인을 했으면? 이제 메인 화면이 나와야 한다. 우리의 메인화면 프로토타입이다. 화면을 보면 내가 줘야 하는건 다음과 같다. 1. 유저의 '닉네임', '학년', '프로필 사진' 2. 유저가 보유하고 있는 '내 문제집', '학원 교재', '오답노트' 프론트에서 교재의 종류마다 api를 다르게 해서 달라고 했으니 내가 만들어야 하는 api는 이렇게 되는 것이다. 1. 유저 정보 2. 유저의 내 문제집 3. 유저의 학원 교재 4. 유저의 오답노트 이제 시작해보도록 하겠다. app.js app.use('/api/user/register', require("./routes/user.register")); app.use('/api/user/login', require("..