묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Blazor로 빠르게 홈페이지 만들기 ASP.NET core 6
프레임워크차이
안녕하세요!blazor 서버로 새프로젝트 생성시 (Visual studio 2022사용) .NET 5.0 과 6.0은 어떤 차이점이 있나요 ?5.0에선 Program.cs와 Startup.cs 로 구성된 진입부분이6.0에서는 Program.cs에서 진입이되고 Startup.cs 클래스는 존재하지않음을 확인하여 문의드립니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
권한요청드립니다.
인프런 아이디 : qndyqldy인프런 메일: qndyqldy@naver.com깃헙 아이디 : qndyqldy@naver.com깃헙 Username : yimyoungwookgithub 권한 요청드립니다.
-
미해결따라하며 배우는 NestJS
npm run start시 QueryFailedError: "username" 열의 자료 가운데 null 값이 있습니다. 에러가 발생합니다.
npm run start로 application을 실행시켰을 때QueryFailedError: "username" 열(해당 릴레이션 "user")의 자료 가운데 null 값이 있습니다에러가 발생합니다.DB 상태는 회원가입한 유저가 user 테이블에 존재합니다.
-
미해결Redux vs MobX (둘 다 배우자!)
전역 변수와 전역 상태 값
안녕하세요!!!Redux 전역 상태관리에 대해서 공부를 하던 중...Redux 전역 상태를 js 엔진에서 어떻게 동작할까? 라는 생각에서 출발해 전역 상태값도 변수인데 어디서 관리하지? 라는 의문점이 생겨 질문하게 되었습니다.전역 상태 관리일 경우 JavaScript엔진에서 전역 변수의 동작과 마찬가지로 Redux의 전역 상태 관리 부분이 Call Stack 맨처음에 저장되어있고 Chaining을 통해 변수를 찾고 상태변화 같은 기능을 한다고 생각했지만생각을 더 해보니Redux의 전역 상태 값은 전역 변수가 아니고 상태를 변화시킬 때마다 Chaining을 통해 이동하므로 굉장히 비효율적이어서 이렇게 동작하게 만들일 절대 없다라는 생각과 새로운 공간에 해당 변수만 저장해서 사용한다고 생각을 했습니다.[질문]Redux의 전역 상태 관리의 값이 JS 엔진에서 전역 변수와 같이 call stack 맨처음에 저장되어 관리하나요?아닌 경우 Redux의 전역 상태 값은 JS엔진 어디에 저장되어서 동작하는 건가요?추가로 관련 정보에 관한 키워드를 알려주실 수 있나요?감사합니다.!!!
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
useInput 했을때, 배열의 첫번째 요소가 func으로 나와요
id와 nickname에 마우스를 올리면 useState를 이용한 password(string), passwordCheck(boolean)과 다르게, 함수라고 나오는데 이렇게 되어도 괜찮은건가요?? 그리고 이것과 관련된 오류인지는 모르겠는데, 약관동의 버튼을 누르고 아이디와 비밀번호를 수정해도 값이 변경되지않습니다. 강의랑 똑같이 작성한것같은데 어디가 잘못된건지 모르겠네요 ㅠㅠ.. 어떻게 해결해야 할까요?? ```signup.jsimport React, { useCallback, useState } from 'react'; import AppLayout from '../components/AppLayout'; import Head from 'next/head'; import styled from 'styled-components'; import { Button, Checkbox, Form, Input } from 'antd'; import useInput from '../components/hooks/useInput'; const ErrorMessage = styled.div` color: red; `; const Signup = () => { const [id, onChangeId] = useInput(''); const [nickname, onChangeNickname] = useInput(''); const [password, onChangePassword] = useInput(''); const [passwordCheck, setPasswordCheck] = useState(''); const [passwordError, setPasswordError] = useState(false); const onChangePasswordCheck = useCallback( (e) => { setPasswordCheck(e.target.value); setPasswordError(e.target.value !== password); }, [password] ); console.log(id); const [term, setTerm] = useState(false); const [termError, setTermError] = useState(false); const onChangeTerm = useCallback((e) => { setTerm(e.target.checked); setTermError(false); }, []); const onSubmit = useCallback(() => { if (password !== passwordCheck) { return setPasswordError(true); } if (!term) { return setTermError(true); } console.log(id, nickname, password); }, [password, passwordCheck, term]); return ( <> <AppLayout> <Head> <title>회원가입 | NodeBird</title> </Head> <Form onFinish={onSubmit}> <div> <label htmlFor="user-id">아이디</label> <br /> <Input name="user-id" value={id} required onChange={onChangeId} /> </div> <div> <label htmlFor="user-nick">닉네임</label> <br /> <Input name="user-nick" value={nickname} required onChange={onChangeNickname} /> </div> <div> <label htmlFor="user-password">패스워드</label> <br /> <Input name="user-password" value={password} required onChange={onChangePassword} /> </div> <div> <label htmlFor="user-password-check">비밀번호체크</label> <br /> <Input name="user-password-check" value={passwordCheck} required onChange={onChangePasswordCheck} /> {passwordError && ( <ErrorMessage>비밀번호가 일치하지 않습니다</ErrorMessage> )} </div> <div> <Checkbox name="user-term" checked={term} onChange={onChangeTerm}> 약관에 동의합니다. </Checkbox> {termError && <ErrorMessage>약관에 동의하지 않습니다</ErrorMessage>} </div> <div style={{ marginTop: '10px' }}> <Button type="primary" htmlType="submit"> 가입하기 </Button> </div> </Form> </AppLayout> </> ); }; export default Signup;import { useState, useCallback } from 'react'; export default (initialValue = null) => { const [value, setValue] = useState(initialValue); const handler = useCallback((e) => { setValue(e.target.value); }, []); return [value, handler]; };
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
jpa query creation 을 많은 sub class 에 한번에 적용하는 방법이 있을까요 ?
안녕하세요. 이번에 드릴 질문이 강의 내용에서 약간 벗어나는 내용일 수도 있을것 같습니다. 그래서 꼭 해주실 필요는 없지만 만약에 답변이 가능하다면 해주신다면 감사하겠습니다. 개인프로젝트 중에 생긴 문제입니다.목차1. 문제상황2. 지금 하고 있는거 3. 질문 문제 상황클래스@MappedSuperClass class Human { @Id private string field1; private Long field2; private Type type; } @Entity class Student extends Human{} @Entity class Teacher extends Human{} ... 레포지토리@Repository public interface StudentRepository() implements JpaRepository<Student, String>{ Page<Student> findByField2LessThanEqual(Long field2, Pageable pageable); } @Repository public interface TeacherRepository() implements JpaRepository<Teacher, String>{ Page<Student> findByField2LessThanEqual(Long field2, Pageable pageable); } 이런 관계에서 Human 을 상속받는 클래스가 100개로 늘었다고 가정하겠습니다. jpa 쿼리 크리에이션을 모든 레포지토리에 적용해야 하는 상황입니다.지금 제가 하고 있는것 제가 지금 하고 있는 방법이 있긴하지만 더 좋은 방법 있을것 같습니다. 추천해주신다면 감사하겠습니다.public interface PagebleRead{ Page<Human> findByField2LessThanEqual(Long field2, Pageable pageable); } @Repository public interface StudentRepository() implements JpaRepository<Student, String>, PageableRead{ } @Repository public interface TeacherRepository() implements JpaRepository<Teacher, String>, PageableRead{ }이렇게 하면 선언하는데에는 손이 덜 가지만 PageableRead 의 타입으로 JpaRepository 의 함수를 호출 할 수 없습니다. PageableRead repo = findRepository(); repo.save(Student.builder().build());이런게 안됩니다. PageableRead 대신에public interface CommonJpaMethod{ Page<Human> findByField2LessThanEqual(Long field2, Pageable pageable); Human save(Human human); // jpa 함수 중 사용할 함수 시그니쳐 선언 ... }이렇게 공통인터페이스를 선언하면 기능하긴 하지만 정석적인 방법인지는 모르겠습니다. 3. 결론모든 서브 클래스에 손을 대지 않으면서 하나의 repository 클래스로 query creation 함수와 jpa 에서 제공하는 기본 함수를 쓸 수 있는 방법이 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-P 문제 질문입니다!
안녕하세요 5-P 동영상 강의 보기전에 먼저 풀어보았는데 테스트 케이스는 전부 통과 하는데, 제출하면 계속 틀렸다고 나옵니다.문제를 보고 현재 위치의 톱니바퀴를 돌리기 전에,바퀴의 좌 우측이 현재 바퀴와 극이 다르다면 톱니바퀴가 돌아가야 했고, 한번 돌아간 바퀴는예를들어 4번째 톱니바퀴가 돌아가서, 3번의 톱니바퀴가 돌았다면, 3번에서는 4번을 돌리면 안된다고 생각하여 먼저 돌았던 톱니바퀴인 경우 돌지 않는다고 생각했습니다.따라서 아래 코드의 경우에는 테스트 케이스를 입력 받으면 왼쪽 오른쪽으로 톱니바퀴가 돌아야 될 경우, 돌아가는 함수가 양 끝으로 호출되면서 톱니를 돌리게 됩니다.https://www.acmicpc.net/source/52632217백준 제출코드이고, 주석을 달아놓은 상태입니다. 나중에 답을 보고 이렇게는 안풀어도 된다는 생각이 들었는데, 저 방법도 맞는거 같기는 해서 저걸로 통과를 해 보고 싶은데, 어디서 문제가 생긴건지 모르겠습니다. 감사합니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃허브 권한 요청 드립니다!
인프런 아이디 : hojoonabba2@naver.com 인프런 이메일 : hojoonabba2@naver.com 깃헙 아이디 : chdms4906@naver.com깃헙 Username : simchoeun
-
미해결ARM Cortex-M 프로세서 프로그래밍
led 점멸 소스 관련 질문 드립니다.
안녕하세요. led 점멸 소스를 보던 중 궁금한 점이 생겨 질문 드립니다.ld3와 ld4를 동시에 점멸하는 코드인HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_SET);부분에서 LD3_Pin&LD4_Pin로 쓰지않고 LD3_Pin|LD4_Pin로 쓰는지 궁금합니다.
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
웹디자인기능사(2023년도)
2023년 웹디자인기능사 기능사 제1회 부터(1~20형)D-1 ~ E-4까지 추가 문제는 어떻게 해야 하나요?
-
미해결
atom install package 설치의 문의
atom tool install 메뉴에서 packages 검색중 'script'로 검색하면 26개 밖에 list가 안보이네요. 웹에서 검색하면 8페이지 정도에 위치해 있는데 어떻게 찾아야 하나요?https://atom.io/search?page=8&q=script 여기에 위치 해 있음atom install 메뉴에서 "next view"같은 list를 다음으로 넘길수는 없는지?
-
미해결따라하며 배우는 HTML, CSS
h1이 안보여요
h1 이 보이지 않는 이유는 뭘까요?
-
미해결홍정모의 따라하며 배우는 C++
10.3 (9:45) 부분 push_back
공부하시다가 저처럼 " &인데 왜 복사를 하지? "하고 생각하신 분들에게 도움이 될 것 같습니다!https://stackoverflow.com/questions/2275076/is-stdvector-copying-the-objects-with-a-push-back
-
미해결몇 줄로 끝내는 인터랙티브 웹 개발 노하우 [초급편]
완성파일 어디서 받아볼 수 있나요 ?
파일 부탁드립니다! dea8307@gmail.com
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
vivado 설치 완료 후 에러
- 강의 내용외의 개인 질문은 받지 않아요. (개인 과제, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..)- 저 포함, 다른 수강생 분들이 함께보는 공간입니다. 보기좋게 남겨주시면 좋은 QnA 문화가 될 것 같아요. (글쓰기는 현업에서 중요한 능력입니다!)- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. vivado 설치를 완료했는데 에러가 뜨네요..한번 더 설치하기 전에 혹시 잘못된 부분이 있나 여쭤봅니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
파일경로질문이요 ㅠㅠ
[질문 내용]여기에 질문 내용을 남겨주세요. 왜 오류가 발생하는거일까요 이유를 잘모르겠네요
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
-d와 httpd-foreground관련하여 질문이 있습니다.
제가 이해한 부분이 맞는 지 궁금합니다. docker run -d는"컨테이너를 백그라운드로 실행하는 것" dockerfile에서 httpd:alpine을 쓸 경우CMD를 따로 입력 안하면CMD ["httpd-foreground"]가 자동으로 설정되서 정상작동함. CMD ["/bin/bash"]이렇게만 하면 httpd-foreground로 작동하지 않고, 웹사이트도 접근 불가능. 여기서 httpd-forground는 컨테이너 내부에서 apach서버가 동작할 때, foreground로 동작하는거라서 1번에서 설명한 -d옵션, 컨테이너가 백그라운드로 작동하는 거랑 구분지어서 생각하면 될까요???
-
미해결3D CAD onshape를 이용한 제품 설계와 3D 프린팅 (초급)
어셈블리 상황에서 몇 가지 질문 드립니다.
안녕하세요.강의 끝까지 잘 들었습니다.3D 프린팅은 계획에 없었으나 듣고나니 정말 유용하겠다는 생각이 들었습니다. 그러나 강의를 들은 주 이유는 온쉐이프상의 어셈블리 메이트에 대한 어려움이였습니다. 인터넷에서 온쉐이프 서적을 구매하여 읽어봤으나제가 선택을 잘못 했는지 어셈블리 부분은 없더군요. 선생님 강의에서는 어셈블리 부분은 있으나이전 다른 캐드에서 사용하던 어셈블리 결과를 이끌어 내기에는 힘들었습니다. 그래서 질문 드립니다.혹시 어셈블리의 메이트 부분에 대해 추가 강의 계획이 있으신지요? 온쉐이프에서는 어셈블리 상황에서 대칭복사가 가능여부 알 고 싶습니다.
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
75번, 79번 priority_queue관련
안녕하세요75번의 연산자 오버로딩bool operator<(const Data &b)const{ return when>b.when; } 로 써서 오름차순으로 만들어 맨 위에꺼를 pop했을때 제일 큰 숫자인 3이 나왔습니다.하지만 79번의 연산자 오버로딩 bool operator<(const Edge &b)const{ return val>b.val; }를 진행 할때는 최소 힙으로 구현이 된다고 하셨고 pop했을때 비용이 가장 적게드는 녀석이 나온다고 했습니다. 어떤게 맞는것인지 이해가 잘 가지않습니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
저는 스타일이 이상하게 적용되네요 ㅠ
<template> <div class="inputBox shadow"> <input type="text" v-model="newTodoItem"> <span class="addContainer" @click="addTodo"> <i class="fa-solid fa-plus addBtn"></i> </span> </div> </template> <style scoped> input:focus { outline: none; } .inputBox { background: white; height: 50px; line-height: 50px; border-radius: 5px; } .inputBox input { border-style: none; font-size: 0.9rem; } .addContainer { float: right; background: linear-gradient(to right, #6478FB, #8763F8); display: block; width: 3rem; border-radius: 0 5px 5px 0; } .addBtn { color: white; vertical-align: middle; } </style>위처럼 아예 input창 크기도 안맞춰지고 span 태그도 사라져있더라구요..왜 이상하게 나왔는지를 몰라서 임시로 아래처럼 바꿨는데 요즘은 flex를 현업에 안쓴다고 들었는데 그게 맞을까요 ??아직 git 허가를 못받아서 ..😭input:focus { outline: none; } .inputBox { display: flex; align-items: center; background: white; height: 50px; line-height: 50px; border-radius: 5px; } .inputBox input { height: 100%; width: calc(100% - 3rem); border-style: none; font-size: 0.9rem; } .addContainer { background: linear-gradient(to right, #6478FB, #8763F8); display: block; height: 100%; width: 3rem; border-radius: 0 5px 5px 0; } .addBtn { color: white; vertical-align: middle; }