less than 1 minute read

vocabo 프로젝트 되살리기 2

  1. Hangul.js를 쓰면 rangeSearch를 이용하여 자동완성 기능에 필요한 매치 범위를 얻을 수 있다. 따라서 이걸 쓰기로 함.

  2. 검색 기능을 구현하다 보니 지저분해져서 ES6 클래스화를 시켰다.

  3. lambda를 위해 파일 저장소가 아닌 퍼블릭 s3 url로부터 파일을 다운받게 했는데, 찾아보니 람다에서도 임시저장 파일 폴더가 있는 것으로 보인다. 따라서 임시저장 파일이 있는지 먼저 확인하고 없으면 s3로부터 받아서 임시저장 폴더에 저장하게 해야 한다. 그리고, 로컬일 경우는 그냥 로컬 파일로부터만 읽게 하면 된다.

  4. 콜백 함수를 Promise를 리턴하는 async 함수로 바꾸었다.

그런데, this.dictionarystring으로 구현했다가, 생각해보니 이렇게 하면 JSON.parse를 자주 호출해야 하게 된다. 그래서 object로 바꾸었다.

헷갈리는 부분은, 예를 들어 어떤 클래스가 정보를 관리하고, 어떤 async함수로 그 클래스를 업데이트 해야할 때, 그 async 함수의 resolve 부분에서는 그 클래스에 접근이 안 되는 건지 궁금하다. 결국 그냥 바깥에서 할당하게 해서 해결했다.

  1. 업로드한 사이트가 현재 어떤 식으로 apiurl을 설정하는지 기억이 나질 않는다. 일단 로그 출력하게 해서 올려보았다. undefined라는 주소에 접근하고 있었다. 아마도 내가 deploy할 때 주소를 넣은 채로 배포하고 나서 지운것일 수도 있다.

  2. server 람다 api를 먼저 배포했다. 잘 동작한다.

  3. api gateway에서 api 주소 확인 후 그 주소를 사용하도록 클라이언트에서 apiurl을 수정후 배포했다. 권한설정같은게 따로 필요할지도 모른다.

Comments