본문 바로가기

전체 글

(215)
Big O 알고리즘 스피드는 알고리즘은 step으로 완료까지 걸리는 절차의수로 결정된다. 선형검색 시간복잡도 O(N): N개의인풋에 N개의 스텝이 필요함 상수함수 constant time O(1): 인풋사이즈와 관계없이 스텝이 정해진 알고리즘들 N의 크기와 상관없음 상수에 신경쓰지않는다. Quadratic Time(2차 시간) n^2: Nested Lopps 중첩반복이있을 때 발생 인풋이 10개이면 100번 실행해야하는것 Logarithmic Time(로그시간) O(logN): 이진검색 알고리즘 사용할 때 주의 이진검색은 정렬되지 않는 것에는 사용할 수 없다.
Hash Table, Queue, Stack Hash Table key-value 시스템을 이용하여 정리함 같은 인덱스에서 충돌(collision)이생기면 선형검색 해야 해서 항상 시간복잡도가 O(1)은 아님 Queues , Stacks 추상적 자료구조 Abstract Data Type 구체적으로 존재하지않지만 행동양식들 stacks : First In First Out 버스에 처음으로 들어온사람이 마지막으로 나가는 구조/ 되돌리기, 이전페이지가기(과거로 되돌리기) queue : 비행기 줄 뒤에있는 사람만 추가되거나 삭제되는 것/ 이메일 전달, 앱 푸쉬알림, 쇼핑몰 주문처리방식 콜센터 백엔드전화 온 순으로받기
트위터 클론 :4 Profile화면에서 내 트윗가져오기, user 정보 업데이트하기 profile에서 내 nweet을 가져오기 이 프로필은 내가 누구인지 몰라 아무나의 프로필을 가져올 수 없어 rotuer->profile prop으로 userObj 전달 ✅ 쿼리 필터링하기 [참고] - 컬렉션에서 여러 문서 가져오기: https://firebase.google.com/docs/firestore/query-data/get-data#get_multiple_documents_from_a_collection - 데이터 정렬 및 제한: https://firebase.google.com/docs/firestore/query-data/order-limit-data#order_and_limit_data v.9 ``` import { authService, dbService } from "fbase"; ..
Uncaught Error: Objects are not valid as a React child 에러 해결 Uncaught Error: Objects are not valid as a React child (found: object with keys {providerId, emailVerified, isAnonymous, tenantId, providerData, proactiveRefresh, reloadUserInfo, reloadListener, uid, auth, stsTokenManager, accessToken, displayName, email, phoneNumber, photoURL, metadata}). If you meant to render a collection of children, use an array instead. 문제 원인 React component를 렌더링할 때, 데이터를 ..
트위터 클론코딩: 3 getServerSideProps(context),404page Link로 navigate 하는 법 import Link from "next/link" RouterHook으로 Navigate 하는 법 ex) 유저가 form을 제출하면 클릭하지않아도 자동으로 navigate. const router = useRouter(); const onClick = (id, title) => { router.push(`/movies/${title}/${id}`); }; return ( {results?.map((movie) => ( onClick(movie.id, movie.original_title)} key={movie.id} > nextconfig.js에 영화를 가져오는 url에 apikey 보여주고싶지 않아서 rewrite const nextConfig = { async r..
React component Life Cycle, useEffect Cleanup Life Cycle 리액트 컴포넌트에는 라이프사이클(Life Cycle)이 존재합니다. 리액트 앱을 개발하면서 렌더링 직전에 특정한 작업을 해야 한다던지 ,컴포넌트 업데이트 전후에 처리해야 할 작업이 있을 수 있습니다. 이때 리액트 컴포넌트 라이프사이클(Life Cycle) 관련 함수들을 이용하면 이를 처리할 수 있습니다. 컴포넌트 라이프 사이클 함수 종류는 아래와 같습니다. ▼ will 접두사가 붙은 함수는 어떤 작업을 처리하기 직전에 호출되는 함수이고 did 접두사가 붙은 함수는 어떤 작업을 처리한 후에 호출되는 함수입니다. 컴포넌트 라이프 사이클은 크게 Mount, Update, UnMount 3가지로 분류됩니다. 1. Mount 마운트(Mount)는 DOM 객체가 생성되고 브라우저에 나타나는 것을..
forEach, map 차이점 forEach, map차이점 `forEach` does something for each item of an array. 배열 순회, 아무 값도 반환하지 않음 새로운 배열 반환 `map` does something for each item of an array and makes a new array of the returned values. map의 용도를 제대로 살리려면 return 문이 있어야 합니다 기존의 배열을 이용해, 새로운 배열을 생성할 때 forEach()는 당신의 Array안에 데이터를 변경하려는 것이 아니라 데이터베이스에 저장하거나 로그아웃하는 것과 같은 작업에 유용할 수 있다. var arr = ["a", "b", "c", "d"]; arr.forEach(letter => { conso..
[Firebase]Cloud Firestore vs Realtime Database 파이어스토어 vs실시간데이터베이스 차이점 Cloud Firestore is Firebase's newest database for mobile app development. It builds on the successes of the Realtime Database with a new, more intuitive data model. Cloud Firestore also features richer, faster queries and scales further than the Realtime Database. Realtime Database is Firebase's original database. It's an efficient, low-latency solution for mobile apps tha..