묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Nuxt.js 시작하기
SSR로 빌드 및 배포를 하려고하는데
HTTPS를 적용하려고 하면 어떤식으로 진행해야하나요? 아파치 서버를 따로 구동하지않고 자체적인 노드 서버로 구동하는게 맞을까요?만약 그렇다고하면 노드 서버로 구동이 되는건데 그때 ssl 적용은 어떻게 해야하는건지 궁금합니다
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
섹션 7 전달값 질문입니다!
1. 6분 44초에 int result = 1; 이라고 작성해주셨는데이 의미가 궁금합니다! (result가 무엇을 의미하는지 궁금합니당 만약 결과값이라면 왜 1을 써야 하나요?) 6분 59초에 for i 를 쓰셨는데 여기서 i는 무얼 의미하는 건지 궁금합니다!앞의 int result가 이해가 되지 않아 result = result * number;의 의미도 궁금합니다!
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
as 2 space-separated values. 무슨 말인가요???
-- 파파고 --> hacker_id와 이름을 2개의 공백으로 구분하여 출력합니다.제 기준에서는 공백이 1개로 보이고 복사 붙여넣기 해서 드레그해도 1개더라고요.저 조건은 그냥 가볍게 무시해도 되는건가요??아니면 제가 잘못 이해한 걸까요??
-
미해결[백문이불여일타] 데이터 분석을 위한 기초 SQL
코드 에러 이유
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. select, from, limit 다 완벽하게 작성한 것 같은데 오류가 나서 질문글 찾아보니 limit 뒤에 세미콜론을 안적어서 그렇다는데 저는 적어도 저렇게 나오는데 이유가 뭘까요?
-
미해결Java TPC 실전프로젝트 (Java API 활용)
Gson 라이브러리 추가시 오류
현재 Gson을 lib에 추가하는 초기 설정을 하고 있습니다.인터넷에 검색을 해보니이렇게 Classpath 에 넣어라고 하더라고요. 저도 그래서 동일하게 진행했는데import com.google.gson.Gson 에 마우스를 가져다대면The type com.google.gson.Gson is not accessible라고 에러가 뜹니다.그리고module-info 에 들어가면 빨간 밑줄이 있습니다.Gson 을 classpath 가 아닌 module path로 옮기면 해결되긴 합니다.classpath 로 두고 에러를 해결하려면 어떻게 해야될까요?감사합니다 :)
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션8 수열추측하기 질문 있습니다.
<html> <head> <meta charset="UTF-8" /> <title>출력결과</title> </head> <body> <script> function solution(n, f) { let answer = 0 let flag = 0 let dy = Array.from({ length: 11 }, () => Array(11).fill(0)) let check = Array.from({ length: n + 1 }, () => 0) let temp = Array.from({ length: n }, () => 0) let b = Array.from({ length: n }, () => 0).map((v, i) => combination(n - 1, i)) function combination(n, r) { if (dy[n][r] > 0) return dy[n][r] if (r === 0 || n === r) return 1 return (dy[n][r] = combination(n - 1, r - 1) + combination(n - 1, r)) } function DFS(index, sum) { if (flag) return if (index === n && sum === f) { answer = temp.slice() flag = 1 } else { for (let i = 1; i <= n; i++) { if (check[i] === 1) continue temp[index] = i check[i] = 1 DFS(index + 1, sum + b[index] * temp[index]) check[i] = 0 } } } DFS(0, 0) return answer } console.log(solution(4, 68)) </script> </body> </html>선생님께서 올려주신 답안을 보면DFS 함수 안에서 수열을 만들 때 for문 조건이 i <= n 이므로 만들 수 있는 수열은 [4, 4, 4, 4]가 마지막 값일 것으로 예상됩니다.만약 문제 조건을 N=4, F=68로 바꾸면 답안 코드로는 답을 얻을 수 없습니다. N값이 가장 윗줄에 나오는 숫자의 갯수를 의미하기 때문에 가능한 조건이라 생각됩니다. 이 경우 for문 조건의 n을 더 큰 값으로 바꾸고, 강의에서 알려주신 push, pop을 이용한 코드로 작성하면 답을 얻을 수 있었습니다. 하지만 n값이 10인 경우, 11인 경우 등 n값에 따라 나올 수 있는 답이 다르기 때문에 사전순으로 가장 앞에 오는 것이 무엇인지 판별하려면 또 문제가 생깁니다. N=4, F=68의 문제 조건에서 for문의 n값이 10인 경우 답이 [3, 9, 10, 8]가 나오며, 11인 경우 [1, 8, 11, 10]이 나오기 때문에 11인 경우가 답이 되어야 할 것으로 생각됩니다.n값이 너무 커지면 실행시간이 오래걸리기 때문에 문제 조건에 맞는 적절한 값이 필요할 듯 싶은데, 이걸 잘 모르겠습니다. 제가 이해를 잘못 하였을 수도 있습니다. 선생님께서 조언해 주시면 감사하겠습니다.
-
미해결비전공자의 전공자 따라잡기 - 데이터베이스,SQL
[섹션3] 사원 테이블 데이터 추가하실 분들을 위한 쿼리문
INSERT INTO zerocho.`employee` (`name`, email, salary, team, role_id) VALUES ('제로초', 'zerocho@gmail.com', '10000', '개발팀', '1');INSERT INTO zerocho.`employee` (`name`, email, salary, team, role_id) VALUES ('원초', 'onecho@gmail.com', '6000', '디자인팀', '1');INSERT INTO zerocho.`employee` (`name`, email, salary, team, role_id) VALUES ('투초', 'twocho@gmail.com', '8000', '기획팀', '1');INSERT INTO zerocho.`employee` (`name`, email, salary, team, role_id) VALUES ('쓰리초', 'threecho@gmail.com', '7000', '기획팀', '2');INSERT INTO zerocho.`employee` (`name`, email, salary, team, role_id) VALUES ('포초', 'fourcho@gmail.com', '9000', '개발팀', '2');INSERT INTO zerocho.`employee` (`name`, email, salary, team, role_id) VALUES ('파이브초', 'fivecho@gmail.com', '6000', '기획팀', '3');INSERT INTO zerocho.`employee` (`name`, email, salary, team, role_id) VALUES ('식스초', 'sixcho@gmail.com', '6000', '개발팀', '3');INSERT INTO zerocho.`employee` (`name`, email, salary, team, role_id) VALUES ('세븐초', 'sevencho@gmail.com', '5000', '개발팀', '4');INSERT INTO zerocho.`employee` (`name`, email, salary, team, role_id) VALUES ('에잇초', 'eightcho@gmail.com', '4000', '디자인팀', '4');INSERT INTO zerocho.`employee` (`name`, email, salary, team, role_id) VALUES ('나인초', 'ninecho@gmail.com', '3000', '개발팀', '4');INSERT INTO zerocho.`employee` (`name`, email, salary, team, role_id) VALUES ('텐초', 'tencho@gmail.com', '2500', '기획팀', '5');
-
미해결
jsp, thymeleaf 동시 사용
스프링 부트에서 jsp와 thymeleaf를 어떻게 동시에 사용할 수 있는지 궁금합니다. jsp는 tiles.xml에서<definition name="*" extends="main-layout"> <put-attribute name="body" value="/WEB-INF/views/{1}.jsp"/></definition> 이런식으로 jsp파일을 읽어오는데 thymeleaf는 어떻게 하는지 모르겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Many To One 매핑시 JoinColumn을 무조건 대상테이블의 PK로만 걸어야하는지
Many 쪽에서 One쪽으로 @JoinColumn을 지정하게되면 그 컬럼은 곧 FK로 사용되는데ID값이 아닌 다른 Unique한 컬럼을 참조하고 싶다면 대체하여도 상관없을까요???예를들어, 게시판에서 글 작성자를 출력한다고 가정합니다.우선적으로 필요한 값은 Nickname하나뿐입니다.User테이블에는 PK값이 자동증가값과 같은 의미없는 고유번호로 부여하고 있다고 가정합니다.Board테이블에서 User테이블의 고유값 PK가 아닌 Nickname의 값만 가져오고 싶고, 해당 값은 중복이 불가능한 Unique한 값이라면PK값이 아닌 해당 값에 걸어도 무방한지요?만약 게시판에서 닉네임뿐만 아니라 닉네임을 눌렀을때 해당 User의 다양한 정보를 얻기 위하면 PK를 가져오는게 맞다고 생각합니다. 하지만 게시판에 User의 PK값에 FK가 걸려있고(Mapping) Board에서 참조하려는 값이 '단순히 닉네임 단 하나'라고 한다면 PK값을 기준으로 닉네임을 다시 한번 조회해야 하기 때문에 불필요한 쿼리가 발생한다고 생각이 듭니다물론 닉네임으로 매핑을 하더라도 Unique한 특성때문에 닉네임 기준으로 User의 정보를 조회할 수는 있겠으나 Board테이블로부터 테이블이 지속적으로 확장되어 나가고 해당 테이블에 User의 PK가 식별관계로 상속되어나간다면 데이터베이스의 PK의 역할로 볼때는 PK로 지정해주는게 맞다고는 생각합니다...위와같이 매핑되는 FK대상 JoinColumn 필드를 비즈니스적 측면에서 유도리있게 설정해도 무관할까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
500오류 - NullPointerException
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 전송 버튼을 누르면이런 화면이 나옵니다!에러는 NullPointerException이 뜨고근데 f12를 눌러 form 태그로 전송된 데이터는 조회가 됩니다어디가 문제인 걸까요 ㅜㅜ
-
미해결스프링 핵심 원리 - 기본편
assertThat에서 타입 확인할때 인터페이스 타입, 구현체 타입 둘다 가능한가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예첫번째 그림에서빈 이름, 타입으로 조회할때, 조회된 객체는 컨테이너에 등록된 객체이고, 해당 객체의 클래스(MemberServiceImpl)를 isInstanceOf 할때 인자로 사용하신 걸로 이해했는데(당연히 맞는말인건 알고 있습니다.) 두번째 그림에서 컨테이너에 등록된 객체가 인터페이스의 인스턴스로가 맞다고도 검증이 되는데 이유가 무엇인지 궁금합니다. 그냥 인터페이스 변수에 구현 클래스의 객체가 주입될 수 있어서 인터페이스의 인스턴스로도 맞다고 하는건가요?.아래의 두 문장, 인터페이스의 인스턴스, 해당 객체의 클래스의 인스턴스, 둘다 isInstanceOf 정상 동작하는 건 확인했습니다.assertThat(memberRepository).isInstanceOf(MemoryMemberRepository.class);assertThat(memberRepository).isInstanceOf(MemberRepository.class);
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
지금까지 정리한 부분이 맞는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 지금까지 정리한 부분인데 맞는 이야기인지 확인 및 피드백 부탁 드려도 될까요? 1. 서블릿 컨테이너에 의해 요청된 값이 담긴 Request 객체와 Response 객체가 생성됨. 생성된 Request 객체와 Response 객체는 Dispatcher Servlet의 service() 함수를 호출하면서 전달됨.2. Dispatcher Servlet가 HttpServlet의 service() 함수를 실행함으로써 Dispatcher Servlet의 핵심 로직인 doDispatch()가 호출됨.3. 구현된 HandlerMapping에서 요청 URL에 매핑된 핸들러(컨트롤러)를 찾기 시작함. 만약 핸들러에 @Controller가 적용되어 있고, 요청 URL과 매핑된 @RequestMapping 메소드가 있다면 RequestMappingHandlerMapping는 해당 핸들러를 Dispatcher Servlet에 반환됨.4. HandlerMapping은 전달받은 핸들러를 처리할 수 있는 HandlerAdapter를 조회함. 예를 들어, @RequestMapping 기반의 핸들러를 처리할 수 있는 RequestMappingHandlerAdapter를 찾음.5. HandlerAdapter는 실제 핸들러(컨트롤러)를 호출하기 전에 필요한 매개변수 정보(@RequestParam인지, @ModelAttribute인지, @RequestBody인지, HttpEntity인지)를 ArgumentResolver에 제공함.6. 핸들러 어댑터는 ArgumentResolver의 supportsParameter()를 호출하여 컨트롤러의 매개변수를 처리할 수 있는 ArgumentResolver를 찾음.7. 해당 ArgumentResolver의 resolveArgument()를 호출하여 필요한 데이터를 생성하고, 이를 HandlerAdapter에 반환함.7-1. 만약 핸들러(컨트롤러)가 메서드 레벨에서 @RequestBody, HttpEntity(RequestEntity)를 사용한다면 ArgumentResolver는 HTTP 메시지 컨버터의 canRead() 메소드를 호출하여 매개변수 타입과 미디어 타입(Content-Type)을 처리할 수 있는 HTTP 메시지 컨버터를 찾음.8. canRead() 조건을 만족하면 ArgumentResolver는 해당 HTTP 메시지 컨버터의 read()를 호출하여 필요한 데이터를 생성하고, 이를 HandlerAdapter에 반환함.9. HandlerAdapter는 생성된 파라미터의 값이 모두 준비되면 핸들러(컨트롤러)를 호출하면서 값을 넘겨주고 핸들러(컨트롤러)의 로직을 수행함.10-1. 메시지 바디에 직접 응답하지 않는 경우예를 들면 핸들러(컨트롤러)가 String 타입으로 뷰 이름을 반환하는 경우, HandlerAdapter는 ReturnValueHandler의 supportsReturnType()을 호출하여 지원하는 리턴 타입인지 확인함.지원한다면 HandlerAdapter는 해당 ReturnValueHandler의 handleReturnValue()를 호출하고 Model과 뷰 이름을 가지고 ModelView를 생성함. 그리고 이를 HandlerAdapter, Dispatcher Servlet 순으로 반환함.Dispatcher Servlet은 ModelView를 ViewResolver에 전달함.ViewResolver가 동작하고 뷰를 반환함. 그리고 Dispatcher Servlet가 Model에 담겨져 있는 뷰의 render()를 호출하면 HTML이 생성되고 이를 클라이언트에게 응답함.10-2. 메시지 바디에 직접 응답하는 경우@ResponseBody를 사용하면 뷰 템플릿 대신 HTTP 메시지에 직접 응답 데이터를 출력함.ArgumentResolver는 HTTP 메시지 컨버터의 canWrite() 메소드를 호출하여 리턴 타입과 미디어 타입(Accept-Type)을 처리할 수 있는 HTTP 메시지 컨버터를 찾음.canWrite() 조건을 만족하면 ArgumentResolver는 해당 HTTP 메시지 컨버터의 write()를 호출하여 필요한 데이터를 HTTP 응답 Body 부분에 기록함.흐름이 다시 Dispatcher Servlet으로 돌아가고, ViewResolver를 거치지 않고 바로 클라이언트에게 응답함. 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
멀티 쓰레드와 싱글톤 스레드
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)아니오[질문 내용]안녕하세요. 좋은 강의 감사드립니다.강의를 보다보니 몇 가지 궁금한 부분이 생겼습니다. 동시성 이슈를 해결하기 위해 멀티 스레드를 활용하는 부분은 이해가 되었는데요, WAS 가 리소스를 효율적으로 사용하기 위해 서블릿을 싱글톤패턴을 통해 인스턴스 하나를 사용하는 경우 1. 여러 스레드가 하나의 서블릿 인스턴스에 동시에 접근하여 문제가 발생하지는 않나요? 2. 이런 부분들은 WAS 의 서블릿컨테이너가 알아서 관리를 해주는걸까요? 3. 맞다면 혹시 서블릿 컨테이는 어떤방식으로 관리하는지에 대해 알아볼 수 있는 자료같은게 있을까요?
-
해결됨스프링 핵심 원리 - 기본편
룸북 설치에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]compileOnly 부분에 에러가 뜹니다.Caused by: org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method compileOnly() for arguments [org.projectlombok:lombok] on root project 'core' of type org.gradle.api.Project.
-
미해결
axure 클라우드 업로드
평소와 같이 axure 클라우드 업로드를 했는데 업로드가 안되고 몇십분을 넘게 기다려도 Generating 생성중이라고 클라우드에 업로드가 안되는데 왜그럴까요?
-
미해결ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
인트라넷 통신이 안됩니다.
지금 인트라넷에서 어니언 ids로 10.0.200.200 ip할당했고, 네트워크 어댑터까지 dmz,intra 를 연결했습니다.그런데 시큐리티 어니언에서 8.8.8.8 로 ping 통신이 안됩니다. 그리고 방화벽에서도 잘 설정이 되어있습니다. 10.0.200.1 로는 통신이 잘 되구요. 10.0.200.200으로가 안됩니다 방화벽에서도...인트라넷에서 arp 를 쏴봤을 때 10.0.200.1 게이트웨이가 incomplete가 뜨는데 어떻게 해결해야할까요...?
-
해결됨처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 [데이터과학 Part3] - 지금까지 익힌 이론과 미니배치까지 적용된 딥러닝 코드 구현해보기 에서 질
9분 20초쯤에 indices = torch.randperm(x.size(0)) print(indices) x_batch_list = torch.index_select(x, 0, index=indices) y_batch_list = torch.index_select(y, 0, index=indices) indices를 랜덤한 순서로 넣었다고 하셨는데그리고x_batch_list = torch.index_select(x, 0, index=indices) 이걸사용하는 이유가뭔가요?어차피 지금 랜덤하게 바뀐순서라면x_batch_list = x[indices] 이걸통해서 바로 넣어도 되는게 아닌가요? torch.index_select 이건 인덱스로 원하는 데이터만 선택적으로 추출하기에 적합하다고 알고있습니다. 이번에 굳이 x_batch_list = x[indices] 이게아닌 x_batch_list = torch.index_select(x, 0, index=indices) 이걸 사용한 이유를 알고 싶습니다.제가 아는것이 전부가 아닌 또다른게 있는가해서요
-
미해결디지털 포렌식 (Digital Forensic) 전문가 과정
IE10Analyzer 실습 질문입니다
실습 파일을 다시 다운 받아보고 IE10Analyzer 2016년 7월 31일 업로드 된 버전으로 다시 다운 받고 설치해도 저렇게 나오네요 어떻게 해야하죠
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
p.130 질문입니다.
값에의한호출 , 참조에의한호출을 배웠습니다.여기서 벡터는 참조에의한 호출을해야 값이 수정되는반면에 배열은 참조에의한 호출을 안해도 배열이 수정되는것을 보았습니다. 원리가 이해되지 않아 궁금해서 질문드립니다.
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
컴퓨터의 곱셈 나눗셈질문
컴퓨터의 곱셈, 나눈셈 부분 질문입니다.곱셈에서 4비트로된 2진수를 왼쪽으로 한번밀면 2두 번 밀면 4라고 하셨는데 *3은 표현이 안되나요?그리고 그 이유는 비트가 0과1 두 가지 밖에 표현할 수 없기때문인가요? 그렇다면 *3이나 /3 같이 홀 수 부분은 어떻게 계산되나요?