묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
hashmap사용시 항상 map으로 선언하시나요?
[질문 내용]여기에 질문 내용을 남겨주세요.항상 궁금했던건데, 인터페이스의 구현체에서, 구현체 자체 메서드가 있는 구현체들도 있는데, 변경 용이성때문에 항상 상위 타입으로 선언하는건가요?예를들어, 인터페이스 Map에는 clone메서드가 없고, HashMap에는 clone 메서드가 있는데, Map으로 선언하면, HashMap 자체 메서드들은 사용못하게되는데 구현체 자체 메서드를 사용할 상황도 있을거같은데, 항상 구현 객체 생성할때 상위로 선언하는 이유가 궁금합니다. 구현체 기능을 더 사용한다 vs 변경에 용이하게한다. 둘다 비슷한 느낌이여서 뭐에 우위를 두고 선정해야할지 잘모르겠습니다.
-
미해결스프링 핵심 원리 - 기본편
객체 지향 설계와 스프링 강의에서 실무 고민
객체 지향 설계와 스프링 강의 5분에 나오는 인터페이스 도입시 추상화라는 비용이 발생한다는데, 인터페이스안에 구현을 찾는 경우 타고 타고 들어가는 과정에서 추상화 비용이 발생한다라고 알아들었는데 잘 이해가 안가서요 좀더 예시를 들어볼 수 있을 까요?
-
미해결
myweb1 에서 왜? list.html 만 error가 나올까요?
강의를 따라 하고 있는데... 왜 list 페이지만 오류 나온 가요?mongodb 4.2.22 버전 설치 후, 가입, 로그인, 글쓰기, 삭제, 수정 모두 되는데.. list 페이지만 오류가 나옵니다 벌써 3일째 하는데... 어렵네요 강의를 아무리 봐도 알 수가 없네요 똑 같이 하는데.... 파일 "D:\PM_WebService\venv\Lib\site-packages\flask\app.py", 2551 행, 안으로 __call__return self.wsgi_app(environ, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^파일 "D:\PM_WebService\venv\Lib\site-packages\flask\app.py", 2531 행, 안으로 wsgi_appresponse = self.handle_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^파일 "D:\PM_WebService\venv\Lib\site-packages\flask\app.py", 2528 행, 안으로 wsgi_appresponse = self.full_dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^파일 "D:\PM_WebService\venv\Lib\site-packages\flask\app.py", 1825 행, 안으로 full_dispatch_requestrv = self.handle_user_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^파일 "D:\PM_WebService\venv\Lib\site-packages\flask\app.py", 1823 행, 안으로 full_dispatch_requestrv = self.dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^파일 "D:\PM_WebService\venv\Lib\site-packages\flask\app.py", 1799 행, 안으로 dispatch_requestreturn self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^파일 "D:\PM_WebService\run.py", 117 행, 안으로 liststot_count = board.find(query).count() ^^^^^^^^^^^^^^^^^^^^^^^
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
2분 23초 단축키 보는 방법에 대해 질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요강의 중간 중간에 아래에 단축키를 보여주시는 것으로 이해하고 있습니다.1번째 질문입니다.2분 23초 화면 아래에Extend Selection via 와 문자들이 여러가지 있는데읽는 법을 모르겠습니다구글링해도 알 수 없어서 질문드립니다https://www.google.com/search?q=extend+selection+via&sxsrf=AJOqlzUlb-H_5m0gOhEFarRhon8t-0fufw%3A1679410552822&ei=eMUZZM_fMcGRseMPmJm38Ag&ved=0ahUKEwjP-7rro-39AhXBSGwGHZjMDY4Q4dUDCA8&uact=5&oq=extend+selection+via&gs_lcp=Cgxnd3Mtd2l6LXNlcnAQAzIICCEQoAEQwwQ6CAgAEAcQHhATOhAIABCABBAUEIcCELEDEIMBOgoIABCABBAUEIcCOgsIABCABBCxAxCDAToECAAQAzoUCC4QgAQQsQMQgwEQxwEQ0QMQ1AI6EQguEIAEELEDEIMBEMcBENEDOgUIABCABDoGCAAQBxAeOgcIABANEIAEOggIABAHEB4QCjoICAAQBxAeEA86CAgAEAgQBxAeOgUIABCiBDoKCCEQoAEQwwQQCkoECEEYAFAAWMAbYPseaABwAHgAgAHLAYgBhBOSAQYwLjE3LjGYAQCgAQHAAQE&sclient=gws-wiz-serp 2번째 질문입니다3분 47초에서 화면 아래에 Save All via 라고 적혀있고 그 다음에 특수문자가 적혀있는데, 해석 방법에 대해 질문드립니다
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
MySQL 질문
안녕하세요!! 데이터베이스를 SQLite 말고 MySQL을 사용하려고 하는데요.혹시 해당 강의에서 MySQL에 테이블을 생성하고 싶으면,MySQL 설치 후에 settings.py의 DATABASES 부분만 변경하면 되는건가요?아님 다른 부분도 수정해주어야 할 부분이 많나요??강의보다가 궁금해서 질문드려봅니다!! 감사합니다 ^~^
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
IEnumerable 사용이유
List 대신 IEnumerable을 사용한 이유가 뭔가요??IEnumerable 정의가 구글링 해보니 제네릭이 아닌 컬렉션에서 단순하게 반복할 수 있도록 지원하는 열거자를 노출합니다.라고 하는데 이걸 왜 자료형으로 쓰는지 이해가 잘 안됩니다 ㅠㅠ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿 컨테이너에 대하여
[질문 내용]이전 시간에 들었던 강의를 제대로 이해한 건지 궁금해서 질문드립니다!컴파일시 서블릿 컨테이너 안에 작성한 메서드들이 자리하게 됩니다. 그 후, 호스트로 부터 요청이 들어오면 WAS가 request, response 객체를 생성합니다. 마지막으로, service에 작성한 함수를 스레드 풀안에 스레드가 동작하여 response에 전달해 호스트에게 반환되는 것이 맞나요??
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
Aws관련질문
강좌에서 aws 인스턴스를 2개를 사용해 프론트서버와 백엔드서버를 배포한것과는 다르게 프리티어 인스턴스 한개로 두개의 서버를 배포하려하는데 aws 서버 메모리가 부족할까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
섹션5 | Javascript 응용과 싸이월드 실습 4탄 복습 학습자료
안녕하세요! 강의 정말 잘보고있습니다!!프리캠프 섹션5 | Javascript 응용과 싸이월드 실습 4탄 복습 학습자료 상에서 질문이 있어서 여쭤봅니다. else if에서 조건에 만족하는 경우 alert가 뜨게끔 되어 있는 것 같아서,여기 부분에서 else if~ 부분을 아래와 같이 바꿔야하는 것이 아닌지 검토 부탁드릴게요.} else if(8>password.length || password.length>16){ alert("8~16자의 영문, 숫자, 특수문자만 사용 가능합니다.") return false
-
미해결
오류: 기본 클래스 Main을(를) 찾거나 로드할 수 없습니다.
아무것도 만지지 않고 Intellij 첫 프로젝스 생성 후 main 클래스를 실행하는데 ..계속 실행이 안되네요.4번째 삭제 후 다시 다운 받았는데 아예 실행이안됩니다 ㅠㅠ환경 변수 설정은 몇번이고 다시 했는데 혹시 원인이 뭔지 알 수 있을까요?
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
switch case 문 오류
switch-case문 예제에서일부러 error를 내려고 13을 써봤는데error13월은 0일 까지 있습니다.이렇게 뜨는데 error만 나올 수 있게 하려면 어떻게 해야하나요? 감사합니다.
-
미해결홍정모의 따라하며 배우는 C++
4:04 코드 질문입니다.
변수 앞의 const는 "그 변수의 값"을 안바꾸겠다는 의미지만, 포인터 앞의 const는 "포인터가 저장한 주소값"을 안바꾸겠다는 게 아니라 "그 주소에 있는 값"을 안바꾸겠다는 것. 이라고 설명해주셨는데요.근데 그럼 아래 코드의 13~15째 줄과 충돌되는 내용인 거 아닌가요?14줄이 "ptr2에 저장된 주소값에 있는 값(=value2의 값 = 10)"을 안바꾸겠다는 의미인데, 15번째 줄에서 그걸 12로 변경이 가능한 거로 앞서 설명하셨어서요.게다가, 16번째 줄에 코딩한 대로 추가로 한줄 더 테스트 해보니 역참조로 값에 직접 접근해서 바꾸는 건 또 안되네요. 무슨 차이가 있는 건가요?아래 코드 캡쳐 내 주석 24~29번째 줄도 상술한 것과 같은 내용 질문입니다(강의 들으면서 바로바로 주석으로 적은 질문이라 말투가 좀 날 것 그대로네요..죄송합니다)
-
해결됨따라하며 배우는 리액트 테스트 [2023.11 업데이트]
This could be because the text is broken up by multiple elements. 에러
선생님 안녕하세요아무리 봐도 오류 이유를 모르겠어서 질문드립니다.제 오류는 아래와 같습니다. (코드상 에러난 부분 ✅ 했습니다)> TestingLibraryElementError: Unable to find an element with the text: /loading/i. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible. // CompletePage.js import axios from "axios"; import React, { useEffect, useContext, useState } from "react"; import ErrorBanner from "../../components/ErrorBanner"; import { OrderContext } from "../../contexts/OrderContext"; function CompletePage({ setStep }) { const [OrderDatas, , resetOrderDatas] = useContext(OrderContext); const [orderHistory, setOrderHistory] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(false); useEffect(() => { orderCompleted(OrderDatas); }, [OrderDatas]); const orderCompleted = async (OrderDatas) => { try { let response = await axios.post( "http://localhost:5001/order", OrderDatas ); setOrderHistory(response.data); setLoading(false); } catch (error) { setError(true); } }; if (error) { return <ErrorBanner message="에러가 발생했습니다." />; } const orderTable = orderHistory.map((item) => ( <tr key={item.orderNumber}> <td>{item.orderNumber}</td> <td>{item.price}</td> </tr> )); const handleClick = () => { resetOrderDatas(); setStep(0); }; if (loading) { return <div>loading</div>; ✅ } else { return ( <div style={{ textAlign: "center" }}> <h2>주문이 성공했습니다.</h2> <h3>지금까지 모든 주문</h3> <table style={{ margin: "auto" }}> <thead> <tr> <th>주문 번호</th> <th>주문 가격</th> </tr> </thead> <tbody>{orderTable}</tbody> </table> <button onClick={handleClick}>첫페이지로</button> </div> ); } } export default CompletePage; //App.test.js import { render, screen, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import App from "./App"; test("From order to order completion", async () => { render(<App />); const event = userEvent.setup(); const americaInput = await screen.findByRole("spinbutton", { name: "America", }); await event.clear(americaInput); await event.type(americaInput, "2"); // England 여행 상품 3개 추가합니다. const englandInput = await screen.findByRole("spinbutton", { name: "England", }); await event.clear(englandInput); await event.type(englandInput, "3"); // insurance 옵션체크 const insuranceCheckbox = await screen.findByRole("checkbox", { name: "Insurance", }); await event.click(insuranceCheckbox); //모든 주문을 한 이후 주문 버튼 클릭! const orderButton = screen.getByRole("button", { name: "주문", }); await event.click(orderButton); ////////// 주문확인페이지 /////// const summaryHeading = screen.getByRole("heading", { name: "주문 확인" }); expect(summaryHeading).toBeInTheDocument(); const productHeading = screen.getByRole("heading", { name: "여행 상품: 5000", }); expect(productHeading).toBeInTheDocument(); const optionsHeading = screen.getByRole("heading", { name: "옵션: 500", }); expect(optionsHeading).toBeInTheDocument(); expect(screen.getByText("2 America")).toBeInTheDocument(); expect(screen.getByText("3 England")).toBeInTheDocument(); expect(screen.getByText("Insurance")).toBeInTheDocument(); const confirmCheckbox = screen.getByRole("checkbox", { name: "주문하려는것을 확인 하셨나요?", }); await event.click(confirmCheckbox); const confirmOrderButton = screen.getByRole("button", { name: "주문 확인", }); await event.click(confirmOrderButton); //// 주문 완료 //// const loading = screen.getByText(/loading/i); ✅ expect(loading).toBeInTheDocument(); const completeHeader = await screen.findByRole("heading", { name: "주문이 성공했습니다.", }); expect(completeHeader).toBeInTheDocument(); const loadingDisappeared = screen.queryByText("loading"); expect(loadingDisappeared).not.toBeInTheDocument(); const firstPageButton = screen.getByRole("button", { name: "첫페이지로", }); event.click(firstPageButton); const productsTotal = screen.getByText("상품 총 가격: 0"); expect(productsTotal).toBeInTheDocument(); const optionsTotal = screen.getByText("옵션 총 가격: 0"); expect(optionsTotal).toBeInTheDocument(); await waitFor(() => { screen.getByRole("spinbutton", { name: "America" }); }); }); 제가 에러를 이해한 바로는 return 문이 여러 경우로 나뉘어서 그렇다고 생각했습니다. 제대로 이해한게 맞을까요..?( This could be because the text is broken up by multiple elements.)실제로 아래 else return문에 loading을 넣어주니 해결이 되긴 했습니다. 하지만 아래 ✅와 같이 작성해주면 에러가 뜨네요..왜 이러는건지 혹시 아실까요? ㅠㅠif (loading) { return <div>loading</div>; ✅ } else { return ( <div style={{ textAlign: "center" }}> <h2>주문이 성공했습니다.</h2> <h3>지금까지 모든 주문</h3> <table style={{ margin: "auto" }}> <thead> <tr> <th>주문 번호</th> <th>주문 가격</th> </tr> </thead> <tbody>{orderTable}</tbody> </table> <button onClick={handleClick}>첫페이지로</button> </div> ); }선생님 코드를 보고 복붙했는데도 해결이 안되네요.ㅜ
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
복습 방법 문의드립니다.
먼저 열정적인 강의에 감사드립니다.이번 강의 Accuracy편을 보면,class도 호출하고 함수도 많이 정의하고, 정의도 복잡하고..ㅎㅎ 먼가 뒤로 갈수록 코딩이 더 어려워지고 있다는게 느껴집니다.복습과 공부 방법을 어떻게 가져가면 좋을까요?외우는거 말고, 그냥 계속 한줄한줄 이해하면서 하는게 가장 빠른 길일까요?조언좀 부탁드립니다..
-
미해결[입문] Qt 6 프로그래밍 1편
Qt Creator 메뉴에 중국어
갑자기 Qt Creator 메뉴에 중국어가 뜨네요. 한국어로 수정하는 절차에 대하여 사르쳐 주세요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 전이+고아 객체 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 공부하다가 궁금한점이 생겨 질문 드립니다.CascadeType.ALL을 하면 굳이 orphanRemoval = true로 하지 않아도 em.remove(parent)나 parent.getChildList().remove()를 하는 경우 자식 엔티티가 제거된다고 이해를 하였습니다. 그러면은 CascadeType.ALL만 해줘도 부모 엔티티를 통해서 자식 엔티티의 persist, remove가 모두 가능하니 생명 주기를 관리할 수 있는 것 아닌가요? 굳이 orpahnRemoval = true를 해주어야 하는 이유가 궁금합니다. 제가 잘못 이해한 부분이 있는지 알려주시면 감사하겠습니다!
-
미해결홍정모의 따라하며 배우는 C언어
비주얼 스튜디오에서 계속 이런 문구가 뜨는데 어떡해 해야하나요...?
이거는 어떤 문제가 있어서 계속 나오는 건가요...?
-
미해결홍정모의 따라하며 배우는 C++
9:03 코드 질문
delete 후 다시 ptr(주소값)과 *ptr(직접참조:value)를 출력하면, 강의와 달리 주소값부터 다르게 나옵니다. debug 모드로 돌리면 delete 이후 ptr의 주소값이 아예 달라지는데요. 컴파일러 버전에 따라 다른건가요? visual studio 2019 사용 중입니다.
-
미해결스프링 핵심 원리 - 기본편
coreApplication 실행
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.See https://docs.gradle.org/7.6.1/userguide/command_line_interface.html#sec:command_line_warningsBUILD SUCCESSFUL in 24s3 actionable tasks: 3 executed오후 10:07:38: Execution finished ':CoreApplication.main()'. coreApplication 실행했더니 밑에 이렇게 나왔는데 괜찮나요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
로드맵에 몇번째 강의까지 들어야지 개인 프로젝트를 할 수 있을까요?
안녕하세요파이썬으로 알고리즘만 공부하다가, 백엔드 개발자가 되기 위해 스프링을 배워보고 싶어서 영한님 로드맵을 시작했습니다.기본적인 자바 공부를 하고 첫번째 로드맵 강의를 다 끝냈는데, 혹시 간단한 개인 or 협업 프로젝트를 할정도의 실력을 갖추려면 몇번째 강의까지 듣고 시작하는게 좋을까요? 강의를 들으면서 프로젝트도 해보고 싶은 욕구가 강하게 들어서 꼭 해보고 싶습니다.그런데 무작정 프로젝트를 시작하기에는, 첫번째 강의를 다 들었음에도 불구하고 아무것도 모른다는 느낌이 들어서 선뜻 손을 대기가 어렵네요..막상 게시판 하나 만들어 보려고 구글링을 하면서 봐도 config controller service repository를 어떻게 작성해야 할지도 모르겠구요답변 주시면 감사하겠습니다..!