묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 기본편
instanceof 강의를 들으며 궁금한 점이 있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]강의에서 Parent parent를 안전하게 다운캐스팅하기 위하여if (parent instanceof Child)를 사용하여서parent가 new Child()가 맞는지 확인하는 것으로 이해했습니다. 그 후 강의 중에 "참고로 instanceof 키워드는 오른쪽 대상의 자식 타입을 왼쪽에서 참조하는 경우에도 true 를 반환한다" 라고 하며 parent instanceof Parent 를 예시로 보여주었습니다. 그런데 강의 중 예시를 보았을 때 안전한 다운캐스팅을 위해선 parent instanceof Child를 사용해야 하는것으로 이해하였는데, 혹시라도 parent instanceof Parent가 특별히 사용되져야하는 다른 예시가 있을까요? 글의 요지는 그냥 이런 방식도 가능하다라는 의도로 "참고로 instanceof 키워드는 오른쪽 대상의 자식 타입을 왼쪽에서 참조하는 경우에도 true 를 반환한다"라는 내용을 설명해주신건지아니면 실제 코드를 구성할 때 따로 필요한 용도가 있는지 궁금한 것 입니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5회 기출 질문
5회 기출 작업형 2에서3회 기출 작업형 2에서 강사님께서 풀이하신 방식으로train, test 데이터를 수치형, 범주형으로 나누고 수치형은 robustscaler, 범주형은 dummies를 활용한 후 concat으로 합치려고 했는데요!아래처럼 코딩을 했는데 사진처럼 오류가 발생합니다ㅠㅠ혹시 기출 3회 작업형 2는 회귀모형이 아니기 때문에,기출 3회 작업형 2 풀이 방식을 기출 5회 작업형 2에 활용하지 못하는건가요? import pandas as pdtrain = pd.read_csv("train.csv")test = pd.read_csv("test.csv") n_train = train.select_dtypes(exclude ='object').copyc_train = train.select_dtypes(include ='object').copyn_test = test.select_dtypes(exclude = 'object').copyc_test = test.select_dtypes(include = 'object').copy from sklearn.preprocessing import RobustScalercols = ['year', 'mileage', 'tax', 'mpg', 'engineSize']scaler = RobustScaler()n_train[cols] = scaler.fit_transform(n_train[cols])n_test[cols] = scaler.transform(n_test[cols]) c_train = pd.get_dummies(c_train)c_test = pd.get_dummies(c_test) train = pd.concat([n_train, c_train], axis=1)test = pd.concat([n_test, c_test], axis=1) print(train)print(test)
-
미해결[2024 업데이트] UX/UI 시작하기 : Figma 입문 (Inflearn Original)
third-party payment
회사에서 유료플랜 쓰고 있으면유료 플러그인도 포함일까요????third-party payment 라고 써있어서 말씀 드리고 써야 하는건지 모르겠어네용
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
return이 안돼요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.addItem도 그렇고 editForm도 상품 등록이나 수정 버튼을 누르면 에러가 뜹니다. 2024-02-20 12:04:29.880 ERROR 71299 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: Error resolving template [validation/v3/editForm ], template might not exist or might not be accessible by any of the configured Template Resolvers] with root cause @PostMapping("/add") public String addItem(@Validated @ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) { // 특정 필드가 아닌 복합 룰 검증 if (item.getPrice() != null && item.getQuantity() != null) { int resultPrice = item.getPrice() * item.getQuantity(); if (resultPrice < 10000) { bindingResult.reject("totalPriceMin", new Object[]{10000, resultPrice}, null); } } // 검증 실패하면 다시 입력 폼으로 if (bindingResult.hasErrors()) { log.info("errors = {}", bindingResult); return "validation/v3/addForm"; } //성공 로직 Item savedItem = itemRepository.save(item); redirectAttributes.addAttribute("itemId", savedItem.getId()); redirectAttributes.addAttribute("status", true); return "redirect:validation/v3/items/{itemId}"; }@PostMapping("/{itemId}/edit") public String edit(@PathVariable Long itemId, @Validated @ModelAttribute Item item, BindingResult bindingResult) { // 특정 필드가 아닌 복합 룰 검증 if (item.getPrice() != null && item.getQuantity() != null) { int resultPrice = item.getPrice() * item.getQuantity(); if (resultPrice < 10000) { bindingResult.reject("totalPriceMin", new Object[]{10000, resultPrice}, null); } } // 검증 실패하면 다시 입력 폼으로 if (bindingResult.hasErrors()) { log.info("errors = {}", bindingResult); return "validation/v3/editForm"; } itemRepository.update(itemId, item); return "redirect:validation/v3/items/{itemId}"; }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
객체 createBoardInput을 왜 한번 더 { } 객체로 감싸서 보내는지 궁금합니다.
boards.resolver.ts 파일에서 createBoard 함수에서 boardsService클래스에 인자를 전달할때createBoardInput 객체를 보내는데낱개로 된 writer,title,contents 도 아닌데왜 굳이 한번 더 {createBoardInput} 객체로 감싸서 보내는지 이해가 잘 되지 않습니다. @Mutation(() => String) createBoard( @Args('createBoardInput') createBoardInput: CreateBoardInput, ): string { return this.boardsService.create({ createBoardInput }); //**차이점?? return this.boardsService.create(createBoardInput); } boards.service.ts 파일에서는create({ createBoardInput }: IBoardsServiceCreate): string { //**차이점?? create(createBoardInput: CreateBoardInput): string { //1.브라우저에서 보내준 데이터 확인하기 console.log(createBoardInput.writer); console.log(createBoardInput.title); console.log(createBoardInput.contents); //2. DB에 접속 후, 데이터를 저장 => 데이터 저장했다고 가정. //3. DB에 저장된 결과를 브라우저에 응답(response) 주기. return '게시물 등록에 성공하였습니다.'; }굳이 IBoardsServiceCreate의 인터페이스를 안만들어도이미 CreateBoardInput 이라는 Class를 타입으로 적용해서 받으면 되는데createBoardInput을 왜 한번 더 { } 객체에 감싸서 보내는지 궁금합니다.
-
미해결프로젝트로 배우는 React.js
useState 에 대해
3:20모델 값이 갱신이 안되서 그런건가요?모델이 원웨이로 돼어있나요?useState 를 쓰면 모델이 투웨이로 바뀌는건가요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
RabbitMq 에 대해
현재 강의에서 RabbitMq를 사용하여 어떻게 각각의 서버로 변경된 데이터를 전달하는지 아키텍처가 궁금합니다. 각각의 서버는 RabbitMq서버를 구독하고있는건가요?푸시방식이라고 했는데 각각의 서버가 RabbitMq의 큐에서 메시지를 가져가는 폴링방식이 아닌가요?구독하고있는 각 서버로 브로드캐스트하여 푸시하는 방식이지 폴링방식이 아니라는건가요?busrefresh를 통하여 큐에 메시지를 발행하고, 각 서버는 큐에서 메시지를 꺼내어가져가는건가요(폴링)? 아니면 큐에서 메시지를 RabbitMq가 직접 각각의 서버로 전송하는 푸시방식인가요? 푸시방식이 맞다면 AMQP프로토콜로 서버들이 실행할때마다 이미 연결이 되어있는 상태를 유지하고 있기 때문에 푸시가 가능한건가요?원리가 궁금합니다..
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
allocationSize 질문
IDENTITY전략에서 allocationSize가 50개로 설정하면 50개를 가져와 메모리에서 쓴다고 하셨는데 제대로 이해를 하지 못한것 같습니다. DB에서 1부터 51까지 미리 늘려놓고? 51까지의 메모리..? 어떤 값을 가져와서 em.persist 할때마다 뭐 큐나 스택처럼 하나씩 빼면서 pk값을 넣는건지 궁금하네요. 또 메모리에서 쓴다는게 어떤건지 잘 모르겠습니다. DB에서 꺼내서 쓰는게 아닌것 까지는 이해했지만 메모리에서 쓴다..?를 잘 모르겠습니다
-
미해결확률과 통계 기초
1.3 cardinality 에서 inclusion exclusion principle이 finite set에서만 성립하나요?
inclusion exclusion principle이infinite set 에서도 countable하기만 여전히 공식이 성립한다고 볼 수 있지 않나요?? 또 1.3 에서 a-b 확률이 a - (a and b) 공리3으로 증명하는부분에서 같은 샘플스페이스에서 양변에 같은 확률값을 더하거나 빼도 상관이 없는걸 이용한건가요? 또 이건 공리에 어긋나지 않아 가능한건가요??피피티에 나온 두 식으로 어떻게 식이 나왔는지 이해가안갑닏다 ㅠ
-
해결됨AB 테스트 실무자 완벽 가이드
최소 샘플 사이즈 관련 질문
선생님 안녕하세요 좋은강의 감사합니다. A/B 테스트 실헙계획 - 집단크기 결정 관련해서 내용 질문이 있습니다. 해당 강의의 내용은, AB테스트가 유의미해지려면 필요로하는 최소 샘플사이즈가 있다 인데요 python scipy 에서 ttest_ind 함수를 사용하면요 from scipy import statst, p = stats.ttest_ind(array1, array2, equal_var= False)이런식으로 하면 t와 p가 정해지는데, 여기에서 array 1과 array 2가 최소 샘플 수를 만족시킨다는 보장이 없는 것이잖아요.그럼 여기에서 나온 t p는 어떻게 해석해야 하는건가요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요 강의자료 부탁드립니다.
henry0618@naver.com 강의자료 부탁드립니다 감사합니다.
-
미해결
참고할 프로젝트 찾는 방법(kotlin, spring)
안녕하세요!go언어를 하다가 현재 kotlin, spring 을 공부하는 중입니다좋은 프로젝트 샘플을 보면서 어떤 구조로 어떻게 구현되어 있는지전체적인 코드를 보고싶은데,다들 샘플 프로젝트는 어떻게 찾으시나요?기본 CRUD프로젝트라도 좋아요 Github에서 검색해서 찾으시는지, 오픈소스를 찾아보시는지 궁금합니다꿀팁 알려주세요!혹시 괜찮은 코프링 프로젝트를 아신다면 알려주시면 더 감사하겠습니다!
-
해결됨외워서 끝내는 SSL과 최소한의 암호기술
비대칭키 재사용, 발급 관련 문의
안녕하세요. 강의를 듣다보니 궁금한점이 있어서 문의드립니다.다름이 아니라 CA 에서 비대칭키를 생성해서 일정 유효시간 동안 유효하도록 인증서+PrivateKey를 만들어준다고 하셨는데요.비 대칭키에는 많은 전산자원이 든다고 하셨는데, CA 입장에서는 많은 고객들이 인증서 발급을 요청할테니 계속 자원이 많이 들텐데 이 경우 만료된 키를 다른 PC에게 재사용 하기도 할까요??보안상 안할 것 같기는 한데 이때 또 궁금한 점은 CA 가 키쌍을 만들어 냈을때 이전에 만들어낸 키와 중복되지 않게 하는 방법이 있을까요??각 PC 마다 6개월 1년 마다 계속 인증서 및 키를 갱신해주면서 중복되지 않게 하려면 숫자를 계속 키워야할 것 같은데 이 경우 계산이 점점 복잡해질 것 같은데 하드웨어 성능을 업그레이드 해서 그 부분을 보완하는지...아직은 계산하는데 크게 성능을 해칠 정도는 아니라서 상관 없는지 궁금합니다.
-
해결됨3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]
9강 -1 마지막 실습
심각: 서블릿 [action]을(를) 위해 할당하던 중 예외 발생java.lang.IllegalArgumentException: Unable to locate method [afterExceptionMethod] on bean [exampleAop]이런 에러가 나옵니다.package egov.lib.util; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ExampleAop { private static final Logger logger = LoggerFactory.getLogger(ExampleAop.class); public void beforeMethod(JoinPoint joinPoint) throws Exception { logger.info("사용자 요청" + joinPoint.getTarget()); System.out.println("사용자 요청" + joinPoint.getTarget()); } }영상을 보고 위 코드처럼 이용하면 문제가 생깁니다. 하지만 수업자료에서 제공하는 전체코드를 이용하면 문제가 없습니다.package egov.lib.util; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ExampleAop { private static final Logger logger = LoggerFactory.getLogger(ExampleAop.class); public void beforeMethod(JoinPoint joinPoint) throws Exception { logger.info("사용자 요청" + joinPoint.getTarget()); System.out.println("사용자 요청" + joinPoint.getTarget()); } public void afterExceptionMethod(JoinPoint joinPoint, Exception exception) throws Exception { // 이외에도 예외처리에는 많은 방법이 존재합니다. ErrorController로 제어등.. logger.error("ST에러발생================="); logger.error("" + exception.getMessage()); logger.error("ED에러발생================="); throw exception; } public void afterMethod(JoinPoint joinPoint) throws Exception { logger.info("메소드 종료"); } public Object aroundMethod(ProceedingJoinPoint joinPoint) throws Throwable { long st = System.currentTimeMillis(); // 핵심기능 수행 Object rtn = joinPoint.proceed(); long ed = System.currentTimeMillis(); System.out.println("성능측정 걸린시간:" + (ed - st)); // currentTimeMillis:1/1000 초 return rtn; } } 위의 코드에서는 문제가없는데 9강 강의 마지막 내용대로 진행하면 문제가 생깁니다. 어떤 문제인지 궁금합니다. dispatcher-servlet.xml 파일에 제공되는 코드에서 aop:after-throwing , aop:after , aop:around 코드를 주석처리를 안하고 진행해서 생긴 문제였습니다.해결했습니다.
-
미해결스프링 시큐리티 OAuth2
password() deprecated
OAUth2AUthorizedClientProviderBuilder.builder() 에서 password() api 가 deprecated 가 됐는데 어떻게 사용해야할까요?
-
해결됨OpenGL 쉐이더 (3) shader 3D 그래픽스 - 애니메이션 원리, depth 개념, Z 버퍼
33-3 피라미드 만들기 - face 생성 시 질문
안녕하세요..!3:15에 face를 형성하기 위해서 꼭지점 잇는 순서가 나오는데요,f4, f5 생성 시에 v1로 시작한 이유가 있는지 궁금합니다..!v2,3,4로 시작할 수는 없나요?
-
미해결파이썬 무료 강의 (활용편6) - 이미지 처리 (OpenCV)
mediapipe 코드를 어디서 받나요??
강의영상의 홈페이지가 변경되었는데 새로운코드는 어디서 받으면 되나요?
-
미해결처음 만난 리액트(React)
npx create-react-app 오류
프로젝트 생성하는 데 오류가 생겨 질문 드립니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
404에러 발생 관련 문의
[질문 내용]코드 동작시에 save에서 예외처리를 안했다고 오류가 발생하는데 혹시 제가 어떤 부분을 잘못했는지 궁금해서 문의 드립니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
트랜잭션 커밋 질문
섹션3 플러시 부분을 듣다가 궁금증이 생겨 질문을 남깁니다.3분에 말씀하신 내용에 따르면 try{ Member member = new Member(200L,"member200"); em.persist(member); em.flush(); //영속 System.out.println("===================="); tx.commit(); } catch (Exception e){ tx.rollback(); }finally { em.close(); } emf.close();em.flush()를 하면 데이터베이스에 쿼리가 나가고 tx.commit()을 통해 트랜잭션 커밋이 된다고 하셨는데 트랜잭션 커밋을 언제 사용하는지?가 궁금합니다. 그냥 플러시를 하기 위해서 쓰이는 것인지 아니면 try catch문으로 되어있어서 try문에서 제대로 동작을 한다면 마지막에 DB에 잘 적용되었다는 느낌으로 commit을 하는것이 맞나요?