묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
jQuery..
이 같이 jQuery부분에 빨간줄이 나오고 modal창이 실행을 안하는 거같은데 원인을 잘 모르겠습니다 ㅜㅜ join.jsp역시 마찬가지입니다. 물론 알라트만 그렇게 안뜨지 기능은 제대로 되는데 혹시 원인을 알 수 있을까요? 아니면 콘솔로그로 저 코드가 읽히는지 확인을 해볼까요?
-
미해결블록체인 기반의 스마트컨트랙트 개발
가상머신에서 메타마스크 실행 안됨
가상머신에서 메타마스크가 실행이 안돼서 삭제 후 재설치를 했음에도 실행이 되지 않으며 (업데이트 된 remix 되지 않은 remix) remix에 작성된 코드가 deploy 되지 않습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
학습자료 노션에 저장해도되나요?
안녕하세요 강의를 들으면서 공부 내용에 노션에 정리하고 있는데 참고자료로 pdf파일들을 첨부하면서 저장하고있는데 혹시 문제 되나요? 후에 제출용으로도 사용할 계획입니다
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
텍스트 분석에서 XGB와 LGBM 성능
Text analytics에서 희소 행렬에 분류를 효과적으로 처리할 수 있는 알고리즘은 로지스틱 회귀, 선형 서포트 벡터 머신, 나이브 베이즈 등이라고 책에 적혀 있는데 텍스트 분석에서 xgboost 와 lightgbm의 성능은 어느정도인가요? 앞에 적은 모델보다는 성능이 떨어지는 경우가 많나요?
-
미해결만들면서 배우는 리액트 : 기초
state 관련 질문이용~
1회독 돌리고 천천히 다시 하나하나 짚어보면서 듣고 있는데요!저기에서 const counter = counterState[0];const Setcounter = counterState[1];값이라고 되어있는데요. 단순히 counter와 setCounter 값을 쓰기 위해서 두개가 필요하니깐 [0],[1] 을 쓴건가요?아니면 console.log에 counterState 를 찍으면 값이 나오는거 보고 인덱스 번호를 찍으신건가요 ?저게 너무 헷갈려가지고 갑자기 왜 [0] 번째 [1] 번째가 되는지 이해가 안되더라고요 ㅠㅠ강의 잘 듣고 있습니다!const [counter,setCounter] = React.useState(초기값)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Text(expected 키워드)
테스트 실습 중에 try catch 문으로 예외처리를 하지 않아도 @Test(expected = IllegalStateException.class)로 처리 가능하다는 부분에서 expected 키워드에서 컴파일 에러가 발생합니다.원인이 무엇일까요? ㅠㅠpackage com.jpabook.jpashop.service; import com.jpabook.jpashop.domain.Member; import com.jpabook.jpashop.repository.MemberRepository; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; import static org.junit.jupiter.api.Assertions.fail; @SpringBootTest @Transactional class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test // @Rollback(value = false) public void 회원가입() throws Exception { //given Member member = new Member(); member.setName("top"); //when Long savedId = memberService.join(member); //then Assertions.assertEquals(member, memberRepository.findOne(savedId)); } @Test(expected = IllegalStateException.class) public void 중복_회원_예외() throws Exception{ //given Member member1 = new Member(); member1.setName("kim1"); Member member2 = new Member(); member2.setName("kim1"); //when memberService.join(member1); memberService.join(member2); //then fail("예외가 발생해야 한다"); } }
-
미해결지금 바로 D3.js 시작하기 : 웹 데이터 시각화
강의영상에 자동완성 설정 궁금합니다
안녕하세요강의영상보다보면 svg나 circle, rect등 자동완성이 되는거같은데.. 자동완성 설정을 어떻게 하는지 궁금합니다
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
혹시 특정 라이브러리의 특정 버전을 다운받을 수 있는 방법이 뭐가있을까요?
장고라던가 다른 부분들은 끝에 @3.0.0 이런식으로 특정 버전을 받을 수 있었는데antd는 이렇게 하니까 안되더라구요...버전이 바껴서 메뉴창이 다르게 나옵니다 ㅠ혹시 antd를 특정버전을 다운받으려면 어떻게 해야하는지 알 수 있을까요?
-
미해결스프링 시큐리티
securityContext 삭제 질문
12:17 강의시간에서 SecurityContextLogoutHandler.java 의 logout 메소드에서 securityContextHolder.clearContext(); 호출이 있습니다.사용자 A, B, C 의 접속으로 인해 securityContextHolder에는 3개의 securityContext가 저장되어 있는 상황에서사용자 A만 /logout 요청을 진행했을 때,위 clearContext() 메소드로 사용자A의 securityContext만 삭제할 수 있는 원리가 궁금합니다.언뜻 봐서 메소드명에서 느껴지는 의미로는 securityContextHolder안에 있는 모든 securityContext를 삭제하라 라고 해석되기 떄문입니다.
-
해결됨Flutter 앱 개발 기초
안드로이드 스튜디오 설치방법
https://open.kakao.com/me/devstory로 문의주시면 더 빠르게 답변 받으실 수 있어요 :)안드로드 스튜디오가 안드로이드 스튜디오 돌핀으로 되어있던데 다운로드 방법이 다른데 어떻게 설치하면 되나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
3D 사운드 관련 질문드려요
안녕하세요.강의 열심히 듣는중 상황이 다른점에 대해 조치하고자 문의드립니다.오브젝트에 3D 사운드 효과 적용해도 영상처럼 멀어진다고해서 작게 들리지 않던데 방법이 있을까요?영상을 제작하신지 오래되어서 헷갈리실 수 있는거 알지만..답답한 마음에 올려봅니다! ! 메일로 프로젝트 보내드렸습니다
-
해결됨Slack 클론 코딩[실시간 채팅 with React]
해당에러는 백엔드 문제인가요?
proxy서버를 켜도 404에러가 뜹니다.. 들어가면 존재하지 않는 워크페이스라고 합니다 조언을 얻을 수 있을까요,, 어느 파일에서 잘못된건지 모르겠어요밑 코드는 workspace 코드입니다. 프록시서버가 안먹혀서 http는 수동으로 다 붙여놓은 상태입니다. import ChannelList from '@components/ChannelList'; import DMList from '@components/DMList'; import InviteChannelModal from '@components/InviteChannelModal'; import InviteWorkspaceModal from '@components/InviteWorkspaceModal'; import Menu from '@components/Menu'; import Modal from '@components/Modal'; import useInput from '@hooks/useInput'; import { AddButton, Channels, Chats, Header, LogOutButton, MenuScroll, ProfileImg, ProfileModal, RightMenu, WorkspaceButton, WorkspaceModal, WorkspaceName, Workspaces, WorkspaceWrapper, } from '@layouts/Workspace/styles'; import loadable from '@loadable/component'; import { Button, Input, Label } from '@pages/SignUp/styles'; import { IChannel, IUser } from '@typings/db'; import fetcher from '@utils/fetcher'; import axios from 'axios'; import React, { VFC, useCallback, useState, useEffect } from 'react'; import { Navigate, Routes, useParams } from 'react-router'; import { Link, Route } from 'react-router-dom'; import useSWR from 'swr'; import gravatar from 'gravatar'; import { toast } from 'react-toastify'; import CreateChannelModal from '@components/CreateChannelModal'; const Channel = loadable(() => import('@pages/Channel')); const DirectMessage = loadable(() => import('@pages/DirectMessage')); const Workspace: VFC = () => { const [showUserMenu, setShowUserMenu] = useState(false); const [showCreateWorkspaceModal, setShowCreateWorkspaceModal] = useState(false); const [showInviteWorkspaceModal, setShowInviteWorkspaceModal] = useState(false); const [showInviteChannelModal, setShowInviteChannelModal] = useState(false); const [showWorkspaceModal, setShowWorkspaceModal] = useState(false); const [showCreateChannelModal, setShowCreateChannelModal] = useState(false); const [newWorkspace, onChangeNewWorkspace, setNewWorkpsace] = useInput(''); const [newUrl, onChangeNewUrl, setNewUrl] = useInput(''); const { workspace } = useParams<{ workspace: string }>(); const { data: userData, error, mutate, } = useSWR<IUser | false>('http://localhost:3095/api/users', fetcher, { dedupingInterval: 2000, // 2초 }); const { data: channelData } = useSWR<IChannel[]>( userData ? `http://localhost:3095/api/workspaces/${workspace}/channels` : null, fetcher, ); const { data: memberData } = useSWR<IUser[]>( userData ? `http://localhost:3095/api/workspaces/${workspace}/members` : null, fetcher, ); 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, }, ) .then(() => { mutate(); setShowCreateWorkspaceModal(false); setNewWorkpsace(''); setNewUrl(''); }) .catch((error) => { console.dir(error); toast.error(error.response?.data, { position: 'bottom-center' }); }); }, [newWorkspace, newUrl], ); const onCloseModal = useCallback(() => { setShowCreateWorkspaceModal(false); setShowCreateChannelModal(false); setShowInviteWorkspaceModal(false); setShowInviteChannelModal(false); }, []); const toggleWorkspaceModal = useCallback(() => { setShowWorkspaceModal((prev) => !prev); }, []); const onClickAddChannel = useCallback(() => { setShowCreateChannelModal(true); }, []); const onClickInviteWorkspace = useCallback(() => { setShowInviteWorkspaceModal(true); }, []); if (!userData) { return <Navigate 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.nickname, { 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={onClickInviteWorkspace}>워크스페이스에 사용자 초대</button> <button onClick={onClickAddChannel}>채널 만들기</button> <button onClick={onLogout}>로그아웃</button> </WorkspaceModal> </Menu> <ChannelList /> <DMList /> </MenuScroll> </Channels> <Chats> <Routes> <Route path="/workspace/channel/:channel" element={Channel} /> <Route path="/workspace/dm/:id" element={DirectMessage} /> </Routes> </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} setShowCreateChannelModal={setShowCreateChannelModal} /> <InviteWorkspaceModal show={showInviteWorkspaceModal} onCloseModal={onCloseModal} setShowInviteWorkspaceModal={setShowInviteWorkspaceModal} /> <InviteChannelModal show={showInviteChannelModal} onCloseModal={onCloseModal} setShowInviteChannelModal={setShowInviteChannelModal} /> </div> ); }; export default Workspace;
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
controller!.loadUrl(homeUrl);
IconButton( onPressed: () { if (controller == null) { return; } controller!.loadUrl(homeUrl); }, icon: Icon( Icons.home, ), )안드로이드 스튜디오에서는 좀바보? 같아서 null이 아닌것을 인식을 못한다고 하셨는데요 안드로이드 스튜디오에서만 그런건가요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
XGBOOST 파라미터 질문
안녕하세요. 수업 잘 듣고 있습니다 :) Q1XGBoost를 이용한 위스콘신 유방암 예측(파이썬 Native XGBoost 사용) 강의 14분16초 objective 파라미터에 대한 설명을 하는 부분이 있는데요.여기선 0또는 1을 예측하는 것이므로 binary : logistic으로 설정하셨는데 만약 이진 분류가 아닌 라벨값이 0, 1, 2 처럼 2가지를 넘는 경우는 어떻게 설정해야 되나요? Q2사이킷런 래퍼 XGBoost 에선 목적함수 파라미터를 따로 지정한 부분이 없는데 사이킷런 래퍼에선 어떻게 지정해줄 수 있나요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청 드립니다.
인프런 아이디 : plokmpl12@naver.com인프런 이메일 : plokmpl12@naver.com깃헙 아이디 : agravict@gmail.com깃헙 Username : agravict
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
Node.js 기반 어플리케이션 배포
안녕하세요. Jenkins를 통한 노드js기반 어플리케이션 배포 강의를 기다리고 있는 1인입니다. 궁금한 점이 코드를 깃에 푸쉬하고 Jenkins에서 pooling을 가져올 때, 만약 테스트 코드들이 있다면, Jenkins에서 Continuous Build 작업을 할 때 unit test들은 성공적으로 통과가 되었는지 자동으로 체크를 해주는건가요? 그리고 나서 정적인 테스트 도구인 sonarQube까지 설치해서 진행하면 될까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
괄호 처리로 인한 기능 가능/불가능
안녕하세요 제로초님강의를 듣다가, post를 업로드 했을 때 post list에 글은 추가되지만 이미지가 추가되지 않는 현상이 발생해 코드를 보다보니 해당 부분에 문제가 있음을 확인했습니다.바로 중괄호 부분인데요,제 지식으로는 ES6부터 추가된 arrow function 문법을 사용하려면 => 이후 { } 중괄호가 들어가야 하는데,위처럼 중괄호를 넣고 코드를 짜면 정상적으로 기능이 작동하지 않고제로초님 코드처럼 중괄호가 없이 그대로 작성해야 작동합니다.이유가 뭘까요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
serve -s build가 되지 않습니다..
Windows PowerShellCopyright (C) Microsoft Corporation. All rights reserved.PS C:\Users\PC\Desktop\emotion diary> npm install -g servechanged 89 packages, and audited 90 packages in 10s23 packages are looking for funding run npm fund for detailsPS C:\Users\PC\Desktop\emotion diary> cd helloPS C:\Users\PC\Desktop\emotion diary\hello> serve -g buildserve : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\PC\AppData\Roaming\npm\ser ve.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.mic rosoft.com/fwlink/?LinkID=135170)를 참조하십시오.위치 줄:1 문자:1+ serve -g build+ ~~~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccessPS C:\Users\PC\Desktop\emotion diary\hello> npm run build> hello@0.1.0 build> react-scripts buildCreating an optimized production build...Compiled with warnings.[eslint] src\components\DiaryItem.js Line 32:16: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-textsrc\components\DiaryList.js Line 1:15: 'useEffect' is defined but never used no-unused-varssrc\components\EmotionItem.js Line 6:13: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-textsrc\pages\Diary.js Line 20:7: React Hook useEffect has a missing dependency: 'id'. Either include it or remove the dependency array react-hooks/exhaustive-deps Line 37:7: React Hook useEffect has a missing dependency: 'navigate'. Either include it or remove the dependency array react-hooks/exhaustive-deps Line 58:25: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-textsrc\pages\Edit.js Line 5:9: 'getStringDate' is defined but never used no-unused-vars Line 22:7: React Hook useEffect has a missing dependency: 'id'. Either include it or remove the dependency array react-hooks/exhaustive-deps Line 39:7: React Hook useEffect has a missing dependency: 'navigate'. Either include it or remove the dependency array react-hooks/exhaustive-depsSearch for the keywords to learn more about each warning.To ignore, add // eslint-disable-next-line to the line before.File sizes after gzip: 54.79 kB build\static\js\main.544a876e.js 1.42 kB build\static\css\main.b7fc6af2.cssThe project was built assuming it is hosted at /.The build folder is ready to be deployed.You may serve it with a static server: serve -s buildFind out more about deployment here: https://cra.link/deploymentPS C:\Users\PC\Desktop\emotion diary\hello> serve -s buildserve : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\PC\AppData\Roaming\npm\serve.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.mic rosoft.com/fwlink/?LinkID=135170)를 참조하십시오.위치 줄:1 문자:1+ serve -s build+ ~~~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccessPS C:\Users\PC\Desktop\emotion diary\hello> npm install -g serve와npm run build를 했습니다 you may serve it with a static server라는 메시지와함께 serve -s build라는 메세지도 떴는데 serve -s build라고 명령어를 입력했는데도 입력이 되지 않습니다... 루트폴더 문제인가요? 문제가 무엇인가요
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
getDiaryAnalysis 함수에 useMemo 사용 시 경고가 떠요.
강의 12:00부터 진행되는 useMemo 사용 시,두 번째 인자로 [data.length] 를 입력하니 아래와 같은 경고창이 뜹니다. 아마 state 이름이 아니라서 뜨는 것 같은데 문제가 없을까요? React Hook useMemo has a missing dependency: 'data'. Either include it or remove the dependency array react-hooks/exhaustive-depswebpack compiled with 1 warning
-
미해결스프링 시큐리티
AbstractUserDetailsAuthenticaationProvider 질문
11:30 에서 ProviderManager.java 에서 AbstractUserDetailsAuthenticaationProvider.java 로 d이동하실 때 로직의 흐름이 발생할 수 있게 만드는 코드가 어디에 있는지 알 수 있을까요?강의에서는 '다음 중단점으로 이동' 기능을 이용 하셔서 인지하기가 어려웠습니다.