토이 프로젝트를 진행하던 중 궁금한 내용이 생겨서 질문 드립니다. 과거 Mybatis와 같은 것을 활용해 진행할 때는 코드 매핑 테이블에 코드값 (기본키)과 코드명 이렇게 있고 특정 테이블에서는 이러한 코드 값 키를 들고 있어 서브쿼리를 활용해 코드 명을 가져오는 방식으로 활용했습니다. JPA에서 위 구조를 활용하려면 특정 엔티티에 코드 엔티티를 넣고 서로 연관관계를 걸어 준 후에 fetch join으로 select 하는게 베스트 일까요?
@Test @DisplayName("쿠폰 여러 명 발급") void 쿠폰_여러_명_발급() throws InterruptedException { int threadCount = 1000; ExecutorService executorService = Executors.newFixedThreadPool(32); CountDownLatch latch = new CountDownLatch(threadCount); for (int i = 0; i < threadCount; i++) { final int threadNumber = i + 1; Integer key = i; executorService.submit(() -> { try { couponService.issueCoupon(param, usersMap.get(key)); } catch (PessimisticLockingFailureException e) { .... } 쿠폰 발급 동시성 처리 관련해서 테스트 코드 작성 간 궁금한 점이 있어서 질문을 올립니다. 구글링해서 작성해봤는데, 제가 이해하는 게 맞나 싶어서요... Executors.newFixedThreadPool(32) 이렇게 설정해주면, 32 개의 고정된 스레드 풀을 생성한다는 것이고 1,000 명의 유저가 해당 스레드 풀이 나눠서 작업이 수행된다는 것인가요 ? 그러니까 하나의 스레드에서 약 31명의 유저를 담당한다는 뜻일까요 ? 아니면 순차적으로 1,000 명의 유저를 하나의 스레드에 한 명씩 배치하여 작업하는 것이고, 실질적으로 한 순간에 32명의 유저만 작업한다는 뜻일까요 ? ㅠㅠㅠ
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
에러 내용 W/WindowOnBackDispatcher(25534): OnBackInvokedCallback is not enabled for the application. W/WindowOnBackDispatcher(25534): Set 'android:enableOnBackInvokedCallback="true"' in the application manifest. 증상: 실행시키면 녹색바탕에 codefactory 로고 와 인디케이터 화면이 나오면서 무지 오래 20분 이상 계속 되다가 로그인 화면으로 들어가네요 로그인 화면으로 바로 들어가야 하는데요. 그게 안되고 있습니다. 로그인 화면으로 들어갈 때 첨부한 사진 하단 2줄 메세지가 나오네요 (에러 내용 참조) 검색하면 증상 대처법이 나오는데 따라해도 똑같습니다. 설정 어디를 바꾸면 될거도 같은데 찾지 못하고 있습니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요! 아고라 모바일 + 웹 데모에서 실행을 했을 때, 3명이 들어왔다고 하면 mute 함수들을 써주려면, 어떤식으로 코드를 작동하면 3명이 전부 mute함수를 가질 수 있을까요? 현재 강의는 enableVideo라는 함수로 모바일 + 웹데모 참여자가 두명다 enable 이 되는 것 같은데... 저희 프런트 코드에서 3명에게 모두 mute버튼과 함수를 부여해주려면 어떤식으로 보통 설계가 들어가는지 궁금합니다.
안녕하세요. 아래 질문에 대한 답글을 보고 …rest에 대해 이해를 했는데요. https://www.inflearn.com/questions/1186424 몇 가지 궁금한 점이 생겨 질문 드립니다! 강의에서 나온 방식이 1번 어트리뷰트로 버튼 컴포넌트에 인자를 전달하는 것 맞을까요? App.jsx <Button styleType={"brand"} onClick={() => console.log("TODO: 주문하기 클릭")} > 주문하기 </Button> Button.jsx const Button = ({ styleType, block, ...rest }) => { let className = 'Button'; if (styleType) className += ` ${styleType}`; if (block) className += ` block`; return <button className={className} {...rest}/> }; export default Button; 위 App.jsx의 Button에 대한 JSX 코드를 JS 코드로 변환하면 아래와 같이 변환 되나요? onClick은 어떤 식으로 변환되는지 궁금합니다. createElement( Button, // 함수 { styleType: "brand" }, // props onClick: () => console.log("TODO: 주문하기 클릭") // children "주문하기 , 결제하기" // children ) onClick도 …rest 나머지 매개변수 구문에 들어갔는데, 개발자 도구에서 props를 보면 onClick은 onClick이라는 프롭스에 맵핑 되어 있습니다. rest 객체에 children, onClick 속성이 포함되어 있어서 내부적으로 구분해주는 것인가요? 아래처럼 작성 하는 게 2번 태그 안에 인자를 전달하는 방식 맞을까요? <Button styleType={"brand"} onClick={() => console.log("TODO: 주문하기 클릭")} children={"주문하기"} > </Button> 감사합니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 코드팩토리 디스코드 https://bit.ly/3HzRzUM Flutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! 3:40 초쯤에 11시라 써진 텍스트 위젯, 이미지 위젯, 보통 이라 써진 텍스트 위젯을 하나 하나 expanded 위젯으로 감싸서 서로 차지하는 공간을 가로로 균등하게 만들어 주고있는데요 그냥 row위젯에 mainAxisAlignment: MainAxisAlignment.spaceBetween, 추가하면 원하는 결과랑 똑같이 나오는거 같은데 이렇게 사용하면 안될까요?? 나중에 다른 작업때문에 저렇게 하는건지 궁금합니다 !! 이게 제가 말하는 방식입니다!!
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Android toolchain - develop for Android devices X Unable to locate Android SDK. Install Android Studio from: https://developer.android.com/studio/index.html On first launch it will assist you in installing the Android SDK components. (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions). If the Android SDK has been installed to a custom location, please use flutter config --android-sdk to update to that location. Android SDK is up to date. Running Android Emulator hypervisor driver installer [SC] ControlService 실패 1062: 서비스가 시작되지 않았습니다. [SC] DeleteService 성공 [SC] 4294967201 오류가 발생하여 StartService이(가) 실패했습니다. Done 이런 오류는 어떻게 해결하나요?
hashCode만 오버라이딩으로 재정의하면 해시코드는 같아지지만, 결국 equals비교 Object의 것을 사용해서 실패하게 된다고 하셨습니다. 그런데 MemberOnlyHash 클래스에서 equals를 재정의를 했다고 가정했을 때, 어떻게 MemberOnlyHash로 갈 수 있는 건가요? 오버라이딩 되어서 우선권을 갖고있는 건 알고있습니다. 이해가 안 가는 부분을 어떻게 말을 해야 할 지 조금 복잡하지만... 1번 코드 MyHashSetV2 set = new MyHashSetV2(10); NoEqualsOnlyHash m1 = new NoEqualsOnlyHash("A"); set.add(m1); 1번 코드에서 set에서 add를 호출합니다. 2 코드 public boolean add(Object value) { LinkedList<Object> bucket = buckets[hashIndex(value)]; if (bucket.contains(value)) { return false; } 그리고 2번 코드에 들어가게 되고 3번 코드 public boolean add(MemberOnlyHash m1) { LinkedList<Object> bucket = buckets[0]; if (bucket.contains(m1)) { return false; } 그러면 2번 코드가 실행되면 3번 코드처럼 되는 거라고 이해하고 있습니다. (hashIndex는 편의상 0이라고 하겠습니다.) 0번 인덱스에 있는 LinkedList <Object> 타입의 연결리스트가 나옵니다. 다음으로 if문으로 들어갑니다. 그리고 LinkedList <Object> 타입의 연결리스트(bucket)가(이) m1을 포함하는지 contains 메서드를 통해서 확인합니다. 여기서 질문입니다. 질문 1 : MemberOnlyHash 타입의 m1과 비교를 하는데 bucket은 여전히 Object타입입니다. (Object)bucket이 contains를 사용하는데 bucket은 MemberOnlyHash 클래스가 오버라이딩 한 것을 어떻게 알고 찾아가는지 이해가 되지 않습니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
제 생각이 조금이라도 이상한 곳이 있다면 말씀해주세요 ~! ㅎㅎ 첫번째 질문은 , detail_screen.dart에서 initState에 ref.read(restaurantProvider.notifier).getDetail(id: widget.id); 만 사용하였는데 만약 restaurantDetailModel이 이미 있는 id를 또 getDetail한 거였다면, 다시 getDatil을 호출할 필요가 없으므로 이떄 initState에 ref.read(restaurantDetailProvider) is restaurantDetailModel 라면 getDatil을 호출하지 않겠다를 추가로 넣으면 좋겠다 생각하는데 제 생각이 어떠한가요?? 두번째 질문은 restaurant > provider > restaurant_provider.dart 에서 네트워크 요청을 하다가 등등 에러가 날수 있을 거 같은데 여기는 catch 로 잡아서 state를 왜 error로 만들지 않았나 궁금합니다..!
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
내용은 전반적으로 이해가 됩니다. 질문내용은 print로 찍어봐서 라이프사이클은 initState -> build -> initState타이머만 작동하는거를 알 수 있었는데 initState에서 build로 갔으면 타이머가 작동을 어떻게 하나요? initState에서 build로 가고 clean 후 deactivate로 안가고 initState 타이머로 가는 원리가 궁금합니다. 제가 머릿속으로 생각해봤을때는 initState 시작 후 마치 반복문 무한루프처럼 build로 갈 수 없고 계속 타이머 돌아가지 않나 싶어서요
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
:: Spring Boot :: (v2.7.6)2024-05-14 22:36:58.248 INFO 26124 --- [ main] c.g.libraryapp.LibraryAppApplication : Starting LibraryAppApplication using Java 17.0.10 on chaenisnotebook with PID 26124 (C:\Users\chaye\Desktop\library-app\library-app\build\classes\java\main started by chaye in C:\Users\chaye\Desktop\library-app)2024-05-14 22:36:58.248 INFO 26124 --- [ main] c.g.libraryapp.LibraryAppApplication : No active profile set, falling back to 1 default profile: "default"2024-05-14 22:36:58.844 INFO 26124 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.2024-05-14 22:36:58.928 INFO 26124 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 72 ms. Found 1 JPA repository interfaces.2024-05-14 22:36:59.414 INFO 26124 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)2024-05-14 22:36:59.422 INFO 26124 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]2024-05-14 22:36:59.422 INFO 26124 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.69]2024-05-14 22:36:59.509 INFO 26124 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2024-05-14 22:36:59.509 INFO 26124 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1231 ms2024-05-14 22:36:59.627 INFO 26124 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2024-05-14 22:36:59.864 INFO 26124 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.2024-05-14 22:36:59.907 INFO 26124 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]2024-05-14 22:36:59.978 INFO 26124 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.14.Final2024-05-14 22:37:00.160 INFO 26124 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}2024-05-14 22:37:00.248 INFO 26124 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect2024-05-14 22:37:00.694 INFO 26124 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]2024-05-14 22:37:00.701 INFO 26124 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'2024-05-14 22:37:00.967 WARN 26124 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userServiceV1' defined in file [C:\Users\chaye\Desktop\library-app\library-app\build\classes\java\main\com\group\libraryapp\service\user\UserServiceV1.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.group.libraryapp.repository.user.UserJdbcRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}2024-05-14 22:37:00.967 INFO 26124 --- [ main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'2024-05-14 22:37:00.970 INFO 26124 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2024-05-14 22:37:00.976 INFO 26124 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.2024-05-14 22:37:00.977 INFO 26124 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]2024-05-14 22:37:00.988 INFO 26124 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2024-05-14 22:37:01.006 ERROR 26124 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : ***************************APPLICATION FAILED TO START***************************Description:Parameter 0 of constructor in com.group.libraryapp.service.user.UserServiceV1 required a bean of type 'com.group.libraryapp.repository.user.UserJdbcRepository' that could not be found.Action:Consider defining a bean of type 'com.group.libraryapp.repository.user.UserJdbcRepository' in your configuration.Process finished with exit code 1 계속 서버 실행 실패가 떠서 userConfiguration 클래스를 삭제 했는데도 해결이 안 됩니다 ㅠㅠ
1. linkedList는 deque 구현체입니까? 아니면 list 구현체입니까? 만일 LIst 구현체인것도 있고 Deque구현체인것도 있으면 new LinkedList<>(); 했을때 부모로 덱과 리스트중 누구를 앞에 내세워야합니까? 강의에서 linkedList보다 ArrayList가 더 빠르다 하셨는데 그럼 LinkedList 를 쓰는 자리에는 ArrayDeque를 쓰는게 일반적입니까?
안녕하세요 선생님! 너무나 좋은 강의 잘 듣고 있습니다. 17:28 에서 .EmotionItem 을 가운데 정렬할 때 text-align: center 를 사용하셨는데요. display: flex 와 text-align: center 중 어떤 것을 사용할지에 대한 기준이 있으실까요? 리액트 강의라 크게 중요한 부분은 아니지만 수업 중 flex 를 사용하신 경우가 더 많았던 것 같아 질문을 드려봅니다! 🥺
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! DiaryList.jsx 파일에서 option이나 Button 태그의 옵션에 보면 value={"latest"}나 type={"POSITIVE"} 이런 식으로 { } 를 사용하셨던데 없이 해도 출력이 잘 되는데 꼭 써줘야 하는지 궁금합니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
IOS 시뮬레이터 사용하여 로고 클릭시 Lost connection to device. Error: Unable to terminate com.example.vidPlayer on 6913EF1F-C2DE-4C17-A1F2-7948E943B273: ProcessException: Process exited abnormally with exit code 3: An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=3): Simulator device failed to terminate com.example.vidPlayer. found nothing to terminate Underlying error (domain=NSPOSIXErrorDomain, code=3): The request to terminate "com.example.vidPlayer" failed. found nothing to terminate found nothing to terminate Command: /usr/bin/arch -arm64e xcrun simctl terminate 6913EF1F-C2DE-4C17-A1F2-7948E943B273 com.example.vidPlayer the Dart compiler exited unexpectedly. 오류가 뜨면서 어플 밖으로 나가버리네요. 해결방법 알 수 있을까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요. 제가 질문을 잘못했던거 같습니다. 데이터가 Map형태가 아니고 List형태일때 CursorPagination을 사용할 수 있나요? 목적은 CursorPaginationBase를 extends 하고 싶어서 입니다. 된다면 CursorPagination을 어떻게 구성해야 하는지 힌트를 좀 주실 수 있을까요? 아니면 보통 데이터를 Map 형태로 고쳐서 사용하나요? 아니면 제가 잘못이해한걸까요? 데이터가 meta나 data안에 있어야 하는게 Map형태라고 생각했는데 그게 아니고 List형태도 key와 value로 나누면 Map형태가 되는건가요?