묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실무에서 바로 쓰는 영어 이메일
강의 자료 요청 드립니다.
안녕하세요, 강의 자료 공유 요청 드립니다. ddea2@naver.com
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
질문드립니다
데이터통신 리스너를 컴포넌트가 아닌 리덕스로 따로 빼서 비동기처리로 뺴도 구현해도 문제가 없나요?? 다른강의에서는 redux에 api를 구현하셨는데 여기서는 컴포넌트 안에서 정의하셔서 혹시 다른 이유가 있나 궁금합니다!
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요 문제가 이해되지 않는 부분이 있어서 질문드립니다.
입력예제 1 을 보면 2 6 2 5 3 5 2 7 3 8 9 15 3 10 3 4 15 8 16 6 6 17 3 10 11 18 7 14 7 15 이렇게 되어있는데 이것의 의미가 2 >TC 2개 생성 6 2 5 3 > 6개의 문자열 중에서 2번째에서 5번째까지의 수를 오름차순하여 3번째 수를 출력하라 5 2 7 3 8 9 > 문자열 6개 !!!!! 15 3 10 3 > 15개의 문자열 중에서 3번째에서 10번째의 수를 오름차순 하여 3번째 수를 출력하라 4 15 8 16 6 6 17 3 10 11 18 7 14 7 15 > 문자열 15개 !!!!! !!!!가 있는 부분의 숫자는 어떻게 나오는 기준이 뭘까요 그냥 랜덤으로 돌리는거까지 하라는 걸까요
-
미해결
Which is the Best Truck Wreckers QLD Service Provider Firm in Australia?
There are many truck or logan wreckers service providers in Australia. But all of them are not the same. Some of them are good, and some others are not so good. It is tough to find who is the best one. If you want the best and most natural treatment for your truck, you must choose JCP Car Parts, the best truck wrecker QLD service provider. They have the best wrecking and recycling services. They can help you get rid of your truck without hassle, and all the papers are done within two days.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
detection 과정 질문
안녕하세요. 제가 이해를 못한 부분이 있어서 질문드립니다. 1. 과정이 a. region proposal로 RoI 2000개 추출 b. 2000개의 각 이미지들은 따로 feature extractor에 입력 c. feature extractor에서 feature map 추출 d. feature map -> 1D로 추출 e. FC Layer 에서 확률 추출 맞나요?? 혹시 제가 잘못 이해했다면, 알려주시면 감사하겠습니다! ----- 2. 1-c. 과정에서 feature map이 뭔지 잘 모르겠습니다 각 이미지에서 feature extractor를 추출한다는게 사람으로 예를 들자면 눈과 같은 특징들을 추출한게 feature map이라고 보면 될까요?? --- 3. 1-d. e. 과정에서 1D -> FC Layer에 입력이 무엇을 하는지 잘 모르겠습니다. feature map을 기반으로 어떤 벡터를 추출하는거죠?? --- 4. FC Layer 가 Fully connected layer가 이미지를 예측한다는걸 알겠는데 FC Layer는 feature map을 1D로 만든 값을 기준으로 어떤 object인지 예측하는게 아닌가요? 그 후 다시 SVM Classifier를 하는게 이해가 잘 안갑니다! --- 5. Flatten 된 값들을 가지고 좌표를 예측한다고 하셨는데, 어떻게 1차원 값을 가지고 좌표를 예측하는지 이해가 잘 안갑니다... --- 질문을 한번에 너무 많이 남겨서 죄송합니다.. 혹시 다음에 질문을 개별로 남겨야된다면 알려주시면 감사하겠습니다! 좋은 강의 제공해주셔서 감사합니다!
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
"더미데이터와 포스트폼 만들기" 강의순서 관련 코드 작성 뒤, 로그인에서 게시판으로 넘어가지 않는 문제로 질문 드립니다!
안녕하세요. 제로초님의 강의에 큰 도움을 받고 있음에 감사의 말씀을 드립니다. 여러 검색결과도, 질문답변도, 해당강의 반복재생으로 찾아보았으나 해결치 못한 부분이 있어 이렇게 직접 질문을 하게 됐네요! [ 마주한 문제점 & 상황 ] 은 다음과 같습니다. 1. (이전상황) 로그인폼(Id, Pwd)에 텍스트를 입력해 "로그인" 버튼을 누르면 정상적으로 로그인이 됐고, Redux 역시 정상작동해 개발자도구에서 확인이 가능했습니다. 2. (현재상황) 섹션3(Redux) "더미데이터와 포스트폼 만들기" 강의를 들으며 문제에 마주했습니다. 3. (더미데이터와 포스트폼 만들기 강의 후) 잘 넘어가던 로그인 화면에서 데이터는 넘어가 콘솔에 찍히지만, 화면 페이지는 게시판으로 넘어가지 않는 상황에 직면했습니다. [ 콘솔에 찍히는 Error ] 는 다음과 같습니다. [정상적으로 넘어가는 로그인 데이터] -> 그러나 로그인이 되지 않고 화면이 넘어가질 않습니다! [ 소스코드 ] 1. package.json { "name": "react-nodebird-front", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "dev": "next -p 3060", "build": "next build" }, "author": "jj", "license": "ISC", "dependencies": { "@ant-design/icons": "^4.7.0", "antd": "^4.19.0", "next": "^9.5.5", "next-redux-wrapper": "^6.0.2", "prop-types": "^15.8.1", "react": "^16.14.0", "react-dom": "^16.14.0", "react-redux": "^7.2.8", "redux": "^4.1.2", "redux-devtools-extension": "^2.13.9", "styled-components": "^5.3.3" }, "devDependencies": { "eslint": "^8.10.0", "eslint-plugin-hooks": "^0.4.2", "eslint-plugin-import": "^2.25.4", "eslint-plugin-react": "^7.29.3" } } 2. LoginForm.js 파일 import React, { useState, useCallback, useMemo } from 'react'; import { Form, Input, Button } from 'antd'; import Link from 'next/link'; import styled from 'styled-components'; import { useDispatch, useSelector } from 'react-redux'; import useInput from "../hooks/useInput"; import { loginAction } from '../reducers/user'; const ButtonWrapper = styled.div ` margin-top: 10px; `; const FormWrapper = styled(Form) ` padding: 10px; `; const LoginForm = ({ setIsLoggedIn }) => { const dispatch = useDispatch(); const [id, onChangeId] = useInput(''); const [password, onChangePassword] = useInput(''); const onSubmitForm = useCallback(() => { console.log(id, password); dispatch(loginAction({id, password})); }, [id, password]); return ( <FormWrapper onFinish={onSubmitForm}> <div> <label htmlFor="user-id">아이디</label> <br /> <Input name="user-id" value={id} onChange={onChangeId} required /> </div> <div> <label htmlFor="user-password">비밀번호</label> <br /> <Input name="user-password" type="password" value={password} onChange={onChangePassword} required /> </div> <ButtonWrapper> <Button type="primary" htmlType="submit" loading={false}>로그인</Button> <Link href="/signup"><a><Button>회원가입</Button></a></Link> </ButtonWrapper> </FormWrapper> ); } export default LoginForm; 3. index.js import React from 'react'; import { useSelector } from "react-redux"; import AppLayout from "../components/AppLayout"; import PostForm from '../components/PostForm'; import PostCard from '../components/PostCard'; const Home = () => { const { isLoggedIn } = useSelector((state) => state.user); const { mainPosts } = useSelector((state) => state.post); return ( <AppLayout> {isLoggedIn && <PostForm /> } {mainPosts.map((post) => <PostCard key={post.id} post={post} />)} </AppLayout> ); } export default Home; 4. configureStore.js import { createWrapper } from 'next-redux-wrapper'; import { applyMiddleware, compose, createStore } from 'redux'; import { composeWithDevTools } from 'redux-devtools-extension'; import reducer from '../reducers'; const configureStore = () => { const middlewares = []; const enhancer = process.env.NODE_ENV === 'production' ? compose(applyMiddleware(...middlewares)) : composeWithDevTools(applyMiddleware(...middlewares)); const store = createStore(reducer, enhancer); return store; }; const wrapper = createWrapper(configureStore, { debug: process.env.NODE_ENV === 'development', }); export default wrapper; 5. post.js // [ initialState ] export const initialState = { mainPosts: [{ id: 1, User: { id: 1, nickname: 'jj', }, content: '첫 번째 게시글 #해시태그 #익스프레스', Images: [{ src: 'https://search.pstatic.net/common/?src=http%3A%2F%2Fblogfiles.naver.net%2FMjAxNjExMjFfMjM2%2FMDAxNDc5NjY5MjEyOTEz.13R8uiaA0T8rJnLPJICAib4oVtrAzA424jbDMC9a3ckg.m0QoHt-5MdR0MH501npcL8aJof3Eu1h_9Zp0ceNm8e4g.PNG.guri4you%2F%25BB%25F6%25B1%25F2_%25BD%25C9%25B8%25AE%25C5%25D7%25BD%25BA%25C6%25AE1.png&type=sc960_832', }, { src: 'https://search.pstatic.net/common/?src=http%3A%2F%2Fblogfiles.naver.net%2FMjAxNjExMjFfMjM2%2FMDAxNDc5NjY5MjEyOTEz.13R8uiaA0T8rJnLPJICAib4oVtrAzA424jbDMC9a3ckg.m0QoHt-5MdR0MH501npcL8aJof3Eu1h_9Zp0ceNm8e4g.PNG.guri4you%2F%25BB%25F6%25B1%25F2_%25BD%25C9%25B8%25AE%25C5%25D7%25BD%25BA%25C6%25AE1.png&type=sc960_832', }, { src: 'https://search.pstatic.net/common/?src=http%3A%2F%2Fblogfiles.naver.net%2FMjAxNjExMjFfMjM2%2FMDAxNDc5NjY5MjEyOTEz.13R8uiaA0T8rJnLPJICAib4oVtrAzA424jbDMC9a3ckg.m0QoHt-5MdR0MH501npcL8aJof3Eu1h_9Zp0ceNm8e4g.PNG.guri4you%2F%25BB%25F6%25B1%25F2_%25BD%25C9%25B8%25AE%25C5%25D7%25BD%25BA%25C6%25AE1.png&type=sc960_832', }], Comments: [{ User: { nickname: 'jj4', }, content: 'redux를 학습 중입니다.', }, { User: { nickname: 'jj3', }, content: '다음은 sage를 학습 예정임.', }] }], imagePaths: [], postAdded: false, } const ADD_POST = 'ADD_POST'; export const addPost = { type: ADD_POST, } const dummyPost = { id: 2, content: '더미데이터입니다.', User: { id: 1, nickname: 'jj1', }, Images: [], Comments: [], }; const reducer = (state = initialState, action) => { switch (action.type) { case ADD_POST: return { ...state, mainPosts: [dummyPost, ...state.mainPosts], postAdded: true, }; default: return state; } }; export default reducer; 6. PostForm.js import React, { useCallback, useState, useRef } from 'react'; import { Form, Input, Button } from 'antd'; import { useSelector, useDispatch } from 'react-redux'; import { addPost } from '../reducers/post'; const PostForm = () => { const { imagePaths } = useSelector((state) => state.post); const dispatch = useDispatch(); const imageInput = useRef(); const [text, setText] = useState(''); const onChangeText = useCallback((e) => { setText(e.target.value); }, []); const onSubmit = useCallback(() => { dispatch(addPost); setText(''); }, []); const onClickImageUpload = useCallback(() => { imageInput.current.click(); }, [imageInput.current]); return ( <Form style={{ margin: '10px 0 20px' }} encType="multipart/form-data" onFinish={onSubmit}> <Input.TextArea value={text} onChange={onChangeText} maxLength={140} placeholder="어떤 신기한 일이 있었나요?" /> <div> <input type="file" multiple hidden ref={imageInput}/> <Button onClick={onClickImageUpload}>이미지 업로드</Button> <Button type="primary" style={{ float: 'right' }} htmlFor="submit">짹짹</Button> </div> <div> {imagePaths.map((v) => ( <div key={v} style={{ display: 'inline-block'}}> <img src={v} style={{ width: '200px' }} alt={v} /> <div> <Button>제거</Button> </div> </div> ))} </div> </Form> ) }; export default PostForm; 7. PostCard.js import React from 'react'; const PostCard = () => { return ( <div> PostCard </div> ); }; export default PostCard; 8. user.js import { HYDRATE } from 'next-redux-wrapper'; // initialState 부분 const initialState = { user: { isLoggedIn: false, user: null, signUpData: {}, loginData: {}, }, post: { mainPosts: [], } }; // [로그인] action creator export const loginAction = (data) => { return { type: 'LOG_IN', data, } }; // [로그아웃] action creator export const logoutAction = (data) => { return { type: 'LOG_OUT', } }; // reducer const rootReducer = (state = initialState, action) => { switch (action.type) { case HYDRATE: console.log('HYDRATE', action); return { ...state, ...action.payload }; case 'LOG_IN': return { ...state, user: { ...state.user, isLoggedIn: true, user: action.data, }, }; case 'LOG_OUT': return { ...state, user: { ...state.user, isLoggedIn: false, user: null, }, }; default: return state; } }; export default rootReducer; 다소 많은 양의 글 내용이지만, 시간이 허락되실 때 답변 주시면, 참 감사할 것 같습니다! 오늘 하루도 고생많으셨고, 이번 한 주도 파이팅입니다! 늘 양질의 강의 감사합니다 ^^
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
네이버 로그인시 id 칸에 아이디 패스워드 이런식으로 나옵니다 패스워드
아래와 같이 코딩을 했는데요 ㅜㅜ 왜 결과물이 ㅠㅜㅠ 뭐가 잘못되었을까요? 결과물 이미지 입니다. 코드 입니당. from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By #크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager import time import pyautogui import pyperclip #브라우저 꺼짐 방지 cheome_options = Options() cheome_options.add_experimental_option("detach",True) service = Service(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=cheome_options) #웹페이지 이동 driver.implicitly_wait(5) driver.maximize_window() driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https%3A%2F%2Fwww.naver.com") #아이디 id = driver.find_element(By.CSS_SELECTOR,"#id") id.click pyperclip.copy("abcdefg") pyautogui.hotkey("ctrl", "v") time.sleep(5) #비밀번호 입력 pw = driver.find_element(By.CSS_SELECTOR,"#pw") pw.click pyperclip.copy("1234567") pyautogui.hotkey("ctrl", "v") time.sleep(2) #fhrmdls qjxms login_btn = driver.find_element(By.CSS_SELECTOR,"#log\.login") login_btn.click
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
setTime(time+1)에 대해서 질문이 있습니다.
setTime 은 React.usestate 에서 받아오는 함수인가요 ?? setTime이란게 time을 1씩 더해서 값을 업데이트 해준다고 생각하면 되는건가요 ??
-
해결됨따라하며 배우는 리액트 테스트 [2023.11 업데이트]
React-Testing-Library 와 Jest 관계, 차이가 궁금합니다.
RTL, Jest 관계 및 차이가 궁금해서 검색을 했더니 Jest가 RTL 대안이 아니고 상호 보완 관계라고 설명이 있던데요.RTL, Jest 프레임워크 각 각 어떤 역활을 하는지 궁금합니다.
-
미해결노래 들으며 실전 프로젝트로 안드로이드 최신 기술을 공부해 보자! - 이름 궁합 편
관련 첨부 자료는 없나요?
안녕하세요. 영상 중간에 git에서 소스 붙여넣기 하는데예를들어, di에서 NetworkModul 파일을 붙여넣고 '이미 의존성 주입하기 위해 적어놨다' 이런식으로 나오는데 이해가 되질 않습니다.음성파일 지원 안되는건 이해하지만 부족한 만큼 첨부파일이나 기타 설명으로 지원해주었으면 하는데요. 이 과정 자체가 중급이어도 어느정도 설명이 필요하지 않을까 해서요. 이미 MVVM 패턴에 대해 이해하고 있는 사람들을 위한 내용인가요? 따라 하고는 있는데 이해할 수가 없어서 글 남겨봅니다.
-
미해결Vue.js + TypeScript 완벽 가이드
깃헙 권한 요청드립니다.
2번째 프로젝트 권한 요청드립니다. dawon950@gmail.com 입니다.감사합니다!!
-
미해결iOS/Android 앱 개발을 위한 실전 React Native - Basic
vs code 터미널에서의 command not found
안녕하세요, vs code 터미널 내부에서 프로젝트를 생성하려는데 (react-native --version ~~~~ my_first_app) 막상 터미널은 command not found만 뜨는 상황입니다. big sur 사용중이고요. 그냥 react-native --version만 쳐도 command not found가 뜨는 상황이라 어떻게 해야할지 묻고싶습니다. 참고로 일반 터미널 앱을 통해서는 react-native --version 를 칠시에, 버전이 잘 나옵니다. 즉 일반 터미널에서는 잘 동작할 것 같습니다. 해당 영상에서 vs-code 내부 터미널에서 하고있기에 이대로 진행하고 싶은데 해결법을 알려주세요.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
메일발송이 되지 않습니다 ㅠㅠ // form.save()에 대하여 질문입니다.
안녕하세요? 1.이전에는 됐는데, 왜 다시할때는 안되는건지 모르겠네요 ㅠㅠ 11분경에 보내시는 메일이 발송이 되지 않습니다. 다음과 같이 1이 출력되면 메일이 발송성공한 것으로 알고 있는데, 기다려 보아도 메일이 오지를 않네요 강의 후반부에 회원가입과 동시에 메일을 보내는 부분도 메일이 발송되지가 않습니다 ㅠㅠ 2. 14분경에 views.py에서 signup함수 내부에 form.save()를 signed_user = form.save()로 바꿔주시는데, form.save()라는 함수가 값들을 실질적으로 db에 저장하는 것으로 알고 잇습니다. 그러면 signed_user = form.save()로 받아주는 부분은 해당 데이터를 db에 저장하는 동시에 저장된 그 유저 인스턴스(데이터 한행)를 변수에 담는 것인가요? 좋은 강의 감사합니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
깃헙 boiler plate mern stack관련 질문
안녕하세요 이 강의 다 듣고 선생님 깃헙에 있는 boilerplate를 다운받아 다른 강의를 이어가려고했는데 다운받고 디비 연동하고 동작해봤는데 첨부한 이미지처럼 랜딩페이지 navbar에 로그인, 회원가입 없이 바로 로그아웃먼저 뜨고 눌리지도않습니다. 그리고 직접 login, register로 들어가 정보들을 입력해도 이미지처럼 버튼 자체가 안눌리더라구요.. 왜이런걸까요?
-
미해결윤재성의 자바 기반 안드로이드 앱개발 Part 1 - UI Programming
30강의 음성 파일이 다른 내용을 설명하고 있습니다.
30강 ProgressBar의 음성 파일이 31강의 SeekBar를 설명하고 있는데 확인 부탁드려요. 감사합니다.
-
미해결블렌더 왕초보 입문 기초강의
수업이 간단하니 너무 좋네요~
수업이 간단하니 너무 좋네요~
-
미해결Java TPC (생각하고, 표현하고, 코딩하고)
Animal 타입
21분쯤에 Dog dd = new Dog(); 를 Animal ani =new Dog(); 이렇게 쓰는 이유가 뭔지모르겠습니다. Animal 타입으로 객체를 생성하면 Animal 특성과 메소드만 사용할수있는게 아닌가요 ?? 만약 이렇게 되면 Animal에만 메소드와 객체속성을 부여하고 dog클래스는 메소드,객체속성을 부여하지않고 사용해야하는게 아닌가 생각이듭니다. 답변해주시면 감사하게습니다.!!
-
미해결실무에서 바로 쓰는 영어 이메일
강의 자료 요청 드립니다.
강의 자료 요청 드립니다. gj.jeon@halla.com 유용한 교육 감사합니다.
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
@JsonFilter 적용 후 오류 발생했을 때 response에 {} 가 포함되어 리턴됩니다.
안녕하세요, 강의 09:35 지점 처럼 @JsonFilter("UserInfo") 적용 후 SimpleBeanPropertyFilter와 FilterProvider를 적용하지 않은 UserController에서 호출했을 때 아래 오류가 발생하는데 Type definition error: [simple type, class com.study.myrestfulwebservice.user.User]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot resolve PropertyFilter with id 'UserInfo'; no FilterProvider configured 포스트맨에서 응답 body를 확인해보면 아래 스샷처럼 빈 오브젝트가 포함되어서 리턴됩니다. 강제로 throw new RuntimeException을 발생시키면 빈 오브젝트 없이 정상적으로 ErrorResponse 객체에 대해서만 출력됩니다. 빈 오브젝트가 왜 포함되서 리턴되는지 원인을 알 수 없어 문의드립니다 ㅠ_ㅠ
-
미해결뉴욕 프로덕트 디자이너가 알려주는, 입문자를 위한 UX디자인 개론
휴리스틱 평가 기반 사이트 분석
안녕하세요? 저는 최대한 휴리스틱 평가에 기반해서 은행이라는 타이틀 아래, 하나은행과 신한은행 사이트를 분석해 보았습니다. 1. 하나은행 사이트는 elements를 디자인적으로 그룹화해서 비슷한 기능을 하는 그룹처럼 보이게끔은 해두었다. 하지만, 이 element들이 어떠한 topic에 의해 그룹핑이 되었는가에 대한 의문이 든다. 특히, 그룹 B는 주요 기능이라고 하기에는 직관적이지 않다고 생각이 든다. 중요한 정보를 가지고 있는 텍스트에 비해 아이콘이 상대적으로 너무 크고 화려하다. 이에 그치지 않고 심지어 텍스트는 사용자의 익숙함을 고려하지 않은 듯하다. 과연 중장년층 또는 노인이 ‘오픈뱅킹’, ‘채팅상담’ 등에 대한 단어에 익숙할까? 그룹 A의 ‘조회’는 ‘이체’와 일관성을 갖는 것으로 보아, 본인의 계좌 조회임을 유추할 수 있었지만, 그룹 B의 ‘빠른 조회’는 그룹 B의 어떠한 기능과 일관성을 갖는 것일까? 무엇을 빠른 조회하기 위한 기능일까? 의문을 고객에게 전가한다고 생각한다. 2. 그에 반해, 신한은행의 element는 직관적이고 일관적인 면을 모두 갖고 있다고 본다. 그룹 B 와 C의 경우 디자인으로 그룹핑하여 같은 depth의 기능임을 일관되게 보여주었으며, 또한 해당 그룹에 직관적인 타이틀을 달아 각 그룹의 topic을 사용자가 고민할 필요 없이 알아볼 수 있게 하였다. 그룹 A같은 경우, 그룹 B나 C와 같이 타이틀은 존재하지 않지만, 디자인적으로 이 그룹이 이 메인 홈페이지에서 사용자가 가장 원하는 기능을 담고 있다는 것을 일관되고 직관적으로 보여준다. 추가로, 잘 된 UX 디자인과 잘되지 않은 UX 디자인에 대한 과제를 이메일로 보냈었는데, 함께 확인 부탁드립니다. 감사합니다.