묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
HttpStatus를 인식하지못하네용
보면서 따라하는중인데 Status를 인식하지못하네용 따로 임포트를 해줘야하는건가요?
-
해결됨스프링 프레임워크는 내 손에 [스프1탄]
강의내용중주석관련질문이있어요
여기서 view에 블록은 보이고 wform은 숨기는게 강의내용상 맞는거같은데 주석은 다르게 적혀있네요 오타인가요??
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
모듈화 질문입니다
import { fetchNewsList, fetchJobsList, fetchAskList } from "@/api"; export default { FETCH_NEWS(context) { fetchNewsList() // commit()하는 순간 코드 제어권 mutations SET_NEWS로 이동 .then((response) => context.commit("SET_NEWS", response.data)) .catch(); }, // ES6 Destructuring // context.commit FETCH_JOBS({ commit }) { fetchJobsList() .then(({ data }) => commit("SET_JOBS", data)) .catch(); }, FETCH_ASK({ commit }) { fetchAskList() .then(({ data }) => commit("SET_ASK", data)) .catch(); }, };여기서 왜 fetchNewsList, fetchJobsList는 import해와야되고 SET_NEWS, SET_JOBS 는 import 안 해도 되는 건가요?
-
미해결모던 안드로이드 - Jetpack Compose 입문
안녕하세요 음원 링크가 어디 있는지 모르겠습니다
실로폰 예제 작성 중 음원 파일 링크에 관하여 언급하시는데 도저히 못 찾겠습니다 혹시 알려주실 수 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-I 메모리 초과 질문
http://boj.kr/471aac4a797f474183187f25d9d38a59 문제에서 최대 100자인 문자열이 최대 100번 입력된다고 해서 제가 최대로 이용하는 메모리를 (100byte + a) x 100 쯤이라고 생각했고, 128Mb에는 한참 밑돈다고 생각했습니다.어떤 부분에서 메모리를 많이 사용하고 있는지 모르겠습니다.
-
미해결[MASTER] 만들면서 배우는 Figma UI Design
해당 강의에 대한 자료는 어디에서 다운 가능한가요
피그마 파일 첨부해주시면 감사하겠습니다
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
사가 모든 설정 후 로그인시 오류
강사님 모든 코드를 수정한 후 로그인하려고 하는데아이디, 비밀번호 입력 후 누르면 로그인이 되지 않습니다.콘솔창에 에러도 나타나지 않아서 어디가 틀렸는지 모르겠네요.몇개파일의 코드 같이 올려드립니다.아래는 로그인 안되는 화면캡처본입니다.LoginForm.jsimport React, { useCallback, useMemo } from "react"; import Link from "next/link"; import { Form, Input, Button } from "antd"; import styled from "styled-components"; import useInput from "../hooks/useInput"; import { useDispatch, useSelector } from "react-redux"; import { loginRequestAction } from "../reducers/user"; const FormWrapper = styled(Form)` padding: 15px; `; const LoginForm = () => { const dispatch = useDispatch(); const { isLoggingIn } = useSelector((state) => state.user); const [id, onChangeId] = useInput(""); const [password, onChangePassword] = useInput(""); const style = useMemo(() => ({ marginTop: 10 }), []); const onSubmitForm = useCallback(() => { console.log(id, password); dispatch(loginRequestAction({ id, password })); }, [id, password]); return ( <FormWrapper onFinish={onSubmitForm}> <div> <label htmlFor="user-id">아이디</label> <Input name="user-id" value={id} onChange={onChangeId} required></Input> </div> <div> <label htmlFor="user-password">비밀번호</label> <Input name="user-password" value={password} onChange={onChangePassword} required ></Input> </div> <div style={style}> <Button type="primary" htmlType="submit" loading={isLoggingIn}> 로그인 </Button> <Link href="/signup"> <a>회원가입</a> </Link> </div> </FormWrapper> ); }; export default LoginForm; reducers-user.jsexport const initailState = { isLoggingIn: false, // 로그인 시도중 - 로딩창을 띄우기위해 isLoggedIn: false, isLoggingOut: false, // 로그아웃 시도중 me: null, signUpDate: {}, loginData: {}, }; // 로그인 액션 create export const loginRequestAction = (data) => { return { type: "LOG_IN", data, }; }; export const logoutRequestAction = () => { return { type: "LOG_OUT", }; }; const reducer = (state = initailState, action) => { switch (action.type) { case "LOG_IN_REQUEST": console.log("reducers login"); return { ...state, isLoggingIn: true, }; case "LOG_IN_SUCCESS": return { ...state, isLoggingIn: false, isLoggedIn: true, me: { ...action.data, nickname: "가나다" }, }; case "LOG_IN_FAILURE": return { ...state, isLoggingIn: false, isLoggedIn: false, }; case "LOG_OUT_REQUEST": return { ...state, isLoggingOut: true, }; case "LOG_OUT_SUCCESS": return { ...state, isLoggingOut: false, isLoggedIn: false, me: null, }; case "LOG_OUT_FAILURE": return { ...state, isLoggingOut: false, }; default: return state; } }; export default reducer; sagas-user.jsimport { all, fork, delay, put, takeLatest } from "redux-saga/effects"; import axios from "axios"; function loginAPI(data) { return axios.post("/api/login", data); // 서버에 요청 } function* login(action) { try { console.log("saga login"); yield delay(1000); // 비동기 요청 대신수행 // const result = yield call(loginAPI, action.data); yield put({ type: "LOG_IN_SUCCESS", data: action.data, }); } catch (err) { yield put({ type: "LOG_IN_FAILURE", data: err.response.data, }); } } function logoutAPI() { return axios.post("/api/logout"); // 서버에 요청 } function* logout() { try { yield delay(1000); // const result = yield call(logoutAPI); yield put({ type: "LOG_OUT_SUCCESS", }); } catch (err) { yield put({ type: "LOG_OUT_FAILURE", data: err.response.data, }); } } function* watchLogIn() { yield takeLatest("LOG_IN_REQUEST", login); } function* watchLogOut() { yield takeLatest("LOG_OUT_REQUEST", logout); } export default function* userSaga() { yield all([fork(watchLogIn), fork(watchLogOut)]); } configureStore.jsimport { applyMiddleware, createStore, compose } from "redux"; import createSagaMiddleware from "redux-saga"; import { createWrapper } from "next-redux-wrapper"; import { composeWithDevTools } from "redux-devtools-extension"; import reducer from "../reducers"; import rootSaga from "../sagas/index"; const configureStore = () => { const sagaMiddleware = createSagaMiddleware(); const middlewares = [sagaMiddleware]; const enhancer = process.env.NODE_ENV === "production" ? compose(applyMiddleware(...middlewares)) : composeWithDevTools(applyMiddleware(...middlewares)); const store = createStore(reducer, enhancer); store.sagaTask = sagaMiddleware.run(rootSaga); return store; }; const wrapper = createWrapper(configureStore, { debug: process.env.NODE_ENV === "development", }); export default wrapper;
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Whitelabel Error page 오류질문
항상 톰캣 시작되기전에 저런 문구가 뜨는데 혹시 어떤 건지 알수있을까요? 시작은 하고 강의에서 말하시는 Tomcat started on port(s): 8080 (http) with context path '' 문구도 나옵니다그리고 3분40초쯤? localhost:8080/hello 할때 흰화면이 안나오고 Whitelabel Error page 나오는것도 저것때문일까요?
-
미해결따라하며 배우는 HTML, CSS
styles.css go live 할때
styles.css 작성하고 그 시트에서 go live 누르면 디렉토리? 형식으로 뜨는데 이건 설정을 변경 못하나요?아니면 styles.css 이름이 다 동일하게 적용돼서 그런 건가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Push의 LCurrentJobQueue관련 질문입니다.
현재 JobQ에 Push하는 과정에서LCurrentJQ를 확인하여 GlobalQ에 넣을지, 스스로 실행할 지를 결정하는 것으로 보입니다. TLS는 각 Thread마다 별개의 주소 공간으로 소유하고 있는 것처럼 동작한다고 이해하고 있습니다.한 thread에는 실행 흐름이 하나인 것으로 알고 있는데LCurrentJobQueue가 nullptr이 아닌 상황에서 Push가 발생할 수 있나요?Execute를 실행하는 thread의 LCurrentJQ만 nullptr이 아닐 것 같은데 Execute가 실행 중인 thread라면 Push를 동시에 실행할 수 없을 것으로 생각됩니다. ㅜㅜ
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Vivado 시뮬레이션 디버깅 관련 질문
안녕하세요 맛비님, 현재 Verilog Season1 17강 수강중입니다!다름이 아니라, ./build를 통해, Vivado 시뮬레이션을 실행한 후, waveform을 "step"별로 code 의 flow로 확인하고 싶어, "Step키(F8)"를 사용하려 했는데, 연한 회색으로 사용 불가능 표시가 떠있더라구요.... 구글링을 통해 해결방법을 찾는 중이긴 합니다만, 원하는 자료가 잘 나오지 않아서 이렇게 질문 남깁니다 ㅠㅠ혹시, Vivado 시뮬레이션창에서, Step(F8) 키를 활성화시키는 방법을 알고 계신지 궁금합니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
공부 질문
안녕하세요1 ~ 9까지 구매해서 듣고 있는 게임 개발자를 지망하는 수강생입니다.다름이아니라 지금 part2를 완강했는데 이해하고 넘어가는 수준으로 다음 파트 공부를 해도 될지아니면 안보고 스스로 만들어보는 것이 좋을 지 질문드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 23.01.15 33페이지 size()
안녕하세요 교안으로 cpp 기초부터 공부하고 있습니다.33페이지에 size() 문자열 사이즈 반환한다고 적혀있는데시간복잡도가 O()라고 되어있어서 사이즈 함수면 O(n)인가요??
-
미해결스프링 핵심 원리 - 기본편
안녕하세요. 제가 강의를 들으며 공부한 내용을 정리해서 개인 블로그에 올려도 되는지 문의드립니다!
김영한 선생님 안녕하세요!저는 이제 2년차가 되어가는 백엔드 주니어 개발자 수강생입니다개발을 하던 도중 백앤드 쪽 지식이 필요하게 되어 강의를 알아보았고, 선생님의 강의를 추천받게 되어 현재 열심히 수강을 하고 있습니다!다름이 아니라, 공부한 내용을 그냥 들으면 잊어버릴 것 같아 제 개인 개발 블로그에 정리를 해 놓고 필요할 때 찾아서 읽고 싶은데... 저작권이나 이런 부분때문에 걱정이 되어 문의를 남깁니다!혹시 강의 내용을 제 개인 개발 블로그에 정리하여 게시하여도 괜찮을까요? 부적절하다면 게시하지 않겠습니다!혹시 가능하다고 하시면, 게시글마다 해당 인프런 주소를 남기고, 출처도 남겨두겠습니다.감사합니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
'new-form' 404 에러 관련 질문드려봅니다
경로는 잘 설정 되어 있는것 같은데 ㅠㅠ Home에서 MVC 회원가입 클릭시 404에러가 발생합니다 ㅠㅠ 어떤 이유에서인지 모르겠습니다ㅠㅠ String viewPath = "/WEB-INF/views/save-result.jsp";MvcMemberFormServlet
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
AttributeError at /accounts/profile/edit/ 질문입니다!
안녕하세요 강사님!사용자 프로필 페이지 및 프로필 수정관련하여 강의듣고 있구요12분쯔음에 localhost:8000/accounts/profile/edit/부분 관련하여 페이지 접속하고, 수정하는 과정 진행중인데요.AttributeError at /accounts/profile/edit/ 'User' object has no attribute 'profile'이런 에러가 뜨네요 ㅠㅠTraceback에 보면 /Users/daniel_choi/Desktop/total_projects/new_instagram/accounts/views.py, line 39, in profile_edit # FBV @login_required def profile_edit(request): try: # 현재 이 코드는 Profile.objects.get(user=request.user)와 같은 의미다. profile = request.user.profile … except Profile.DoesNotExist: profile = None if request.method == 'POST': form = ProfileForm(request.POST, request.FILES, instance=profile) if form.is_valid():이렇게 나오구요.바로 위의 코드중에서 profile = request.user.profile 이부분이 문제가 되는것 같습니다.강의를 다시들으면서 체크해봐도 무엇이 잘못되었는지 잘 못찾겠어서 문의드립니다!! ㅠㅠㅠ 혹시 몰라서 추가로 제가 작성한 코드 중에서중요하겠다 싶은 부분도 함께 첨부하겠습니다!#forms.py from django import forms from .models import Profile class ProfileForm(forms.ModelForm): class Meta: model = Profile fields = ['address', 'zipcode']#models.py from django.conf import settings from django.db import models # Create your models here. class Profile(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) address = models.CharField(max_length=100) zipcode = models.CharField(max_length=6) # validators = []#views.py from django.contrib.auth.decorators import login_required from django.shortcuts import render, redirect from django.contrib.auth.mixins import LoginRequiredMixin from django.views.generic import TemplateView, UpdateView from .forms import ProfileForm from .models import Profile # Create your views here. # FBV 방식 # @login_required # def profile(request): # return render(request, 'accounts/profile.html') # CBV 방식 class ProfileView(LoginRequiredMixin, TemplateView): template_name = 'accounts/profile.html' profile = ProfileView.as_view() # CBV # class ProfileUpdateView(LoginRequiredMixin, UpdateView): # model = Profile # form_class = ProfileForm # profile_edit = ProfileUpdateView.as_view() # FBV @login_required def profile_edit(request): try: # 현재 이 코드는 Profile.objects.get(user=request.user)와 같은 의미다. profile = request.user.profile except Profile.DoesNotExist: profile = None if request.method == 'POST': form = ProfileForm(request.POST, request.FILES, instance=profile) if form.is_valid(): profile = form.save(commit=False) profile.user = request.user profile.save() return redirect('profile') else: form = ProfileForm(instance=profile) return render(request, 'accounts/profile_form.html', { 'form': form })
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간복잡도 Q3 문제 질문
안녕하세요!시간복잡도 Q3 문제에서 cnt로 디버깅해서 cnt 값이 19 39 이런식으로 나오니까 2n-1을 도출해내서 시간복잡도를 구하셨는데 해당문제를 Q5 문제처럼 점화식을 찾아서 그 공식으로 나온 결과가 2n-1을 도출해내는 풀이도 있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
15 분 45초 대 질문
int MultiplyBy2(int a){ int result = a * 2; return 0;}이 부분에서 return 0 값을 왜 result 로 바꿔 줘야하는건가요? 혹시 a * 2로 바뀐 값을 리턴으로 보내줘서 선생님의 설명과 같이 a * 2 를 보내줘야 하기에 result를 넣는건가요?
-
미해결코딩테스트 [ ALL IN ONE ]
daily temperatures 문제 질문
안녕하세요! Leetcode daily temperature 문제 해설을 보다 질문이 생겨서 남깁니다! while 문으로 stack을 돌면서 대소 비교를 하는데, 여기서의 시간복잡도가 O(n)이 될 걱정은 안해도 되나요? 어렴풋이 생각하기에, stack에 temperatures의 원소가 들어가기 때문에 n개의 원소가 들어갈 것이고, for문으로 길이가 n인 temperatures를 돌면 결과적으로 worst case로 O(n^2)이 될 수도 있지 않나 ... 라는 생각이 들었습니다.시간복잡도 개념이 아직 부족해서 헷갈리는 것 같은데 제가 어떤 부분을 간과했을까요?
-
미해결따라하며 배우는 HTML, CSS
화면이 안 보입니다
인스타그램 사이트 만들기 - 기본 구조 생성하기 에서 2:20 - 3:00 정도까지 까만 화면만 보입니다.