본문 바로가기

TIL

(100)
Github PR 로만 merge 하도록 설정 아웃소싱 팀프로젝트를 시작하고 오늘 하루동안 기획과 초기세팅을 끝냈다.한 팀원분이 merge 할때 깃허브 PR 로만 할 수 있도록 깃설정에서 잠금 설정을 하도록 제안하셨다.설정을 해두면 로컬에서 실수로라도 push 하는 불상사를 미리 예방 할 수 있다. ■  Github PR 로만 merge 하도록 설정하기깃허브 Settings 에서 Branches → Add branch ruleset 으로 하는 방법 또는,Rules → Rulesets → New Ruleset → New branch Ruleset 으로 규칙을 설정할 화면에 들어갈 수 있다. Ruleset Name 을 적어주고 Target branches - Add target 을 클릭해서 룰을 설정할 브랜치를 추가한다.Include by pattern..
개인과제 - MBTI 성격 유형 테스트 ③ 발생한 문제 1렌더링이 됐었는데 새로고침을 하니 오류가 발생했다. 🚨 문제 원인첫 렌더링 값이 빈값(중첩된 객체X)이어서 오류가 발생했던 것이었다.// 수정 전return ( {testResult.map((obj) => { return ( {obj.nickname} {obj.date} {obj.result} ); })} ); ✅ 해결 방법testResult 의 길이가 0 이상일때만 렌더링되도록 삼항연산자로 조건을 추가해 렌더링 되도록 수정하니 새로고침을 해도 오류가 발생하지 않았다.// 수정 후 return ( {testResult...
개인과제 - MBTI 성격 유형 테스트 ② 발생한 문제 1테스트 페이지에서 테스트 제출하기 버튼을 누른 뒤 테스트 결과 페이지에 불러올 TestResult 상태를 콘솔에 찍어보았는데 데이터에 유저정보값인 userId와 nickname만 조회되지않았다.// 테스트 결과 페이지const TestResultPage = () => {const [testResult, setTestResult] = useState({}); useEffect(() => { const getResult = async () => { const result = await getTestResults(); setTestResult(result); }; getResult(); }, []); console.log("testResult :>> ", ..
개인과제 - MBTI 성격 유형 테스트 ① (1) 기본 페이지, 컴포넌트 구성페이지Home, Signin, Signup, Profile, TestPage, TestResultPage컴포넌트Layout, AuthForm, TestForm, TestResultList, TestResultItem (2) 레이아웃 컴포넌트 만들기레이아웃을 PublicLayout과  PrivateLayout으로 분리하여 만들었다.// PublicLayoutconst PublicLayout = () => { return ( 로그인 );};// PrivateLayoutconst PrivateLayout = () => { const { logout } = useContext(AuthContext); const navigate = useNaviga..
Axios, TanStack Query, Zustand, 인증/인가 ⚬  리액트 심화 주차 강의 수강 및 복습     - 비동기 프로그래밍, json-server     - axios, TanStack Query     - Zustand     - 인증/인가■  느낀점어제 심화주차 강의 전체를 완강하고 오늘 한번더 정리하고 이해해가면서 복습을 했다. 어제는 처음듣는 말 투성이라서 너무 어렵고 집중하기 힘들었는데 오늘 두번째로 보고 코드도 반복해서 쳐보고 하니 어느정도 이해가 되었다.공부한걸 활용해서 개인과제도 잘 구현해보자!
git pull 동기화 전략 팀프로젝트를 하는동안 팀원들이 작업한 파일이  pull request, merge 가 완료된 후 내 로컬에서 pull 을 하는 과정에서 오류가 발생했다. 현재 로컬과 원격 간의 커밋 반영 상황이 다른 경우 이를 동기화 하기 위해 아래 세가지 방법 중 하나를 선택하라는 경고 메세지이다. ☀︎ git config pull.rebase false : merge 형식으로 받아오도록 설정☀︎ git config pull.rebase true : rebase 형식으로 받아오도록 설정☀︎ git config pull.ff only : fast-forward only 으로 받아오도록 설정 ■  발생 배경원격 브랜치 dev : 커밋 A → 커밋 B로컬 브랜치 mypage : 커밋 A → 커밋 C커밋 A 까지 반영된 원격..
뉴스피드 팀 프로젝트 ⑤ - 마무리, 회고 ■  트러블 슈팅🚨 발생한 문제 ①각자 구현한 기능들 전체 머지 후  오류가 있는 부분이 있는지 브라우저에서 하나하나 눌러보면서 확인했다.게시물을 업로드하고 닉네임을 변경하면 상세페이지에서 게시물 작성자와 댓글 작성자 부분에는 반영이 안되는 오류를 발견했다.내가 구현한 닉네임 변경 로직에서는 닉네임을 변경하면 수파베이스의 유저의 정보(Authentication) 내의 닉네임 값이 변경된다.상세페이지에서는 데이터베이스의 게시글을 업로드하고 불러오는 "posts", "comments" 테이블의 nickname 컬럼 값을 받아오는데,테이블 값으로 게시글을 업로드할때 닉네임만 들어가고 바뀌었을때는 업데이트해주는 로직이 없었다. ✅ 해결방법마이페이지에서 닉네임을 변경하므로 닉네임을 변경 시 "posts", "c..
뉴스피드 팀 프로젝트 ④ - 기능구현(비밀번호 변경) ■ 비밀번호 변경(1) 기본 UI 작성 후 변경할 값을 받을 Input 의 value를 password, newPassword state 와 연결해주기const ChangePassword = () => { const [password, SetPassword] = useState(""); const [newPassword, setNewPassword] = useState(""); const { userInfo } = useContext(EntireContext); // 변경 비밀번호 const onChangePassword = (e) => { setNewPassword(e.target.value); }; // 비밀번호 확인 const onChangeCheckPassword = (e)..