묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 프레임워크 핵심 기술
HttpServeltRequest 객체의 빈 스코프에 대해 질문 드립니다.
안녕하세요! 스프링에 대한 기초 지식이 부족한 개발자 입니다. 프로젝트 개발 중 해결은 하였지만 이해가 가지 않아 질문 드립니다. 너무 궁금해서 강의를 시작하기도 전에 질문 먼저 드리는 점 죄송합니다..ㅠ 기존에 돌아가던 프로젝트를 이관하는 중에 client로부터 page라는 parameter가 request에 중복으로 들어오는 경우가 생겼습니다. 가장 좋은 방법은 하나를 빼고 request를 보내도록 수정하는 것이겠지만, 다른 부분에서도 쓰이는 util쪽 코드라 쉽게 건들이지 못해서 RequestWrapper를 사용하게 되었습니다. public class RequestWrapper extends HttpServletRequestWrapper { Map<String, Object> hashMap ; public RequestWrapper ( HttpServletRequest req ) { .... hashMap = new HashMap<String, Object>( req.getParameterMap ); } 이런 식으로 request로 들어온 parameter들을 받아서 중복된 page를 제거하고 hashMap에 넣은 후, getParameterValues와 getParameter에서 저 hashMap에서 값을 꺼내오도록 변경하였습니다. 제가 이해가 안가는 부분은 아래와 같은 상황인데요.. 특정 request 를 받아 controller를 거쳐 xxx.jsp를 리턴 한 후 ( A과정 ) 해당 jsp안에서 jstl의 <c:import>와 <c:param>을 통해 다시 한번 임의의 다른 controller를 호출해서 값을 받아오는 ( B과정 ) 부분이 있었습니다. 그런데 wrapper를 적용하기 전에는 정상작동하던 것이 wrapper를 사용하기 시작하니까 <c:param>으로 넘겨주는 값들은 넘어가지가 않고 그 전에 호출되던 A과정의 request parameter들이 넘어가더라구요.. request객체는 scope가 request이니까 A과정에서 jsp를 return하고 나면 사라지고 B과정에서 jstl 태그를 이용해 다시 특정 컨트롤러를 호출하면 새로운 request 객체가 생성되서 <c:param>들이 넘어가야 맞는 것 아닌가요...? getParameter를 통해 <c:param>으로 보내준 값을들 찍어봐도 전부 null값으로 나왔습니다.. 제가 추측하는 이유는 1) jsp안에서 jstl로 다른 컨트롤러 호출 시 request의 scope이 종료되지 않은 경우 2) request는 A과정과 B과정 모두 각각 생성되고 사라지는데, wrapper의 생성자에서 hashMap을 세팅했기 떄문에 이후에는 wrapper 객체가 새로 생성되는 경우가 없어 hashMap 값이 바뀌지 않는 경우 2)번이 이유인 경우에 그럼 wrapper의 scope도 prototype이나 request로 변경해줘야 할까요..?? 상태값을 가지고 있는 class 의 경우 싱글톤으로 관리하면 안된다고 배우긴 했는데 ... requestWapper이니 request별로 뭔가 초기화 되거나 새로 만들어질 것이라고 생각을 했습니다..ㅠ 제가 스프링 지식이 부족해서 질문을 너무 복잡하게 작성한 것 같습니다.. 혹시 위 말고 다른 이유가 있는 걸까요??.. 답변 기다리고 있겠습니다...ㅠ 감사합니다!
-
미해결Slack 클론 코딩[실시간 채팅 with React]
./dist/Workspace.tsx에서 {children} 질문입니다.
강의를 들으면서 Workspace.tsx 코드를 작성할 때 const Workspace :FC를 해주면 children부분 타입에러가 해결된다고 하셨는데 계속 타입에러 뜨면서 컴파일 에러가 발생합니다. 그래서 따로 {children} : React.ReactNode도 해보고 any도 입력해 보았는데 둘다 해결되지 않습니다. 어떻게 해야하나요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
DedupingInterval에 관해서 질문드립니다.
안녕하세요 강사님. 강의 잘 보고있습니다! useSWR을 이곳저곳에서 사용하면서, 어떤 곳에서는 DedupingInterval을 1000으로 주고, 다른 곳에서는 100000으로 주면 어떤 DedupingInterval을 따르나요? 예를 들어서 A에서는 'api/users/'에 DedupingInterval을 2000으로 주고 B에서도 마찬가지로 'api/users/'을 key로 설정하지만, DedupingInterval을 5000으로 준다면 실제 캐시에는 몇 초마다 값이 갱신되나요? 혹시 현재 보고있는 view에 따라서 결정되나요? 만약 그렇다면, 매번 DedupingInterval을 매번 설정할 필요없이 전역적으로 설정하는 방법도 있을까요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 작성후 디버그했을 때
코드 작성하고 디버그를 돌렸는데 input.txt를 읽었을텐데 그냥 cmd창에는 press any key to continue 라고만 나옵니다.. 어떤 원인이 있는걸까요.. 현재 뒤집은 소수 강의까지 잘 듣다가 지금 이런 오류가 나타나네요 계속.. 코드도 강사님과 똑같이 잘 작성 하였는데요ㅠㅠ
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
모듈 메모리 에러
모듈을 넣어서 실행하면 모듈을 작성한 곳에서 메모리 에러가 뜨는데 원인을 모르겠습니다메모리 5기가 정도 여유 있는데도 메모리 에러가 뜨네요 :(저 def price(people) 에서 people 에 커서를 놓으니 수만번의 print 문장이 펼쳐져 있었어요 아마 여러번 문장이 반복되면서 메모리를 채운거 같다고 저는 생각하는데 해결 방법이 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
sql 로그가 안남아요 ㅜㅜ
yml 설정 파일엔 문제가 없는 것 같은데 sql 로그가 안남네요 ㅜㅜ
-
미해결Nuxt.js 시작하기
컴포넌트화 시키는 방법
안녕하십니까 ? 불규칙적이고 다양한 dom을 사용하는 contents를 컴포넌트화 시킬려면 어떻케 해야하는지 궁금합니다 이런 contents가 만개정도가 있다면 만개 page를 만들수 없는 여건입니다(아래내용 참조) (아래내용에서 contents를 불러오는 event(viewContents) 와 dom 속성과 style을 변경하는 이벤트 동작 필수) 좋은 아이디어가 있을까요 ? 컴포넌트화 시킬 내용 <template> <div class="xNode" id="lawcurtree"> <div class="curNode"> <img id="d0imgtree" class="inline-block" src="/image/tree/base.gif"> <span class="lawmark">법률</span> <div class="inline-block hover:text-blue-500" @click="viewContents('A0000000887Z1817620210518')">근로기준법 [시행 2021. 11. 19.] [법률 제18176호, 2021. 5. 18., 일부개정]</div> </div> <div id="b0imgtree" style="display: block;"> <div class="curNode"> <img id="c1imgtree" class="inline-block" src="/image/tree/minus.gif" @click="displayOnOff('b1imgtree', 'c1imgtree')"> <img id="d1imgtree" class="inline-block" src="/image/tree/folderopen.gif"> <span class="lawmark">시행령</span> <div class="inline-block hover:text-blue-500" @click="viewContents('A0000001009Z3213020211119')">근로기준법 시행령 [시행 2021. 11. 19.] [대통령령 제32130호, 2021. 11. 19., 일부개정]</div> </div> <div id="b1imgtree" style="display: block;"> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img id="c4imgtree" class="inline-block" src="/image/tree/minus.gif" @click="displayOnOff('b4imgtree', 'c4imgtree')"> <img id="d4imgtree" class="inline-block" src="/image/tree/folderopen.gif"> <span class="lawmark">시행규칙</span> <div class="inline-block hover:text-blue-500" @click="viewContents('A0000008520Z33520211119')">근로기준법 시행규칙 [시행 2021. 11. 19.] [고용노동부령 제335호, 2021. 11. 19., 일부개정]</div> </div> <div id="b4imgtree" style="display: block;"> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/line.gif"> <img id="c1imgtree5" class="inline-block" src="/image/tree/plusbottom.gif" @click="displayOnOff('b1imgtree5', 'c1imgtree5')"> <img id="d1imgtree5" class="inline-block" src="/image/tree/folder02.gif"> <span>행정규칙 </span> </div> <div id="b1imgtree5" style="display: none;"> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/joinbottom.gif"> <span class="rulemark">훈령</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000018446Z14220150227')">임금체불사업주 명단 공개 및 체불자료 제공 관련 업무 처리 규정 [시행 2015. 2. 27.] [훈령 제142호, 2015. 2. 27., 일부개정]</div> </div> </div> </div> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img id="c1imgtree4" class="inline-block" src="/image/tree/plusbottom.gif" @click="displayOnOff('b1imgtree4', 'c1imgtree4')"> <img id="d1imgtree4" class="inline-block" src="/image/tree/folder02.gif"> <span>행정규칙 </span> </div> <div id="b1imgtree4" style="display: none;"> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/join.gif"> <span class="rulemark">예규</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000023689Z4720120925')">통상임금 산정지침 [시행 2012. 9. 25.] [예규 제47호, 2012. 9. 25., 일부개정]</div> </div> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/join.gif"> <span class="rulemark">고시</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000018909Z2019-3620190731')">재량근로의 대상 업무 [시행 2019. 7. 31.] [고시 제2019-36호, 2019. 7. 31., 일부개정]</div> </div> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/joinbottom.gif"> <span class="rulemark">고시</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000024093Z2015-7720151014')">평균임금산정 특례 고시 [시행 2015. 10. 14.] [고시 제2015-77호, 2015. 10. 14., 일부개정]</div> </div> </div> </div> <div class="curNode"> <img id="c2imgtree" class="inline-block" src="/image/tree/minus.gif" @click="displayOnOff('b2imgtree', 'c2imgtree')"> <img id="d2imgtree" class="inline-block" src="/image/tree/folderopen.gif"> <span class="lawmark">시행령</span> <div class="inline-block hover:text-blue-500" @click="viewContents('A0000001695Z2246520101027')">근로감독관규정 [시행 2010. 10. 27.] [대통령령 제22465호, 2010. 10. 27., 전부개정]</div> </div> <div id="b2imgtree" style="display: block;"> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/joinbottom.gif"> <img id="d3imgtree" class="inline-block" src="/image/tree/folder.gif"> <span class="lawmark">시행규칙</span> <div class="inline-block hover:text-blue-500" @click="viewContents('A0000006784Z15820160616')">근로감독관증 규칙 [시행 2016. 6. 16.] [고용노동부령 제158호, 2016. 6. 16., 타법개정]</div> </div> </div> <div class="curNode"> <img id="c1imgtree3" class="inline-block" src="/image/tree/plusbottom.gif" @click="displayOnOff('b1imgtree3', 'c1imgtree3')"> <img id="d1imgtree3" class="inline-block" src="/image/tree/folder02.gif"> <span>행정규칙 </span> </div> <div id="b1imgtree3" style="display: none;"> <div class="curNode"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/join.gif"> <span class="rulemark">훈령</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000007826Z37420211025')">근로감독관집무규정 [시행 2021. 10. 25.] [훈령 제374호, 2021. 10. 25., 일부개정]</div> </div> <div class="curNode"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/join.gif"> <span class="rulemark">예규</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000023822Z2015-10020151106')">퇴직의 효력발생시기 [시행 2015. 11. 6.] [예규 제2015-100호, 2015. 11. 6., 일부개정]</div> </div> <div class="curNode"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/join.gif"> <span class="rulemark">고시</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000033277Z2021-2920210401')">특별연장근로 건강보호조치 [시행 2021. 4. 6.] [고시 제2021-29호, 2021. 4. 1., 제정]</div> </div> <div class="curNode"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/joinbottom.gif"> <span class="rulemark">고시</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000024895Z2017-1320170113')">한국표준산업분류 [시행 2017. 7. 1.] [고시 제2017-13호, 2017. 1. 13., 전부개정]</div> </div> </div> </div> </template>.
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
4.3 노드포트(nodeport) 강의에서 질문입니다
확인차 질문드립니다. nodeport.yaml 에서 deployment의 metadata:의 name:은 selector: matchLabels:의 app: 이름, template:metadata:labels:의 app: 이름과는 달라도 되는 것이죠? 1) kind: Deployment metadata: name: deploy-nginx 2) selector: matchLabels: app: deploy-nginx 3) template: metadata: labels: app: deploy-nginx (질문 요약) 2)의 app: 이름과 3)의 app: 이름은 같아야하지만, 2)의 app: 이름은 1)의 name:과는 같을 필요는 없음. 맞나요?
-
미해결스프링 핵심 원리 - 기본편
영한님 단축키 사용하실 때 하단에 어떤 단축키인지 설명과 함께 윈도우에서는 어떤 단축키인지 나오는 노티?창뜨는건 어떻게 설정하신 건가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]영한님 단축키 사용하실 때 하단에 어떤 단축키인지 설명과 함께 윈도우에서는 어떤 단축키인지 나오는 노티?창뜨는건 어떻게 설정하신 건가요?
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
arg 관련 질문 드립니다.
이번 실습 중 Vector 클래스에서 인자로 받으신 변수 명은 arg 이나 실습 중에 사용하신 변수 명은 args 로 사용하셨던데.. 저렇게 사용하면 pycharm에서는 에러가 나더라구요 저게 맞는 사용법인가요??
-
미해결Java TPC (생각하고, 표현하고, 코딩하고)
downcasting 질문입니다.
안녕하세요 downcasting 질문 드립니다. 강의 예시에서 dog와 cat 클래스가 class 파일 제공이 되고 부모 클래스 animal은 자바로 제공이 된다고 했을때 부모클래스(animal)에는 없는 night 함수를 자식클래스(cat)에 존재하는지 어떻게 알고 또 어떤 기능인지 어떻게 알고 다운캐스팅을 하여 사용할까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그아웃과 필터 관련 질문이 있습니다.
강사님 코드를 완전히 따라하지 않고 따로 프로젝트를 만들어 진행하면서 따라가고 있는데 지금까지 잘 따라 왔습니다. 문제는 로그아웃을 클릭하면 세션 정보가 잘 날라가고 화이트 리스트 외 페이지에 접근이 안 되는 것은 정상적으로 동작하는데 로그아웃을 클릭한 뒤 바로 뒤로가기를 누르면 로그아웃 페이지 까지는 접근이 됩니다. 접근된 로그아웃 페이지에서 다른 페이지로 이동하면 필터 걸려서 다시 튕겨 나오구요. 어떤 부분을 다듬어주면 좋을까요?..
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
프로메테우스
안녕하세요. 강의 잘 들었습니다. 여쭤보고 싶은 것은 1. PV는 왜 Prometheus yaml 파일에 적어주고 PVC는 왜 Grafana yaml 파일에 각자 따로 적어주나요? PVC는 PV와 같이 있어야 할 것 같은데 따로 적어주는 이유가 궁금합니다. 2. 타겟을 따로 exporter로 지정해주고 싶은데 values-prometheus.yaml 파일이 프로메테우스 설정 파일이라고 봐도 되나요? 아니면 따로 야믈 파일을 생성해서 프로메테우스 타겟을 설정해주어야 하나요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
글자 색상 관련 질문입니다.
본 강의에서 이미지 탐지 결과에는 글자 색상이 파란색, 영상 탐지 결과에는 글자 색상이 빨간색입니다. 글자 색상은 똑같이 (0, 0, 255)로 설정했는데 이미지와 영상에서 왜 색상이 다르게 나오는 것일까요? 감사합니다.
-
미해결스프링 핵심 원리 - 고급편
동적 프록시 SRP
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 평소 SRP는 클래스는 하나의 책임을 가져야 한다. 즉, 클래스를 변경하는 이유는 하나여야 한다 정도로 알고있었습니다. p.12 에서 '결과적으로 프록시 클래스를 수 없이 만들어야 하는 문제도 해결하고, 부가 기능 로직도 하나의 클래스에 모아서 단일 책임 원칙(SRP)도 지킬 수 있게 되었다.' 라는 부분에서 '부가 기능 로직도 하나의 클래스에 모아서 단일 책임 원칙(SRP)도 지킬 수 있게 되었다' 는 내용이 잘 이해가 되지 않습니다. 유지보수를 위해 변경지점을 한곳으로 모아야 한다는것은 이해했지만 기존의 프록시 클래스들도 변경이유는 부가기능 같은 하나의 이유라고 생각해서 SRP 를 만족하지 않을까 라는 생각을 했습니다. 이 부분과 SRP관련해서 제가 잘못 알고있는게 있는지 알 수 있을까요?
-
미해결실습 UI 개발로 배워보는 순수 javascript 와 VueJS 개발
탭뷰에서 이벤트를 받아서 메인컨트롤러에게 전달만해주는 방식도 괜찮나요?
탭뷰에서 이벤트를 받은 후 탭을 변경해주는 것 까지 처리 후 메인에게 이벤트가 발생했다라는 사실만 전달해주는 것 같은데 이벤트만 컨트롤러에게 전달해주고 컨트롤러가 다시 TabView.setActiveTab 함수를 호출해주는 방식도 괜찮을까요?
-
해결됨Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
게시글 a 태그 추가할 때 질문입니다
4:00쯤에 {{board.title}} 에 a 태그를 추가할 때 저는 게시글 제목말고 row 전체에다가 링크를 걸고 싶어서 <tr> <a href="{{ board.get_absolute_url }}"> <th scope="row">{{ board.pk }}</th> <td>{{ board.title }}</td> <td>{{ board.author }}</td> <td>{{ board.created_at }}</td> </a></tr> 이렇게 하면 작동을 안하더라고요. 어떻게 하면 row 전체에 링크를 걸 수 있나요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
include질문이요
const post = await Post.create({ content: req.body.content, UserId: req.user.id, // deserializeUser 실행되면서 req.user에 값을 넣어준다. }); const fullPost = await Post.findOne({ where: { id: post.id, }, include: [ { model: Image, }, { model: Comment, include: [ { model: User, // 댓글 작성자 attributes: ["id", "nickname"], }, ], }, { model: User, // 게시글 작성자 attributes: ["id", "nickname"], }, include한 모델들이 어떻게 post에 관한 정보들을 가져 올 수 있는지 궁금합니다. 예를들어 제 생각에는 post에 관한 모델 User를 가지고 올려면 User에 User.findOne({where:{PostId: post.id}})처럼 post에 관한 정보가 있어야 된다고 생각하는데 그런 속성 없이 가져 올 수 있는게 이해가 안갑니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
promise 질문있습니다
마지막 쯤에 "결과물을 promise를 통해 future로 받는다."라고 하셨는데, 여기서 결과물이란게 헷갈립니다. 그래서 제가 이해한게 맞는지 확인하고 싶습니다. 저는 "쓰레드에서 실행한 함수의 결과물을 promise를 통해 future로 받는다"로 이해했는데 맞을까요?
-
해결됨노래 들으며 실전 프로젝트로 안드로이드 최신 기술을 공부해 보자! - 이름 궁합 편
di 모듈 생성시 class와 object의 차이, usecase
안녕하세요. 좋은 강의 잘 듣고 있습니다. 제가 일단 프로젝트를 분석하면서 천천히 공부하고 있는데 Daager Hilt를 사용할 때 파이어베이스, 네트워크 모듈은 Object인데 나머지 모듈은 클래스로 작성되어 있더라구요. Daager Hilt 관점에서 오브젝트와 클래스의 어떤 차이점이 있나요? 그리고 메인뷰모델에서 5개의 UseCase를 사용하는데 의존성주입 모듈에는 checkLoveCalculatorUseCase 밖에 없더라구요. 나머지 UseCase는 어떤식으로 주입되는건가요?