묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Material Shader 문제
안녕하세요유니티 6에서 따라하면서 공부하고 있는데 옛날 Material이 분홍색으로 나타납니다. 해결하는 법 알려주세요
-
해결됨치킨 + 맥주값으로 SpringAI를 사용해 AI서버 만들어보기 (With ChatGPT)
Media Deprecated
Media Deprecated ->Resource imageResource = new DefaultResourceLoader().getResource(imageUrl); UserMessage userMessage = new UserMessage("이사진이 보이나요?", List.of(new Media(MimeTypeUtils.IMAGE_JPEG, imageResource))); return chatModel.call(userMessage);
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-V 누적합 질문
안녕하세요!!누적합 공부하면서 좀 헷갈리는 부분과 예시코드랑 다른 부분이 있어서 이 두개에 대해서 질문하려고합니다.http://boj.kr/88f78b9449fb462e99bbed15e9875b5f이게 제가 작성한 코드인데요,피자가원형이고, 예를 들어 7,2,2,2,1 이 있다고 치면 확장해서 7,2,2,2,1,7,2,2,2,1 이렇게 만드는 과정이 2*m 즉 2배 확장하는걸로 이해했는데요, (2*m)-1 만 확장해도 상관은 없는거죠? 선택할 수 잇는 시작점의 마지막 위치가 1이고 그 뒤로 넘어가 7을 선택하게되면 결국 맨 처음 선택했던 시작점과 동일해지기 때문에 이런것같은데, Chatgpt를 통해서 의견을 묻는데 반드시 2*M 의 구간확장이 필요하다해서 의미가 있나 싶어 질문드립니다.또한 map에다가 누적합들을 더하는 과정이 예시 코드에서는interval개를 선택할거고, start지점을 interval과 같게 설정하는 부분이 잘 이해가 안됩니다. 저는 i~j까지의 합을 size만큼 펼쳐가면서 더햇는데요, 예시 코드에서 start를 꼭 interval로하는 이유가 있나요? 물론 코드가 정상적으로 동작해서 같은 결과를 내는건 알겠는데, start = 1; start<= n 으로 하지 않는 이유가 궁금합니다.
-
해결됨실전 jOOQ! Type Safe SQL with Java
Sakila DB 도커 컴포즈 구성 시 팁
MySQL의 기본 데이터 저장 경로는 /var/lib/mysql이므로, 직접 만든 볼륨에 /data 경로가 아닌 /var/lib/mysql을 지정해주셔야 합니다.도커 컴포즈 파일 내 Volumes-top-level-elements 설정 시, sakila_volume: 이하에 external: true를 지정하지 않으면, {project_name}_db-data 인 이름의 볼륨을 찾고 없으면 해당 볼륨을 생성합니다.(예: sakila-mysql_sakila_volume) 따라서 external: true를 지정하거나, name: sakila_volume 을 지정해야합니다.see → https://docs.docker.com/reference/compose-file/volumes/
-
미해결게임 기획자 성공 전략 가이드
기획자 프로그래머 중 고민됩니다.
최근 게임업종에 취업하고 싶어 준비중입니다.게임기획자 or 게임프로그래머 무엇이 더 하고 싶은지 제 스스로 답을 못내리겠습니다.아직 준비한지 얼마 되지 않아 초반에 확실하게 정하고 싶어서 질문드려요!제 성향으로 봐선 게임기획이 좀더 맞고 재밌을거 같긴 한데현실적으론 프로그래머가 더 나은방향인거 같아서너무 고민됩니다.솔직한답변주시면 감사하겠습니다.
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
섹션5 강의 질문있습니다.
섹션5 수강하고 있는데 혹시 서비스 테스트코드나 레파지토리 테스트코드 실습파일은 어디있을까요? 글씨가 작아서 따라 치기가 어려워서요. 돋보기로 하면 글자가 깨져서요.상품 목록/등록 강의를 듣고 있습니다. 테스트 코드에서 아래를 실행하면 이런 에러가 납니다.(참고로 db는 연결되어있어요. springboot 돌리면 tomcat start 8080나옵니다.)Cannot invoke "com.example.backend.mallapi.domain.ProductImage.getFileName()" because "productImage" is null아래는 코드입니다. 참고로 upload 파일에도 파일이 2개가 있는상황이여서 productImage가 null일 이유가 없다고 생각하는데 왜나는지 모르겠습니다.
-
미해결CUDA 프로그래밍 (1) - C/C++/GPU 병렬 컴퓨팅 - CUDA 커널 kernel
CUDA Samples 없음
- 출장이 잦아서, 답변에 시간이 좀 걸릴 수도 있습니다. 양해 바랍니다. v12.8인데 samples 파일이 없습니다.- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨초보자를 위한 BigQuery(SQL) 입문
총 정리 문제 풀이 2번 문제 추가 질문
카일님 안녕하세요. 강의 아주 잘 듣고 있습니다 감사합니다 :)총 정리 문제 2번에서 추가 질문 드립니다.제가 처음 풀때 문제를 잘못이해하여, type1 별 가장 많이 포획된 포켓몬 이름과 횟수를 각 type1 TOP 1 들을 구하려고 했습니다. MAX (COUNT) 라는 말도 안되는 쿼리를 작성하면서 고군분투 하였고, 결국 못 풀었습니다.다행히 채점할때 카일님이 의도하신 출제방향으로는 답이 나와있는 상태여서 이해는 하였습니다 만. !커머스라고 가정할 때 각 카테고리별(type1) , 가장 많이 팔린 제품(kor_name), 최다 판매수(cnt) 를 구해야 한다면, 제가 풀지못했던 문제로 해결할 수 있을 것 같아서요.type1 별로 포획량 TOP 1을 구하는 쿼리는 어떻게 작성하면 좋을 까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
./gradlew clean bulid 오류가 납니다.. 도와주세요..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용](base) mirae@mirae-MacBookPro jpashop % ./gradlew clean buildStarting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details> Task :testJpashopApplicationTests > contextLoads() FAILEDjava.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:180Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1773Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:276Caused by: org.hibernate.HibernateException at DialectFactoryImpl.java:1911 test completed, 1 failed> Task :test FAILEDFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':test'.> There were failing tests. See the report at: file:///Users/mirae/Desktop/study/SPRING_BOOT/jpashop/build/reports/tests/test/index.html* Try:> Run with --scan to get full insights.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 10s8 actionable tasks: 8 executed(base) mirae@mirae-MacBookPro jpashop %같은 질문에서 해결 방안을 다 따라해봤지만 계속 오류가 납니다.gradlew 버전 8.5 , JDK 버전 21.0.1 이고intel macBook입니다
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker compose ci&cd 질문
도커 컴포즈를 배우면서 여러개의 컨테이너를 띄우고 spring에서 특정 db를 가리켜서 사용할 수 있는걸 이해했는데 이걸 ci&cd 배포를 추가한다고 치면 문제가 발생합니다. 제가 이해하기로는 docker compose는 build 부분에 도커파일을 넣게 되어 있는데 근데 이러면 ci&cd 할 때 스크립트 순서가 java 설치 -> checkout -> 빌드 -> jar파일, 도커 파일, 도커 컴포즈 파일 scp를 활용해 전달 -> ssh로 접근해서 도커 컴포즈 실행이렇게 사용하면 이미지를 넣어두고 다른데서도 사용할 수 있어야 하는 그런 장점이 없어진다고 생각하는데 이걸 어떻게 배포를 해야 하는건가요? 제가 생각한 도커, 컴포즈 파일, jar 파일을 전달하고 해당 ec2에서 docker compose를 해야하는건가요??
-
미해결실무자가 알려주는 CANoe (For CAN 통신)
제어기 송신 기능 관련 질문
안녕하세요 강의 중 궁금한 점이 있어 질문드리게 되었습니다. 1. can 통신 과정에서 Canoe에서 계측 되는 Direction에서 Rx는 우리 제어기가 보내는 신호, Tx는 Canoe에서 임의로 쏴주는 신호 라고 이해했는데 맞는건가요?2. 또한, 메세지 송신 기능 중 하나의 예시로, 타이어의 온도 센서를 직접 실험실에서 시험하기 위해서는 Canoe로 해당 온도 센서 신호를 IG Block을 이용해서 쏴줌으로써 브레이크를 잘 제어하는지 시험하는 것으로 이해했습니다. 그렇다면, 실제로 타이어의 온도센서가 브레이크 관련 제어기와 하나의 can bus로 연결되어 can 통신을 진행하는 것인가요?3. 2번의 질문에서 타이어 온도 센서가 브레이크 관련 제어기와 can 통신으로 온도 정보를 주는 것이 아닌, 다른 통신(ex: serial 통신)을 진행한다면, CAN bus에 연결된 것도 아닌데, 제어기가 어떻게 IG Block으로 받은 can(센서) 신호를 인지하여 그에 따라 차후의 행위를 수행할 수 있는 것이죠? 항상 좋은 강의 감사드립니다.
-
미해결게임 수학의 이해
수업 관련 질문입니다!
게임에서 보여지는 3차원 공간은 실제로는 4차원 공간으로 구성되어 있다고 들었습니다!그런데, 제가 이해한 것이 맞는 지 잘 몰라서 질문을 남깁니다!"현실 세계에서 게임 속 3차원 공간의 물체를 바라볼 때, 그 안의 게임(가상 공간)은 4차원으로 구성되어 있다"가 맞을까요?감사합니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker compose 2개(mysql, spring boot)를 띄울시 동작을 안합니다.
도커 파일은 아래입니다.FROM openjdk:17-jdk COPY build/libs/*.jar /app.jar ENTRYPOINT ["java","-jar","/app.jar"]도커 컴포즈 파일 입니다.services: my-server: build: . ports: - 8080:8080 depends_on: my-db: condition: service_healthy my-db: image: mysql environment: MYSQL_ROOT_PASSWORD: 1234 MYSQL_DATABASE: mydb volumes: - /Users/shchoi/Downloads/docker/mysql:/var/lib/mysql ports: - 3306:3306 healthcheck: test: [ "CMD", "mysqladmin", "ping" ] interval: 5s retries: 10yml파일 입니다.spring: datasource: url: jdbc:mysql://my-db:3306/mydb username: root password: 1234 driver-class-name: com.mysql.cj.jdbc.Driver 이렇게 하고 실행시 db는 up이 되는데 spring은 다운 됩니다. 로그는 좀 길긴한데 아래와 같습니다.왜 안뜨는걸까요....;my-server-1 | org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)my-server-1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1812) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:346) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:970) ~[spring-context-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) ~[spring-context-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.4.3.jar!/:3.4.3]my-server-1 | at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-3.4.3.jar!/:3.4.3]my-server-1 | at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.4.3.jar!/:3.4.3]my-server-1 | at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) ~[spring-boot-3.4.3.jar!/:3.4.3]my-server-1 | at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) ~[spring-boot-3.4.3.jar!/:3.4.3]my-server-1 | at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) ~[spring-boot-3.4.3.jar!/:3.4.3]my-server-1 | at com.csh.springdemo.SpringDemoApplication.main(SpringDemoApplication.java:10) ~[!/:0.0.1-SNAPSHOT]my-server-1 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]my-server-1 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]my-server-1 | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]my-server-1 | at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]my-server-1 | at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:102) ~[app.jar:0.0.1-SNAPSHOT]my-server-1 | at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:64) ~[app.jar:0.0.1-SNAPSHOT]my-server-1 | at org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:40) ~[app.jar:0.0.1-SNAPSHOT]my-server-1 | Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)my-server-1 | at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:276) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.boot.model.relational.Database.<init>(Database.java:45) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:226) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:194) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:171) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1442) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1513) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) ~[spring-orm-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) ~[spring-orm-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:419) ~[spring-orm-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:400) ~[spring-orm-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) ~[spring-orm-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1859) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1808) ~[spring-beans-6.2.3.jar!/:6.2.3]my-server-1 | ... 22 common frames omittedmy-server-1 | Caused by: org.hibernate.HibernateException: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)my-server-1 | at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:191) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:87) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentWithDefaults(JdbcEnvironmentInitiator.java:181) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:392) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:129) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:81) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) ~[hibernate-core-6.6.8.Final.jar!/:6.6.8.Final]my-server-1 | ... 37 common frames omittedmy-server-1 |
-
미해결C# TCP/IP 소켓 프로그래밍
Tap강의에서 6분9초에 ReceiveAsync에 매개변수 e가 필요하다는 에러
안녕하세요Tap강의에서 6분 9초에 31번째 줄 내용이 궁금합니다. 저는 ReceiveAsync메서드에는 2개 인수를 쓰는 오버로드가 없다고 떠서, 어떻게 수정하면되는지 궁금합니다. -에러나는 내용ReceiveAsync메서드에는 2개 인수를 쓰는 오버로드가 없다 -제가 적은 코드 int n1 = await clientSocket.ReceiveAsync(buffer,SocketFlags.None); --전체 코드 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Net;using System.Net.Sockets;using System.Threading;namespace Server{ class Program { static async Task Main(string[] args) { Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("192.168.20.97"), 20000); serverSocket.Bind(endPoint); serverSocket.Listen(1000); //Tap( 작업기반 비동기 패턴) 작업짜기 while(true) { //서버 소켓에 어웨이트 소켓을 써라, 이 함수는 반환값이 <task>socket임 Socket clientSocket = await serverSocket.AcceptAsync(); // 제네릭한 값을 갖는 Task를 await하게하면 제네릭을 반환값으로 가질 수 있음 //스레드 풀에 일감을 던짐 , 즉 Readasync하라는거임 ThreadPool.QueueUserWorkItem(ReadAsync, clientSocket); } } /// <summary> /// 스레드풀에 들어갈 함수 , 클라이언트 소켓이 센더로 들어감 /// </summary> /// <param name="sender"></param> private static async void ReadAsync(object sender) { //클라이언트 소켓이 센더로 들어감 Socket clientSocket = (Socket)sender; //리시브 함수 루프 돌리기 while(true) { byte[] buffer = new byte[256]; int n1 = await clientSocket.ReceiveAsync(buffer,SocketFlags.None); //만약 0바이트면 종료된거니까 자원 해제하고 return으로 함수 종료 if (n1<1) { Console.WriteLine("Client disconnect"); clientSocket.Dispose(); return; } Console.WriteLine(Encoding.UTF8.GetString(buffer)); } } }}
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
코드 임포트시 오류
올려주신 강의 자료에서 6번 코드부터 임포트 했는데 오류가 납니다.
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
prestartCoreThread()와의 차이점, active 카운트
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 해당 강의와 관련된 내용을 학습하던 중에 prestartAllCoreThreads()외에도 prestartCoreThreads()라는 메서드가 존재하는 것을 확인했습니다.제가 인지한 두 메서드의 차이점은 다음과 같습니다.|메서드 |prestartAllCoreThreads()|prestartCoreThreads()| |---------------|------------------------|---------------------| |생성되는 스레드 수 |전체 코어 스레드 수 |1개씩 | |생성된 스레드의 상태|active 아님 |active |여기서 후자의 경우 1개씩 생성한다는 점은 이해가 가는데, 왜 두 메서드의 경우에서 생성한 스레드의 상태가 active냐/아니냐로 차이가 나는지는 모르겠습니다.챗지피티와 이에 대해서 대화를 좀 나눴는데 그 내용도 이해가 되지 않습니다.다수의 스레드가 동시에 getTask()를 호출하면 모두 블로킹 상태가되어 락을 기다리지 않기 때문에 active 카운트가 증가하지 않는다.. 라고 하는데 이해가 가지 않습니다. 실행 결과// case1. 생성된 스레드가 active 상태가 아님 poolExecutor.prestartAllCoreThreads(); printState(executorService); //15:31:40.628 [ main] [pool=1000, active=0, queuedTasks=0, completedTasks=0 // case2. 생성된 스레드가 active 상태임 poolExecutor.prestartCoreThread(); printState(executorService); //15:17:53.579 [ main] [pool=1, active=1, queuedTasks=0, completedTasks=0
-
미해결취업 준비를 위한 OA (Excel) 실무 2023 Part. 1
목록 indirect 오류
도서명 입력했는데 원본은 현재 오류상태입니다 라는 팝업이 뜨는데 어떤 게 잘못된 걸까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
필터가 디폴트로 DispatcherType.REQUEST만 세팅되어 있으면 에러 요청시 필터를 거치치 않는 것 아닌가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 강의를 잘못 이해한걸수도 있습니다.. 제가 이해하기론 sendError 호출 시 요청 사이클을 내부적으로 한번 더 타는 것이 문제라고 이해했습니다. 필터를 무시하는 방법으론 filterRegistrationBean.setDispatcherTypes(DispatcherType.REQUEST와 같이 필터 설정을 하면 된다고 이해했습니다. 그런데 애초에 디폴트로는 REQUEST 만 설정되는거라면, 필터 사이클을 한번 더 안타는게 맞지 않나요 ? 에러 페이지 요청할 때는 DispatcherType이 ERROR인채로 요청되니까.. 그렇다면 강의 초반에 설명해주실때, 클라이언트 요청과 별개로 에러 요청할 때 한번 더 필터 사이클을 탄다고 하신건지 이해가 조금 안됩니다 ㅠㅠ
-
해결됨QGIS 지도 시각화 A to Z (벡터/기초편)
조판에서 축적막대가 안그려집니다. . .
이것저것 눌러봐도 안그려지는데 혹시 원인이 뭘까요?
-
미해결대세는 쿠버네티스 (초급~중급편)
node1의 서버에는 어떻게들어가나요?
node1이 worker인가요?>