Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[주함] 프로그래밍 언어 검색 #21

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

[주함] 프로그래밍 언어 검색 #21

wants to merge 7 commits into from

Conversation

joohaem
Copy link
Collaborator

@joohaem joohaem commented May 18, 2022

1. 초반에 엄청 버벅임 ... 동작법 익숙해지는 데에 시간을 많이 소요함


2. 할 때마다 실행 클릭하고, 하나씩 닫고 ... 결국 고치고 저장하고 새로고침 했는데 이거 맞나?


3. 차례대로 쭉 풀며 기본 구현사항들 풀어나감,

괜히 제한시간이 있다고 생각하니까 리팩토링보다는 막 갈기게 됨

여유 가지는 연습이 필요할 듯


4. 방향키로 리스트 탐색 + 추가 구현사항 제외하고 1시간 반 정도 소요함

괜히 시간 많다고 느껴지니까 집중력 매우 떨어짐

한 줄 쓰고 인스타 보고 반복,, 쩝 실전 때는 안 그러겠지?


5. LocalStorage 사용해서 새로고침 상태 유지는 귀찮아서 그냥 넘김, 무슨 심보인지 모르겠음


6. 결과적으로 API 캐싱과 디바운스 기능 빼고는 얼추 완성함

디바운스는 react에서 라이브러리 없이 구현했는데, 거기에 갇혀서 useEffect 없이 어떻게 하지 ... 이러다가 못함

근데 이거 막 갈겨서 코드리뷰 할 맛 안 나겠다 싶음 ... 빨리 친구들 코드 봐보고 싶음


7. 해설지도 대충 봐봤는데 API 캐싱 신기 .! 디바운스 기능은 그냥 라이브러리 쓰는 건가~.~

아래는 해설지의 캐싱 기능

const cache = {};

const request = async (url) => {
  if (cache[url]) {
    return cache[url];
  }

  const res = await fetch(url);

  if (res.ok) {
    const json = await res.json();
    cache[url] = json;
    return json;
  }

  throw new Error("요청에 실패함");
};

@joohaem joohaem self-assigned this May 18, 2022
@@ -0,0 +1,15 @@
export default function SearchInput({ $target, initialState }) {
this.$element = document.createElement("form");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

껍데기 엘리먼트를 어디에 만들어주나 고민이었는데 요렇게 할 수도 있겠군요!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants