묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
프론트컨트롤러 -V1 강의에서
@WebServlet(name = "frontControllerServletV1", urlPatterns = "/front-controller/ v1/*") public class FrontControllerServletV1 extends HttpServlet { private Map<String, ControllerV1> controllerMap = new HashMap<>(); public FrontControllerServletV1() { controllerMap.put("/front-controller/v1/members/new-form", new MemberFormControllerV1()); controllerMap.put("/front-controller/v1/members/save", new MemberSaveControllerV1()); controllerMap.put("/front-controller/v1/members", new MemberListControllerV1()); } @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("FrontControllerServletV1.service"); String requestURI = request.getRequestURI(); ControllerV1 controller = controllerMap.get(requestURI); if (controller == null) { response.setStatus(HttpServletResponse.SC_NOT_FOUND); return; } controller.process(request, response); } } 이 코드에서 웹에서 url을 입력해서 requestURL에 들어와 그 URL에 맞는 컨트롤러를 호출한다 이거는 이해를 했습니다.근데 프public FrontControllerServletV1() 생성자를 호출해야 하는거아닌가요..?갑자기 여기서 막혀서 이해가안가네요..
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 챗봇 사이트 만들기
Error: 16 UNAUTHENTICATED: Failed to retrieve auth metadata with error: invalid_grant: Invalid JWT Signature. 에러 발생
4강 - 챗봇 어플리케이션 만들기#3 구조 설명 & textQuery Route 만들기 강의를 듣고 있던 상황입니다.강의 내용을 따라 postman에서 주소 지정 후 send 버튼을 클릭하면,비주얼 스튜디오 코드 터미널 창에 아래와 같은 에러가 발생합니다.Error while processing text query: Error: 16 UNAUTHENTICATED: Failed to retrieve auth metadata with error: invalid_grant: Invalid JWT SignaturedDialogflow 와 google cloud에 작성된 데이터 모두 확인 시 문제가 없어 보이는데,어느 부분을 더 참고 해봐야 할까요? 참고로 console.log(req.body.text)입력 시, text의 값은 제대로 출력됩니다. router.post("/textQuery", async (req, res) => { console.log(req.body.text); const request = { session: sessionPath, queryInput: { text: { // The query to send to the Dialogflow agent text: req.body.text, // The language used by the client (en-US) languageCode: languageCode, }, }, }; try { const responses = await sessionClient.detectIntent(request); console.log("Detected intent"); const result = responses[0].queryResult; console.log(` Query: ${result.queryText}`); console.log(` Response: ${result.fulfillmentText}`); res.send(result); } catch (error) { console.error("Error while processing text query:", error); res.status(500).json({ error: "Internal server error" }); } });
-
해결됨독하게 시작하는 C 프로그래밍
문자열처리 함수소개강의에서 질문 있습니다.
강의 감사히 듣고 있습니다.질문 두 가지 있습니다.1.strcat_s 함수를 설명하실 때 strcat_s(szPath + 17 + 4, sizeof(szPath) - 25, "C programming");이라고 해주셨는데 22번째 인덱스부터 시작하여 널문자를 찾고 이어붙이는 구문이라면 전체 배열의 크기도 sizeof(szPath)-21로 조정을 해야 하는 것 아닌가요? 2.strcat_s(szPath + 17 + 8, sizeof(szPath) - 25, "C programming");에서 오류가 나는 것은 문자열 배열 넘어의 메모리를 시작값으로 설정했다는 것인데 확인할 수 있는 null 이 없기 때문인 건가요?감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
14분 50초 일대다 페치조인 질문
public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); System.out.println("zzzzzzzzzzzzzzzzzzzzzzzzzzzz"); //비영속 try{ Team teamA = new Team(); teamA.setName("teamA"); em.persist(teamA); Team teamB = new Team(); teamB.setName("teamB"); em.persist(teamB); Member member1 = new Member(); member1.setUsername("member1"); member1.setTeam(teamA); em.persist(member1); Member member2 = new Member(); member2.setUsername("member2"); member2.setTeam(teamA); em.persist(member2); Member member3 = new Member(); member3.setUsername("member3"); member3.setTeam(teamB); em.persist(member3); Member member4 = new Member(); member4.setUsername("member4"); member4.setTeam(null); em.persist(member4); em.flush(); em.clear(); String query ="select t From Team t join fetch t.members"; List<Team> result = em.createQuery(query, Team.class).getResultList(); for (Team team : result) { System.out.println("team= " + team.getName() + "|members=" + team.getMembers().size()); } tx.commit(); } catch (Exception e){ tx.rollback(); e.printStackTrace(); }finally { em.close(); } emf.close(); }이 코드를 실행시켰더니 14분 50초에 나오는 3줄이 나오는 것이 아닌team= teamA|members=2 team= teamB|members=1이렇게 나오는데 혹시 어떤 이유에서 그런것인지 궁금합니다.
-
미해결
수강기한:무제한? 유료 수강기간 1개월?
안녕하세요.강의 하나를 결제했는데수강기한:무제한이라고 나왔는데, 마우스에 손을 올려보면유료수강기간1개월, 이후 복습 및 질문답변 무제한 가능이라고 써있더라구요. 이거는 결제후 한달동안만 무제한으로 강의를 들을수잇단건지?아니면 평생 무제한으로 학습이 가능하다는건가요?
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
proxy 사용 질문
안녕하세요.사내에서 강의를 듣다보니 proxy를 타도록 되어 있습니다.basic-fetcher에서는 아래 두가지 방식이 모두 동작하는데요.os.environ["HTTP_PROXY"] = "http://xxx..." os.environ["HTTPS_PROXY"] = "http://xxx..." os.environ["PYTHONHTTPSVERIFY"] = "0"def fetcher(session, url): with session.get(url, proxies=proxies, verify=False) as respose: return respose.textcoroutine-fetcher 에서는 ClientSession()에서 두가지 모두 오류가 납니다.1번async def fetcher(session, url): async with session.get(url, proxies=proxies, verify=False) as respose: return await respose.text() async def main(): urls = ["https://naver.com", "https://google.com", "https://instagram.com"] async with aiohttp.ClientSession() as session: result = await fetcher(session, urls[0]) print(result)2번async def fetcher(session, url): async with session.get(url, verify=False) as respose: return await respose.text() async def main(): urls = ["https://naver.com", "https://google.com", "https://instagram.com"] async with aiohttp.ClientSession() as session: result = await fetcher(session, urls[0]) print(result) 해결방법과 함께 proxy 환경에서는 프록시 정보를 어떤 구조로 가지고 있어야 효율적일지 문의드립니다.
-
해결됨AWS(Amazon Web Service) 입문자를 위한 강의
S3 버킷 버전 관리
수업을 듣다가 궁금한게 있어서 질문 남깁니다. 버킷 버전 관리시 활성화를 누르면 같은 버켓에서 똑같은 파일을 업로드하더라도 파일이 덮어씌워지는 것이 아니라 다른 버전으로 관리된다고 하셨는데, 같은 파일인지는 어떤 기준으로 판단하는 건가요? 앞부분에서 s3에 대해 배울때 Object가 (key, value, versionId, Metadata, CORS)로 구성되어 있다고 하는데 각 요소가 다 일치하면 같은 파일로 보는 건가요? 만약에 단순히 파일명을 가지고 판단한다고 하면, 예를 들어 두 가지 이미지가 있다고 할 때같은 이미지, 다른 파일명 -> 다른 파일 다른 이미지, 같은 파일명 -> 같은 파일로 인식되는 건가요?
-
미해결김영한의 실전 자바 - 기본편
스택 영역과 힙 영역
스택 영역과 힙 영역에서 궁금한게 생겨 질문 남깁니다! 지금 Main 클래스에서 17번째줄에 있는 Data data2 를Data data2 = new Data(); 이렇게 작성하면 안되는건가요?
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
커넥션 생성
초기에 트랜잭션이 시작되면 커넥션은 누가 얻어오는건가요?Repository에서DataSourceUtils.getConnection(dataSource); 실행되고 doGetConnection 메서드에서ConnectionHolder conHolder = (ConnectionHolder) TransactionSynchronizationManager.getResource(dataSource); Connection con = fetchConnection(dataSource);이렇게 얻어오는거같은데 트랜잭션 동기화매니저가 커넥션을 얻어오고 이 커넥션을 트랜잭션 매니저가 사용하는건가요??
-
미해결김영한의 실전 자바 - 기본편
메서드 생성시 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]메서드 생성시 형(반환) 부분에 클래스(인스턴스) 이름을 바로 넣어 쓰는 것 과 참조값(변수 )쪽에 클래스(인스턴스 참조값) 넣는 차이가 뭔가요? class A {}-=---===========생성후======메서드(** <-객체이름)예1) void *** (A **,int* * ,etc) {} //인스턴스에 클래스 넣어 사용예2) A **(int * *, etc){} //메서드명에 클래스 직접넣어 사용 ===========================
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
useCallBack 강의 질문
이전 강의인 Reacr.memo 에서 리액트가 기존 prop 과 신규 prop 을 얕은비교(주소값 비교)로 진행하기 때문에, 새로운 객체로 업데이트(생성, 수정, 삭제)로 인해서 수정된 객체 값((새로운 주소값))이 state() 값으로 할당되어 다르게 인식하기 때문에 react.memo 에서 직접 사용자가 비교할 수 있게 따로 로직을 만들었습니다.그런데 이번 강의에서는 단순히 생성, 수정, 제거 함수를 useCallback 으로 제어했을때,react.memo에 직접 prop 값을 비교한 로직은 왜 지우는건가요?state 데이터를 핸들링하는 함수들은 변하지 않음으로 mount 할때만 useCallback을 쓰는건 알겠는데, 이게 왜 state 객체 주소값이랑 연관이 있는지 모르겠어요 ㅜㅜ
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA와 DB설정, 동작확인 강의에서 오류메세지 발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 오류를 못찾는건지 자료랑 비교했을 때 별 특이사항은 없는 것 같은데 자꾸 오류가 발생합니다.MEMBER_SEQ이 대체 뭔지 모르겠네요 ㅠㅠ 젤 하단 사진 테스트코드 실행 시 오류가 발생합니다. application.yml server: port: 8081 #MVCC=TRUE를 넣어주면 여러개를 한번에 접근했을 때 좀 더 빨리 처리가 된다. spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver #ddl-auto: create -> 자동으로 테이블을 만들어주는 모드 jpa: hibernate: ddl-auto: create properties: hibernate: # show_sql: true System.out.~을 통해서 출력 format_sql: true #logger를 통해 출력 #로그 레벨 #hibernate SQL로그를 디버그 모드로 쓴다는 것 #-> Hibernate가 남기는 모든 로그가 다 디버그 모드로 해서 JPA나 Hibernate가 생성하는 SQL이 다 보인다. logging: level: org.hibernate.SQL: debug Memberpackage jpabook.jpashop; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import lombok.Getter; import lombok.Setter; @Entity @Getter @Setter public class Member { @Id @GeneratedValue private long id; private String username; }MemberRepositorypackage jpabook.jpashop; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import org.springframework.stereotype.Repository; @Repository public class MemberRepository { @PersistenceContext private EntityManager em; public Long save(Member member){ em.persist(member); return member.getId(); } public Member find(Long id){ return em.find(Member.class,id); } }MemberRepositoryTestpackage jpabook.jpashop; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import static org.assertj.core.api.Assertions.*; import static org.junit.Assert.*; @RunWith(SpringRunner.class) //junit한테 SpringBoot로 테스트 한다고 알려주는 것 @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional public void testMember(){ //given Member member=new Member(); member.setUsername("memberA"); //when Long saveID= memberRepository.save(member); Member findMember=memberRepository.find(saveID); //then assertThat(findMember.getId()).isEqualTo(member.getId()); assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); } }
-
미해결홍정모의 게임 만들기 연습 문제 패키지
마우스 좌우 버튼을 동시에 눌렀을 때의 원의 위치
위 사진은 마우스 양쪽 버튼을 동시에 눌렀을 때 원의 위치입니다. 버튼을 하나씩 눌렀을 때는 커서 위치에 원이 잘 그려지는데, 동시에 누르는 순서와는 상관 없이 누르기만 하면 원이 위와 같이 그려집니다. 캡쳐되지 않았으나 커서는 노란 원 위에 있는 상태이고, mouse_pos 역시 커서 위치대로 출력됩니다. 그런데 빨간 원의 위치가 조금 이상해서 질문 드립니다. 제가 보기에는 빨간 원이(마우스 커서~원점)의 거리의 두 배만큼 원점으로부터 떨어져 있는 것으로 보이는데요, if문의 분기 조건은 다르지만 안의 코드가 translate(mouse_pos)로 동일한데도 이런 차이가 나는 이유가 뭔가요?
-
미해결스프링 핵심 원리 - 기본편
런 실행 sysout이 안돼요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기서 java나 스프링 부트가 떠야하는데 안떠요ㅜ 프로젝트를 잘못 만든건가요? 전체파일 스프링부트 실행했을때 스프링 실행은 되는데,process finished with exit code 0 은 안뜹니다.뭐가 문제죠?
-
미해결매출을 끌어올리는 네이버 블로그 및 스마트스토어의 모든 것
첫강의에서 복습해주시는 강의시청은 어떻게 하는건가요?
안녕하세요 처음 강의 수강시 전 수업이라는 말씀과 복습하라고 하시는데그 강의는 어떻게 볼 수 있을까요?
-
미해결카프카 완벽 가이드 - 코어편
consumer 병렬처리를 알고 싶습니다.
안녕하세요.해당 수업을 잘듣고 있습니다.혹시 consumer에 대한 병렬처리방법에 대한 강의가 있을까요?참고할만한 강의가 있을까요?감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
안녕하세요 제가
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요다렉12 수강중인데ID3D12DescriptorHeap ==> ID3D12Resource 들을 담아 관리하기 위한 자료구조ID3D12Resource ==> 실제 GPU 메모리 상에 존재 , 여러가지 뷰들이 존재 , 디스크럽트힙 메모리에 담겨서 관리됨D3D12_CPU_DESCRIPTOR_HANDLE ==> GPU 상에 존재하는 ID3D12Resource 들을 CPU 코드영역 에서 관리하기 위해 핸들값을 가져오는것ID3D12Resource == 뷰 혹시 틀린부분이 존재할까요 ?감사합니다.
-
해결됨캐글 Advanced 머신러닝 실전 박치기
안녕하세요 선생님
안녕하세요 선생님 우선 좋은강의 감사드립니다.두가지 질문이 있는데요.... 우선 아나콘다 주피터 노트북에 대해서 질문입니다.prev_baseline_01 관련 파이썬을 실행중이고 '섹션3 previous_application 데이터 가공/모델 학습/평가'에서 주피터노트북으로 코딩을 실행하는데 자꾸 커널이 죽어버립니다. 데이터 전처리들을 다 실행하고. LGBMClassifier를 실행하는데.. ''the kernel appears to have died. it will restart automatically'' 이런 문구가 떠서 구글링도 하고 그랬지만, 어떤분은 max_buffer_size를 크게 올려라고도 했는데 잘 되지가 않네요..의문이 있습니다만, 주피터노트북이 컴퓨터 사양으로 돌아가는것이 아닌가요? 저의 컴퓨터가 굉장히 하이엔드 컴퓨터라 램도 64기가가 넘는데, 고작 몇매가로 뻗어버리는게 뭔가 마음?이 아프고 고작 이정도로 이러면 앞으로 주피터노트북에서 텐서랑 케라스를 돌리면 어떻게 되는걸까 되게 의문이 많습니다. 제가 어디를 놓치고 있는것인지,. 괜찮은 방법이 있다면 알려주시면 감사드리겠습니다.(아 처음에 VM서버랑 주피터노트북이랑 연동하지못했습니다. 맥 환경이라. 하지를 못해서 ㅠㅠㅠ) 그리고 두번째로, 으음 제가 대학원이랑 취업을 준비하고있습니다. 수학하고 통계를 전공해서 학사졸업을 했구요, 인공지능이나 데이터사이언스로 대학원을 가기를 희망해서 현재 선생님의, 데이터비젼강의들과, 머신러닝 강의를 수강하고있고, 일주일내로 SQL강의또한 수강을 할 생각입니다.그런데 컴퓨터전공에 대한 지식이 부족해(알고리즘,자료구조,컴퓨터구조,데이터베이스 등등...) 조금 고민이 많은데요.이게 이것마져도 다 할려고 덤비니까 굉장히.. 힘들더라구요(개발자도 아닌데..) 혹시 일단은 여기정도까지만 공부하면 괜찮다..! 싶은 선이 있을까 싶습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-C 질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 항상 강의 잘보고 있습니다!http://boj.kr/abba975d09e94f2ca5ed26ec25a96886문제를 이런식으로 풀었는데 rets = min(rets,min)으로 했을 경우에는 틀리고 , rets = min으로 했을 경우에는 정답 처리가 됩니다. 혹시 min으로 하면 반례가 발생하는 경우가 있을까요?
-
미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
docker 설치 이후에 터미널 여는 부분에서 막혔습니다
1:40 쯤 터미널 열어서 하시는데터미널 탭이 안보입니다.어떻게 해야하나요?윈도우 운영체제 입니다