묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결지금 당장 NodeJS 백엔드 개발 [사주 만세력]
저는 왜 화면대로 되질 않을까요? 원격으로 도움을 요청합니다.
settings.json 에서 3번 위치에 formatOnSave 를 true 로 변경합니다.위에서부터 진행을 못하고 있습니다. Docker도 연결 에러고..... ㅠㅠ 원격으로 도와주실수 없을까요?
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
Request URL:주소 이상함!
const fetchPost = async () => { try { const { data, headers } = await getPosts(params.value); items.value = data; totalCount.value = headers['x-total-count']; } catch (error) { console.error(error); }};TheHeader.vue에서 게시판 클릭 시 PostListView.vue 부분에서 오류가 납니다. 위의 에러콘솔부에 걸려요. 개발자도구에서 콘솔에 찍힌 코드는 하기와 같습니다ㅠㅠ AxiosError {message: 'Request failed with status code 404', name: 'AxiosError', code: 'ERR_BAD_REQUES........} requestURL :GET http://localhost:5173/undefinedposts/?_sort=createdAt&_order=desc&_limit=3&_page=1&title_like= 404 (Not Found) 왜 주소가 위와 같이 찍히는지 모르곘어요!! 제이슨 서버 동작 확인했고, development 모드입니당 ㅠㅠ
-
미해결지금 당장 NodeJS 백엔드 개발 [사주 만세력]
settings.json 에서 3번 위치에 formatOnSave 를 true 로 변경 불가
아래 화면이 나와서 True로 변경할 수가 없습니다.도와 주세요........
-
미해결지금 당장 NodeJS 백엔드 개발 [사주 만세력]
settings.json 에서 3번 위치에 formatOnSave 를 true 로 변경할 수가 없어요
위 화면과 같지 않고 아래 화면으로 나타납니다. 도와 주세요.
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
kubedam init 명령어 부분
전에 질문드렸던 ip주소는 해결되었고, 포트문제 때문인지 밑 사진처럼 오류가 발생하는데 해결방법 있을까요?
-
미해결지금 당장 NodeJS 백엔드 개발 [사주 만세력]
settings.json 에서 3번 위치에 formatOnSave 를 true 로 변경하려는데 강의 화면과 다릅니다.
위 화면이 아니고 아래 화면이 나와서 True로 변경할 수가 없습니다. 도와주세요.
-
미해결지금 당장 NodeJS 백엔드 개발 [사주 만세력]
settings.json 에서 3번 위치에 formatOnSave 를 true 로 변경하는 화면이 왜 다를까요?
-
미해결홍정모의 따라하며 배우는 C++
강의 자료
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 유튜브 무료강의 영상에서 보면 무료 강의자료가 있던데 이 강의는 강의자료가 따로 없는거 맞을까요?
-
미해결홍정모의 따라하며 배우는 C++
a.out
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. a.out 디렉터리로 이동해서 터미널에서 ./a.out 을 치라고 하는 의미를 모르겠습니다. a.out으로 들어가면 이렇게 뜹니다.
-
미해결따라하며 배우는 타입스크립트 A-Z
tsc -w 명령어 실행 오류
강의 영상을 실습하고 직접 실행해 보려고 tsc -w명령어를 입력했는데 다음과 같은 에러가 발생합니다. error TS18003: No inputs were found in config file '/Users/jihyeon/Documents/study/ts_practice/02.types/tsconfig.json'. Specified 'include' paths were '["./src/**/*.ts"]' and 'exclude' paths were '["./build/js"]'. 현재 제가 작성한 tsconfig.json 파일은 다음과 같습니다.{ "compilerOptions": { "rootDir": "./src", "outDir": "./build/js", "target": "ES2015", "noEmitOnError": true, "module": "ESNext", "moduleResolution": "Node", "esModuleInterop": true, "lib": ["ESNext", "DOM"], "strict": true, "strictNullChecks": true }, "include": [ "./src/**/*.ts" ] } 그리고 현제 디렉토리 구조는 다음과 같습니다. main.ts를 따로 지정해서 컴파일 하는 것은 정상적으로 동작하는거 보면 main.ts에는 문제가 없어 보이는데 왜 계속 이런 에러가 발생하는 걸까요? ㅠㅠㅠㅠㅠ
-
미해결스프링 시큐리티
회원정보를 조회하는 API서버가 따로 있을때 로직 분리
웹앱이 API에 요청을 할때도 올바른 대상이 요청하는게 맞는지 별도의 검증이 필요하지만우선 그건 무시하고 순수히 웹앱의 유저 인증만 생각했을때의 이야기입니다.. 프론트 역할을 하는html, css, (바닐라js or jQuery) + spring boot(thymeleaf, spring security) 웹어플리케이션 프로젝트가 있고회원이 있는지 조회할 수 있는 API 서버(DB와 연결된 spring boot)가 별도로 존재했을때 어떤 프로젝트에 어떤 식으로 시큐리티 및 토큰생성 세팅을 해야할지 감이 잘 오지 않습니다.. 제가 구현하고자 하는건 회원/비회원에 따라페이지를 동적으로 바꾸거나 (로그인이 로그아웃으로 바뀐다든지)페이지에 접근을 못하게 하려고 합니다 (마이페이지) 제 생각에는 구현내용 둘 다 API를 굳이 갈 필요가 없기 때문에 웹앱단에서 검증이 이루어져야 할 것 같은데 맞을까요..? API는 회원 유무를 조회한 뒤, 존재하는 경우 단순히 유저정보(or 아예 토큰을 만들어서 넘긴다..?)를 웹앱에 넘겨주는 것까지가 역할이고, 따라서 Spring Security는 여기서 필요하지 않다 웹앱 프로젝트에 스프링 시큐리티 설정을 한 뒤, 스프링부트단에서 API로부터 전달받은 토큰, 혹은 유저정보를 가지고 인증을 처리한다 (하지만 어떻게..?) 이런 흐름이 맞는지 모르겠습니다..
-
해결됨[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기
[Bug?] Nav Bar가 보이지 않아요.
안녕하세요. 강의 보면서, 만들어 보던 중에 아래 2가지 이슈 발견되어 문의드립니다. 꼭 좀 알려주세요!!! Nav Bar : Run 화면에서 보이지 았아요. ㅠStack > Text : Align을 좌측 정렬하였으나, 적용되지 않아요.
-
해결됨시나브로 자바스크립트
filter test 마지막 문제 결과값이 이상합니다.
04. Array 메소드 - (2 of 7) Filter====================================filter의 마지막 테스트 중 원하는 결과값이 나오지 않습니다.강사님의 코드와 동일하게 작성하면const tweetsPostedAfter10pm = posts.filter((post) => { const frenchTimestamp = new Date(post.meta.created_at).toLocaleString('fr-FR'); return new Date(frenchTimestamp).getHours() >= 22; }); //결과 // - Expected "5" // + Received "1"이렇게 나옵니다.저는 한국에 있으니 지역이 문제인 것 같아서 한국으로 설정하고 돌리면 const tweetsPostedAfter10pm = posts.filter((post) => { const koreanTimestamp = new Date(post.meta.created_at).toLocaleString('ko-KR'); return new Date(koreanTimestamp).getHours() >= 22; }); //결과 // - Expected "5" // + Received "0"위처럼 나옵니다.. 콘솔로 데이터를 찍어보니 const tweetsPostedAfter10pm = posts.filter((post) => { const frenchTimestamp = new Date(post.meta.created_at).toLocaleString('fr-FR'); console.log(new Date(frenchTimestamp).getHours()); return new Date(frenchTimestamp).getHours() >= 22; }); //console 1 1 6 NaN NaN NaN 8 7 19 18 NaN NaN ...참고로 ko-KR은 모두 NaN으로 나옵니다.동일한 코드인데 왜 저는 이렇게 나오는 걸까요?? 오타라도 있는걸까요..? + 다른 코드로 해봤는데 9개가 나옵니다; const tweetsPostedAfter10pm = posts.filter((post) => { const date = new Date(post.meta.created_at); // UTC 시간을 한국 시간으로 변환 const koreanTime = new Intl.DateTimeFormat('ko-KR', { timeZone: 'Asia/Seoul', hour: '2-digit', hour12: false }).format(date); // '시' 부분만 추출 const koreanHour = koreanTime.split('시')[0]; const toNumber = koreanHour * 1; console.log(toNumber) return koreanHour >= 22;; }); //결과 // - Expected "5" // + Received "9" ++ 영상을 끝까지 보고나니까 오류가 있는게 맞는 것 같네요!? 저처럼 혼자 삽질하고 있을 학생들을 위해 남겨두겠습니다!
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
경로설정
1.서버를 실행하니 url이 http://localhost:8080/templates/basic/text-basic 여기로 매핑되어있는데 강사님 화면은 http://localhost:8080/basic/text-basic으로 되어있는데 뭐가 문제인가요?모든 url에서 템플릿을 빼니까 화면이 출력되긴합니다코드도 다 똑같이 따라했는데 뭐가 문제인가요..?import lombok.Data; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Controller @RequestMapping("/basic") public class BasicController { @GetMapping("/text-basic") public String textBasic(Model model) { model.addAttribute("data", "Hello Spring!"); return "basic/text-basic"; } @GetMapping("/text-unescaped") public String textUnescaped(Model model) { model.addAttribute("data", "Hello Spring!"); return "basic/text-unescaped"; } @GetMapping("/variable") public String variable(Model model) { User userA = new User("userA", 10); User userB = new User("userB", 20); List<User> list = new ArrayList<>(); list.add(userA); list.add(userB); Map<String, User> map = new HashMap<>(); map.put("userA", userA); map.put("userB", userB); model.addAttribute("user", userA); model.addAttribute("users", list); model.addAttribute("userMap", map); return "basic/variable"; } @Data static class User{ private String username; private int age; public User(String username, int age) { this.username = username; this.age = age; } } }
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
완강이 안됩니다.
모든 강의를 완료하였으나 98.11%에서 올라가지 않습니다.그래서 수료증을 받을 수 없습니다.
-
해결됨Vue 3 시작하기
맥 환경에서 Cmder 대체 툴
Cmder은 윈도우 환경을 위한 툴로 알고 있는데 맥 환경에서는 어떤 툴을 사용하는게 좋을까요? 추천하실만한 툴이 있으실까요? 감사합니다.
-
미해결스프링부트 시큐리티 & JWT 강의
회원정보를 조회하는 API서버가 따로 있을때 로직 분리
당연히 웹앱이 API에 요청을 할때도 올바른 대상이 요청하는게 맞는지 별도의 검증이 필요하지만우선 그건 무시하고 순수히 웹앱의 유저 인증만 생각했을때의 이야기입니다.. 프론트 역할을 하는html, css, (바닐라js or jQuery) + spring boot(thymeleaf, spring security) 웹어플리케이션 프로젝트가 있고회원이 있는지 조회할 수 있는 API 서버(DB와 연결된 spring boot)가 별도로 존재했을때 어떤 프로젝트에 어떤 식으로 시큐리티 및 토큰생성 세팅을 해야할지 감이 잘 오지 않습니다.. 제가 구현하고자 하는건 회원/비회원에 따라페이지를 동적으로 바꾸거나 (로그인이 로그아웃으로 바뀐다든지)페이지에 접근을 못하게 하려고 합니다 (마이페이지) 제 생각에는 구현내용 둘 다 API를 굳이 갈 필요가 없기 때문에 웹앱단에서 검증이 이루어져야 할 것 같은데 맞을까요..? API는 회원 유무를 조회한 뒤, 존재하는 경우 단순히 유저정보(or 아예 토큰을 만들어서 넘긴다..?)를 웹앱에 넘겨주는 것까지가 역할이고, 따라서 Spring Security는 여기서 필요하지 않다 웹앱 프로젝트에 스프링 시큐리티 설정을 한 뒤, 스프링부트단에서 API로부터 전달받은 토큰, 혹은 유저정보를 가지고 인증을 처리한다 (하지만 어떻게..?) 이런 흐름이 맞는지 모르겠습니다..
-
해결됨두고두고 써먹는 유니티 VR
게임 프로젝트 파일 실행방법 문의드립니다!
chapter 4에 주신 게임 프로젝트 파일을 어떻게 unity web editor에 붙여넣거나 실행해야 완성된 게임프로젝트를 실행시킬 수 있는건가요? 제 프로젝트 파일의 assets packages projects setting user setting에 각각 붙여넣어야 하나요? 어떤 파일들을 어떻게 어디에 붙여넣어야 바로 시뮬레이터로 완성된 게임을 실행하고 볼 수 있는지 알려주시면 감사하겠습니다.
-
미해결스프링 시큐리티 OAuth2
spring boot 2.1.4 버전 호환
안녕하세요~프로젝트 구성에 spring boot 2.7.x 버전이라고 나와있는데spring boot 2.1.4 버전에서는 spring-security-oauth2-authorization-server 를 사용할 수 없나요??있다면 어떤 버전을 사용해야 하나요??(spring-security-version 버전은 4.0.3 입니다. )
-
미해결Next + React Query로 SNS 서비스 만들기
로그인 문제
로그인 테스트 해보려는데 try, catch 부분 둘 다 실행되네요?. 리다이렉트가 안되는거 같아요새로 고침하면 로그인 상태는 됩니다. 리다이렉트 안되는 이유가 무엇일까요?'use client'; import style from '@/app/(beforeLogin)/_component/login.module.css'; import { ChangeEventHandler, FormEventHandler, useState } from 'react'; import { useRouter } from 'next/navigation'; import { signIn } from 'next-auth/react'; // 클라이언트에서는 next-auth/react에서 임포트 export default function Page() { const [id, setId] = useState(''); const [password, setPassword] = useState(''); const [message, setMessage] = useState(''); const router = useRouter(); const onSubmit: FormEventHandler<HTMLFormElement> = async (e) => { e.preventDefault(); setMessage(''); try { await signIn('credentials', { username: id, password, redirect: false, }); router.replace('/home'); } catch (error) { console.error(error); setMessage('아이디와 비밀번호가 일치하지 않습니다.'); } }; const onClickClose = () => { router.back(); }; const onChangeId: ChangeEventHandler<HTMLInputElement> = (e) => { setId(e.target.value); }; const onChangePassword: ChangeEventHandler<HTMLInputElement> = (e) => { setPassword(e.target.value); }; return ( <div className={style.modalBackground}> <div className={style.modal}> <div className={style.modalHeader}> <button className={style.closeButton} onClick={onClickClose}> <svg width={24} viewBox='0 0 24 24' aria-hidden='true' className='r-18jsvk2 r-4qtqp9 r-yyyyoo r-z80fyv r-dnmrzs r-bnwqim r-1plcrui r-lrvibr r-19wmn03' > <g> <path d='M10.59 12L4.54 5.96l1.42-1.42L12 10.59l6.04-6.05 1.42 1.42L13.41 12l6.05 6.04-1.42 1.42L12 13.41l-6.04 6.05-1.42-1.42L10.59 12z'></path> </g> </svg> </button> <div>로그인하세요.</div> </div> <form onSubmit={onSubmit}> <div className={style.modalBody}> <div className={style.inputDiv}> <label className={style.inputLabel} htmlFor='id'> 아이디 </label> <input id='id' className={style.input} value={id} onChange={onChangeId} type='text' placeholder='' /> </div> <div className={style.inputDiv}> <label className={style.inputLabel} htmlFor='password'> 비밀번호 </label> <input id='password' className={style.input} value={password} onChange={onChangePassword} type='password' placeholder='' /> </div> </div> <div className={style.message}>{message}</div> <div className={style.modalFooter}> <button className={style.actionButton} disabled={!id && !password}> 로그인하기 </button> </div> </form> </div> </div> ); } 핸들러 부분도 수정했습니다.const User = [ { id: 'elonmusk', nickname: 'Elon Musk', image: '/yRsRRjGO.jpg' }, { id: 'zerohch0', nickname: '제로초', image: '/5Udwvqim.jpg' }, { id: 'dongwook98', nickname: '신동마', password: '1234', image: '/me.jpeg' }, { id: 'leoturtle', nickname: '레오', image: faker.image.avatar() }, ]; const Posts = []; export const handlers = [ http.post('/api/login', () => { console.log('로그인'); return HttpResponse.json(User[2], { headers: { 'Set-Cookie': 'connect.sid=msw-cookie;HttpOnly;Path=/', }, }); }), 추가로 콘솔 에러 메시지 입니다.이걸 보고 AUTH_URL 도 확인해보았는데 다 잘 적어줬습니다. 또 로그인 하기 전 메인 페이지에서 로그인 버튼 눌러서 로그인 모달이 뜨는 순간콘솔 탭에 이러한 에러 메시지가 생깁니다.위 에러 메시지는 검색해서 useEffect(() => { router.replace('/i/flow/login'); }, []);useEffect로 감싸주어서 해결하였습니다.