묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 웹 MVC
java 클래스파일로 설정되어 있던 것을 web.xml로 바꾸는 경우
기선님 안녕하세요.. 제가 java class 파일(WebAppInit.java, WebSecurityConfig.java )로 되어 있던 설정을 web.xml, security-context.xml방식으로 바꾸어보았는데요.. 바꾸고 나서 서버를 재시작 해보니까 classnotfoundexception이 뜨면서 Caused by: java.lang.NoClassDefFoundError: com/legalcounsel/javaprj/config/WebSecurityConfig at com.legalcounsel.javaprj.config.WebAppInit.getRootConfigClasses(WebAppInit.java:22) 이런 오류가 발생하는데요.. 왜 그런걸까요??? 원래 서버 시작하면 톰켓이 -> web.xml가서 먼저 읽고 그다음 -> dispatcher-servlet.xml 읽는거 아닌가요'?? spring security까지 추가해 놓을 경우 web.xml 후에 filter가 먼저 실행되고, dispatcher servlet.xml이 그다음 실행되고 그 후에interceptor실행된 후 controller 실행되는 걸로 아는데요... 처음부터 xml로 가지 않고 왜 기존에 설정되어 있던 자바클래스(webAppInit.java랑 WebSecurityConfig.java) 지웠냐고 에러가 발생하는데.. 당연히 xml방식으로 바꾸면 xml로 대체할 수 있는 거 아닌가요?? ㅜㅜ
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
웹 API서버 만들기 NodeCAT에서 라우터 인식이 안됩니다
localhost:4000 실행하였을 때 GET / 라우터가 없습니다. 다음과 같이 나오는데, indexRouter에 ./routes를 require하였고 index.js에서도 router.get으로 연결하고 module.exports하였는데 라우터가 없다고 뜹니다. 혹시 몰라서 깃허브의 파일도 그대로 붙여 넣었는데도 위 에러가 그대로 뜹니다. 4000 번 포트에서 대기중 GET / 404 15.011 ms - 1562 GET / 404 4.390 ms - 1562 GET / 404 1.205 ms - 1562 console.log로 indexRouter를 찍어보면 아래와 같이 나왔습니다. [Function: router] { params: {}, _params: [], caseSensitive: undefined, mergeParams: undefined, strict: undefined, stack: [ Layer { handle: [Function: bound dispatch], name: 'bound dispatch', params: undefined, path: undefined, keys: [], regexp: /^\/test\/?$/i, route: [Route] } ] } 실행도 API서버와 nodeCat을 같이 실행하여 테스트 해보았는데, API서버는 정상 작동하지만, nodeCAT만 위 에러가 뜹니다. 어떻게 해결해야 하나요?
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
auth.js > Line 6 "x-auth-token" 관련 질문
auth.js >> Line 6 "x-auth-token" 이 의미하는 것이 무엇인가요? 구글을 검색하니깐 token header 관련되어 있다고 하는데... 도저히 감히 잡히지 않아서 질문 드립니다.
-
미해결R 프로그램 - 시즌 1
데이터프레임 질문
데이터 프레임만들때, 한 행에서 각각 다른 2개의 데이터를 가지고 오고 싶으면 어떻게 해야하나요? johne한테서 age랑 occup 두개만 가지고 오고 싶을때요.
-
미해결인터랙티브 웹 개발 제대로 시작하기
프로토타입 질문
선생님 복습중인데 프로토타입에 추가하지 않고 constructor: Card 이런식으로 새로 재정의 해주는 이유가 무엇인가요? 그리고 클래스에서는 프로토타입을 어떤 형태로 쓰일까요? 오랜만에 질문드립니다
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
session을 사용자마다 줄 때
session을 사용자들에게 줄 때 사용자마다 session.id가 다 달라야 하지 않나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
part 관련 질문 있습니다!!
포폴용으로 게임을 제작하려고 하는데 멘토님께서 서버까지 구동할 필요가 없고 싱글모드로 확실하게 구현할 수 있는 정도면 된다고 합니다. 그러면 part몇까지 학습하면 되나요??
-
미해결R로 하는 웹 크롤링 - 입문편
html함수가 실행되지 않아요
이런 메세지가 뜨면서 b가 생성되지 않네요. 참고로 과정은 이러했습니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
개발 수업자료 관련 질문
안녕하세요 수업 항상 잘듣고있습니다. 개인적으로 노션에다 저도 강사님처럼 그동안 배운 HTML/CSS/JS등등을 정리하고싶은데 이미지와 대략적인 설명을 비슷하게 좀 사용할 수 있을까해서 댓글 남길곳이 없어서 여기다가 물어볼려고 합니다!!! 혹시 가능할까요???
-
미해결정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)
Level Order Of BinaryTree 질문드립니다.
안녕하세요. 강사님. Level Order Of BinaryTree 강좌 내용중 궁금한 내용이 있어서요. 맨 처음 아래 코드를 통해 Queue 에 TreeNode 객체를 추가하면 Queue<TreeNode> queue = new LinkedList<>(); queue.offer(root); 강좌에 있는 아래의 모양으로 셋팅되는 부분은 이해가 되는데요. 아래 코드의 중간 부분 for 영역에서 가로로 돌아가는지 이해가 되질 않습니다. while(!queue.isEmpty()) { int size = queue.size(); List<Integer> list = new LinkedList<>(); for(int i=0; i<size; i++) { TreeNode node = queue.poll(); list.add(node.val); if(node.left != null) { queue.offer(node.left); } if(node.right != null) { queue.offer(node.right); } } result.add(list); } Q1. 어떻게 가로로 순차로 돌아가는 것인지.. 왜 queue.size = 3 이 나오는지도요. i=0, 3 i=1, 4 -> 5 i=2, 6 -> 7 Q2. node.left 와 node.right 를 다시 queue.offer 해주고 있는데 이 부분이 어떻게 처리되는지.. 번거로우시겠지만 그림으로 설명을 부탁드려도 될까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
마지막 auth 부분에서 질문 드립니다.
안녕하세요 John 선생님, 몇일동안 수업에 빠져서 너무 재미있게 완강했습니다. 뒤로 갈수록 이해하기보다는 따라치기 바빴지만요 ㅠㅠ 마지막 auth 강의를 듣고, 로그인 로그아웃 등을 잘 되는데 userData를 받아오질 못합니다. 아래와 같이 redux devtool에서 에러를 표시해줍니다. 어느 부분을 살펴봐야 할까요?? 아래와 같은 에러가 나오기 때문에 제 생각에는 로그인한 상태로 랜딩페이지로 가더라도, 로그인이나 레지스터 페이지로 이동이 가능합니다. { user: { userData: { message: 'Request failed with status code 500', name: 'Error', stack: 'Error: Request failed with status code 500\n at createError (http://localhost:3000/static/js/vendors~main.chunk.js:1062:15)\n at settle (http://localhost:3000/static/js/vendors~main.chunk.js:1296:12)\n at XMLHttpRequest.handleLoad (http://localhost:3000/static/js/vendors~main.chunk.js:536:7)', config: { url: '/api/users/auth', method: 'get', headers: { Accept: 'application/json, text/plain, */*' }, transformRequest: [ null ], transformResponse: [ null ], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1 } }, loginSuccess: { loginSuccess: true, userId: '605ad46405176912111c70bb' } } }
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
[질문] docker build ./ 했는데 이미지 ID가 안나옵니다ㅠ
docker build ./ 했는데용 강사님처럼 이미지 ID가 안나오고 자꾸 이렇게 [internal] 메세지만 나오네요...ㅠ.ㅠ 도와주세요.
-
미해결실습으로 배우는 AWS 핵심 서비스
현재 infrastructure.aws에 접속하면 강의와 같은 페이지가 나오지 않습니다.
현재 infrastructure.aws에 접속하면 강의와 같은 페이지가 나오지 않습니다. 그래서 열심히 검색해보았더니 아래의 링크를 발견했습니다. 해당 링크가 검증된 사이트가 맞나요? https://m.kaon.com/c/aw https://apps.kaonadn.net/5181491956940800/index.html
-
미해결[구버전] 웹 애플리케이션 개발을 위한 IntelliJ IDEA 설정 (2020 ver.)
add Configuration에서 tomcat추가..
add 추가했는데 tomcat이 없습니다 add more이라는 것도 없고 저는 ㅇ게 다네요 ..
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
batch size 와 Limit 질문입니다
안녕하세요 영한님! 강의 재밌고 유익하게 잘 보고 있습니다. 토이 프로젝트를 진행하면서 Batch SIze 와 Limit 에 대한 궁금증이 생겨서 질문 드리게 되었습니다. # 명세 도메인을 대략적으로 설명 드리면 한 명의 사용자는 여러 게시글을 작성할 수 있고 각 게시글에는 여러 개의 댓글이 달릴 수 있습니다. 사용자 (Member) 1 -> 게시글 (Post) N -> 댓글 (Comment) M 제가 뽑고자 하는 데이터는 여러 사용자가 작성한 게시글과 댓글인데, 여기서 페이징을 적용하기 위해 limit 을 사용하려고 합니다. 여러 Member 가 작성한 Post 를 5 개만 뽑고 각 Post 에 달린 Comment 는 3 개만 뽑는 로직을 짜려고 합니다. default_batch_fetch_size 는 1000 으로 설정했습니다. # 질문 1. 먼저 Post 를 5 개 뽑아야 하는데 이런 경우 쿼리 자체에 Limit 을 거는 게 좋을까요? // (1) 직접 순회 List<Member> members = memberRepository.findAll(); // 편의를 위해 findAll 로 했습니다. 실제로는 조건이 있음!! List<Post> posts = members.stream() .map(Member::getPosts) .flatMap(Collection::stream) .limit(5L) .collect(Collectors.toList()); // (2) Repository 메서드의 IN + Limit 쿼리 사용 List<Member> members = memberRepository.findAll(); // 편의를 위해 findAll 로 했습니다. 실제로는 조건이 있음!! List<Post> posts = postRepository.findTop5ByMemberIn(members); (1) 번으로 할 때 배치 사이즈 설정이 적용되어 1 + N 문제는 발생하진 않지만 모든 Post 데이터를 다 끌어오게 됩니다. Fetch Join 도 Limit 쿼리가 제대로 적용되지 않아서 OutOfMemory 발생 위험이 있기 때문에 안쓰는 걸로 알고 있는데 (2) 번으로 하는 게 맞을까요? (2) 번으로 했을 시 우려되는 점은 만약 members 의 사이즈가 1000 이 넘어가면 IN 쿼리의 성능이 굉장히 떨어지지 않을까 걱정됩니다. Limit 를 걸어두었으니 괜찮을지 아니면 개발자가 직접 사이즈를 쪼개서 나누어서 IN 쿼리를 호출해야 할지.. 어느 방법이 맞을까요 2. 1번과 비슷한 질문인데 5 개의 Post 를 순회하면서 3 개의 Comment 씩 뽑으려고 할 때도 @OneToMany 컬렉션을 호출하는 것보다 쿼리를 직접 호출하는게 좋을까요? 1 번 질문의 답에 따라서 조금 다를 것 같은데 만약 쿼리를 직접 호출해야 한다면 Post -> Dto 구하는 과정에 넣지 말고 Service 에서 쿼리를 호출한 후 직접 넣어줘야 할까요? public class PostDto { // ... 자잘한 field 생략 public static PostDto of(Post post) { return PostDto.builder() .comment(post.getComments().stream().limit(3L)...) .build(); } } 현재는 위와 같이 Post Entity 만을 넘겨줘서 Dto 로 변환시켜 주고 있는데 만약 쿼리를 직접 호출하는게 좋다면 Service 로 옮겨서 작성하는지 아니면 BatchSize 와 Limit 을 동시에 사용하는 꿀팁이 있는지 궁금합니다 ! 3. 마지막으로 위의 Post, Comment 와 같이 데이터가 무한히 많아질 가능성이 있는 테이블을 다룰 때는 Batch Size 가 아닌 다른 방법을 사용하기도 할까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jsp오류입니다ㅠㅠ
강의 그대로 진행하는 도중에 에러입니다ㅜㅜ 인텔리제이 유료버전 사용중이며 에러는 해결했는데, 뭔가 jsp안에 자바코드 자동완성 같은 것이 안됩니다...뭔가 찝찝한 부분인데 자바코드로 작성하면 부분적으로 색이 들어가있는데 제 코드를 보시면 자바코드 부분이 그냥 흰색으로만 쭉 적혀져 있는데 뭔가 설정을 해야하는 건지 궁금합니다ㅠㅠ
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
type="text/css" 질문
<link rel="stylesheet" href="style.css" type="text/css"> 이렇게 적는 경우도 있던데 type="text/css"이 무엇인지, 적는 경우와 적지 않는 경우의 차이가 궁금합니다. 또 여기서는 <link>가 아니라 <style>태그 옆에 적은 이유가 뭔지 궁금해요.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
Vetur can't find `tsconfig.json` or `jsconfig.json` 오류
안녕하세요 강의 항상 잘 듣고 상담소도 잘 보고 있습니다!! 다름이 아니라 사진 속 알람창 오류를 해결하고 싶은데 찾아봐도 잘 모르겠더라구요 그냥 vue create로 프로젝트 파일을 형성한건데 저 파일들이 없어서 그런건가요?? 해결 방법 알려주시면 감사합니다....
-
해결됨리액트로 나만의 블로그 만들기(MERN Stack)
문제좀해결해주세요 ㅠㅠ
처음부터 따라했는데 에러나서 질문게시판에있는거 복붙하고 npm i한후 계속해서 에러떠서 처음부터 npm 설치하는거 다설치한후에도 에러가뜹니다 npm run dev 하면 크러싱있다고뜨고 npm run dev-watch하면 아래같이 에러가뜹니다
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
2-8-1 질문드립니다..
네이버 태그가 바껴서 해본다고 해봤는데 print해봤는데 아무것도 나오질 않아요.. from bs4 import BeautifulSoup import urllib.request as req import urllib.parse as rep import sys import io import os sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding='utf-8') base = "https://search.naver.com/search.naver?where=image&sm=tab_jum&query=" quote = rep.quote_plus("사자") url = base + quote res = req.urlopen(url) savePath = "c:\\imagedown\\" # C:\imagedown\ 윈도우는 \대신 / 써도 상관x try: if not (os.path.isdir(savePath)): os.makedirs(os.path.join(savePath)) except OSError as e: if e.errno != errno.EEXIST: print("폴더 만들기 실패") raise soup = BeautifulSoup(res, "html.parser") img_list = soup.select("div.photo_bx api_ani_send._photoBox > div.thumb > a.link_thumb._imageBox._infoBox > img") print("test", img_list)