ETC (35) 썸네일형 리스트형 AOS 이벤트가 처음 렌더링 시에만 작동하는 문제 연습문제페이지를 북마크까지 연결하고나니 시각적인 효과를 좀 더 주고싶어졌다간단하게 스크롤 효과를 주고싶어 AOS 스크롤 라이브러리를 사용했다.npm i aos 설치해주고 버튼클릭시 문제id가 변동될때마다 효과가 새로 발생하도록 설정하였다.import AOS from 'aos';import 'aos/dist/aos.css'; const [animation, setAnimation] = useState("fade-right"); useEffect(() => { AOS.init({ duration: 1000, }); AOS.refresh(); }, [currentIdx]);const handleNextQuestion = () => { if (currentIdx { if (cu.. Styled-components: DOM에 전달되는 prop 경고 없애기 기능이 잘 작동되어서 몰랐는데 개발자 모드를 열었더니알 수 없는 경고문들이 가득한 콘솔창이 날 반겨준다. [경고문 원인]HTML의 기본요소는 내가 커스텀한 props들을 알지못하는데 DOM으로 직접 전달되서 발생한 경고문이다.경고문이라서 그냥 넘어갈까 했는데 나중에 팀원이 콘솔창 열었다가 기겁할거같으니 내가 해결해야지 😇다행히 읽어보니 해결방법이 설명되어있다. const CustomRadio = styled.span` width: 2rem; height: 2rem; display: flex; justify-content: center; align-items: center; margin-right: 0.5rem; color: ${({ isChecked, isCorrect, isWrong .. 회원가입시 발생한 문제들 팀원이 OAuth 로그인과 Spring Security 설정을 하고 main 브랜치에 merge했다는 연락을 받았다.집에와서 나도 form 로그인과 회원가입을 구현하는데 다양한 문제가 발생해서 기록해본다.0. 데이터베이스 설정 누락 및 칼럼 없음브라우저에서 회원가입하는데 500 에러가 발생했다.인텔리제이를 열어보니 DB 연결 설정이 없다고하고 application.yml 파일이 사라져있었다.git에 시크릿키랑 DB 정보가 그대로 노출되서 Git 캐시를 삭제하고, 다시 커밋 후 푸시& 풀 을 하면서 파일이 날아간거같다.다시 yml 파일을 재생성.Error starting ApplicationContext. To display the condition evaluation report re-run your .. Java file outside of source root 삼성노트북으로 작업하던 프로젝트를 맥에서 하기위해 git에서 레포지토리를 클론하고 intellij에서 폴더를 오픈하였다.아무리 찾아봐도 Run 버튼이 보이지 않았는데 파일 이미지가 이상하게 보였다.0110..일단 마우스를 올려보니 java file outside of source root 라면서 main 클래스가 실행되지 않는다. 다 맞게 들어가 있는데..뭐가문제인거지검색해보니 가장 쉬운방법이 root directory에 맞춰서 프로젝트를 다시 열어주면 된다는데 나는 아무일도 일어나지않았다.gradlew reload도, clean후 build도 똑같았다.원인 : Spring Boot 애플리케이션 실행 설정 ❌파일의 프로젝트 구조에 들어가서 확인해보니 SDK부터 모듈까지 전부 설정이 되어있지않았다. SDK.. 사용하지않는 Jenkins 종료 및 삭제 포트폴리오를 만들어야해서 이전에 했던 프로젝트를 실행하니 아래와 같이 떴다. CLI로 종료해도 계속해서 자동으로 실행된다.ᐅ lsof -i TCP:8080COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava 4501 sj 9u IPv6 0x15... 0t0 TCP localhost:http-alt (LISTEN)ᐅ kill -9 4501ᐅ lsof -i TCP:8080COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava 44362 sj 9u IPv6 0x9a4... 0t0 TCP localhost:h.. 비동기 일부 요청 실패 문제 : 해결(Promise.allSettled()) 평소 잘 뜨던 학생대쉬보드 페이지가 다른 계정으로 접속하니 유튜브 API를 활용한 요소만 랜더링되고 나머지는 아무것도 뜨지않았다.코드 정리를 한다고 axios 요청을 하나로 다 묶어버렸는데, 이게 문제가 된거같다. 코드를 확인해보니 확실히 가장 첫번째 fetch 요청이 실패해서 나머지 요청을 실행하지 않는거였다.신규 회원이 가입했을경우 최근에 본 강의가 없어서 빈값이 들어왔을때 요청이 실패하는거라는 생각이들었고,각 요청별로 예외처리를 하지않아서 줄줄이 실패하는 듯.더보기 왜 비동기 요청인데 첫번째 요청이 실패하니까 나머지도 호출이 안되나?- async/await 비동기 코드를 동기코드처럼 작성할수 있어서 자주사용하고 있었는데, 잘 모르고 사용하고있었다.- await을 사용하면 비동기 작업중 어딘가에서.. 게시판 상세페이지 접속시 자동 글 삭제 오류 게시판에 글을 작성하고 접속하면 반짝하더니 작성된 글이 사라지는 문제가 발생했다.아니 왜 자꾸 지워지는거지; 조건문도 달아보고 함수도 바꿔보고 했지만 Delete 함수를 아예 호출도 안한다.호출하기도 전에 지워져버리니 호출할 글이 없어서 페이지 자체가 존재하지않으니까 작동을 안하는거같다.어딘가에서 페이지가 접속할 때 자동으로 지우는거같은데..반짝하고 지우는게 useEffect와 관련이 있을거같다.확인해보니 AxiosDelete가 useEffect로 url이 변경될때마다 실행되도록 되어있었다. 기존의 코드import { useState, useEffect } from "react";import axios from "axios";const useAxiosDelete = (url) => { const [l.. [spring Boot] 403이 뜬 이유 모음 강사가 공지를 등록 api 를 작성하였는데 자꾸 403이 떴다. 1. 서버를 안켜서403 forbidden이 서버를 안켜서 나는 오류였다는거보다 내가 서버를 안키고 이러고있었다는데서 한번 충격. 2. curriculum이 없다고 403 forbidden이 떴다.token에 포함된 username을 이용해서 curriculum을 가져오도록 api를 작성하였는데 왜 없다고 뜨는걸까.../Users/sj/Desktop/homeLearn/Home-Learn/src/main/java/project/homelearn/controller/teacher/board/TeacherBoardController.java:27: error: cannot find symbol .orElseThrow(.. JPA enum 에러 새벽에 JPA 를 어느정도 이해했다고 생각헀는데 또 에러가 났다. AnimationRating enum에 정의되지 않은 값이 데이터베이스에서 조회되어 발생했다고 한다. //Animation.java@Entity @Getter @Setterpublic class Animation { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String author; @Lob private String description; @Enumerated(EnumType.STRING) private AnimationRating rating; .. ERROR! The server quit without updating PID file JPA의 기본적인 사용법을 공부하면서 POST 요청을 보냈는데 mysql에서 에러가 난다고 떴다.팀원이 mysql을 켜지않은거 아니냐고해서 '그럴리가..'라며 서버를 다시 켜봄.mysql.server start근데 아래와 같은 오류가 발생하였다../opt/anaconda3/bin/mysqld_safe: line 647: /opt/anaconda3/data/Kims-2.local.err: Permission deniedLogging to '/opt/anaconda3/data/Kims-2.local.err'.The server quit without updating PID filePID가 업데이트 되지않은채 서버가 종료됬다는게 무슨말이지..?kill -9 pid로 사용중인 mysql을 종료해봤는데 종료가 .. lombok 에러 및 설치 윈도우 노트북에서 m1 맥북으로 바꿨더니 로그인이 되지않는 문제가 발생했다. Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); MemberUser memberUser = (MemberUser) authentication.getPrincipal(); //principal: "누구"에 해당하는 정보 -> 객체타입은 UserDetails :pw,id,auth SecurityContextHolder.getContext().setAuthentication (createAuth(authentication,memberUser.getMember().g.. fetch와 pull git bash만 사용하던 나에게 eclipse의 GUI로 commit, pull, merge하는게 낯설었다. pull도 push 도 뭔가 2개씩 있다.myPage 브랜치를 merge하고 main에 받아왔는데 이걸 어떻게해야 MainPage 브랜치에 가져올 수 있더라..기억나는대로 원격저장소에서 pull을 눌렀는데 아무일도 일어나지 않았다. 값자기 생각이나지않아서 쭉 둘러보는데 fetch가 보였다.git fetch는 원격저장소에 변경사항의 유무를 확인하고, 변경된 데이터를 로컬로 가져오지는않는다. fetch후 다시 pull을 하니 변경된것을 확인! 아직까지는 git bash가 좀더 편한거같다 kakaoMap net::ERR_ABORTED 401 배포된 서버로 접속했을때 지도가 뜨지 않는 문제가 발생했다. 키가 잘못된건가 싶어서 배포 환경키와 vscode의 키를 비교해봤는데 차이점이 없었다. 로컬로 접속했을때는 잘 뜨는데 고민하다가 도메인이 생각나서 들어가봄 도메인이 로컬로 되어있었다. 이거바꾸고 잘 뜨는 것을 확인하였다. CORS 에러 저번주에도 CORS에러가 떴었는데 그때는 내가 도메인을 잘못입력해서 떴었다. 그리고 3일전만해도 잘 작동하는 것을 봤는데 또 CORS 에러가 터졌다. localhost/:1 Access to fetch at 'http://www.주소.com/location?latitude=37.5054946&longitude=126.7655204' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but.. Cypress 이번에 프론트엔드로 테스트를 해보려고 하는데 Jest말고 다른 라이브러리가 써보고 싶어졌다. 몇달전에 cypress를 사용해서 테스트를 하면 빠르고 편하게 할 수 있다는 말을 들어서 cypress를 알아봤고 이걸로 테스트를 하기로 결심했다. 1. Cypress란? 1. 개념 자바스크립트 E2E(End to End test) 테스트를 자동으로해주는 프레임워크이다. 테스트 코드를 작성하고 실행하면 웹에서 어떻게 동작하는지 확인하고 검증 할 수 있다. 주로 E2E테스트를 사용하지만 Unit테스트나 Integration테스트도 할 수 있다. 2. 특징 실시간 리로딩: 코드 변경시 자동으로 테스트를 다시 실행하여 빠른 피드백이 가능하다. 간결하고 직관적인 문법을 사용하여 테스트 코드를 빠르게 작성할 수 있다. 디.. ERROR: Too many re-renders. 작업을하다가 백에서 회원탈퇴를 알람으로 알려주는 것이 아니라 github의 레포지토리를 지울때처럼 동의하는 문구를 입력해야 회원탈퇴게 되게하는게 어떻냐는 의견이 나왔다. 집에와서 바로 모달을 띄워봤는데 Uncaught runtime errors: × ERROR Too many re-renders. React limits the number of renders to prevent an infinite loop. at renderWithHooks (http://localhost:3000/static/js/bundle.js:31011:19) at mountIndeterminateComponent (http://localhost:3000/static/js/bundle.js:34287:17) at beginWor.. kakaoMap 로딩 문제 카카오맵 현재위치로 로드되게만들었다. 하지만 로딩하는데 속도가 10초정도 걸리는 문제가 발생했다. 지하철에서 공식문서를 읽어보면서 오던중 맵의 사이즈를 변경할경우 반드시 relayout()이라는 함수를 써야한다는 글을 보았다. 내가 사이즈를 768px, 400px로 바꿔서 로딩이 느려진게 아닐까 생각이들었다. import React, { useEffect, useState } from 'react'; import styled from 'styled-components'; const KakaoMap = () => { const [map, setMap] = useState(null); const [marker, setMarker] = useState(null); const [state, setState] =.. Kakao map을 구현하며 겪은 에러 구글맵스로 작업을 진행하다가 백에서 지도 어플리케이션을 바꿀 수 있는지 전화가왔다. 비용문제때문에 카카오맵스로 오케이하고 카카오맵을 불러와봤다. 그리고 또 다시 마주친 script unAthrized... 에러1 : ERR_ABORTED 401 (Unauthorized) GET http://dapi.kakao.com/v2/maps/sdk.js?appkey=내토큰내용&libraries=services,clusterer, drawing net::ERR_ABORTED 401 (Unauthorized).env 파일에 REACT_APP_JS_KEY 로 저장을 해두었고 복사해서 붙여넣기를 했는데 위와 같이 떴다. 시도1 : JS key 재발급 => 여전히 같은 에러코드 발생 시도2 : 문자열 그대로 appkey= .. git Untracked files 프로젝트, 이력서, 회고록, 대학교, 챌린지.. 매일매일 정신없이 살아가는데 갑자기 commit도 add도 안되는 문제가 발생했다. Untracked files 가 뜬 이유는 작업중인 디렉토리의 상위 디렉토리에 파일이 생성되어있어서였다. Git은 현재 디렉토리와 그 하위 디렉토리에 있는 파일만 추적하기 때문에, 상위 디렉토리에 있는 파일은 기본적으로 추적하지 않는다고한다. console.log의 결과값 λ 모달창을 다 만들고 닫힘 버튼을 만들었는데 반응이 없었다. props가 제대로 전달되지않는것 같아서 console.log를 찍어보니 처음보는 문자가 출력되었다. 내눈에는 들 입 자로 보이는 이게 대체 뭐지 λ는 정상인가 오류인가? console.log를 찍었을때 λ의 문자가 출력되는것은 정상이아니다, 함수가 상태를 업데이트할때 함수내부에서 자동적으로 생성되는 함수이기때문에 정상이다라는 글을 보았다. 에러는 아니지만 λ가 출력되는 문제를 해결하면서 느낀점은 에러이면서 옳은 출력값이다. 그렇다면 왜 λ 가 출력된걸까? 내경우 굉장히 복합적인 바보같은 이유가 있었다. 우선 처음에 만들때는 모달창을 메인페이지에 하나만 만들었는데 두개가 필요했다. 그래서 왼쪽,오른쪽으로 나누어서 선언해놓고 여전히 이전의 함수를 .. react 초기세팅 에러 다른사이트를 모방하는게 아닌 새로운 서비스를 만들어보자는 제의가들어왔고, 프론트개발자로 프로젝트를하게 되었다. 그런테 초기세팅부터 문제가 발생 할 줄이야.. 에러1 : [eslint] Cannot find module 'node:fs' eslint를 설치하고 실행을 햇는데 아래와 같은 에러문구가 떴다. Failed to compile. [eslint] Cannot find module 'node:fs' Require stack: - /Users/sj/Desktop/cafeeodi/node_modules/synckit/lib/index.cjs - /Users/sj/Desktop/cafeeodi/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js -.. Oatuh에서 본 오류들 아직도 난 허접이야.. 구글로그인 오류 딱 들어가자마 나온것이 승인 차단이었다. 흠..invalid_request, missing redirect_uri.. 공식문서에서 찾아봐도 저 에러메세지는 찾지못했다. 음...대체 왜 차단되는거지.. 비밀번호랑 ID랑 콜백주소까지 제대로 적어두었는데.. 일단 늦어서 기록만 해두자. 자고 일어나서 확인하니 너무 충격적이였다. 아래 코드에 원인이 있었다. import { PassportStrategy } from "@nestjs/passport"; import { Strategy } from "passport-google-oauth20"; export class JwtGoogleStrategy extends PassportStrategy(Strategy, "google.. 백에 데이터 전송 에러 GET 요청 에러 드디어 mongodb파트에 왔는데 처음부터 에러가 떴다.. ReferenceError는 변수의 문제로 알고있다. 값이 없거나 선언되지않았다거나..(조만간 다시 공부하자..) 혼자서 해결해보려했으나 못 찾겠어서 내마음대로 바꿨던 부분을 강의를 보고 다시 똑같이 썻다. 결과는.. 그냥 이름 바꾼거만 바뀌고 에러는 똑같음.. 객체 id 불러오는것을 잘못썼나하고 바꿔봄 못 불러옴... 하지만 콘솔을 찍어보면 잘 나온다. 그렇다면 문제는 pug파일인것인가... ) ) 퍼그 파일을 요리조리 수정해봐도 # 부분이 잘못됬다고만 하고 뭐가 문제인지 모르겠었다. issue에도 없는 내용이고.. 잠시생각해보다가 console에서 값이 뜨는데 못가져오는게 이상해서 return 끝쪽에 video라고 객체를 받.. PUG 사용해보기 1. PUG란? pug는 템플릿을 이용하여 뷰를 만드는 템플릿 엔진이다. 뷰는 사용자가 보는 대상,화면을 말한다. html return export const see = (req, res) => { `Watch video #${req.params.id}©2023 Wetube - All rightsreserved` }; 위와 같은 길다란 html코드를 넣어야할때 pug를 사용하면 단순한문장으로 입력한것을 쉽게 html형식으로 바꿀수있다. 2. 설치방법 1. npm i pug를 입력하여 설치한다. 2. express 에게 html 헬퍼로 pug를 쓰겠다고 server.js 로알려주기.(pug를 뷰엔진으로 설정한다) sever.js에 app.use("viewengine", "pug"); 적으면 된다. 3. p.. 이전 1 2 다음