묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
강의에서 제공받은 h5 파일을 적용할때 결과가 나빠지는 이유가 뭘 까요?
pipeline = keras_ocr.pipeline.Pipeline() images = [ keras_ocr.tools.read('42.jpg') ] prediction_groups = pipeline.recognize(images) fig, ax = plt.subplots(figsize=(20, 20)) image, predictions = images[0], prediction_groups[0] keras_ocr.tools.drawAnnotations(image=image, predictions=predictions, ax=ax) plt.show()이렇게 했을때 결과값은 이런데강의에서 제공받은 h5을 사용하면 어노테이션을 전혀 그리지 못합니다.import matplotlib.pyplot as plt import keras_ocr detector = keras_ocr.detection.Detector() detector.model.load_weights('detector_carplate.h5') recognizer = keras_ocr.recognition.Recognizer() recognizer.model.load_weights('recognizer_carplate.h5') pipeline = keras_ocr.pipeline.Pipeline(detector=detector, recognizer=recognizer, scale=1) images = [ keras_ocr.tools.read('42.jpg') ] prediction_groups = pipeline.recognize(images) fig, ax = plt.subplots(figsize=(20, 20)) image, predictions = images[0], prediction_groups[0] keras_ocr.tools.drawAnnotations(image=image, predictions=predictions, ax=ax) plt.show()이런식으로 ocr 결과값이 잘 수행되지 않는데 어떤 원인들이 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
hibernate 설정 질문입니다.
<property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.use_sql_comments" value="true"/> <property name="hibernate.hbm2ddl.auto" value="create" />위와같이 설정하고 실행 시, 테이블이 이미존재한다면 drop 을 시키고 create를 하는데현재 외래키들 때문에 테이블을 무순서로 삭제할 수 없어 오류가 발생하는 상황입니다.그래서 그냥 테이블을 다 지우고 빌드하는데어떻게 강사님은 테이블을 안지우고 바로 빌드가 가능한가요?=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결스프링 핵심 원리 - 기본편
ConfigurationSingletonTest 코드 오류 여쭤봅니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.ConfigurationSingletonTest 코드에서 오류가 나서 질문드립니다. cannot find symbol이란 에러가 뜨는데 찾아보니경우1) orderServiceImpl.java 에서 memberRepository를 주입하지 않아 생기는 오류라고 뜹니다. 경우2) import 문의 문제일 수도 있다고 뜹니다. 둘 중 어떤 경우인지, 또 어떻게 고쳐야 할 지 모르겠어서 여쭤봅니다. 문제가 생긴 코드 OrderServiceImpl
-
미해결Do it! 알고리즘 코딩테스트 with C++
문제 85번 질문드립니다
#include<iostream>using namespace std;int T[16];int P[16];int D[16];int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); //freopen("input.txt", "r", stdin); int N; cin >> N; for (int i = 0; i < N; i++) { cin >> T[i] >> P[i]; } for (int i = N - 1; i >= 0; i--) { if (i + T[i] > N) D[i] = 0; else { D[i] = max(D[i + 1], P[i] + D[i + T[i]]); } } cout << D[0];}여기서 초기화할 때 왜 0으로 하면 14프로까지 갔다가 틀렸습니다가 나오는지 잘 모르겠습니다 'i + T[i] > N' 다음 조건이 성립하면 항상 점화식의 값이 0이 나오는 것이 아닌가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
섹션 1번 프로젝트 생성 후 tomcat 접속하면 이름 및 비밀번호 알람
섹션 1번 프로젝트 강의를 따라서프로젝트 생성 후 tomcat 접속하면 이름 및 비밀번호 알람이 나옵니다.근데 강의 내용에서는 이름 및 비밀번호 입력없이 접속 되던데,혹시 디폴트 이름 및 비밀번호좀 알 수 있을까요?스프링 프로젝트 버전은 3.2.0 버전입니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Android Studio Intel x86 Emulator 설치 오류
노트북이 라이젠 환경이라 설치하는데 계속 오류가 발생합니다혹시 해당 프로그램 설치가 필수인가요?필수면 해결 방법 알려주세요ㅠㅠ
-
해결됨스프링 핵심 원리 - 기본편
21:40 필드주입 과정
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]21:40 쯤 테스트 과정에서 필드 주입으로 인해 null이 뜬다 하셨는데 이해가 안갑니다.필드 주입으로 인해 처음 객체가 생성될 시 의존성 주입으로 생성됨그로 인해 외부에서 다시 DI 를 하면 변경이 안됨DI 가 되질 않아서 NULL 이 떴다? 라고 이해하면 되는건가요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
test 클래스에서 persistence.xml인식문제
db2 커리큘럼에서 main과 test의 db를 분리하는 방법을 학습 후 이번 강의에서도 사용해보려고 했는데요다음과 같이 파일을 만든후 persistence.xml의 persistence.unit name을 다르게 지정해주고<property name="jakarta.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/testJpa2"/>이 부분도 main과는 다르게 설정해주고 실행하였는데 h2db에 연동이 안되는 것 같네요application.properties로 하였을땐 잘 되는데 저렇게 하니 안됩니다. persistence.xml파일 자체를 인식못하는것 같은데 제가하는 방법이 잘 맞는지 몰라 질문드립니다 참고로 초기세팅같은 경우 이전강의에서와 같이 start.spring.io에서 진행하였습니다. 저의 pom.xml은 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.1</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>jpa-basic</groupId> <artifactId>ex1-hello-jpa</artifactId> <version>0.0.1-SNAPSHOT</version> <name>ex1-hello-jpa</name> <description>Demo project for Spring Boot</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project> persistence.xml은 <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"> <persistence-unit name="hello-test"> <!--persistence unit이름을 다르게 설정--> <properties> <!-- 필수 속성 --> <property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver"/> <property name="jakarta.persistence.jdbc.user" value="sa"/> <property name="jakarta.persistence.jdbc.password" value=""/> <property name="jakarta.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/testJpa2"/> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/> <!-- Java transaction api를 jakarta에서 찾아라--> <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JakartaJtaPlatform"/> <!-- 옵션 --> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.use_sql_comments" value="true"/> <property name="hibernate.hbm2ddl.auto" value="create" /> </properties> </persistence-unit> </persistence>
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
dropdownbutton에 대한 강의는 어디서 볼수있나요.
flutter 공식문서를 보고 따라했는데도 오류가 많이뜨고 마음대로 되지가 않네요. 특히 border부분 둥글게 하는거 수정하는게 어렵습니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
바둑이 승차 - bfs 시간초과
안녕하세요, 바둑이 승차를 bfs로 풀어보다가, 시간 초과 에러가 떠서 여쭤봅니다.!아래는 제 코드입니다.import java.util.*; public class Main { static class Node { int sum; int level; public Node(int sum, int level) { this.sum = sum; this.level = level; } } static int n; static int w; static int[] puppies; static int result; public int bfs() { Queue<Integer> Q = new LinkedList<>(); Q.offer(puppies[0]); Q.offer(0); int L = 0; while(!Q.isEmpty()) { int len = Q.size(); if(L==n) break; for(int i=0 ; i<len; i++) { int tmp = Q.poll(); if(tmp>w) continue; result = Math.max(tmp, result); if(L<n-1 ) { int next = puppies[L+1]; Q.offer(tmp + next); Q.offer(tmp); } } L++; } return result; } public static void main(String[] args) { Main T = new Main(); Scanner sc = new Scanner(System.in); w = sc.nextInt(); n = sc.nextInt(); puppies = new int[n]; for(int i=0; i<n; i++) { puppies[i] = sc.nextInt(); } T.bfs(); System.out.println(result); } } bfs, dfs 모두 모든 노드를 방문한다는 점에서, 같을 것 같은데, 왜 bfs는 시간 초과가 날까요.?제가 break을 놓친 부분이 있을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
유저서비스의 yml파일 관련 profile 설정방법이 궁금합니다.
안녕하세요 강의를 듣던중 profile이 어떻게 적용되는지 궁금하여 질문드리게 되었습니다. 현재 dev관련 설정파일이 왼쪽공통 항목 테스트를 위한 application.yml 파일이 오른쪽입니다.모두 같은 common이라는 환경변수로 어떤 .yml파일의 값을 사용하는지 확인하였는데요user-service의profile설정은 아래 사진처럼 하였습니다.health-check를 보내서 common값을 확인했을 때,아래사진 처럼 application.yml파일의 common값을 사용하는 것을 확인하였습니다. 공통으로 가져오는 application.yml파일의 common값과 ecommerce-dev.yml의 common값이 겹칠 때 profile을 dev라 설정했기 때문에health-check로 요청시common값에 common-dev 로 찍힐것이라 생각했었습니다. 혹시 common-dev로 안찍히는 이유가 공통으로 가져오는 application.yml값과 환경변수가 겹친다면 공통으로 가져오는 yml파일의 환경변수로 찍히는 것인지 제가 profile설정을 잘못한 것인지 궁금해 질문드렸습니다 ㅠㅠ
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
AWS ubuntu 프론트 서버에서 npm run build 가 되지 않습니다!
안녕하세요! 제로초님[리뉴얼] React로 NodeBird SNS 만들기 강의의섹션 6. AWS에 배포하기: 우분투에 노드 설치하기 까지 진행한 수강생 입니다!우분투에 노드 설치하기 강의와 다음 강의인 우분투에 MySQL 설치하기 강의에서도AWS 우분투 프론트 서버에서 npm run build가 성공했음을 확인하지 못하여 질문 글 올립니다!사전에 강의를 진행하면서 AWS 우분투 프론트와 백엔드 서버 두 곳 모두 node와 npm을 설치하였습니다.node 버전은 v14.21.3, npm 버전은 6.14.18을 설치하였습니다.제로초님 강의와 다르게 react-nodebird에 prepare 폴더는 만들지 않습니다.그래서 react-nodebird 폴더 아래에 바로.git, front, back, .gitignore, react-nodebird.pem 파일이 위치해 있습니다. npm run build 를 진행하기 전 우분투 프론트 서버 인스턴스 연결 주소를 정확히 입력하였습니다.ubuntu 프론트 서버에서 git pull과 npm i를 한 다음, npm run build를 진행하였으나빌드가 되지 않고, 에러가 나타났습니다.에러 전체를 번역 후 읽어보니 눈에 띄는 부분은 다음과 같았습니다.Error occurred prerendering page "/about".Read more: https://err.sh/next.js/prerender-error페이지 "/about"을(를) 미리 렌더링하는 동안 오류가 발생했습니다.자세한 내용: https://err.sh/next.js/prerender-errorTypeError: Cannot read property 'data' of undefined유형 오류: 정의되지 않은 속성 '데이터'를 읽을 수 없습니다about을 렌더링하는 동안 오류가 발생했다는 메시지를 확인하고,정적 페이지인 about.js의 getStaticProps를 의심했지만에러 메시지에는 getStaticProps 코드 언급이 없어서 함부로 의심하는 걸 멈췄습니다.https://nextjs.org/docs/messages/prerender-error에러 메시지에 있는 next 사이트를 확인했으나 제 미숙함으로 문제를 해결할 방법을 찾지 못했습니다. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.npm ERR! 이것은 아마도 npm의 문제가 아닐 것입니다. 위에 추가적인 로깅 출력이 있을 것 같습니다.npm ERR! 이 실행의 전체 로그는 다음에서 확인할 수 있습니다:npm ERR! /home/ubuntu/.npm/_logs/2024-01-17T18_39_56_370Z-debug.logvscode 에서 debug.log를 클릭했으나 No match results가 뜨며 로그를 확인할 수 없었습니다. 문제를 해결하기 위해 커뮤니티를 확인하던 중 똑같은 aws 빌드 문제가 발생한 질문 글을 발견하였습니다.-- 해당 질문글 링크 --https://www.inflearn.com/course/lecture?courseSlug=%EB%85%B8%EB%93%9C%EB%B2%84%EB%93%9C-%EB%A6%AC%EC%95%A1%ED%8A%B8-%EB%A6%AC%EB%89%B4%EC%96%BC&unitId=49013&category=questionDetail&tab=community&q=254338해당 질문 글에서 제로초님은 npm i를 다시 하거나styled-components 버전 문제일 가능성을 알려주셨습니다.강의와 똑같이 styled-components ^5.1.1 버전을 사용하고 있음을 확인하였고,다시 우분투 프론트 서버에서 npm install를 한 후, 빌드를 시도해보았으나상단 에러와 똑같은 문제가 발생했습니다.vsCode를 완전히 껐다가 키고, 우분투 인스턴스를 잠시 중시 후 재부팅 해보았음에도같은 문제가 발생하였습니다.node react AWS 구동 방법, AWS E2U 배포, AWS 빌드 문제 npm 관련 키워드를 검색하면서 npm을 실행할 때 종속성이나 캐시 문제 발생이 원인이지 않을까 짐작했습니다.그래서 로컬 front 경로에서 아래 네 가지 작업을 진행하였습니다.(사전에 node_modules 폴더, package.lock.json 파일, .next를 삭제하기 전에로컬 프론트에서 npm run dev, npm run build, npm start 스크립트를 실행해서버가 성공적으로 연결됨을 확인하였습니다.)로컬 front 경로1. node_modules 폴더 삭제2. package.lock.json 삭제3. .next 삭제4. npm cache clean --force 로 npm 캐시 삭제네 가지 작업을 진행한 후 로컬 front에서 다시 npm install을 하여 node_modules과 package.lock.json을 생성하였습니다.다시 aws 우분투 프론트 서버로 돌아와 node, npm이 정상적으로 설치되었음을 확인하고git pull, npm i 를 하고, npm run build를 했지만 문제는 해결되지 않았습니다!어떻게 하면 AWS ubuntu 프론트 서버 경로에서 npm run build를 성공할 수 있을까요?혹시 관련 키워드나 힌트를 주실 수 있나요?aws를 처음 사용해서 미숙함에 질문 글이 많이 길어졌습니다.항상 강의 열심히 듣고 있습니다. 긴 글 읽어주셔서 감사합니다 제로초님!
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
엔티티 매니저 공유
트랜잭션 전파가 REQUIRED인 경우에,코드적으로 각각 다른 트랜잭션을 가져와서 사용하더라도,persistence context를 공유해서 사용한다고 이해해도 될까요??
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
선생님 2주차 개념 #9의 예제 문제 질문있습니다.
해당 코드는 제가 직접 구현한 문제 해답 코드인데요. 5 51 0 1 0 11 1 0 0 10 0 0 1 10 0 0 1 10 1 0 0 0의 테스트 케이스를 통과하도록 짜봤습니다.n * m 의 인접행렬을 만들고 1을 발견할 시 그 위치에서부터 ↑→↓←의 순으로 탐색을 하며 네 방향의 탐색을 마쳤을 때 결과가 모두 1이 아니라면 결과값을 1씩 증가시켜 답을 출력하는 코드입니다.첫번째 질문으로는 제가 구현한 코드가 너무 비효율적인 것 같습니다. 어떻게하면 이 코드에서 더 좋은 코드로 발전시킬 수 있을까요?두번째 질문으로는 제가 구현한 방식을 dfs라고 할 수 있는걸까요? 그냥 감으로 작성한 코드라서 이게 될줄 몰랐습니다..코드는 다음과 같습니다.단순히 구현만 하는것으로는 정답이겠지만 만약 이런 문제가 나온다면 시간초과나 메모리 초과가 날 게 분명해 보입니다../* 연결된 육지는 모두 오염 바다로는 갈 수 없다. 오염시킬수 있는 방향은 상 하 좌 우 네방향 최소 몇번을 이동해야 모든 육지를 오염시킬 수 있는가? 1 : 육지 0 : 바다 범위 1 <= N <= 100 1 <= M <= 100 예제 입력 입력은 맵의 세로길이 N과 가로길이 M이 주어진다. N * M의 맵이 주어진다. 5 5 1 0 1 0 1 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0 출력 4 */ #include <bits/stdc++.h> using namespace std; const int dy[] = {-1, 0, 1, 0}; const int dx[] = {0, 1, 0, -1}; int n, m, findCount = 0; void dfs(int y, int x, int **ajm){ ajm[y][x] = 0; int check = 0; for(int i = 0; i < 4; i++){ int ny = y + dy[i]; int nx = x + dx[i]; if(ny < 0 || ny >= n || nx < 0 || nx >= n) { check++; if(check == 4){ findCount++; return; } continue;} if(ajm[ny][nx] != 1) { check++; if(check == 4){ findCount++; return; } continue; } if(ajm[ny][nx] == 1){ dfs(ny,nx,ajm); return; } } } int main(){ int num; cin >> n >> m; int **ajm = new int*[n]; for(int i = 0; i < n; i++){ ajm[i] = new int[m]; } for(int i = 0; i < n; i++){ for(int j= 0; j < m; j++){ cin >> ajm[i][j]; } } for(int i = 0; i < n; i++){ for(int j= 0; j < m; j++){ if(ajm[i][j] == 1){ dfs(i, j, ajm); } } } cout << findCount; return 0; }
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
왜 delete 쿼리가 안나가는 걸까요?
Parent class@Id @GeneratedValue private Long id; private String name; @OneToMany(mappedBy = "parent",cascade = CascadeType.ALL) private List<Child> childList = new ArrayList<>(); public void addChild(Child... childArray) { for (Child child : childArray) { child.setParent(this); childList.add(child); } }Child class@Setter @Id @GeneratedValue private Long id; private String name; @ManyToOne @JoinColumn(name = "PARENT_ID") private Parent parent;Main 메서드Parent parent = new Parent(); Child child = new Child(); Child child1 = new Child(); parent.addChild(child, child1); em.persist(parent); em.flush(); em.clear(); Parent findParent = em.find(Parent.class, parent.getId()); Child findChild = findParent.getChildList().get(0); em.remove(findChild); tx.commit();Main메서드에서 findParent에서 자식 리스트를 가져와 첫번째 자식을 삭제해도 db에는 여전히 child, child1이 남아있는데 혹시 왜 그런지 알 수 있을까요?
-
미해결대세는 쿠버네티스 (초급~중급편)
Mac으로 client.p12 인증서를 로컬로 가져온 이후부터 되지 않는데 도움받을 수 있을까요?
(위는 대시보드 접근할 때 나오는 화면입니다.) (위는 로컬에 있는 client.p12 인증서를 열어본 부분인데, 강제로 권한을 주면 실행은 되는데 뭔가 잘못하고 있는 것 같아서요! 혹시 도움을 받을 수 있을까요?)현재 master에서 client.p12를 로컬로 가져온 후 dashboard 접근과 로컬의 client.p12 정보에 접근할 때 나타나는 상태를 캡쳐해두었습니다. 모두 1.27v 진행했습니다!!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
Room마다 Thread를 만들기
안녕하세요 루키스님 덕분에 서버개발자로 취업하였습니다.루키스님의 강의를 체화하기 위해서 간간히 코드를 보면서 잊어먹을랑 말랑한 것들을 다시 강의로 듣곤 합니다그러다가 아래 코드를 보면서 문득 의문이 들었는데요.while(true) { GameLogicTask.Instance.Update() }게임 실행 시 위 로직을 타면서 메인쓰레드 하나서 모든 Room의 Update를 담당하고 있는데Room에 유저수가 많아지게 되면 메인 쓰레드에 점점 부하가 더 많아지는게 아닌가해서 질문을 드립니다.메인쓰레드 부하가 많아지면 컨텍스트 스위칭이 생겨도 Room마다 Thread를 생성하여남은 자원을 Update가 바쁘게 돌아가는 Room쪽에 쓰레드를 조금 더 할당해 주어도 될까요?(밑에 질문에 답변해 주셨네요 ^^; Room마다 쓰레드를 더 만들겠습니다.) 심리스 월드에서 Actor마다 JobSerializer를 할당하는 방법을 쓰면,쓰레드를 너무 많이 만들게 될것 같은데 컨텍스트 스위칭 외에 또 생기는 성능적인 사이드 이펙트를 뭘 또 고려하면 좋을까요?Actor마다 JobSerializer를 쓴다고 하면 Actor단일로서는 lock을 걸지 않아도 되지만서로 상호작용이 일어나는 상황에서는 어쩔수 없이 lock을 걸어줄수 밖에 없을 것 같은데, 그러면 결국은 JobSerializer를 쓰지 않아도 되지 않나 부족한 지식으로 어렴풋이 생각이 듭니다.또한 JobSerializer를 Flush 하기 위해선 Actor마다 while(true) 루프를 돌면서 계속해서 잤다가 깼다가 확인 하는 과정과 컨텍스트 스위칭비용이 점점 더 늘어날 것 같은데 이런 비용을 감안하면서 사용하는 것인지요. 아니면 딱히 신경쓰지 않아도 될만한 부하인지 궁금합니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
상품상세페이지 구현-2 와 3 사이에 빠진 내용이 있는거같아요
다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요.2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다!3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요! 상품상세페이지 구현-2 마지막에 보면 css를 적용하고자,product폴더내에 Index.css를 만드는데, Index.js에 css를 import하지 않고 넘어가서 상세페이지구현-3 영상에서는 그냥 css를 적용하고 적용되는 모습이 영상에 담겨있습니다.원래 자동으로 Import 되는게 아니라면, 이부분에 대한 추가적인 제안이 필요할거같습니다. import "./index.css";
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
UI_TitleScene에서 bindevent
GetObject((int)GameObjects.StartImage).BindEvent((evt) => { Debug.Log("ChangeScene"); Managers.Scene.LoadScene(EScene.GameScene); });에서 bindevent()로 extention의public static void BindEvent(this GameObject go, Action<PointerEventData> action = null, Define.EUIEvent type = Define.EUIEvent.Click) { UI_Base.BindEvent(go, action, type); }로 오고 여기서 UI_Base에 있는 public static void BindEvent(GameObject go, Action<PointerEventData> action = null, Define.EUIEvent type = Define.EUIEvent.Click) { UI_EventHandler evt = Util.GetOrAddComponent<UI_EventHandler>(go); switch (type) { case Define.EUIEvent.Click: evt.OnClickHandler -= action; evt.OnClickHandler += action; break; case Define.EUIEvent.PointerDown: evt.OnPointerDownHandler -= action; evt.OnPointerDownHandler += action; break; case Define.EUIEvent.PointerUp: evt.OnPointerUpHandler -= action; evt.OnPointerUpHandler += action; break; case Define.EUIEvent.Drag: evt.OnDragHandler -= action; evt.OnDragHandler += action; break; } }로 참조해서 가져오는것 맞나요? 궁금한것은 지금 define에 4가지 evt상태를 만들어놨는데 pointdown-누를때pointup-땔때drag-드래그Click-클릭 지금은 제일위에 object.bindevent(evt)=> 여기에 evt로 4가지 전부 받아지는것아닌가요? 강의를 다시보니 loadAysync로 전부 로드완료한뒤에 클릭하면 된다고 되어있는데 그냥 4가지 전부 evt로 가져와지고 제일먼저 입력된 click이 받아와지는건가요? pointdown은 누를때 이벤트가 전송되면 pointdown으로 evt가 받아와져야 되는것 아닌가요?
-
미해결CAN 통신 - 자동차 신입이 알아야 할 모든 것
CAN통신으로 메시지 전달 말고 제어도 가능한가요?
좀 무식한 질문일 수 있는데CAN을 통해 메시지를 주고 받는다는것은 알겠는데A라는 제어기에서 B라는 제어기에 메시지를 전달해서 그 다음엔 어떻게 되는건가요? 예를 들면 강의 Communication Matrix 예시에서메시지 이름ID 0x123, 메시지 이름 배터리상태, 송신제어기가 BMS를 통해 12.4V(예시)라는 메시지를디스플레이제어기로 보내고 싶고, 디스플레이 제어기는 이 정보 12.4V를 받아서 화면에 나타내주고 싶으면0x123이라는 BMS가 보내는 CAN 메시지는 그냥 전달만 할뿐, 일단 정보를 전달 받고 뿌리는 것은 디스플레이 제어기 내부 MCU의 FW에 의해서 동작되는 거라고 보면 될까요? 질문이 좀 두서없는데 다시 요약하자면A라는 제어기에서 CAN 메시지를 통해 단순 메시지 전달 외에 B라는 제어기를 직접적으로 제어가 가능한건지아니면 A라는 제어기가 보내는 CAN 메시지는 그냥 메시지에 대한 정보만 가지고 있을 뿐메시지를 전달 받은 B가 해당 메시지에 따른 내부 MCU의 Logic과 FW로 자체적으로 제어를 해야되는건지 궁금합니다.