묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
PhantomJS 문의
안녕하세요, 강사님. selenium을 배우고, 자연스럽게 headless를 배우다보니 PhantomJS와 selenium의 크롬드라이버에서 속성만 바꾸는 Headless Chrome에 대해서 배웠습니다. 우선 좋은강의 감사합니다. 알려주신방법대로 PhantomJS를 다운하고, phantomjs.exe를 접근해서, driver=webdriver.PhantomJS(dir)을 하면, AttributeError가 발생합니다. 그 내용은 selenium.webdriver에 더이상 PhantomJS라는 module은 없다는 것입니다. 실제 dir(webdriver)를 봐도 PhantomJS는 보이지가 않네요... 말씀처럼 공홈(https://www.selenium.dev/documentation/getting_started/installing_browser_drivers/#phantomjs) 을 가도 PhantomJS는 unmaintained라고 나와는 있는데... 이시점(21년11월2일)에는 아예 module조차 없어보입니다. 이게 맞는지 문의드립니다.
-
해결됨Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
선생님 맨 마지막..map 헬퍼 내용이 이해가 잘 안가는데요.ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. <div class="NewsView"> <div v-for="item in askItems">{{ item.title }}</div> </div> computed: { // 방법3 ...mapGetters({ askItems: 'fetchedAsk' }) 이걸 왜 배열로 바꾸면 바로 화면에 바인딩이 되나요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
오류
디버그도 안되고 빌드도 안되고 창을 닫으려 해도 솔루션을 닫으려면 빌드를 중지해야 합니다라고 뜨는데 혹시 해결 방법 아시나요 먹통이에요 밑에는 이런거 계속 떠있는데 어떻게 해야할지 모르겠습니다...
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃 레포지토리 문의드립니다.
안녕하세요 기효님🙇🏻 강의 잘보고 있습니다. 다름이 아니라vue-advanced 강의 나오자마자 수강했었는데요! 이번에 리마인드 차원에서 복습하려 합니다,, 이 레포지토리는 제 github에 'vue-advanced' 으로 아직 남아 있는걸 발견했는데 fetch 받으니 10개월 전이 가장 최근 커밋 내역이던데 이 레포 맞겠죠..? 혹시 레포 다른걸로 변경했나요⁉️
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
TextRPG2 플레이어 생성
강의에서 설명하신대로면 Player player = new player(); 가 안되고 Player player = new Knight();가 되어야 하는데 반대로 player만 생성되고 knight는 형식 변환을 할 수 없다고 뜹니다... 강의 화면대로 똑같이 작성했는데 왜이럴까요ㅠㅠ
-
미해결초보를 위한 쿠버네티스 안내서
mac m1에서는 안되네요
https://github.com/kubernetes/minikube/issues/9224
-
해결됨스프링 핵심 원리 - 고급편
traceIdHolder.remove()와 traceIdHolder.set(null)의 차이가 있나요?
안녕하세요 강의 잘 보고 있습니다. traceIdHolder.remove()와 traceIdHolder.set(null)의 차이점이 궁금합니다. 실험해보니까 set(null)로 해도 잘 동작합니다만 아무래도 remove()라는 함수가 따로 있는 이유가 있을 것 같아서요.
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
Constructor
안녕하십니까, 강사님 좋은 강의 만들어주셔서 감사드립니다. 질의응답에서 @Autowired 필드 사용보다는 Constructor의 사용이 더 좋다고 해서 아래와 같이 구현하였는데 오류발생의 이유가 무엇인가요? private PostRepository postRepository; public UserJpaController(PostRepository postRepository) { this.postRepository = postRepository; } ->Class doesn't contain matching constructor for autowiring
-
미해결Spring Boot JWT Tutorial
로그인 api 질문
반환 값에 왜 비밀먼호와 activated 관련 정보는 안나오는지 궁금합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
mariaDB 사용중이라 포트 3307 햇는데
생성됫다고 떳는데 포트번호도 같고 근데 실제로 들어가보면 테이블이없는뎁숑?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
Dense 쪽에서 input channel과 output channel을 똑같이 설정하는 이유가 무엇인가요?
안녕하세요 Dense(512, 512)와 같이 굳이 채널을 같게 해서 출력을 내보내는 경우의 의미가 뭔지 알 수 있나요? 512x512로 파라미터만 커지고 차원 압축 개념이 없어서 비효율적일 것 같습니다
-
미해결프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React) - Part. 1
Apache 나 Nginx을 통해서 gzip으로 만드는 작업이 맞을까요?
gzip을 하는것이 성능 최적화에 도움이 된다고 하셔서 방법을 찾아봤습니다. 그 과정에서 Apache 나 Nginx을 통해서 gzip을 하는 방법이 있다고 알게됬습니다. 1. Apache 나 Nginx을 통해 gzip으로 만들어서 전달하는게 프론트엔드가 설치하고 작업하는게 맞는건가요? 제가 정확히 이해한 내용이 맞는지 잘 모르겠어서 질문드립니다 ㅠ
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
화면 클릭 이벤트 처리 - findViewById, Toast 에서 07:08 에서 문제가 생겼습니다.
괄호안에 imageview를 넣어야하는데 자동완성이 안되길래 ImageView라고 대소문자를 구분하니까 뭔가 자동완성이 나오기는 하더라구요 문제는 ImageViewCompat 이라는 비슷한 이름이 하나가 나오더라구요.. 근데 이건 아닌거같아서.. 어떻게 해야 ImageView를 불러올수있나요?
-
해결됨3dsmax 모델링 고수의 비밀! (Modeling Expert Technique)
인스턴스카피 활용 질문드립니다
안녕하세요 선생님! 12강에서 인스턴스 카피의 활용에서 박스를 탱크에 셀렉트앤 플레이스로 붙여버리면 삐딱하니까 인스턴스 카피를해준다음에 똑바르게 박스를 만들고 얼라인기능을 이용해서 다시 똑바르게 박스를 세워주시잖아요 저도 이게 박스를 어느 물체면에 붙이면 설명해주신대로 똑같이 저렇게 되는데 어떤삐딱한 물체는 인스턴스 카피하고 박스를 만들고 얼라인을 이용해도 여전히 삐딱하게 돌아가있는경우가 잇는데 왜그런지 혹시 아실까요..?ㅠㅠ 박스는 적용이 되었는데요... 얇은 분홍색 막대는 적용햇는데 여전히 삐딱합니다...ㅠ \ 파란색 물체역시 첫번째께 본체고 두번째꺼인스턴스 카피한다음에 저기 분홍박스 얼라인 햇는데여전히 삐딱해요...ㅠㅠ 제가 뭘 잘못한걸까요...?
-
미해결이미지 관리 풀스택(feat. Node.js, React, MongoDB, AWS)
cdn 관련 질문
안녕하세요 선생님. cdn을 사용할 경우 origin server에 있는 이미지가 수정되었는데 cdn 서버의 ttl로 인해 cdn 서버에는 수정하기 전에 이미지가 캐싱되있는 문제가 발생 할 수 있잖아요!이를 위한 해결방안을 찾아보니 aws cloudfront는 캐시 무효화 기능을 제공해주더라고요. 여기서 궁금한 점이.. 캐쉬 무효화를 적용하면 cdn 서버에 캐시가 되지 않고 매 요청 시 origin server로 요청하게 되어 cdn을 사용하는 이유가 사라질거라고 생각이 되는데 어떤 원리로 캐시 무효화 기능을 제공하는 것 인가요??감사합니다 !!
-
미해결Slack 클론 코딩[실시간 채팅 with React]
최초 로그인 시 새로고침을 하지 않으면 워크 스페이스가 뜨지 않습니다.
백 엔드 서버를 가동하고 로그인을 하면 이러한 창이 뜹니다. 이 상태에서 새로고침을 하면 정상적으로 워크스페이스를 제대로 가져오는데 혹시 가져오기 직전에(userData가 undefined) 화면이 렌더링 돼서 저러한 에러가 뜨는걸까요? 아무리 해결을 해보려 해도 되지 않아 이렇게 질문 남깁니다. 제 코드는 아래와 같습니다 import React, { VFC, useCallback, useState } from 'react'; import useSWR from 'swr'; import fetcher from '@utils/fetcher'; import axios from 'axios'; import { Redirect, Route } from 'react-router'; import { Header, RightMenu, ProfileImg, WorkspaceWrapper, Workspaces, Channels, Chats, WorkspaceName, MenuScroll, ProfileModal, LogOutButton, WorkspaceButton, AddButton, WorkspaceModal, } from '@layouts/Workspace/styles'; import gravatar from 'gravatar'; import { toast } from 'react-toastify'; import { IUser } from '@typings/db'; import { Link, Switch } from 'react-router-dom'; import loadable from '@loadable/component'; const Channel = loadable(() => import('@pages/Channel')); const DirectMessage = loadable(() => import('@pages/DirectMessage')); import Menu from '@components/Menu'; import { Button, Input, Label } from '@pages/SignUp/styles'; import useInput from '@hooks/useInput'; import Modal from '@components/Modal'; import CreateChannelModal from '@components/CreateChannelModal'; const Workspace: VFC = () => { const [showUserMenu, setShowUserMenu] = useState(false); const [showCreateWorkspaceModal, setShowCreateWorkspaceModal] = useState(false); const [showWorkspaceModal, setShowWorkspaceModal] = useState(false); const [showCreateChannelModal, setShowCreateChannelModal] = useState(false); const [newWorkspace, onChangeNewWorkspace, setNewWorkspace] = useInput(''); const [newUrl, onChangeNewUrl, setNewUrl] = useInput(''); const { data: userData, revalidate, mutate, } = useSWR<IUser | false>('http://localhost:3095/api/users', fetcher, { dedupingInterval: 2000, }); const onLogout = useCallback(() => { axios .post('http://localhost:3095/api/users/logout', null, { withCredentials: true, }) .then(() => { mutate(false, false); }); }, []); const onCloseUserProfile = useCallback((e) => { e.stopPropagation(); setShowUserMenu(false); }, []); const onClickUserProfile = useCallback(() => { setShowUserMenu((prev) => !prev); }, []); const onClickCreateWorkspace = useCallback(() => { setShowCreateWorkspaceModal(true); }, []); const onCreateWorkspace = useCallback( (e) => { e.preventDefault(); // 새로고침 방지 // 폼 검사 if (!newWorkspace || !newWorkspace.trim()) return; if (!newUrl || !newUrl.trim()) return; axios .post( 'http://localhost:3095/api/workspaces', { workspace: newWorkspace, url: newUrl, }, { withCredentials: true }, // CORS ) .then(() => { revalidate(); setShowCreateWorkspaceModal(false); setNewWorkspace(''); setNewUrl(''); }) .catch((error) => { console.dir(error); toast.error(error.response?.data, { position: 'bottom-center' }); }); }, [newWorkspace, newUrl], ); const onCloseModal = useCallback(() => { setShowCreateWorkspaceModal(false); setShowCreateChannelModal(false); }, []); const toggleWorkspaceModal = useCallback(() => { setShowWorkspaceModal((prev) => !prev); }, []); const onClickAddChannel = useCallback(() => { setShowCreateChannelModal(true); }, []); if (!userData) { return <Redirect to="/login" />; } return ( <div> <Header> <RightMenu> <span onClick={onClickUserProfile}> <ProfileImg src={gravatar.url(userData.email, { s: '28px', d: 'retro' })} alt={userData.nickname} /> {showUserMenu && ( <Menu style={{ right: 0, top: 38 }} show={showUserMenu} onCloseModal={onCloseUserProfile}> <ProfileModal> <img src={gravatar.url(userData.email, { s: '36px', d: 'retro' })} alt={userData.nickname} /> <div> <span id="profile-name">{userData.nickname}</span> <span id="profile-active">Active</span> </div> </ProfileModal> <LogOutButton onClick={onLogout}>로그아웃</LogOutButton> </Menu> )} </span> </RightMenu> </Header> <WorkspaceWrapper> <Workspaces> {userData?.Workspaces.map((ws) => { return ( <Link key={ws.id} to={`/workspace/${123}/channel/일반`}> <WorkspaceButton>{ws.name.slice(0, 1).toUpperCase()}</WorkspaceButton> </Link> ); })} <AddButton onClick={onClickCreateWorkspace}>+</AddButton> </Workspaces> <Channels> <WorkspaceName onClick={toggleWorkspaceModal}>Sleact</WorkspaceName> <MenuScroll> <Menu show={showWorkspaceModal} onCloseModal={toggleWorkspaceModal} style={{ top: 95, left: 80 }}> <WorkspaceModal> <h2>Sleact</h2> <button onClick={onClickAddChannel}>채널 만들기</button> <button onClick={onLogout}>로그아웃</button> </WorkspaceModal> </Menu> </MenuScroll> </Channels> <Chats> <Switch> <Route path="/workspace/channel" component={Channel} /> <Route path="/workspace/dm" component={DirectMessage} /> </Switch> </Chats> </WorkspaceWrapper> <Modal show={showCreateWorkspaceModal} onCloseModal={onCloseModal}> <form onSubmit={onCreateWorkspace}> <Label id="workspace-label"> <span>워크스페이스 이름</span> <Input id="workspace" value={newWorkspace} onChange={onChangeNewWorkspace} /> </Label> <Label id="workspace-url-label"> <span>워크스페이스 url</span> <Input id="workspace" value={newUrl} onChange={onChangeNewUrl} /> </Label> <Button type="submit">생성하기</Button> </form> </Modal> <CreateChannelModal show={showCreateChannelModal} onCloseModal={onCloseModal} /> </div> ); }; export default Workspace; 항상 질 좋은 강의 잘 듣고 있습니다.
-
미해결
localhost:8080 브라우저에 입력 시 에러
[스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] - 프로젝트 생성 수업중 hello.hellospring 프로젝트에서 main 메소드를 실행하고, localhost:8080을 치면 에러창은 뜨지만 스프링 아이콘이 뜬다고 하셨는데요.. 에러창은 뜨지만 스프링 아이콘으로 변하진 않았습니다. 또한 콘솔창에 보니까 에러가 발생한 것 같아요. 무시하고 그 다음 강의에서 Hello hello코드를 입력한 후 localhost:8080를 브라우저창에 치면 에러창이 뜹니다. 세팅부터 강사님과 똑같이 했는데 어떤게 문제일까요ㅠㅠ
-
미해결Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
기간연장 관련 문의
안녕하세요! 11월 2일까지 수강 가능이라고 해서 내일 저녁까지 인 줄 알았는데 오늘 자정까지래서요 ㅠㅠ 혹시 수강기간 연장이 가능할까요...??
-
미해결현업 실무자에게 배우는 Kaggle 머신러닝 입문 - ML 엔지니어 실무 꿀팁
categorical object
안녕하세요, 혹시 XGBoost 예제 코드에서 일부 범주형 카테고리라고 생각하는게 있는데요 work_type smoking_status 같은 경우는 one-hotencoding 처리를 하는게 아닌가, 여쭤 보고 싶습니다. 혹시 원핫 인코딩이 아닌, LabelEncoder 을 하신 이유가 있으실까요?
-
미해결스프링 핵심 원리 - 기본편
프로젝트
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 좋은 강의 너무 진짜 감사드립니다 마무리를 하면서 야생형코스에서 프로젝트를 해보는것이 좋다고 말씀하셨는데 해보는 범위는 프론트부터 백엔드(디비)까지 다 포함해서 말씀하신건지와 추천해주실만한 프로젝트가 있을까요?