아무래도 issue를 대량으로 한번에 추가하는건 이상하기 때문에
14개의 컴포넌트들의 레이아웃 생성에 대한 issue 하나를 생성했다.
아무래도 css 및 기능구현보다는 레이아웃 자체를 한번 잡아두는게 중요할 것 같기 때문에
진행하던 부분을 멈추고 각 컴포넌트를 모두 만드는 방향으로 바꿨다.

json data를 만드는 중 유통기한,소비기한을 둘로 나누는 것은 좋지만 사용자가 번거로울 수 있고 유통기한 자체를 시스템이 입력하는 것이 아닌 소비자가 입력하는 것이기 때문에 주관적 소비기한을 원할 경우 소비기한을 유통기한으로 입력할 수 있기 때문에(또는 언제까지는 쓰고싶다는 의미의 기간) 둘로 나눌 필요성을 느끼지 못했다.(유통/소비기한 영문이름이 헷갈려서 그러는게 아니다)

또한 분류 중 채소/야채 또는 조미료/양념이라는 부분을 보고 문자열에 /를 포함시키는 것이 괜찮은지 조금 의아하긴 했지만 json으로 처리하기 때문에 문제 없을 것이라고 판단하고 그냥 진행했다.

만들던 중 기획적인 문제가 보였다.
유통기한을 알려주는 부분이 없고 각 재료를 직접 눌러야만 유통기한을 볼 수 있는 상황인데
이렇게 되면 유통기한을 관리할 수 있다는 부분의 이점은 거의 없다고 볼 수 있다.
아무래도 유통기한을 메인-로그인 페이지에 보여주는게 맞지 않나 생각된다.

json에서 데이터를 받아오는데 두번씩 찍히는 모습이 발견되었는데
생각해보면 예전에도 2~4번까지도 마구 찍혔던 것 같다.
기능 구현에는 문제가 없었기 때문에 여태까지는 그냥 지나갔는데 갑작스럽게 호기심이 생겼다.
이 부분에 대해서는 멘토님에게 질문을 드려야겠다 라고 생각하고 진행하던 중
동기분이 답변을 해주셨는데 개발서버이기 때문에 랜더링이 두번 진행되기 때문에 2번 찍히는게 정상이라고 한다.

중간에 axios를 set으로 저장하자 미친듯이 테러를 당했는데
useEffect 내부에 사용하지 않으면 계속해서 리렌더링을 통해 폭주한다고 한다.
주의해야 할 것 같다.
게다가 setData로 저장을 했지만 useState는 비동기이기 때문에 원하는 값을 console로 바로 주지 않는다고 한다.

한참 진행하던 중 냉장고 부분의 데이터(재료들)을 삭제하는 부분에서 의문점이 생겼다.
json은 data로 시작하고 그 내부로 들어가게 되면 data.xx.id 같은 방식으로 접근은 가능하지만

데이터의 추가 및 제거를 할 경우 id를 json이 관리해주지 않았다. 

당황스러웠지만 현재 id의 마지막 값을 저장한 다음 그 값을 post 할 경우 +1로 갱신하며 새로운 id값으로 활용하는 방식으로 전환했다.

단지 그런 방식을 쓰기 위해서는 냉장실/냉동실 두가지의 id값을 별개로 다뤄야 하지 때문에 두가지를 data 객체 내부에 넣어줘야 했고 그런 방식을 사용하면 기존의 data에서 해당부분만 이용하는 것이 아니라 data 전체 부분을 가져와서 변경된 부분을 제외한 나머지를 온전히 PUT/PATCH 해줘야 했기 때문에 mapping하는 방식과 입/출력방식 또한 전부 바꿔줘야했다.

 

내일은 데이터를 상세조회 및 추가, 수정하는 form을 만들 예정인데 
날짜를 입력할 수 있는 input이 따로 있는 것 같아 관리가 생각보다 쉬울 것 같다.

레시피 조회 및 추천은 api가 아직 없기 때문에 제대로 시작하기 애매한 상황이고

배경화면은 단색 대신 이미지를 넣어주는 작업도 필요한데 아직 이미지가 없기 때문에 미뤄질 것 같다.




CT(1).Drunk Passenger라는 문제는 본인의 자리를 찾을 수 있는 방법에 대해 묻는 문제였다. 여러가지 방법이 있지만 (sum(1~n)/n^2)같은 형식으로 확률이 진행되었다.
2/(2*(i-1))과 같은 형식으로 dp를 구성할 수 있었기 때문에 아래와 같은 코드로 해결할 수 있었다. 정답자가 왜 27명밖에 없는지는 모르겠다.

let input = 300
let dp = [0,0,1]

for(let i = 3 ; i <= input ; i++){
    dp[i] = i/(2*i-2)
}

console.log(dp[input])

'회고' 카테고리의 다른 글

[Main-Project 개발일지]-12  (0) 2022.09.19
[Main-Project 개발일지]-11(주말)  (1) 2022.09.18
[Main-Project 개발일지]-9  (0) 2022.09.16
[Main-Project 개발일지]-8  (0) 2022.09.15
[Main-Project 개발일지]-7  (0) 2022.09.14

+ Recent posts