묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨FreeRTOS 프로그래밍
정적/동적 Task 생성의 메모리 할당 영역
안녕하세요. 수업을 듣던 중 정적/동적 Task 생성 시 할당되는 메모리 영역과 관련해 질문 사항이 생겨 글 남깁니다.태스크와 메모리 파트 강의를 듣고 Task Stack 메모리는 동적/정적 할당이 가능하고, RTOS의 동적 할당은 RTOS 커널에서 지원하는 동적 메모리 할당자 함수를 쓰기 때문에 heap영역이 아닌 bss 영역에서 할당된다. 라고 이해하였습니다.즉, xTaskCreate() 함수를 사용하면 동적 할당이지만 데이터가 bss 영역에 할당되는 특성이 있다고 생각했었는데, '태스크 스택의 크기를 결정하기' 부분의 강의 끝부분에서 xTaskCreate() 는 heap 영역에 xTaskCreateStatic() 은 bss 영역에서 Task Stack을 쓴다고 말씀하여 기존에 제가 이해했던 부분과 일치하지 않았습니다.이와 관련해 인터넷에 검색해 보니, freertos.org 사이트에서는 xTaskCreate()를 사용하여 작업을 생성하면 필요한 RAM이 FreeRTOS 힙에 자동으로 할당된다. 라고 적혀있더군요.xTaskCreate() 함수는 bss 영역에 자동 할당되기도 하고, heap 영역에 자동 할당되기도 한다는 의미인가요?
-
미해결퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
SUB-LAYOUT 버튼 누를때 오류창 질문이요
선생님 SUB-LAYOUT 버튼 누를때 아래의 창이 떠요~경로코드를 잘못했나 몇번씩 보았는데 잘못된 부분은 없구요~ 오류 코드를 검색창에 검색 해보았는데 잘모르겠어요~
-
해결됨풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기
graphql-tag, graphql-request 패키지를 사용하는 이유가 궁금합니다.
안녕하세요. 2일차 강의에서 GraphQL을 처음 접하게 되어 공식문서와 다른 작성 예제들을 보고 있는데, GraphQL을 다양한 방법으로 적용하고 있는 것을 보았습니다. 너무 많은 예제와 처음 접하는 용어들로 파악이 어려워 강사님께 문의드립니다.강의에서는 graphql-tag, graphql-request 패키지를 설치하여 GraphQL을 사용하셨는데, 그 이유가 궁금합니다! 1. 두 패키지는 어떤 특징이 있는지 (어떤 장단점이 있는지)2. 신입 프론트엔드 개발자가 Mocking을 위해 어떤 개념까지 익히면 좋을지 두 가지 정보를 알려주실 수 있을까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
코레일 크롤링 질문
코레일도 토요코인이랑 비슷하게 post 이용해서 크롤링하려 해봤는데 잘 안되더라고요,,결국에는 그냥 selenium으로 들어가서 beautifulsoup로 좌석있는지 체크하고 10초마다 다시 조회한 다음 좌석있는지 다시 체크하는 식으로 해서 어느 정도 성공시키긴 했는데, 코레일은 requests랑 beautifulsoup만으로는 어려울까요? import requests from bs4 import BeautifulSoup import time token = "" channel = "#test" text = "Check your stock crawler." def post_message(token, channel, text): requests.post("https://slack.com/api/chat.postMessage", headers={"Authorization": "Bearer "+token}, data={"channel": channel,"text": text} ) myToken = "API토큰" url = "https://www.letskorail.com/ebizprd/EbizPrdTicketpr21100W_pr21110.do" #date_list = ['2022/06/25', '2022/07/02'] datas_obj = { "selGoTrain": 5, "txtPsgFlg_1": 1, "txtPsgFlg_2": 0, "txtPsgFlg_8": 0, "txtPsgFlg_3": 0, "txtPsgFlg_4": 0, "txtPsgFlg_5": 0, "txtSeatAttCd_3": 000, "txtSeatAttCd_2": 000, "txtSeatAttCd_4": 15, "selGoTrainRa": 5, "radJobId": 1, "adjcCheckYn": "Y", "txtGoStart": "용산", "txtGoEnd": "전주", "txtGoStartCode": 104, "txtGoEndCode":45, "selGoYear": 2023, "selGoMonth":3, "selGoDay": 23, "selGoHour": 8, "txtGoHour": 85500, "txtGoYoil": "목", "selGoSeat1": 15, "txtPsgCnt1": 1, "txtPsgCnt2": 0, "txtGoPage": 1, "txtGoAbrdDt": 20230323, "checkStnNm": "Y", "txtMenuId": 11, "SeandYo": "N", "ra": 1, "hidRsvTpCd": 3, "txtPsgTpCd1": 1, "txtPsgTpCd2": 3, "txtPsgTpCd3": 1, "txtPsgTpCd5": 1, "txtPsgTpCd7": 1, "txtPsgTpCd8": 3, "txtDiscKndCd1": 000, "txtDiscKndCd2": 000, "txtDiscKndCd3": 111, "txtDiscKndCd5": 131, "txtDiscKndCd7": 112, "txtDiscKndCd8": 321, "txtCompaCnt1": 0, "txtCompaCnt2": 0, "txtCompaCnt3": 0, "txtCompaCnt4": 0, "txtCompaCnt5": 0, "txtCompaCnt6": 0, "txtCompaCnt7": 0, "txtCompaCnt8": 0 } while True: time.sleep(2) response = requests.post(url, data=datas_obj) html = response.text soup = BeautifulSoup(html, 'html.parser') #a가 있으면 좌석 있음:#tableResult > tbody > tr:nth-child(1) > td:nth-child(6) > a:nth-child(1) > img #a없이 바로 이미지면 좌석 없음:#tableResult > tbody > tr:nth-child(1) > td:nth-child(6) > img # '#tableResult > tbody > tr:nth-child(1) > td:nth-child(6) > a:nth-child(1) > img' 선택자를 이용하여 좌석 이미지를 찾습니다. seat_with_a = soup.select_one('#tableResult > tbody > tr:nth-child(1) > td:nth-child(6) > a:nth-child(1) > img') seat_with_a2 = soup.select_one('#tableResult > tbody > tr:nth-child(3) > td:nth-child(6) > a:nth-child(1) > img') #tableResult > tbody > tr:nth-child(3) > td:nth-child(6) > img #tableResult > tbody > tr:nth-child(3) > td:nth-child(6) > a:nth-child(1) > img # '#tableResult > tbody > tr:nth-child(1) > td:nth-child(6) > img' 선택자를 이용하여 좌석 이미지를 찾습니다. seat_without_a = soup.select_one('#tableResult > tbody > tr:nth-child(1) > td:nth-child(6) > img') seat_without_a2 = soup.select_one("#tableResult > tbody > tr:nth-child(3) > td:nth-child(6) > img") # 좌석 이미지가 있으면 "좌석 있음"을, 없으면 "좌석 없음"을 출력합니다. if seat_with_a or seat_with_a2: print("좌석 있음") post_message(token, channel, "좌석 생김") elif seat_without_a and seat_without_a2: print("좌석 없음")이렇게 했는데 데이터 자체가 잘못됐는지 중간에 print(html)로 보니까 제대로 해당 페이지를 가져온 것 같지도 않더라고요..
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
type of triangle 문제
type of triangle 문제에서 정삼각형이 아닌 삼각형이 안되는 조건 먼저 작성했을 때 왜 작동이 안되는 지 궁금합니다ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
clearStore에 빨간 줄 생성
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]clearStore에 왜 빨간 줄이 생기는건가요?package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemoryMemberRepository; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; import static org.junit.jupiter.api.Assertions.assertThrows; class MemberServiceTest { MemberService memberService = new MemberService(); MemoryMemberRepository memberRepository = new MemoryMemberRepository(); @AfterEach public void afterEach(){ memberRepository.clearStore(); } @Test void 회원가입() { //given Member member = new Member(); member.setName("hello"); //when Long saveId = memberService.join(member); //then Member findMember = memberService.findOne(saveId).get(); assertThat(member.getName()).isEqualTo(findMember.getName()); } @Test public void 중복_회원_예외() { // given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); // when memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2)); assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다"); /*memberService.join(member1); try{ memberService.join(member2); fail("실패"); } catch (IllegalStateException e){ assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다.123123"); }*/ // then } @Test void findOne() { } @Test void testJoin() { } @Test void testFindMembers() { } @Test void testFindOne() { } }
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
JWT 토큰 유효성 검사
안녕하세요! 좋은 강의 제공해주셔서 감사합니다. 다름이 아니라, 수업에서 JWT 토큰 유효성 로직을 api gateway service에 구현했는데, user-service가 아닌 gateway service에 구현한 이유가 있을까요? api gateway에 토큰 유효성 로직을 구현하게 되면, 만료된 토큰으로 api gateway를 거치지 않고 바로 user-service에 요청하는 경우, 토큰 유효성 검사를 하지 않아서 문제가 발생할 수 있지 않나요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
스태킹 모델의 메타모델 매개변수에 따른 예측값 변화
안녕하십니까.얼마전에 스태킹 알고리즘 문제로 좋은 답변을 받고 해결하였습니다. 추가적인 질문이 있어 글 남깁니다. 스태킹 모델의 메타모델로 Ridge회귀를 사용하였는데 Alpha 값의 변화에 따라 예측 값의 변화가 전혀 없어서 왜 변화가 없는지 이해가 안되어 글 남깁니다. Alpha 값을 0.001, 0.01, 0.1, 1등으로 설정하여 예측을 수행했는데 예측 값의 변화가 전혀 없었습니다.
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
스레드 강의에서 코드를 동일하게 작성했는데 결과가 다릅니다.
강의에서는 청소가 번갈아가면서 나오는데 여러번 실행해도 한 번도 번갈아가면서 나오지 않습니다..ㅠ-- 사장 청소 시작 ---- 직원 청소 시작 (Thread) --(사장)1 번방 청소 중(사장)3 번방 청소 중(사장)5 번방 청소 중(사장)7 번방 청소 중(사장)9 번방 청소 중-- 사장 청소 끝 --(직원)2 번방 청소 중 (Thread)(직원)4 번방 청소 중 (Thread)(직원)6 번방 청소 중 (Thread)(직원)8 번방 청소 중 (Thread)(직원)10 번방 청소 중 (Thread)-- 직원 청소 끝 (Thread) -- -- 사장 청소 시작 ---- 직원 청소 시작 (Thread) --(직원)2 번방 청소 중 (Thread)(직원)4 번방 청소 중 (Thread)(직원)6 번방 청소 중 (Thread)(직원)8 번방 청소 중 (Thread)(직원)10 번방 청소 중 (Thread)-- 직원 청소 끝 (Thread) --(사장)1 번방 청소 중(사장)3 번방 청소 중(사장)5 번방 청소 중(사장)7 번방 청소 중(사장)9 번방 청소 중-- 사장 청소 끝 -- 이 두가지만 나오는데다른 이유가 있을까요..?
-
해결됨모두의 깃 & 깃허브
pull request 에 대해서 질문드립니다.
강사님, 강의 들으면서 열심히 따라하고 있는데요,다른 사용자가 요청한 풀리퀘스트를 소유자가 처리하려고 하니까아래처럼 이 브랜치에서는 충돌을 해결해야한다는 메세지가 뜨고 버튼을 누를수가 없는데...이럴땐 어떻게 해야 하는건지요?10개의 요청이 들어온게 확인이 되고 들어가서 파일도 확인이 되는데 머지하려고 하니까 버튼이 뜨지 않고 아래처럼 에러메세지가 뜨는 경우는 무슨 문제가 있는건지요?
-
해결됨구글 애널리틱스 GA4 완전 정복 실무 마스터 클래스
페이지 제목 및 화면 이름별 조회수 오류
강의 내용 그대로 했는데화면 이름별로 조회수가 나오는게 아니라티스토리 계정으로 한꺼번에 합쳐서 나오는 것 같아요어떻게 해야 하나요
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
다대다 데이터 조회 질문입니다.
강사님 강의를 보고 최근에 프로젝트를 하다 궁금한게 생겨 질문 남기게 되었습니다. Product <-> Category Entity 다대다 매핑을 위해product(OneToMany) <-> product_category(ManyToOne) <-> category(OneToMany)위와 같은 테이블로 매핑한 상태이고 join 상속 전략으로 district_category 테이블도 생성 하였습니다.district_category를 쿼리 파라미터로 받고 해당 district_category를 갖고 있는 상품들을 검색하고 페이징을 하는 로직을 짠다고 했을때 두가지 방법이 생각났는데 둘 중 어느게 더 적합한지 모르겠습니다 검색어를 바탕으로 product_category에서 Product를 EntityGraph로 같이 찾은 후에 찾은 ProductCategory.getproduct() 와 같은 방식SearchServiceCategory category = districtCategoryRepository.findByDistrictEnum(districtEnum) .orElseThrow(() -> new ProductException(ProductExceptionType.CATEGORY_NOT_FOUND)); return new ProductCategoryToProductPage(productCategoryRepository.findAllByCategory(pageable, category));ProductCategoryRepository@EntityGraph(attributePaths = "product") Page<ProductCategory> findAllByCategory(Pageable pageable, Category category);ProductCategoryToProduct public ProductCategoryToProductPage(Page<ProductCategory> page) { this.content.addAll(page.getContent().stream() .map(ProductCategory::getProduct) .map(ProductListGetResponseDTO::new) .collect(toList())); this.totalPages = page.getTotalPages(); this.totalElements = page.getTotalElements(); this.pageNumber = page.getNumber() + 1; this.size = page.getSize(); } 발생 쿼리문selectdistrictca0_.category_id as category2_1_,districtca0_1_.parent_id as parent_i3_1_,districtca0_.district_enum as district1_2_fromdistrict_category districtca0_inner joincategory districtca0_1_on districtca0_.category_id=districtca0_1_.category_idwheredistrictca0_.district_enum=?selectproductcat0_.product_category_id as product_1_8_0_,product1_.product_id as product_1_7_1_,productcat0_.category_id as category2_8_0_,productcat0_.product_id as product_3_8_0_,product1_.created_date as created_2_7_1_,product1_.content_detail as content_3_7_1_,product1_.product_content as product_4_7_1_,product1_.product_name as product_5_7_1_,product1_.product_price as product_6_7_1_,product1_.product_status as product_7_7_1_,product1_.product_thumbnail as product_8_7_1_fromproduct_category productcat0_left outer joinproduct product1_on productcat0_.product_id=product1_.product_idwhereproductcat0_.category_id=? limit ?selectcount(productcat0_.product_category_id) as col_0_0_fromproduct_category productcat0_whereproductcat0_.category_id=? 검색어를 바탕으로 product에서 직접 찾기 (데이터 뻥튀기의 문제는 쿼리dsl 이용 productId로 groupBy로 해결) 글 쓰고 생각해보니 A카테고리는 B라는 상품 안에서는 하나밖에 있을 수가 없으니 굳이 groupBy를 안써도 될거 같네요SearchService Category category = districtCategoryRepository.findByDistrictEnum(districtEnum) .orElseThrow(() -> new ProductException(ProductExceptionType.CATEGORY_NOT_FOUND)); return productRepository.findAllByCategory(pageable, category);ProductRepository @Override public Page<Product> findAllByCategory(Pageable pageable, Category category) { List<Product> content = queryFactory.selectFrom(product) .join(product.productCategories, productCategory) .where(productCategory.category.categoryId.eq(category.getCategoryId())) .groupBy(product.productId) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) .fetch(); Long total = queryFactory .select(Wildcard.count) .from(product) .join(product.productCategories, productCategory) .where(productCategory.category.categoryId.eq(category.getCategoryId())) .fetchOne(); return new PageImpl<>(content, pageable, total); } 발생 쿼리문selectdistrictca0_.category_id as category2_1_,districtca0_1_.parent_id as parent_i3_1_,districtca0_.district_enum as district1_2_fromdistrict_category districtca0_inner joincategory districtca0_1_on districtca0_.category_id=districtca0_1_.category_idwheredistrictca0_.district_enum=?selectproduct0_.product_id as product_1_7_,product0_.created_date as created_2_7_,product0_.content_detail as content_3_7_,product0_.product_content as product_4_7_,product0_.product_name as product_5_7_,product0_.product_price as product_6_7_,product0_.product_status as product_7_7_,product0_.product_thumbnail as product_8_7_fromproduct product0_inner joinproduct_category productcat1_on product0_.product_id=productcat1_.product_idwhereproductcat1_.category_id=?group byproduct0_.product_id limit ?selectcount(*) as col_0_0_fromproduct product0_inner joinproduct_category productcat1_on product0_.product_id=productcat1_.product_idwhereproductcat1_.category_id=?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
gist 404 에러로 접근 불가.. 일전에 계정은 요청한상태입니다.
안녕하세요. 일전에 gist 등록요청하여 확인 메일까지 받았으나, 해당 레파지토리 접근이 안되고 있습니다.404 에러가 발생합니다..제가 깃허브를 잘몰라서 그런걸수도 있으나,혹시 몰라 확인요청드립니다.한번 더 등록 확인 부탁드립니다.인프런 아이디 : tintinsky6@gmail.com( advanced 요청페이지 계정 검색하시면 찾아보실수 있습니다. )
-
미해결자바 코딩테스트 - it 대기업 유제
이번 문제의 반례 질문 드립니다.
안녕하세요, 이직 준비생 입니다.강의에서 나온 예시는 2, 3, 7, 1, 2, 1, 5 였는데만약에 문제의 예시가 2, 3, 7, 1, 999, 1, 5 라면 말씀하신 눈앞에 놓인 탐욕법으로는 999까지 가지 않고 기존처럼 2, 3, 7, 5를 고를텐데제가 생각한게 맞을가요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
실무에서는 스크립트를 다듬는다고 하셨는데 지금 예제에서는 어떤 점을 다듬어야 할까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 영한님, 강의 잘 듣고 있습니다!강의에서 JPA가 생성해준 테이블을 그대로 쓰면 안되고, JPA가 쓴 DDL을 다듬어서 쓴다고 하셨는데생각해보니 저는 토이프로젝트에서 항상 JPA가 만들어주는 그대로 썼던 것 같습니다.그렇다면 지금 예제에서는 어떤 점을 보완하는게 필요할까요?감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 @Transactional 관련해서 질문이 있어요!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 좋은 강의 잘 보고 있습니다. 감사합니다다름이 아니라 선생님 강의 jpa로드맵과 스프링 완전 정복을 완강하고 토이 프로젝트 전에 리마인드 할겸 다시 보고 있는데요~지금 선생님께서는 서비스단 클래스 영역에서 트랜잭션을 걸어주고 계시는데 그럼 그 하위에 있는 로직 전체가 같은 커넥션을 사용하고 반환하는데 지금 이 예제에서 그 이점이 있을까요!?이유가 따로 있으시다면 궁금합니다. 저는 지금 서비스 클래스에서 로직 단위별로 트랜잭션을 걸어주고 있었는데 갑작스럽게 의문점이 생겨 질문드려요!~
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
도메인 모델과 테이블 설계 시 사용한 UML도구가 뭔지 궁금합니다!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 자료에서 도메인 모델, 엔티티 설계, 테이블 설계 다이어그램을 어떤 도구를 통해 작성하셨는지 궁금합니다!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
nestjs, graphql 강의중 resolver에서 service 클래스 메서드에 접근을 못 하는듯 합니다.(인젝트가 제대로 안된 듯 합니다.)
안녕하세요. 강사님."Nest.js - GraphQL 연결" 강의중 제목과 같이 resolver에서 service의 메서드로 접근을 못하는듯 합니다. 그럼 인젝트가 안된거 아닌가요? 해결책 문의 드립니다. "yarn start:dev" 오류없이 실행은 됩니다.app.module.ts, boards.module.ts, boards.resolver.ts boards.service.ts 코드 입니다.// app.module.ts import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo'; import { Module } from '@nestjs/common'; import { GraphQLModule } from '@nestjs/graphql'; import { BoardModule } from './apis/boards/boards.module'; @Module({ imports: [ BoardModule, GraphQLModule.forRoot<ApolloDriverConfig>({ driver: ApolloDriver, autoSchemaFile: 'src/commons/graphql/schema.gql', }), ], // controllers: [AppController], // providers: [AppService], }) export class AppModule {}// boards.module.ts import { Module } from '@nestjs/common'; import { BoardResolver } from './boards.resolver'; import { BoardService } from './boards.service'; @Module({ // imports: [], // controllers: [], providers: [BoardResolver, BoardService], }) export class BoardModule {}// boards.resolver.ts import { Query, Resolver } from '@nestjs/graphql'; import { BoardService } from './boards.service'; @Resolver() export class BoardResolver { constructor(private readonly boardService: BoardService) {} @Query(() => String) getString(): string { return this.boardService.serviceString(); } @Query(() => Number) getNumber(): number { return this.boardService.serviceNumber(); } @Query(() => Boolean) getOnlyResolver(): boolean { return true; } }// boards.service.ts import { Injectable } from '@nestjs/common'; @Injectable() export class BoardService { serviceString() { return 'Hello World!'; } serviceNumber(): number { return 100; } }"getOnlyResolver" 쿼리는 정상적입니다. Service까지 가지 않도록 테스트 했습니다."getString" 쿼리는 Service의 "serviceString()" 메서드로 접근 합니다. (오류 발생)"getNumber" 쿼리는 Service의 "serviceNumber()" 메서드로 접근 합니다. (오류 발생)"package.json" 정보 입니다.{ "name": "aaa", "version": "0.0.1", "description": "", "author": "", "private": true, "license": "UNLICENSED", "scripts": { "build": "nest build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "jest --config ./test/jest-e2e.json" }, "dependencies": { "@apollo/server": "^4.5.0", "@nestjs/apollo": "^11.0.4", "@nestjs/common": "^9.0.0", "@nestjs/core": "^9.0.0", "@nestjs/graphql": "^11.0.4", "@nestjs/platform-express": "^9.0.0", "graphql": "^16.6.0", "reflect-metadata": "^0.1.13", "rxjs": "^7.2.0" }, "devDependencies": { "@nestjs/cli": "^9.0.0", "@nestjs/schematics": "^9.0.0", "@nestjs/testing": "^9.0.0", "@types/express": "^4.17.13", "@types/jest": "29.2.4", "@types/node": "18.11.18", "@types/supertest": "^2.0.11", "@typescript-eslint/eslint-plugin": "^5.0.0", "@typescript-eslint/parser": "^5.0.0", "eslint": "^8.0.1", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^4.0.0", "jest": "29.3.1", "prettier": "^2.3.2", "source-map-support": "^0.5.20", "supertest": "^6.1.3", "ts-jest": "29.0.3", "ts-loader": "^9.2.3", "ts-node": "^10.0.0", "tsconfig-paths": "4.1.1", "typescript": "^4.7.4" } } 감사합니다.
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
undetected_chromedriver 사용시 widow-size 가 적용이 안됩니다.
5. bot detection 피하기 고급편에 나온 소스를 그대로 적용하였습니다.다른 부분은 문제가 없고, 에러 또한 없습니다.그런데 window-size 관련된 argument 값이 적용이 안됩니다.항상 큰 사이즈의 윈도우만 오픈되고 있습니다.python 버젼은 3.11.0 입니다.버젼을 다운그레이드 해야 할까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
타격시 소리를 추가한다고 한다면
안녕하세요. 만약에 타격시 소리를 추가한다고 한다면PlayerController 클래스의 OnHitEvent 메서드에서 Managers.Sound.Play를 호출해서 재생시키면 될것 같아요. 근데 또 특정 UI 가 켜지고 꺼질때나 플레이어가 죽을때 등등 많은 부분에서 사운드를 재생하는게 필요할텐데 그때마다 Managers를 호출해서 Sound를 재생시키면 안될것 같다는 느낌이 왠지 들어요. 너무 여러곳에서 Managers를 호출하면 코드가 꼬이지 않을까 하는 걱정이요. 그래서 InputManager를 구현한것 처럼 Action을 사용해서 다른곳에서 Sound 재생을 등록시키는게 더 나은 방법일까요..?GameScene이라는 곳에서 여러 Manager들을 호출해서 게임에 관련된 작업을 하는건 합리적으로 느껴지는데 다른곳에서도 Managers를 계속 호출하는게 괜찮은지 여쭤봅니당