본문 바로가기
728x90

code.camp27

Callback, Promise, Async Await, 프로미스체이밍, 비동기 콜백 8/16 프로그래머스 예산 반복문 안에서 budget 0이냐 아니냐를 했다 더 쉽게 하면? for문 async await = 최신 그럼 그 전은? Callback, Promise, Async/Await callback = qqq를 함수로 받을것 엔터하면? 1번째로 찍히고 2번째로 찍힌다 이런 함수를 callback함수라고 한다 (나중에 요청해도 실행되는 함수) 화살표 함수로 바꾸면? 실행결과 똑같다 이것도 콜백함수 똑같다 이것도 위아래 같은 것 Callback함수를 만드는 이유 = 원하는 위치에서 실행하기 위해 만드는 것 비동기 콜백 백엔드에 요청을 해놓고 요청이 끝나면 이 함수를 실행해줘! 자바스크립트에서 제공하는 기능 오래전에 많이 쓰던 것 axios get이랑 같다 요청 끝나면 실행해줘~ Callb.. 2021. 10. 23.
지도API, appKey, 카카오지도 8/12 오늘은 지도API 관해서 배웠다. 지도API는 크게 구글지도, 네이버지도, 카카오지도 등이 있다. 이들은 크게 비용적인 차이, 세부적인 기능간 차이 등이 있다. 나는 1일 30만회 무료 요청인 카카오지도를 적용해봤다. 기억해야할 중요한 포인트는 2가지가 있다. 1. appKey 요청을 받아줄 도메인을 적어줘야 합니다. 프론트엔드에서 사용되는 appkey는 숨길 수 없다. 이러한 key를 제공하는 제공업체에서는 어떠한 도메인에 응답해줄지 도메인을 적도록 되어있다. 이후에 배포를 진행하고 도메인이 만들어지면, 카카오맵에도 적용해 주어야 합니다. 2. 브라우저에서 router.push로 이동할 때, 카카오 기능이 로딩되기도 전에 실행되어 문제가 발생했다. 따라서, kakao 기능이 로딩이 완료될 때까.. 2021. 10. 23.
웹에디터, 다이나믹 임포트, 웹 공격, react-quill 8/10 작성한 내용의 앞 뒤로 등의 태그를 붙여서 데이터베이스에 저장했을 뿐이었다. 이 내용들이 문자열이 아닌, 태그의 기능 그 자체로 인식하게 만들기 위해 dangerouslySetInnerHTML 이라는 속성을 사용해서 해결했다. 여기서 한가지 호기심이 생길 수 있다. 태그처럼 자바스크립트로 해킹 기능을 작성하면...? 이 때, 누군가 글 상세보기를 클릭하면, 작성된 자바스크립트 코드가 실행될 것이고, 해킹(예, 토큰 탈취, 탈취된 토큰으로 유해 게시물 생성 및 중요 게시물 삭제 등)을 당할 수 있다. react-quill 라이브러리에서는 이를 사전에 차단해 준다. (태그를 의미하는 단어인 '' 등을 &lt, &gt와 같이 변경하여 차단) 하지만, react-quill만 믿고 방심 했다가는, 다른 .. 2021. 10. 23.
브라우저 저장소, 저장소 특징 비교, 비회원 장바구니, 오늘 본 상품 8/9 오늘은 브라우저 저장소에 관해서 배웠다. 변수에 데이터를 넣어 놓았더니, 새로고침시에 저장된 데이터가 날아가는 현상이 있었다. 이유는 HTML, CSS, JS 를 다시 다운로드 받아서 화면에 새로 그리기 때문이다. 따라서, 데이터를 유지하기 위해 브라우저 저장소에 저장한다. 브라우저 저장소는 크게 쿠키, 로컬스토리지, 세션스토리지가 있다. 각각의 특징을 보면 쿠키: 저장된 데이터가 Backend-API 요청시에 함께 보내짐 로컬스토리지: 브라우저를 껐다가 다시 켜도 저장 정보가 남아있음 세션스토리지: 브라우저를 껐다가 다시 켜면 저장 정보가 사라짐 여기서 브라우저 저장소로 무엇을 할 수 있었나요? 비회원으로 장바구니 담기 => 비회원은 아직 로그인 하기 전이므로, Backend에서 어떤 유저가 장.. 2021. 10. 23.
props data prev?, 정규표현식, 글로벌 스테이트, context API 8/2 이번주는 로그인과 권한분기가 진행되는 아주 중요한 주간이다. 이를 다루기 위해 밑바탕이 되는 글로벌 스테이트를 오늘 배웠다. 여기에 ContextAPI라는 것을 활용할 수도 있고, Redux 또는, ApolloClient의 ApolloCacheState를 활용할 수도 있다고 했다. (여기서는 ContextAPI를 배우고, 사용합니다.) 함수와 props, data, prev 그리고, 정규표현식도 함께 배웠다. 프로그래머스 props data prev?, 정규표현식, 글로벌 스테이트, context API 원래는 props는 관례일 뿐! 철수는 무엇일까요? 영희는 무엇일까요? 훈이는 무엇일까요? prev map prev가 아닌 아무거나 아무거나 써도 됨 정규표현식 홈페이지 확인 방법 @가 있으면 .. 2021. 10. 22.
검색 프로세스, 검색어 결과 표시, 디바운싱 쓰로틀링 7/30 오늘 수업은 검색 프로세스와 관련하여 배웠다. 1. 백엔드의 검색 시스템 구조에 대해서 배웠다. 가장 기본적으로 1)테이블을 풀 스캔하는 방식으로 전체 테이블 로우를 조회하는 방법이 있다. 초기에 빠르게 만들기 위한 방법으로 사용되고, 서비스가 커짐에 따라 이러한 방식은 잘 사용되지 않는다. 이 방법을 개선하기 위해 데이터베이스에 저장할 때, 문장을 키워드 단위로 2)토크나이징하고, 2)역인덱스(inverted index)를 만들어서 저장한다. 이를 쉽게 해주는 데이터베이스 프로그램이 2)엘라스틱서치(ES) 서비스가 더 커지게 되면, 수많은 사람들이 검색하는 데이터는 어느정도의 틀에서 크게 벗어나지 않는다. 따라서, 3)검색어와 매칭되는 검색결과를 메모리에 저장(이를 (검색로그를) 캐싱한다고 한.. 2021. 10. 22.
728x90