묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
인터페이스 명칭 정의는 어떤 방법들이 있나요?
안녕하세요 인터페이스 명칭만드는데 뒤에 able을 붙이는 경우랑 단순히 명사로 명칭을 짓는 경우가 있더라구요 각각 이유가 있으신가요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강사님 v3 만들때
MyView에 뷰를 렌더링하는 과정에서 Map으로 username과 age 에 관련한 파라미터값이 전달이 되고 Myview (두번째코드에서) 그 내용이 전달이 되는 거 맞나요 ? (강의를 3번 돌려봤는데 좀 애매해서 질문드립니다.) (블로그 글도 찾아봤는데 데이터를 뷰로 전달하는 코드인 것 같은데 정확히 이해가 안돼서 질문 드립니다.)package hello.servlet.domain.web.servlet.frontcontroller.v3; import hello.servlet.domain.web.servlet.frontcontroller.ModelView; import hello.servlet.domain.web.servlet.frontcontroller.MyView; import hello.servlet.domain.web.servlet.frontcontroller.v3.controller.MemberFormControllerV3; import hello.servlet.domain.web.servlet.frontcontroller.v3.controller.MemberListControllerV3; import hello.servlet.domain.web.servlet.frontcontroller.v3.controller.MemberSaveControllerV3; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.HashMap; import java.util.Map; // /front-controller/v3/* URL 패턴을 처리하는 서블릿 @WebServlet(name = "frontControllerServletV3", urlPatterns = "/front-controller/v3/*") public class FrontControllerServlet3 extends HttpServlet { private Map<String, ControllerV3> controllerMap = new HashMap<>(); public FrontControllerServlet3() { controllerMap.put("/front-controller/v3/members/new-form", new MemberFormControllerV3()); controllerMap.put("/front-controller/v3/members/save", new MemberSaveControllerV3()); controllerMap.put("/front-controller/v3/members", new MemberListControllerV3()); } @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("FrontControllerServlet3.service"); String requestUri = request.getRequestURI(); ControllerV3 controller = controllerMap.get(requestUri); if (controller == null) { response.setStatus(HttpServletResponse.SC_NOT_FOUND); return; } Map<String, String> paramMap = createParamMap(request); ModelView mv = controller.process(paramMap); String viewName = mv.getViewname(); MyView view = viewResolver(viewName); view.render(mv.getModel(), request, response); } private Map<String, String> createParamMap(HttpServletRequest request) { Map<String, String> paramMap = new HashMap<>(); request.getParameterNames().asIterator().forEachRemaining(paramName -> paramMap.put(paramName, request.getParameter(paramName))); return paramMap; } private MyView viewResolver(String viewName) { return new MyView("/WEB-INF/views/" + viewName + ".jsp"); } } public void modelToRequestAttribute(Map<String,Object> model,HttpServletRequest request) { //.jsp는 setAttribute를 씀 model.forEach((key,value)->request.setAttribute(key,value)); //request에 모든 정보를 저장한다. model에 있는 정보를 requestAttribute로 바꾼다. //request에 값을 다 담아둔다. } }
-
해결됨빠르게 git - 핵심만 골라 배우는 Git/Github
Git bash 우클릭 보이지 않음
로컬저장소를 만들고 그 안에 Git bash우클릭을 시도해도 보이지 않습니다. 맥 Terminal을 따로 열어 깃이 설치되었는지 보면 설치가 분명 되었다고는 나옵니다. 어찌된 영문인지 잘 모르겠어서 실습을 못하고 있는데 도와주세요 ㅠ .
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
원-핫 인코딩 get_dummies()질문
안녕하세요 ! import pandas as pd df = pd.DataFrame({'item':['TV','냉장고','전자렌지','컴퓨터','선풍기','선풍기','믹서','믹서']}) pd.get_dummies(df) 이렇게 실행하니 0,1값대신 True/False값이 결과로 출력되는데 문제점이 뭔지 모르겠습니다 ㅜ실행결과 사진입니다.
-
해결됨빠르게 git - 핵심만 골라 배우는 Git/Github
원격 저장소 조회(추가)
아래처럼 나오는 건 어떤 에러일까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
인터페이스 테스트인데 왜 구현체가 나오는건가요?
코드를 보면 초기화를 MemoryItemRepository로 하지 않고 ItemRepository로 초기화를 했는데 인터페이스는 구현체가 아니라서 함수가 정의가 안 되어있는데 어디서 구현체를 들고와서 테스트가 진행되는건가요..?
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Section 3의 [이론] Regression task의 Loss: L1, L2, Huber, Log Cosh Loss "미분가능"관련 에서 질문이 있습니다.
안녕하세요 선생님!Section 3의 [이론] Regression task의 Loss: L1, L2, Huber, Log Cosh Loss 에서 질문이 있습니다."미분 가능"에 대해서 궁금한 점이 있는데,MAE loss처럼 0에서 미분이 불가능 한 경우에는 gradient를 계산할 수 없는데 어떻게 해당 loss를 사용할 수 있는 것인가요?또 Huber loss는 한 번만 전 구간 한번만 미분가능하고,Log Cosh loss는 전 구간 2번 이상 미분가능하다고 말씀해주셨는데한 번만 미분 가능한 것보다 2번 이상 미분가능한 것의 장점이 무엇인가요?확인해주셔서 감사합니다!
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
일급컬렉션 메서드 반환타입 List로의 반환 vs 일급컬렉션으로 반환
안녕하세요강의보다가 일급컬렉션에 정의한 메서드들의 반환타입이 일급컬렉션 타입으로 반환하기도 하고 LIst<>로도 반환하기도 하셨던거 같았는데요 어느 기준을 가지고 어떤 타입으로 반환하는지 궁금합니다
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
synchronized가 붙은 메소드를 정말 동시에 접근하는 경우
[질문 내용]안녕하세요. 항상 좋은 강의 감사드리며 질문이 하나 있습니다. 멀티 코어라는 가정하에, synchronized가 붙은 메소드를 정말 동시에 호출하는 경우에는 어떤 스레드가 Lock을 가져가는지 궁금합니다. 정말 동시에 호출되면 두 스레드 모두 Lock을 획득할 수 있는지 조회할 때 획득할 수 있다고 조회가 될 것 같아서요.
-
해결됨Flutter로 SNS 앱 만들기
섹션8 접속중인 사용자의 정보표시에서 에러발생했어요.
signOut()에서 에러 발생했어요.한번 봐주세요..로직을 멜로 보냅내다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
BankAccountV5 lock.unlock() 작성 여부
BankAccountV5에서 lock.tryLoc()을 사용하는 경우, lock을 얻지 못하면 WAITING하지 않고 바로 return false;하므로 finally { lock.unlock(); }라는 코드가 필요 없을 것이라 생각했는데 이 코드가 꼭 필요한 코드인가요?
-
해결됨빠르게 git - 핵심만 골라 배우는 Git/Github
혹시 아래처럼 계속 파일을 찾을 수 없다는 건 어떤 의미일까요..
자꾸 화면처럼 나오지 않아서 애를 먹고 있는데 제가 뭘 잘못 한 걸까요..?
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
bram depth 관련
안녕하세요,bram 총 용량이 600KB 이상일 때, 36KB 단위로 나눠져 있는 걸로 알고 있습니다.그러면 (* ram_style = "block" *) reg [16-1:0] ram [0:30000-1];위와 같이 width 16bit, depth 30000으로 하면 약 60KB 로 36KB를 넘어섭니다.그러면 bram을 36KB 단위로 module을 분리해 줘야 하는지, 아니면 합성툴이 자동으로 처리해주는지 알 수 있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
TLS 는 데이터를 힙영역에서 가져갈때 깊은복사가 일어납니까 얕은복사가 일어납니까?
TLS 는 데이터를 힙영역에서 가져갈때 깊은복사가 일어납니까 얕은복사가 일어납니까?점유를 해야하니 느낌상 얕은복사일것같긴한데, lock을 하는거면 깊은복사를 하는것같기도하고... 어떻게 작동하는지 여쭙고싶습니다
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
member db 미생성 및 NullPointerException 문의
build.grade 파일application.yml 파일Member 파일MemberRepository 파일MemberRepositoryTest 파일Assertions.assertThat 가 안되는부분은 QnA를 통해 해결하였습니다.h2 데이터베이스 접속은 되는상태이며 실행시 member 테이블이 생성되지 않습니다.그리고 아래와 같은 NullPointerException 이 발생하여 문의드립니다.
-
미해결김영한의 실전 자바 - 중급 2편
문제 4번 관련 질문입니다.
public class ItemPriceTest { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("사과", 500); map.put("바나나", 500); map.put("망고", 1000); map.put("딸기", 1000); // 코드 작성 ArrayList<String> list = new ArrayList<>(); for (Map.Entry<String, Integer> entry : map.entrySet()) { if (entry.getValue().equals(1000)) { list.add(entry.getKey()); } } System.out.println(list); } } 여기서 entry.getValue() 의 비교를 == 으로 바꿔도 돌아가는데 상관없을까요? 객체의 경우 == 이냐, equals냐에 따라 동일성, 동등성 비교로 나뉘는거같은데 이와같이 값 비교 할 땐 둘 다 사용할 수 있는걸까요? == 을 사용해도 망고, 딸기가 출력되어 여쭤봅니다 [질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결Do it! 알고리즘 코딩테스트 with Python
나머지 합 구하기 핵심 아이디어 문의
안녕하세요. 나머지 합 구하기 핵심 아이디어 중 첫 번째 (A+B)%C는 ((A%C) + (B%C)) % C와 같다. 는 것은 본 문제를 푸는 데에는 직접적 관련이 없는 것 같은데 어떻게 관련이 되어 있는지 궁금합니다. 문제가 연속된 부분의 합의 나머지를 구하는 것인데,(A[i+1] + ... + A[j])%M = (S[j] - S[i])%M이 되고, 나머지 연산이 linear 연산이기 때문에(S[j] - S[i])%M = 0이라면S[j]%M = S[i]%M 이라고 할 수 있을 것 같아서요. 이 경우에 핵심 아이디어 2번째, 3번째로도 문제 풀이가 가능한 것 같은데, 핵심 아이디어 1번째는 어떤 역할을 하는지 궁금합니다. 감사합니다.이 되어
-
미해결[실전 게임 코드 리뷰] 유니티 클리커 게임
Missing (Mono Script)
어떤 스크립트가 끼워져 있었는지 모르겠어요.(물론 빌드하면, 게임 플레이는 정상적으로 되긴 하지만. 그래도 어떤 스크립트가 들어가 있는지 확인할 수가 없어서 답답하네요.)
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
pyinstaller 에러
pyinstaller 사용시 에러4900 WARNING: Library not found: could not resolve 'api-ms-win-crt-string-l1-1-0.dll', dependency of 'C:\\Users\\***\\AppData\\Local\\Programs\\Python\\Python312\\DLLs\\tcl86t.dll'. 명령 프로프트에서 실행해도4524 WARNING: Library not found: could not resolve 'api-ms-win-crt-string-l1-1-0.dll', dependency of 'C:\\Users\\이종익\\AppData\\Local\\Programs\\Python\\Python312\\DLLs\\tcl86t.dll'. 해결 방법을 알고 싶어요
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
아이템박스에서 배열 빈경우,
안녕하세요.아이템박스인걸로 봐서, 처음 아이템랜덤으로 어셋매니저사용할때 내용인거같은데, 지금 크래쉬가 나서 보니 이부분인데요.//ItemBox.cpp void AABItemBox::PostInitializeComponents(){ Super::PostInitializeComponents(); UAssetManager& Manager = UAssetManager::Get(); TArray<FPrimaryAssetId> Assets; Manager.GetPrimaryAssetIdList(TEXT("ABItemData"), Assets); ensure(0 < Assets.Num()); int32 RandomIndex = FMath::RandRange(0, Assets.Num() - 1); FSoftObjectPtr AssetPtr(Manager.GetPrimaryAssetPath(Assets[RandomIndex])); if (AssetPtr.IsPending()) { AssetPtr.LoadSynchronous(); } Item = Cast<UABItemData>(AssetPtr.Get()); ensure(Item); Trigger->OnComponentBeginOverlap.AddDynamic(this, &AABItemBox::OnOverlapBegin);} //이렇게 확인했습니다. else { UE_LOG(LogTemp, Error, TEXT("GetPrimaryAssetPath Problem")); }배열이 비어있는거같은데, 이런경우에 시도해볼 해결책은 어떤것이 있을까요?