
24.10.25(금)
오늘은 언어수업 화상페이지로 넘어가기 전에 매칭을 하기 위해 supabase 테이블을 만드는 작업을 하려고 realtime에 대한 공부하는 것을 목표로 했다.
그런데, (1) 다른 팀원의 어드민 페이지는 루트레이아웃을 적용하지 않기로 해서 이부분을 같이 해결하고 pull 받은 후에, (2) 어제 내가 작업한 것을 push 하는 과정에서 오류가 생겨 해결하고 (3) 매칭을 위한 realtime에 대한 공부를 진행했다.
우리팀이 PWA를 적용하긴 하지만, 웹페이지도 모바일 버전과 동일하게 만들기로 한지라 무신사 pc페이지처럼 layout.tsx 파일에 적용시켜 두었다.
그런데, 어드민 페이지는 웹 크기로 두기로 했는데 루트 레이아웃을 어떻게 따로 적용시켜야 할지 몰라서 검색을 해보았다.
1) 조건부 렌더링
2) 레이아웃을 적용시킬 페이지와 적용시키지 않을 페이지를 분리
1번 방법으로 해보다가 잘 안되어 2번 방법으로 진행했다.
처음에는 (Layout)/모바일 css를 적용시킬 페이지들, layout.tsx, (NoLayout)/웹 css를 적용시킬 어드민페이지 이렇게 분류했는데,
분류 이름을 명시적으로 하기 위해
-> (mobile)/모바일 css를 적용시킬 페이지들, layout.tsx, (desktop)/웹 css를 적용시킬 어드민페이지 이렇게 바꾸었다.

☄️(mobile), (desktop) 폴더 안 레이아웃 폴더가 있는데 왜 app 폴더 안에도 레이아웃(루트) 폴더가 있어야 하느냐!!??
-> 루트레이아웃은 모든 페이지에서 공통으로 적용되는 레이아웃이라서 app폴더 안에 없으면 넥스트가 아예 레이아웃 못 찾기 때문!!!

git push에 대한 오류를 해결하는 과정이 담겨있다....
error: RPC failed; HTTP 400 curl 22 ~ 이부분에 대해 해결하기 위해 구글에 검색해봤고, 비슷한 오류를 해결하신 분이 계셔서 따라했다.
참고 블로그
이 방법을 했을 땐 여전히 아무런 변화가 없었다.
이건 내 로컬 버퍼 사이즈를 늘려주는 명령어인데, 이걸 했더니 push에 성공했다.
이로써 알게 된 것은, 이미지 용량이 너무 컸던 것이었다.
: PostgreSQL 데이터베이스의 변경사항을 실시간으로 클라이언트에 전달하는 기능
→ 이를 통해 애플리케이션이 데이터베이스 내 테이블에서 발생하는 데이터 추가, 업데이트, 삭제 이벤트를 실시간으로 받아볼 수 있다.
4번은 다른 팀원이 맡으신 기능이라 그 전까지 해보려고 했으나,
화상통신연결 기능을 어느 정도 구현한 후에 하는 순서가 맞을거라는 피드백을 받아 작업 우선순위를 뒤로 미루고 다른 것을 먼저 구현해보기로 했다.