본문 바로가기

전체 글59

콜백함수 0625 콜백함수 비동기처리 콜백함수의필요성 loadScript('/my/script.js'); // script.js엔 "function newFunction() {…}"이 있습니다. newFunction(); // 함수가 존재하지 않는다는 에러가 발생합니다! 예를 들어 시간이 엄청 걸리는 처리를 자바스크립트한테 시켰는데 특정 코드를 실행시키고 그 다음걸 실행시켜야하는것임. 원래 자바스크립트한테 이걸 콜백처리를 안한채 그대로 시키면 시간이 긴 처리를 뒤로 보내버려서 그 다음코드를 실행시킨다면 에러가 나는데 이를 제어하는 것이 콜백함수인거임 loadScript > newFunction(loadScript안에있는) //이런게 콜백. 이런식으로 콜백선언을 하면 해결할수있음 loadScript('/my/scr.. 2021. 6. 27.
웹저장소 종류 4가지 개발하면서 회원가입/로그인 기능을 구현할때 토큰을 어디다가 저장해야할지 사용자가 짧게 가지고있어야할 정보를 어디에 넣어야할지 고민이 많았는데 웹저장소 개념이 헷갈려서 아무데나 저장한 경우가 더러 있었다. 그래서 이 영상을 참조해 개념을 백업백업 https://www.youtube.com/watch?v=NnvsMCR9DL0 웹저장소 네가지 1. 로컬스토리지 만료기간없이 계속 저장 키벨류 저장소이고 str타입만 지원함 최대저장용량이 많지않음(5mb~10mb) 2. 세션스토리지 브라우저끄면 날아감 자동임시저장용도쯤으로 자주 쓴다고함 3. 인덱스DB 로컬스토리지와 다르게 대용량데이터 저장가능 상대적으로 저수준 API 제공? 본격적으로 저장하겠다면 고려해볼만? 4. 쿠키 저장용량 4kb로 진짜작음 서버데이터 공유.. 2021. 6. 3.
다른 라우터의 결과값이 불러와질때 해결법 오늘 해결한 문제인데 rest api를 사용해 개발을 하던중 이런식으로 url을 짜니까 /popularlist 의 결과값이 // 상품상세보기 productRouter.get("/:id", async (req, res) => { try { const product = await Product.findOneAndUpdate({ _id: req.params["id"] }, { $inc: { views: 1 } }, { __v: 0 }); res.json({ okay: true, result: product }); } catch (error) { res.send({ okay: false }); } };); // 실시간 인기상품 리스트 productRouter.get("/popularlist",async (req.. 2021. 4. 29.
지도데이터를 다룰 때 주의해야할 점 이번 프로젝트에서 카카오 지도 API를 사용했다. 지도데이터하면 경도와 위도를 필수적으로 다룰 수 밖에 없는데 이때 주의할 점이 하나 있다. 기본적으로 우리는 마커(location포함 데이터)에 좌표를 넣어 DB에 저장해두고 그걸 불러오는 로직을 고안했는데 location = [x,y] 식으로 [위도,경도]값을 array에 넣어 DB에 넣어주려했다. 그러나 이 데이터들을 단순 num값으로 DB에 넣으면 (첫번째는 테스트항목이니 무시) 두번째와 세번째는 같은데이터인데 두번째는 number형식이기에 특정 소숫점자리가 반올림된것을 볼 수 있다. 그리고 str형식으로 넣어준 세번째값은 그대로 데이터가 보존되어있다. 이게 왜 중요하냐면 지도좌표에서 0.0001의 위치는 아주 큰차이이기 때문이다. (극단적인 예시로.. 2021. 4. 21.
WIL(Weekly I Learned) , 크롤링(스크래핑)을 짤때 고려해야하는 예외처리 github.com/silano08/TIL-Today_I_Learnd-/tree/main/scrapinggithub.com/silano08/TIL-Today_I_Learnd-/tree/main/scraping silano08/TIL-Today_I_Learnd- Contribute to silano08/TIL-Today_I_Learnd- development by creating an account on GitHub. github.com 이번에 진행한 프로젝트는 스타벅스 클론코딩이었다. 혼자서 ejs엔진을 만지며 되도않는 프론트를 잡고있던 CRUD시기를 지나 프론트(리액트)와 처음 협업하는 프로젝트였기에 더더욱 기억에 남는다. 이번프로젝트에서 배운것이 정말 많지만 그 중 크롤링(원래는 스크래핑이라고 해야한.. 2021. 4. 7.
WIL(Weekly I Learned) , CRUD구현 후기 드디어 얼레벌레 뚝딱만들기위한 웹페이지는 끝이나고 본격적으로 백엔드를 배우기 시작했다. 그 중 선택한 언어는 node js인데 이를 고른 이유는 풀스텍 개발자가 되기에 더 빠른길 같아서..였다. 자바스프링으로 백엔드를 시작하면 프론트까지 하기엔 너무 멀리가버릴것 같아서.. 였다.(결론은 자바스크립트만으로 모든걸 끝내고 싶다는 의미) 저번주에도 WIL을 적었어야했는데 프로젝트하느냐고 정신이 팔려서 적는걸 잊어버렸다.. 모쪼록 이번주엔 nodejs로 구현한 CRUD페이지 후기와 그 다음프로젝트를 위한 선수지식을 리뷰해보도록하겠다. 우선 CRUD기능만 있는 페이지는 밑의 깃허브 주소로 가면 볼 수 있다. github.com/silano08/TIL-Today_I_Learnd-/tree/main/nodejs/pr.. 2021. 3. 29.