묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
useSelector로 가져온 state 값을 변경하고 싶습니다.
현재 이메일 중복 체크를 구현 하고 있습니다. const onChangeEmailInput = useCallback((evt) => { setEmailInput(evt.target.value); const regExp = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/; if (!regExp.test(evt.target.value)) { setEmailVerify('이메일 형식에 맞게 입력을 해주세요.'); } else { dispatch({ type: CHECK_OVERLAP_EMAIL_REQUEST, data: evt.target.value, }); } }, [emailInput, emailVerify]); input이 변경될 때 이메일 정규식에 통과되면 중복된 이메일을 찾는 액션이 실행되고 router에서 router.get('/check_overlap_email', (req, res, next) => { try { const query = `SELECT email FROM TB_USER WHERE email = '${req.query.data}'`; connection.query(query, (err, result) => { if (err) throw err; if (result[0]) { res.status(200).send('exists'); } else { res.status(200).send('available'); } }); } catch (err) { console.error(err); next(err); } }); 이런식으로 값이 있으면 exists, 없으면 available로 값을 받습니다. 받은 값으로 useEffect(() => { console.log(checkOverLapEmailResult); if (checkOverLapEmailResult !== null) { if (checkOverLapEmailResult === 'exists') { setEmailVerify('이미 가입된 이메일입니다.'); } else { setEmailVerify(true); } } }, [checkOverLapEmailResult]); useEffect를 통해 체크를 해주는데 문제는 아래 flow일 때 문제가 됩니다. 1. 정규식 통과를 한 뒤 중복체크를 했는데 이메일이 없어서 available값을 받음. 2. 그 다음 이메일을 다 지워서 정규식을 통과하지 못해 '이메일 형식에 맞게 입력을 해주세요'가 출력. 3. 다시 정상적인 이메일을 입력후에 available값을 받음. 이 flow 대로 진행했을 때 checkOverLapEmailResult state가 available로 동일하여 useEffect에 들어오지 못하여 setEmailVerify(true); 코드가 실행이 되지 않아 emailVerify가 변경되지 않습니다. 그래서 정규식에 통과를 하지 못할 때 useSelector로 가져온 checkOverLapEmailResult state 값을 null로 초기화를하고 싶은데 어떤 방법이 효율적인지 궁금합니다. 제가 생각한거는 RESET_OVERLAP_EMAIL_STATE라는 액션을 하나 만들어서 정규식에 통과하지 못할 때 마다 호출하여 값을 초기화 하는 방법을 생각하고 있는데, 괜찮은지 궁금합니다.
-
미해결업무 자동화를 위한 파이썬 pyautogui, beautifulsoup 크롤링 기초
크롤링 할때 sh_blog_title 형식으로 안나오는데요! ㅠ
f12를 누르고 블로그 창을 봐도 'api_text_lines'으로 나오는데 아무리 찾아도 sh_blog_title 형식으로 안나오네요! ㅠ
-
미해결[직딩꿀템] 나도 금손! 지나가던 팀장도 돌아보는 PPT 디자인
학습에 필요한 실습파일은 별도로 제공되지 않는지요?
동영상을 보고 따라할려고 하는데, 기본적인 실습파일이 제공되는 문의드립니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
aws 배포 오류가뜨네요
코딩 다 검사하구 테스트도 잘 통과됬는데두 aws에서 배포 오류가뜨네요 ㅜㅜ
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
구글 웹폰트
안녕하세요 선생님 강의 초반에 Google web Font 하고 @important url(도메인주소) 가 있는데 이건 무슨 뜻인가요? 안배우운 부분인거같아서 여쭤봅니다 !
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이메일로 문의 드렸는데요 아직 답변없어서 이곳에 질문을 남깁니다. 한글이 깨져요
수업자료를 다운 로드를 받고 압축을 풀었는데요 첨부 파일을 보니 섹션 1-10 까지는 한글이 보이지만 나머지는 한글이 깨져서 나옵니다. 문제 풀이를 하려고 하는데요 파일을 찾기가 너무 어렵습니다. 파일 이름저장 할때 모두다 유니코드로 해주셨으면 합니다. 참고로 저는 맥 사용자 입니다.
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
n = 1인 경우에 대하여
n = 1이면 자기 자신을 선택해서 결과가 1이 나와야할거 같은데 0이 나옵니다. res = 1로 초기화하면 될까용?
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
블라켓위에 아이콘표시는 어떻게하나요?
선생님보시면 html / css / js 별로 위에보시면 각 기능에맞게 아이콘그림이뜨는데 어떤 익스텐션기능을 사용하시는지 알려주시면 감사하겠습니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
While(true)
안녕하세요. 마지막에 맵을 실제 그리는 코드문을 보면 While(true) { Setposition board.render(); } 로 구현하고 있는데요 , 이때 while(true)면 무한루프가 되어 렌더함수가 계속호출되어 계속 맵을 그리는 상태가 되는것 아닌가 싶습니다. 딱히 루프를 나오게하는 코드는 안보이거든요. 또한 , Board라는 클래스 객체가 사라져도 한번그린 맵은 그대로 유지되는것으로 보이는데 왜 무한루프를 사용한건지 모르겠습니다! 감사합니다
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
nvm 실행이 되지 않아 문의드립니다.
mac 에서 vi ~/.bashrc 파일에 설명해 주신 설정 값을 삽입 후 nvm을 실행해 봤지만 도저히 실행이 되지 않아 문의드립니다. 설정 값을 여러번 확인 했는데도 되지 않네요..ㅠ
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
도메인 설정
안녕하세요 도메인 설정하는 방법이 궁금합니다 즉 127.0.0.1:8080처럼이 아니라 예를들어 도메인으로 접속하고싶습니다 node-dev.com:8080처럼요 php는 아파치 설정파일에서 하는데 노드는 어디서 할수있나요?
-
미해결웹브라우저 Javascript (자바스크립트)
jQuery 객체란 --> li.map()
li.map()의 함수에 전달하는 index, elem은 HTMLElement마다 다르겠죠? 일부는 비슷할것 같은데요.. (가령 UL은 LI와 동일할 것으로 생각이됩니다만)
-
미해결리눅스 시스템 프로그래밍 - 이론과 실습
mmap의 동작을 올바르게 이해했는지 질문 드리고 싶습니다.
안녕하세요. 강의를 수강하면서 mmap을 설명하시는 부분을 제가 기존에 알고 있던 지식과 연결짓는 과정에서 제대로 연결을 지었는지 궁금하여 확인을 받았으면 하여 질문을 남기게 되었습니다. posix 계열의 file api(read, write) 와 같은 경우에는stream을 개방한 뒤에, read 요청이 있을 경우, kernel space에 할당된 버퍼에 device driver로 부터 가져온 내용을 block 단위로 읽어 들인 뒤, 이를 다시, user space에 존재하는 process의 메 메모리 공간에 read함수에 파라미터로 들어가는 size만큼 읽어 들이는 것으로 이해했습니다. 이 os의 paging과 연관지어 볼 때, user process와 kernel process가 다른 (정말 극악의 확률로 같을 수...도 있지만) virtual address를 물리적으로 다른 page frame을 사용하는 것으로 볼 수 있을것 같았습니다. 하지만 mmap은 file과 memory가 mapping 돠는 것으로 보아서, device driver의 io와 연결된 kernel space에 user space에서 direct하게 접근 가능한 것으로 이해했습니다. 이 방식이 가능하려면, paging을 해줄 때, kernel space와 process가 동작하는 user space에서 해당 파일을 요청한 공간이 동일한 page frame을 사용해서 동일한 physical address에 매핑이 되는 것 같았습니다. 제가 이해한 내용이 맞는지, 틀렸다면 올바른 이해가 무엇인지 궁금합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
GetComponentsInChildren()
안녕하세요! 강의를 듣다가 이해가 잘 안되고 헷갈리는 부분이 있어서 질문드립니다. GetComponentsInChildren() 함수 설명에 component를 리턴한다고 되어있어서 처음에는 Rigidbody, Collider, Transform같은 component를 말하는 줄 알았습니다. 그런데 component.name == name으로 비교를 하길래 디버깅해보니 component.name에 PointText, ScoreText가 들어가더라구요. 제가 생각하는 component는 Text이고, component.name도 Text인데 뭔가 이상했습니다(??) 검색을 해보니 컴포넌트형으로 자식 오브젝트를 검색해서 나타난 자식오브젝트의 배열을 반환한다, 자식 객체들에게서 지정한 컴포넌트를 모두 추출한다 등의 설명이 있더라구요. 둘 다 맞는 말인 것 같고 이해도 되는 것 같은데 여기서의 component는 자식 오브젝트를 나타내는 건가요? 왜 T라는 component를 가지는 자식들을 찾는데 component를 리턴한다고 했는지 혼란스럽습니다.
-
미해결하울의 안드로이드 인스타그램 클론 만들기
9분 30초경 onCreate 오류나면 확인하세요.
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.READ_EXTERNAL_STORAGE), 1) android.Manifest 입니다,
-
미해결유니티와 C#으로 배우는 카타나제로스타일 게임만들기 (기본편)
강의 순서가 이상해 질문 올립니다~
안녕하세요. 강사님 수업을 열심히 듣고있는 학생입니다. 올려주신 수업순서 중 공격이펙트 2강의에서 공격이펙트 마무리 강의영상으로 넘어가며 그래픽을 리뉴얼 하시기이전의 원본카타나 제로영상이 들어가있습니다. 그래도 이어지는 강의 내용이겠거니하고 보았지만 이 강의 내용은 공격이펙트 마무리영상이 아닌 걸 알수있습니다. 그렇게 공격이펙트 관련하여 마무리 되지 않은 체 강의가 끝나고 그 다음 강의는 이전강의와 전혀 연관이 없는 그림자이펙트강의가 들어갑니다. 이전수업에서 공격이펙트가 플립이 안된버젼으로 스크립트가 마무리지어져 캐릭터 좌우 방향에 상관없이 한쪽방향으로만 공격이펙트가 나갑니다만, 다음수업들은 모두 캐릭터 방향에 따라 올바르게 공격이펙트가 나가는 것을 볼 수 있습니다.(물론 수업을 열심히 들었으면 강의내용이 없어도 해당 스크립트를 구현하는데 문제가 없습니다만...제가 구현한 부분이 강사님과 같게 구현되었는지 궁금하네요.)<- 쓰고 나서 다음강의 듣다보니 영상 지나가는부분 잠깐 정지눌러 구현하신 스크립트 확인완료했습니다. 아마 영상을 올리실 때 최근다시 찍으신 강의 대신 이전강의 영상이 섞여 문제가 발생한 것 같은데 확인되시는대로 영상교체 부탁드리겠습니다^^; 쓰다지우고 쓰다 지우고 해서 말이 뒤죽박죽입니다만 양해부탁드립나다.^^;
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
_app.js 질문이요
모든 페이지들의 _app.js 가 공통분모 여서, import 'antd/dist/antd.css' 를 넣어서 다른 js 페이지들에는 넣을 필요가 없었잖아요. 그런데 import Head from 'next/head'는 _app.js 에 명시 했는데도, 다른 페이지js 에 꼭 넣어줘야 에러가 안나더라구요, 왜그런걸까요??
-
미해결홍정모의 따라하며 배우는 C언어
9.12강의와 관련된 질문드립니다.
안녕하세요:) 강의를 보던 중 궁금증이 생겨 질문 드립니다. 1) printf("%p", a_ptr); 에서 나오는 값은 a_ptr이 갖는 주소값인가요, 아니면 a_ptr이란 변수의 주소를 출력하는 것인가요? 검색을 해봐도 주소값이라고만 말해, 헷갈려 질문 드립니다. 2) 처음에는 a_ptr = &a 는 포인터변수가 찾아갈 주소 값을 받는 것이며, *a_ptr = (a에 넣어줄 값) 은 포인터변수가 찾아간 주소의 값을 받는 것으로 이해했습니다. 하지만 저번 9.12강의와 이번 강의에서 차이점을 발견했는데요. 저번 강의에서는 *a_ptr = &a 로, 이번 강의에서는 a_ptr = &a로 쓰신 걸 보았습니다. 그래서 이 둘의 차이점이 궁금해 질문드립니다. > 9.12강의 관련 내용 감사합니다:)
-
미해결하울의 안드로이드 인스타그램 클론 만들기
android.support.design은 사용안됩니다. 아래꺼 사용하세요
<com.google.android.material.textfield.TextInputLayout android:id="@+id/editText" android:layout_below="@id/toorbar_division" android:layout_toRightOf="@+id/addphoto_image" android:layout_height="match_parent" android:layout_width="match_parent"></com.google.android.material.textfield.TextInputLayout>
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
댓글 등록 문제 질문
강사님 안녕하세요. 본 강의 마지막 쯤에 댓글 등록 버튼을 클릭하면 댓글이 등록되어서 아래에 출력되어야 하는데, dispatch 과정에서 오류가 있는 듯 댓글 등록이 되지 않습니다. 트래킹해 보니 sagas/post.js 에서 watchCommentPost와 reducers/post.js 에서 addComment 가 unused인데, 이 원인이 아닐까 생각합니다. 해당 구현부 영상을 돌려봐도 원인을 못 찾겠어서, 소스 깃허브 첨부하여 문의 드립니다. 늦은 밤에 문의드려 죄송하며, 항상 감사합니다.