이번 문제를 가져온 이유는 아시는분들은 쉽게 풀었겠지만 for문 하나로 2개의 배열 값을 구할 수 있다는 것을 처음 알았다!!! function solution(a, b) { let num = 0 for(let i =0 ; i < a.length ; i ++){ num += a[i] * b[i] ; } return num } 처음에는 for문을 두개 돌렸는데 두개를 돌리고 보니 이후에 어떻게 해야할지 모르겠어서 찾아보았는데 껄껄껄 이런 이득이... 하나 헷갈리는 부분도 있었다. 배열의 n의 길이를 구할때 n-1을 구해야 한다!! 그러니 for문으로 index 값을 구할때 1
처음 이 문제를 직면했을때 길이를 2로 나누었을 때 0인경우와 아닌 경우, slice를 이용해 자리수를 잘라내면 될 것 같은데 까지는 생각했으나 그 이상으로 무엇을 해야하는지 알 수가 없었다. 초기에 작성해 본 식 function solution(s) { const middle = s.length % 2 if (middle === 0) { } } 그리고 아무생각이 없음... slice를 어떻게 써먹어야하는지.. 이렇게 저렇게 해보았으나 빨간 글자들 뿐..😬 그래서 이번 문제는 chat GPT의 도움을 받아보기로.. 😭 function solution(s) { const middle = Math.floor(s.length / 2); return s.length % 2 === 0 ? s.slice(middl..
1. Router 설정 상세페이지는 동적으로 표현하기 위해 router를 이용해 동적 경로를 이용 import { Navigate, RouterProvider, createBrowserRouter } from "react-router-dom"; import Home from "./components/pages/Home"; import Error from "./components/pages/Error"; import Detail from "./components/pages/Detail"; const router = createBrowserRouter([ { path: "/", element: , errorElement: , }, { path: "/:detail/:id", element: , }, { pat..
이번 과제에서 리덕스를 사용해서 상태 관리를 해야하는데 도대체 왜 사용해야 하는지 언제 어느 부분을 수정하면 좋을지 전혀 감이 오지 않았다. 그래서 알아본 것들을 기록해두고자 한다.😳 1. Redux 사용 시점 여러 컴포넌트에서 공유하는 상태가 많을 때 공유되는 상태가 많고, 이 상태들이 여러 컴포넌트에 걸쳐 있을 때 Redux는 중앙 집중식 상태 관리를 제공하여 코드를 더 깔끔하게 관리할 수 있도록 도와준다. 상태 업데이트 로직이 복잡할 때 상태 업데이트 로직이 여러 단계를 거치거나, 다양한 조건에 따라 상이할 경우 Redux의 미들웨어, 리듀서(reducer) 등을 사용하여 이러한 로직을 체계적으로 관리할 수 있다 상태의 일관성과 예측 가능성을 유지해야 할 때 Redux는 엄격한 규칙을 가지고 상태 ..
Git Commit 메시지 작성 기본 원칙 명확하고 간결하게 commit 메시지는 간결하면서도 변경 사항을 명확하게 설명해야 한다. 제목과 본문 분리 일반적으로 메시지는 제목과 본문 두 부분으로 나뉘고 제목과 본문은 빈 줄로 구분한다. 제목 형식 유지 제목은 대문자로 시작하며, 50자 이내로 제한하고, 끝에 마침표를 붙이지 않아야 한다. 명령어 : git commit -m "제목" 본문 작성 본문에서는 변경 사항에 대한 상세한 설명, 변경의 이유, 추가적인 정보를 제공한다. 본문은 한 줄에 72자 이내로 제한하는 것이 좋다. 명령어: git commit 엔터 이후 본문 작성 명령조 사용 제목은 명령조로 작성하는게 좋다. ex) "Fix bug" 또는 "Add feature" Git Commit 메시지 작..
git status scurce control 가서 수정된 파일, 추가된 파일 하나씩 비교하며 꼭 확인하기 git add . 앞에서 확인한 파일들 전부 추가하기 git pull origin main git에 올라가 있는 파일 당겨오기 ** git pull origin main 하는 이유! 경로확인, 브랜치 확인, 내가 올리기 전에 다른 사람이 수정한 파일이 있는지 확인하기 위해 git commit -m ' ' ** ' ' 안에 들어갈 내용으로는 push 하는 파일에 대한 내용을 간략하고 명확하게 기재해야 한다. ⭐만약 기존 파일을 수정한 것이 아니라 기능을 추가했다면 " Feature: " 라는 키워드 넣어주기 ex) ' Feature: 리뷰기능 추가 ' git push origin 는 push 되어야 ..
git checkout -b 브랜치이름 💡 git checkout -b 명령어를 사용해 새 브랜치 생성 git switch-c 브랜치이름 💡 git switch-c 으로 브랜치를 생성함과 동시에 브랜치를 이동할 수 있다. 기존 git commit history 삭제 💡rm -rf .git/ 기존 git을 삭제할 수 있다. 🚨기존 git commit history 삭제 희망 시 프로젝트 폴더에서 git 파일 삭제 필요
import React from "react"; import LetterItem from "./LetterItem"; import styled from "styled-components"; export default function LetterList({ letters, text, onDeleted, onEdit, personName, }) { return ( {text} {letters ?.filter( (letters) => !personName || letters.personName === personName ) .map((filteredLetter) => ( ))} ); } 구현하고 싶었던 것 letters를 filter하는데 personName이 있으면 personName과 일치하는 리스트를 넣..
이런 에러가 나서 구글링을 했는데 어떤 천사분께서 너무 명쾌하게 답을 적어 두셨다. ❓map이 reading할게 없다고 화를 내는 중이다. 수정 전 코드 export default function LetterList({ letters, text, onDeleted, onEdit }) { return ( {text} {letters.map((letter) => ( ))} ); } 수정 후 코드 export default function LetterList({ letters, text, onDeleted, onEdit }) { return ( {text} {letters?.map((letter) => ( ))} ); } 💡letters?.map으로 바꿔주면 letter가 있을때 map을 할 것이기 때문에!!..
에러를 보니 prevLetter is not iterable interable 에러는 Array, String, Map, 생성자 결과와 같은 것이 " 너 지금 값 잘못주고 있잖아!! 나보고 어쩌라고!!! " 하고 화를 내는 것이다. 수정 전 코드 const onSubmit = (prevLetterse) => { const newLetter = [...prevLetterse].map( (prevLetters) => prevLetters.id === letters.id ); setLetters(newLetter); }; 내가 생각했을 때에는 const onSubmit = (이전 배열들) => { const newLetter = [...이전 배열을 펼쳐서].map( (이전배열에) => 이전 배열들의 아이디 중..
- Total
- Today
- Yesterday
- Warning: Each child in a list should have a unique "key" prop.
- readme 이미지 추가 방법
- axios CRUD
- 유효성검사
- 영화 별점
- readme작성해보기
- Warning: A component is changing an uncontrolled input to be controlled.
- styled component GlobalStyle 사용방법
- axios 설치하기
- 에러모음집
- 별점 색채우기
- styled component 조건부 사용방법
- 영화별점만들기
- git cache
- 별점만들기
- readme 역할
- readme 작성 방법
- 유효성검사 css
- axios instance 작성하기
- Fetch와 Axios 의 장단점
- styled component 설치방법
- axiosinstance 사용 시 토큰 사용 법
- Warning: validateDOMNesting(...): <li> cannot appear as a descendant of <li>
- nextjs 토큰 만료처리하기
- simple Icon 사용방법
- axios 사용하기
- styled component 사용방법
- readme 작성해야 하는 이유
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |