1 minute read

미로 같은 도서관에서 빠르게 책을 찾을 수 있는 솔루션

도서관에서 사람들이 책을 못찾아서 한숨을 쉬고 사서들이 비효율적으로 책 정리하는 광경을 봐서 책 위치를 지도로 알려주면 사람들의 스트레스를 줄일 수 있을 거라고 생각해서 만들었다.

바코드 인식 기능까지 넣어서 사서들이 책 위치 검색 후 효율적으로 책을 정리할 수 있게할 계획도 있었다.

이 앱 만들려고 듀이십이진법, 정보 디자인, SVG를 공부했다.

그래서 이제 책 위치 정보만 모으면 되는데..

여름방학 때 새 도서관을 짓기 위해 책을 임시서고로 옮긴다는 소식을 들었다.

방학때는 사람들이 도서관에 잘 안 가니 유통기한 10주짜리 앱이 될 상황이다.

백엔드 만들 때 배운 점

  • 책 위치 정보 수집 후 파싱을 위한 헬퍼 함수를 만들었다.

리스트에 함수들을 각각 적용하는 apList

const apList = (list, ...fns) => fns.map((f, i) =>f(list[i]))

리스트의 인자가 술부 함수를 모두 만족하는지 확인하는 everyAp

const everyAp = (list, ...fns) => list.length === fns.length && l.map((l, i) =>fns[i](l)).every(Boolean)

함수 이름의 정확성에 의문이 들지만 함수형 코드와 명령형 코드를 조합할 때 유용하다.

프런트엔드 만들 때 배운 점

  • 무한 스크롤을 적용해서 자연스러운 UI흐름을 만들었다.
  • leaflet 라이브러리를 순수함수로 감싼 후 사용했다.
const map = drawMap('map')
const box = drawRectWithIndex(map)(10)
const shelf = getShelf([1, 2])
drawShelf(box)(shelf)

</pre>