목록백엔드 (40)
궤도
https://developers.kakao.com/docs/latest/ko/daum-search/dev-guide#search-book Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 이걸 써보려고 한다. 일단 시작전에 postman으로 api를 실행해보겠다. Auth에서 저렇게 설정하고 send 해보면 잘 나온다. 이제 이걸 적용하는게 문제다. 이런저런 구글링을 하니까 RestTemplate라는걸 사용하면 스프링에서 Rest Api를 호출할 수 있나보다. https://spring.io/guides/gs/consuming-rest/ Cons..
나중에 postman으로 찐 명세서를 작성할거고, 이건 그냥 내가 개발할 api들을 정리하는 글이다. https://educated-treatment-631.notion.site/API-7cfe21192e614197a6c9341a450a2c0b 면적면적 API 명세 메소드 educated-treatment-631.notion.site 아무래도 이런건 노션이 편해서 간단하게 정리했다. 과정은 간단하지 않았지만... 생각보다 할 게 많을 것 같다.
'북적북적'에 있는 요소들을 살펴보자 북적북적에 회원가입을 할 땐 이메일, 닉네임, 비밀번호가 필요하다. 구글과 페이스북 연동도 가능하다. 난...연동은 잘 모르니까 이번엔 안할 것이다. 그리고 프로필 변경하기에서 닉네임과 프로필 사진을 바꿀 수 있는데, 프사 하나를 위해 s3 버킷을 쓰는게 옳은 일인가...싶지만 로컬로 해선 어디에 써먹을 수도 없고 해서 그냥 s3 버킷을 쓰기로 했다. 대신 컬러 테마 설정은 뺀다. 그럼 멤버 테이블은 이렇게 되겠다. 메인 페이지엔 사용자가 읽은 책이 날짜 순으로 이렇게 쌓여있다. 맨 위엔 대표 캐릭터가 있다. 북적북적은 사용자의 책을 '읽은 책', '읽고 있는 책', '읽고 싶은 책'으로 나눈다. 그리고 메인화면에 쌓이는건 '읽은 책'이다. 모든 책들은 책 제목, 작..
서론 지난 몇 달동안 인프런으로 스프링을 공부했다. 여전히 아는건...전혀 없지만 그래도 이제 뭐라도 해야 뭐든 프로젝트를 하지 않겠나 싶어서 그냥 간단한 클론 코딩을 해보려 한다. 근데 프론트가 없는 이걸 정말 클론 코딩이라고 할 수 있을까? 없다고 본다... 그렇지만 달리 표현할 말도 없으니 그냥 내 맘대로 용어를 쓰겠다. 뭐 하지 아무튼 뭘 따라해볼까 이것저것 살펴보았다. 일단 처음해보는거니까 테이블이 5개 이하였으면 좋겠고, jpa의 이런저런 요소를 사용해보면 좋고...해서 찾은 것이 바로 https://play.google.com/store/apps/details?id=com.studiobustle.bookjuk&hl=ko&gl=US 북적북적 - 독서 기록 앱 - Google Play 앱 귀여운..
https://myunji.tistory.com/391 [백엔드] 시험지 채점 알고리즘 만들기 (1) 오늘은 이 그림에서 7번을 구현할 것이다. 먼저 시험지를 촬영해서 욜로에 보내면...욜로는 우리가 설정한 클래스의 객체를 찾아낸다. 그리고 제이슨 형태로 결과를 반환하는데 뭐... label : OOO rec myunji.tistory.com 여기에서 이어진다. 저때는 모든 객관식을 찾은 희망편이었고 이제 절망편을 해야한다. 절망편에는 어떻게 되는지 간단하게 보여주자면 이게 이렇게 된다. 객체를 하나 찾아내지 못해 번호가 앞으로 다 땡겨져 올 것이기 때문이다... 우리가 계속 실험을 해봤는데 다행히 아무리 많이 못찾아도 한 문제당 2개 정도가 최대였다. 이제 보정을 해야한다. 번호 배치는 이럴 수도 있고..
오늘은 이 그림에서 7번을 구현할 것이다. 먼저 시험지를 촬영해서 욜로에 보내면...욜로는 우리가 설정한 클래스의 객체를 찾아낸다. 그리고 제이슨 형태로 결과를 반환하는데 뭐... label : OOO recognition word : OOO w : OOO h : OOO x : OOO y : OOO 객체마다 이런식으로 반환한다. 직접 보여주면 좋겠지만 내 담당이 아니라 여기서 보여주기가 좀 그렇다 우리가 찾아야 하는 클래스는 문제번호, 페이지번호, 객관식 체크 정보, 주관식 답안 정보인데 다른건 다 잘 찾는데 객관식 체크 정보를 아직도 몇 개씩 빠뜨린다. 그래서 백엔드에서 보정해줘야 한다. 일단은 객관식을 다 찾았다는 아주 희망적인 가정을 하고 알고리즘을 짜보겠다. 우리의 테스트 셋이다. 앞서 말했지만 ..
지난번에 미니모의고사를 만들었다. 만들었으면 그걸 관리하는 페이지도 있어야 한다. 그러니 이번에는 사용자가 만든 시험지를 볼 수 있는 시험지 리스트를 만들어보자. 시험지 리스트 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로 사용자 찾아내서 그 사용자가 갖고 있는..