묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
약관 체크하는 부분 질문입니다.
체크 눌러도 가입하기에서 진행이 안되길래 콘솔찍어서 확인해봤는데 저렇게 뜨네요. 제 생각에는 e.target.checked랑 term이랑 같은 값을 반환해야하는 것 같은데, term은 항상 false를 반환합니다. 어디서 잘못된 걸까요?ㅠㅠㅠ (코드 더 살펴보고 있는데 password check부분도 똑같이 값이 안들어와요...😭😭 혹시몰라 전체코드 첨부합니다... import { Button, Form, Input } from 'antd'; import Checkbox from 'antd/lib/checkbox/Checkbox'; import Head from 'next/head'; import React, { useCallback, useState } from 'react'; import styled from 'styled-components'; import useInput from '../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(''); const onChangePasswordCheck = useCallback( (e) => { setPasswordError(e.target.value !== password); setPasswordCheck(e.target.value); }, [password] ); const [term, setTerm] = useState(false); const [termError, setTermError] = useState(false); const onChangeTerm = useCallback((e) => { setTermError(false); setTerm(e.target.checked); console.log(e.target.checked); console.log(term); }, []); const onsubmit = useCallback(() => { if (password !== passwordCheck) { return setPasswordError(true); } if (!term) { console.log(term); return setTermError(true); } console.log(id, nickname, password); }, [id, nickname, password]); return ( <> <Head> <title>회원가입 | NodeBird</title> </Head> <Form onFinish={onsubmit}> <div> <label htmlFor="user-id">아이디</label> <Input name="user-id" type="id" value={id} required onChange={onChangeId} /> </div> <div> <label htmlFor="user-nickname">닉네임</label> <Input name="user-nickname" type="text" value={nickname} required onChange={onChangeNickname} /> </div> <div> <label htmlFor="user-password">비밀번호</label> <Input name="user-password" type="password" value={password} required onChange={onChangePassword} /> </div> <div> <label htmlFor="user-passwordCheck">비밀번호 체크</label> <Input name="user-passwordCheck" type="password" 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: 10 }}> <Button type="primary" htmlType="submit"> 가입하기 </Button> </div> </Form> </> ); }; export default signup;
-
미해결따라하며 배우는 MySQL on Docker
Proxy Layer 구성 > ProxySQL 구성 및 Failover 테스트 > app_test_conn.sh 오류 문의
좋은 강의 제공해주셔서 많이 배우고 갑니다. 실습 과정중 오류가 발생하여 문의 드립니다. 환경 : 맥북 + Docker 환경 진행사항 : proxysql 이전 과정까지는 정상 완료 (replication, Orchestrator) 사전 작업 centos7 docker 생성 후 app_test_conn.sh 수행 예정 centos docker run -it --name centos7 -h centos7 \ --net mybridge --net-alias=proxysql \ --privileged centos:7 init 오류 현상 01 : app_test_conn.sh 수행시 오류 centos7 에서 app_test_conn.sh 수행시 16033 포트로 연결이 되지 않음 tcping proxysql 16033 수행시 포트가 close 되어있는 부분 확인, proxysql 데비안 리눅스 환경 확인 후 포트를 열어볼려고 했지만 진행하지 못함. 그래서 poxysql docker의 포트를 6032, 6033으로 다이렉트로 연결해서 생성 후 수행 docker run -it --name proxysql -h proxysql -p 6032:6032 -p 6033:6033 \ --net mybridge --net-alias=proxysql \ -v /Users/hansung/docker/db/proxysql/data:/var/lib/proxysql \ -v /Users/hansung/docker/db/proxysql/conf/proxysql.cnf:/etc/proxysql.cnf \ -d proxysql/proxysql 오류 현상 02 : app_test_conn.sh 수행시 오류 수행시 아래와 같은 오류 발생 (mysql -uappuser -papppass -hproxysql -P6033) [root@centos7 ~]# sh app_test_conn.sh ERROR 1045 (28000): ProxySQL Error: Access denied for user 'appuser'@'172.19.0.7' (using password: YES) ERROR 1045 (28000): ProxySQL Error: Access denied for user 'appuser'@'172.19.0.7' (using password: YES) ERROR 1045 (28000): ProxySQL Error: Access denied for user 'appuser'@'172.19.0.7' (using password: YES) 트러블 슈팅을 위해서 db01 mysql에 다이렉트로 연결하는 부분으로 설정후 연결 시도. (centos7 > db01) 아래와 같이 정상적으로 연결 확인. (mysql -uappuser -papppass -hdb01 -P3306) [root@centos7 ~]# sh app_db01_conn.sh db01 2020-12-09 13:40:24 db01 2020-12-09 13:40:25 참고. 강의 자료의 app_test_conn.sh의 ip 정보는 알수 없는 ip로 proxysql ip로 지정해서 연결 시도 했음. docker inspect --format '{{.NetworkSettings.Networks.mybridge.IPAddress}}' proxysql 어제 밤부터 삽질 중입니다. 도와주세요.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
진짜 마지막 질문!!!
저 질문 너무 많이 해서 죄송한데 john ahn님 말씀대로 dev.js 파일보고 데이터베이스 연결이 안된건가 하면서 한 번더 확인했는데 mongodb uri 강의대로 잘 연결된거 같은데 ㅠㅠ 어떻하죠? 혹시 dev.js 파일 소스 보시면 해결해주실수 있을까요? 아니면 다른 이유라도 있을까요? {그리고 정말 유료강좌라도 추가 기능 강좌 있었으면 좋겠어요.ㅠㅠ, 제가 거의 node.js와 react 초보라서 혼자서 만들기는 힘든데 꼭 유튜브처럼 똑같이 만들고 싶어서ㅠㅠㅠㅠ}
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
안녕하세요 혹시 함수형으로 컴포넌트 만들때요
rfce 단축키를 누르면 function 으로 시작하는 함수 선언식이 자동으로 작성되는데요 그보다 함수 표현식으로 const Signup 이렇게 직접 작성하는 방법이 좋을까요?
-
미해결R로 배우는 통계
writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con="~/.Renviron") 입력시 에러가 납니다.
Error in file(con, "w") : 커넥션을 열 수 없습니다 추가정보: 경고메시지(들): In file(con, "w") : 파일 'C:/Users/MSI/OneDrive/??/.Renviron'를 여는데 실패했습니다: Invalid argument 제가 뭘잘못햇을까요
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
DB에서 데이터 삭제하면 Id를 1부터 다시 시작 할수 있는 방법이 있나요?
images 테이블이던, post 테이블이던. 저 데이터를 다 지우고 다시 데이터를 넣기 시작하면 그 다음 id 번호부터 시작되는데. 다시 1부터 시작하거나 하는 방법은 없나요?
-
미해결그림으로 배우는 자바, 파트2: 객체지향!
자바 질문있습니다.
1. 메서드 오버로딩은 기존 메서드와 서명이 같은 메서드를 재정의하는 것인가요? 서명이 같은 메소드 재정의는 오버라이딩 같은데 오버로딩도 된다는 글을 읽은기억이 있어서요. 어느게 맞는지 잘모르겠습니다. 2. 클래스는 여러 상위 클래스에서 상속 될 수 있나요? 다중 상속이 객체지향 개념이긴 하나 자바에서는 안된다는 글이 있어 여쭤봅니다.. 3. 추상 클래스는 추상 및 비추 상 멤버 메서드를 가질 수 있나요? 4. 확인 된 모든 예외를 처리해야합니다. 그렇지 않으면 런타임 오류가 발생하나요? 컴파일 오류가 발생하나요?
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
개념 질문 드립니다
강사님 안녕하세요. 문제풀이 코드 마지막에 for items in datas1: print(item['data']) 에서, item['data'] 의 원리를 확인하고 싶은데 어떤 개념인지 도저히 찾을 수가 없어서요 ㅠㅠ suggestion data='스마트폰' 이니까 딕셔너리도 아니고 슬라이싱도 아니고... 어떤 개념을 봐야할지 알려주시면 감사하겠습니다!
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
snippet은 어떻게 만드셨나요?
fc를 쳐서 font: cursive를 하면 snippet이 나오던데 내장된 snippet을 직접 고치신건가요? 어떻게 하는지 궁금합니다!
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
제가 추가한건데 잘 안되네영ㅠㅠ(참고로 스타크래프트 잘 몰라여)
제가 스타크래프트를 잘몰라도 기지와 무슨무슨 팀 승리 라는걸 넣고 싶어서 했는데 잘 안되네여 이상한곳 봐주세요 # 아군, 상대 기지 class central: def __init__(self, central_hp): self.central_hp = 1000 def central2(self, sentral_hp): self.central2_hp = 1000 def cetral_damaged(self, damage): print("{0} 기지 : {1} 데미지를 입었습니다.".format(self.team_name, self.damage)) self.central_hp -= self.damage print("{0} 기지 : 현재 기지 체력은 {1} 입니다.".format(self.team_name, self.central_hp)) if self.hp <= 0: print("{0} 기지 : 기지가 파괴되었습니다.".format(self.team_name)) # 승리 팀 class won_team: def __init__(self, team_name): self.team_name = "테란" def win(self, team_name) if self.sentral2_hp == 0: print("{0} 팀 승리".format(self.team_name)) elif: print("{0} 팀 승리".format(self.team_name)) # 게임 시작 def game_start(): print("[알림] 새로운 게임을 시작합니다.") # 게임 종료 def game_over(): print(won_team) print("[Player] : gg") print("[Player] 님이 게임에서 퇴장하셨습니다.")
-
미해결파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
Pygame 설치 방법
제가 pygame을 설치하려고 하는데 powershell이 저한데는 없어요 ㅠㅠㅠ
-
해결됨스프링 핵심 원리 - 기본편
질문은 아니고..
상 받으신 거 축하드리고 싶어서... 요... 올해 감사했고 내년에도 잘 부탁드립니다 ㅎㅎㅎ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
reducer 이름
1. user, post 둘다 export default reducer로 리듀서 함수를 꺼내왔는데 index에선 그냥 파일명으로 컴바인 리듀서안에 넣어줘도 되나요?? 아니면 user 파일안에 리듀서 함수에선 리듀서 함수명을 user 이렇게 해야되나요?? 2. 리덕스 툴킷은 안쓰셨는데 이유가 뭔가요?? 잘 안쓰는 추세인가요??
-
미해결실전! 스프링 데이터 JPA
리포지토리 분리
리포지토리를 분리하신다고 하셨는데1. 정말 간단한 쿼리는 스프링 데이터 JPA 리포지토리에서 구현, 쿼리메서드 기능들을 이용하고조금 복잡하고, 강의에서 설명해주신 다양한 이유에 해당하면 사용자 정의 리포지토리를 구현해서 사용하고더 복잡한 동적쿼리들은 따로 클래스를 만들어서총 3개의 리포지토리를 운영하게 되는건가요?2. 서비스와 리포지토리는 1:1로 매핑하는게 좋다고 들었는데 그럼 3개의 서비스클래스도 따로 만드나요?3. 핵심 비즈니스 로직과 단순 화면 관련 로직도 구분은 서비스계층에서 이루어지나요? 그럼 하나의 서비스에서 두개의 리포지토리를 접근해도 괜찮나요??아직 아키텍처를 고민할만한 실력은 아니지만궁금점이 해결되지 않아 질문남깁니다..
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
response 가 자꾸 없다는데 제가 뭘빠뜨린거죠?
리스폰스 코드에 입력 다 했는데 자꾸 없다고 뜨네요 ㅠ \ 제재를 가할 수 있습니다.
-
미해결퍼블리싱 핵심이론 PDF 교재 및 예제파일(HTML+CSS+FLEX+JQUERY)
강의시간 문의
연속해서 강의수강이 안되나요
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
len(tmp)가 0이될 수 있을까요?
만약 len(tmp)==0 이 참이될 경우 lt+=1, rt-=1을 해야하지 않을까 생각해서 예시를 생각해보려고 했는데 못찾아서요. if len(tmp)==0 부분은 어떤 상황을 위해 두신건가요??
-
미해결Rails로 쉽고 빠른 웹사이트 만들기(Ruby Coin)
@POST.DESTROY 질문이 있습니다
CONTROLLER에서 def delete @post = Post.find(params[:id]) @post.destroy render :index end def index @posts = Post.all end 위와 같이 delete 이후 전체 글목록을 불러오는 index로 render를 해주었습니다. 그랬더니 % @posts.each do |t| %> 이 부분에서 오류가 나버립니다. 오류 내용은 아래와 같습니다 ActionView::Template::Error (undefined method `each' for nil:NilClass): 갑자기 each에서 왜 오류가 나는지 모르겠습니다. 삭제 후에만 오류가 납니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
솔로몬상 축하드립니다
축하드려욧!!!!!!!!!!!!!!!!
-
해결됨[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
세로형 메뉴 타입에서 레이어 팝업창 제작시
선생님 안녕하세요.^^ 세로형 C2 타입에서 레이어 팝업창 제작할때 질문이 있습니다. 아래로 슬라이드되는 메뉴로 만들때는 가려지는게 없어서 header에 position값과 z-index값을 따로 주지않았는데요, 레이어팝업창 만들면서 .modal과 .modal-content에 position: absolute를 줘야하는데 이때 header에 position: relative를 줘야하나요? z-index값도 같이 .modal에 줘야 하나요?