묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
queue 를 사용하는 이유?
선생님 안녕하세요 좋은 강의 감사드립니다. multiprocessing(5) - Queue, Pipe 강의 에서 질문이 있습니다. 파이썬 파일 2-6-1 을 보면 queue 를 사용해서 변수를 집어넣고 출력하는데요. 이것과 queue를 사용하지 않은 2-5-1 파일의 본질적인 차이점을 모르겠습니다.똑같이 메인 프로세스 안에서 서브 프로세스를 실행하고, join을 사용하고, 각 서브프로세스가 끝나면 값을 출력하는 구조인 것 같거든요.queue를 사용하는 이유가 뭔가요?
-
미해결[최신] Vue 강의 끝판왕 : Nuxt 3 완벽 마스터
fetch와 axios에 대한 질문
마지막 Nuxt Configuration 강의가 남아 있지만 궁금해서 질문을 던집니다. 주로 fetch를 이용해서 API 통신을 하는데 axios는 이제 앞으로 사용하지 않는 추세인가요?아니면 fetch 대신에 axios를 사용하는 것도 좋은 방법인가요?아직은 잘 몰라서 질문이 틀릴 수도 있는 점 이해주시면 감사드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
type=Internal Server Error, status=500
error 500이면 코드가 잘못된 거 같은데 어디가 잘못 됐는지 봐주실 수 있을까요🥺HelloControllerpackage com.example.hello_spring.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class HelloController { @GetMapping("hello") public String hello(Model model){ model.addAttribute("data", "hello!"); return "hello"; } @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model) { model.addAttribute("name", name); return "hello-template"; } @GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam("name") String name){ return "hello" + name; } jdbcMemberRepositorypackage com.example.hello_spring.repository; import com.example.hello_spring.domain.Member; import org.springframework.jdbc.datasource.DataSourceUtils; import javax.sql.DataSource; import java.sql.*; import java.util.ArrayList; import java.util.List; import java.util.Optional; public class jdbcMemberRepository implements MemberRepository { private final DataSource dataSource; public jdbcMemberRepository(DataSource dataSource) { this.dataSource = dataSource; } @Override public Member save(Member member) { String sql = "insert into member(name) values(?)"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, member.getName()); pstmt.executeUpdate(); rs = pstmt.getGeneratedKeys(); if (rs.next()) { member.setId(rs.getLong(1)); } else { throw new SQLException("id 조회 실패"); } return member; } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public Optional<Member> findById(Long id) { String sql = "select * from member where id = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setLong(1, id); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } else { return Optional.empty(); } } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public List<Member> findAll() { String sql = "select * from member"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); List<Member> members = new ArrayList<>(); while(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); members.add(member); } return members; } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public Optional<Member> findByName(String name) { String sql = "select * from member where name = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setString(1, name); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } return Optional.empty(); } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } private Connection getConnection() { return DataSourceUtils.getConnection(dataSource); } private void close(Connection conn, PreparedStatement pstmt, ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (pstmt != null) { pstmt.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (conn != null) { close(conn); } } catch (SQLException e) { e.printStackTrace(); } } private void close(Connection conn) throws SQLException { DataSourceUtils.releaseConnection(conn, dataSource); } }콘솔창 오류메시지 2024-07-20T10:30:05.545+09:00 ERROR 17396 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalStateException: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection] with root cause
-
미해결스프링 핵심 원리 - 기본편
DiscountPolicy null 문제
java.lang.NullPointerException: Cannot invoke "hello.core.discount.DiscountPolicy.discount(hello.core.member.Member, int)" because "discountPolicy" is null문제가 발생합니다.DIscountPolicy 를 구현한 클래스에 @Component 와 우선순위 등.. 다 했다고 생각하는데 어디서 오류가 나는지 찾을 수 없어 도움을 요청합니다.https://drive.google.com/file/d/18SR0aSD0XoEpUCw3Te4wP0r_23TViNC0/view?usp=sharing
-
미해결포트폴리오 초간단 배포하기
백엔드서버 배포시 포트번호는 어떻게 해야할까요?
백엔드 서버에는 nginx를 설치하지 않았는데, 도메인 등록시 :8080 포트는 어떻게 처리해야 하는지 궁금합니다. 도메인 등록후에 'www.도메인:8080' 으로 접속해야 접속이 되어서 질문드립니다. nginx 설치하고, 거기서 jar 파일을 업로드 하면 해결 될까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
기본생성자
자식클래스 메서드 실행 시 부모 호출 후 메서드 실행된다고 하셨습니다.10:32에 super가 없기 때문에 기본인 Car()이 실행되는데,무조건 위치 상 맨 위에 있는 것이 기본인 것인가요?예를들어 맨위에 Car(String model) 밑에 Car(String model, int year)가 있으면Car(Stirng model)이 호출되는 것인가요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
같지만 다른것들
java에서string " " 에 들어가는 문자열이 같을 경우에같은 메모리에 들어가기 때문에str1 = "a", str2 = "a" 의 a 값이 같은 거라고 하셨습니다.그리고 int의 경우 -128~127까지의 경우도 동일하고요.그런데 같지만 다른 것들 8:37에서 문제풀이 하실 때person1 == person.2 : false인 이유를 모르겠습니다.따옴표안의 stirng인 "John"이고, 25의 int형 변수인데요.true가 나와야 하지 않나요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
Checkbox를 누르는데 왜 Editor가 리렌더링되나요?
10.4의 useCallback 강의를 듣는 중에 궁금한 점이 생겼습니다.하나의 checkbox를 누르면 그에 해당하는 item과 그의 부모 컴포넌트인 List , App 컴포넌트가 리렌더링 되는 것은 이해가 되었습니다.그런데, Editor 컴포넌트는 왜 리렌더링이 되는것인가요?Editor가 props로 받은 onCreate는 App에서 useCallBack으로 선언하였으므로, onCreate의 이전 주소값과 이후 주소값은 동일한 것이라 생각됩니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
프록시 잘 설정했는데도 404 오류 뜨는 분들
혹시 다른분들께서 올려주신대로 수정하고 링크도 잘 설정했고 오타도 없는데 콘솔에 계속 "AxiosError: Request failed with status code 404" 에러 나는 분들 계시나요?404 에러는 보통 페이지가 없기 때문에 나오는 에러로 알고 있는데요 링크 매핑을 잘 했고 보낼때 get 으로도 잘 보냈는데 계속 같은 오류가 나서 끙끙 앓던 중에네트워크에 cannot get /hello 로 보이더라구요..그래서 혹시나 index.js에서 /api/hello 를 /hello 로 수정해서 실행해보니 오류 없이 response 해주더라구요...결국 링크 문제였습니다...!혹시나 저같은 분들이 계실까 싶어 해결된 부분 이렇게 남겨봅니다..
-
미해결토비의 스프링 6 - 이해와 원리
스프링 순서 질문드려요,,
안녕하세요 토비님!! 라이브 영상이 너무 좋아서 바로 스프링 6 구매했는데요! 제가 궁금한 게 저는 자바만 열심히 판 상태이고 스프링이 처음이며 내년 상반기에는 토이프로젝트를 시도해야하는 상황입니다. 혹시 스프링 6 듣고 스프링 부트 원리를 들어야 할까요? 아니면 바로 스프링부트로 직접 프로젝트 만들어보면 될까요? 제일 좋은 건 둘 다..이겠지만 혹시라도 필수인지 궁금해서 여쭤봅니다. 그리고 번외로 강의가 진짜 몰입력 있어요!! 감사하게 보겠습니다!! ㅎㅎ
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
선언하는 게 헷갈립니다(섹션15_선택된 날짜 상태관리하기)
선생님의 강의 진도를 나가면서 기본기를 계속 복습하고 있지만 제가 머리가 좋지 않아서 질문이 있습니다TopState 클래스 안에서 selctedDate는 왜 _TopState 함수 아래에 바로 선언하는데 now,textTheme 같은 경우엔 왜 빌드 함수 아래에 선언하는지 모르겠습니다
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
UPROPERTY() 사용 시 Category 지시자가 적용되지 않는 문제
안녕하세요 교수님, 교수님의 강의에서 많은 도움을 얻고 있습니다.양질의 강의에 언제나 감사드립니다. 간단한 토이 프로젝트를 만들던 중 제목과 같은 문제를 마주했습니다.AnimInstance 클래스 안에서 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Character)TObjectPtr<class UCharacterMovementComponent> Movement; 위와 같이 프로퍼티를 만든 후에 AnimInstance를 상속받은 블루프린트 클래스를 만들었습니다.하지만, 블루프린트 클래스의 디테일 패널에서 Character 카테고리를 찾아볼 수 없는 문제가 발생했습니다. 언리얼 에디터를 종료하고 빌드를 해봐도 고쳐지지 않고라이브 코딩을 시도해도 달라지지 않았습니다.어떻게 해결해야 하는지 알고 싶습니다.또 현재 프로젝트에 스켈레탈 메쉬를 적용하려 하는데, 구버전인 언리얼 4 버전과 언리얼 5 버전의 스켈레탈 메쉬가 있습니다.호환성이나 성능, 안정성 측면에서 무엇을 사용하는 것이 더 나은 방법인지 궁금합니다.
-
미해결스프링 부트 - 핵심 원리와 활용
강의를 따라했는데 매핑 정보가 등록되지 않은 것 같습니다.
public interface AppInit { void onStartup(ServletContext servletContext); } /** * 서블릿 컨테이너 모방 * 프로그래밍 방식을 서블릿 컨테이너에 등록 */ public class AppInitV1Servlet implements AppInit { @Override public void onStartup(ServletContext servletContext) { System.out.println("AppInitV1Servlet.onStartup"); // 순수 서블릿 코드 등록 ServletRegistration.Dynamic helloServlet = servletContext.addServlet("helloServlet", new HelloServlet()); helloServlet.addMapping("/hello-servlet"); } }/** * 서블릿 그 자체 * 애플리케이션 초기화 */ public class HelloServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("HelloServlet.service"); resp.getWriter().println("hello servlet!"); } }hello.container.MyContainerInitV1 hello.container.MyContainerInitV2 이런식으로 강의를 따라 서블릿에 매핑 정보를 등록했는데, http://localhost:8080/hello-servlet을 하게 되면 404 에러가 발생합니다. 어디서 문제가 생긴걸까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
cursor 기반 페이지네이션 page 기반 페이지네이션
cursor 기반 페이지네이션과page 기반 페이지네이션에서어떤 상황에서 cursor 를 사용하고 어떤 상황에서는 page 기반 사용해도 될까요 ??insert , delete 에 대한 요청이 잦은 서비스 라면 cursor 를 사용하고주로 get 에 대한 요청밖에 거의 없을것 같은 서비스라면 page 기반 페이지네이션을 사용하면 될까요 ?
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
버전관리
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.이 업데이트를 어떻게 기록관리할 수 잇을까요?단순히 명령으로 진행하다보면 실수 내기도 쉽고 어느 게 어느 버전인지도 확인하기 어려울것 같아요
-
미해결김영한의 실전 자바 - 기본편
질문있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.객체지향에서 이렇게 2개 클래스로 나눠서 풀었는데,출력할때 처음 0,0, false 가 왜 출력이 되는지, 저는 for문을 돌린적이 없는데 왜 2번 출력되는지 잘 모르겠습니다..각자의 함수에서 계산하기 전이라 0,0,false를 출력하고 그 후에 함수 내부를 실행하고 리턴값을 다시 출력해주는건가요? 제가 리턴값 후에 sout를 다시 한적이 없어서..
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
Normal Mapping / Assertion failed! 오류
Normal Mapping 강의에서 veiga.jpg를 제가 다운받아온 Stone.jpg로 바꾸고 디버깅해보니 이렇게 뜨네요크래시 난곳은 여기입니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
내림차순 next 토큰 로직 작성하기 질문
안녕하세요 ㅎ강의 잘듣고 있습니다.내림차순 정렬 부분을 듣고있다가createQueryBuild 을 사용해서 하는것은 어떻게 생각하시나요 ??
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
ConstructorHelpers::FObjectFinder 사용하실때 static오 변수 선언해서 넣는 이유가 있나요?
ConstructorHelpers::FObjectFinder 사용하실때 static오 변수 선언해서 넣는 이유가 있나요?static 안쓰고 하면 어떤 문제가 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
aop 실행에 대한 이해가 안됩니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.MemberService에서 try/finally및 변수만 설정 해줬을 뿐인데왜 실행은 test->MemberServiceIntegration이 아니라HelloSpringApplication으로 실행을 해야 결과가 나타나게 되나요? 굳이 차이를 못느끼겠는데 왜 그런지 이해가 안가네요