목록분류 전체보기 (291)
궤도
오늘은 프론트(react native)로부터 이미지를 받아와 저장할 것이다. 이렇게 찍히는 이미지들을 저장해야 하는 것인데...열심히 검색을 해보았다. krpeppermint100.medium.com/js-react%EC%97%90%EC%84%9C-express%EB%A1%9C-%EC%9D%B4%EB%AF%B8%EC%A7%80-%ED%8C%8C%EC%9D%BC-%EC%98%AC%EB%A6%AC%EA%B8%B0-multer-f398adf6dbdd [JS]React에서 Express로 이미지 파일 올리기(multer) 페이스북과 인스타그램과 같은 SNS는 물론 지금 사용하는 블로그부터 왠만한 웹 서비스는 이미지 업로드를 지원합니다. front-end에서 React를 사용하여 Express 서버로 이미지를 전..
이 글은 2020년 6월부터 12월까지 진행한 프로젝트 '별들 사이'의 기획 과정을 정리한 글이다. 6월부터 8월까지는 동아리의 공식 여름방학 프로젝트 기간이었고, 그 이후 팀원들과의 회의를 통해 출시를 결정한 뒤 12월까지 프로젝트를 이어나갔다. play.google.com/store/apps/details?id=com.king42.star42 별들 사이 - Google Play 앱 반짝이는 별들 사이 단 하나의 별을 향한 모험. 별을 사랑하는 인공위성 카이트 42호는 어느 날 웜홀 설계도를 발견합니다. 설계도를 토대로 웜홀을 만들어 별에 가겠다고 결심하지만, 카이트 42 play.google.com 별들 사이는 현재 구글 플레이 스토어에서 다운받을 수 있고, 아쉽게도 ios는 지원하지 않는다. (홍보..
이 글은 2019년 12월부터 2020년 2월까지 진행했던 겨울방학 프로젝트 '앨리스, 추락해도 괜찮아'의 기획 과정을 정리하는 글이다. 왜 이제서야 글을 작성하냐면... 사실 많아보이지만 '별들 사이'보단 훠얼씬 적다. 그렇지만 결코 적은 양은 아니라서...암튼 해보자 그 전에 저게 어떤 게임인지 궁금해 할 수 있으니까 www.instagram.com/falling.alice_king/?hl=ko 게임 다운로드 링크는 아니구...게임 소개 링크이다. 인스타그램을 메인 컨셉으로 잡았기 때문에 실제로 계정도 팠다. 그럼 무슨 얘기부터 해야할까... 팀 합류 과정 우리 팀은 총 4명이었고, 내가 제일 마지막에 합류했다. PM님께서 그래픽, 코더를 모두 맡고 계셨고 다른 두 분도 코더로 포지션을 정한 상태라 ..
지난 2주간의 YOLOv3 설치 삽질이 지나고 드디어 이미지 라벨링을 시작한다. 안타깝게도 욜로 설치에 대한 정보를 이 블로그는 줄 수 없다. 난 하다가 포기하고 다른 팀원이 설치했기 때문에... 그래도 학습데이터를 위한 라벨링은 할 수 있다. 일단 난 아나콘다가 있으니 blog.naver.com/PostView.nhn?blogId=mingu216&logNo=221302426428 labelImg 설치법 (Windows 10 Anaconda+Python3.6) 확실한 방법은 아니는데 저도 Trial and Error을 통해 설치 했습니다. 과정을 설명 해 드리겠습니다. 일... blog.naver.com 이 블로그를 따라하자 lxml 다운로드 때 파이썬 버전을 알아야 하는데 그냥 아나콘다 cmd 열어서 ..
지난번에 미니모의고사를 만들었다. 만들었으면 그걸 관리하는 페이지도 있어야 한다. 그러니 이번에는 사용자가 만든 시험지를 볼 수 있는 시험지 리스트를 만들어보자. 시험지 리스트 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..
지금 구현하고 있는 VIVA에는 항상 반복되는 코드가 하나 있다. let result = await models.student.findOne({ where: { stu_id: req.query.stu_id } }); const user = result.dataValues.stu_sn; 바로 stu_id를 pk인 stu_sn으로 바꾸는 이 코드이다. 이걸 모듈화해서 코드 중복을 없애도록 하자. routes 폴더 아래에 lib 폴더를 만들고 func.js라는 파일을 만들었다. idtosn.js로 할까 했지만 나중에 저기에 다른 것들이 더 추가될 수도 있으니까... routes/lib/func.js var models = require('../../models'); var user_sn = {}; user_s..
오늘은 사용자 오답노트의 문제를 기반으로 사용자 맞춤 문제를 제공하는 시험지를 만들어 볼 것이다. Q. 맞춤 문제면 딥러닝인가요? A. 아니요 사실 데베에 문제별로 해당 문제의 유형을 저장해놨다. 그니까 사용자가 오답노트에 넣어놓은 문제들의 유형을 뽑아내어 해당 유형의 문제들을 랜덤으로 가져오면 되는 것이다. 난이도 선택은 기획 때는 있었으나...지금은 없다. 메인 기능이 아니니까 빠져도 괜찮다... 그럼 생성이니까 post만 있으면 될까? 아니다. 미니모의고사 생성시 사용자는 시험지 생성에 참조할 오답노트를 선택할 수 있다. 그러니 get으로 사용자가 선택할 수 있는 오답노트를 알려줘야 한다. 선택 가능한 오답노트 보여주기 단순히 프론트에서 넘겨주는 stu_id로 사용자 찾아내서 그 사용자가 갖고 있는..
사건은 이렇게 발생했다. let pb_candidate = await models.problem.findAll({ attributes: ['pb_sn'], include: [ { model: models.workbook, where: { workbook_publisher: 'Gyoyuk' } } ], where: { pbtype_sn: { [Op.in]: type_list } } }); ~대충 sequelize로 join을 시도한 코드~ 그리고 이런 오류메세지를 만났다. workbook is not associated to problem 허어...그럴리가 없는데... models/problem.js workbook_sn: { type: DataTypes.INTEGER, allowNull: false, r..