[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] JDK은 21로 Gradle은 8.5로 맞췄는데요 gradlew build하면 BUILD FAILED가 뜨지만 localhost:8080 은 잘작동합니다. 파일경로에는 한글포함안되어있고 gradlew clean build해도 동일한 오류가 발생합니다. 해당 오류가 왜 발생하는지 그냥 진행해도 되는지 궁금합니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요. 강의에 없는 내용이지만, 검색을 며칠 째 하고 있으나 해결방법을 못 찾아서 이렇게 문의드립니다. 양해부탁드립니다.. flutter에서 retrofit을 사용하여 multipartforamdata 형식의 api를 호출할 때, application/json으로 보내야 하는 객체는 content type을 어떻게 지정해주어야 하는 걸까요? springBoot와 flutter로 개발 진행 중이고, api와 flutter는 각각 아래와 같이 작성하였습니다. // api @PostMapping(path = "", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public void temp(@RequestPart TempReq, @RequestPart List<MultipartFile> files) { // 생략 } // flutter에서 api 호출부 @POST('') @MultiPart() Future<void> temp(@Part() TempReq req, @Part() List<MultipartFile> files); flutter에서 api 호출 시 content type 'application/octet-stream' not supported 에러가 발생합니다. postman이나 swagger로 테스트 했을 땐 정상적으로 동작하는 걸 보면 api 문제는 아닌듯합니다. flutter에서 호출할 때도 files는 잘 들어오는데, TempReq 객체를 받을 때가 문제인 듯합니다. @Part 안에 content type을 application/json으로 지정해보았는데도 동일한 에러가 발생합니다.
비슷한 게시글을 봐도 이해가 잘 가지 않아서 재차 질문 드립니다 제가 이해하는 상황이 맞는지 고견 부탁드립니다 1. fetch = EAGER 쿼리가 두 번 실행 이것이 프록시 강의영상에서 말씀하시는 (N+1) 문제인지 궁금합니다 첫 번째 쿼리는 em.flush(), em.clear() 실행되면 영속성 컨텍스트가 비워지고 이후 jpql 쿼리가 실행되면서 EAGER 패치 전략에 따라 Team도 함께 조회가 됩니다. 두 번째 쿼리는 영속성 컨텍스트가 비워졌고 EAGER 패치 전략으로 조회되어야 합니다. 실제 엔티티로 조회되어야 하는걸로 알고있습니다 하지만 특정 시점에서 Team이 프록시로 로드 되었고 이후 프록시가 초기화되면서 다시 데이터베이스에서 조회하면서 발생한 쿼리로 생각이 듭니다
@Configuration public class ObjectFactory { @Bean public PaymentService paymentService () { return new PaymentService(exRateProvider()); } @Bean public ExRateProvider exRateProvider() { return new WebApiExRateProvider(); } } 여기서 Bean 어노테이션을 붙이면 paymentService가 호출되지 않아도 paymentService와 exRateProvider의 의존관계가 설정이 되는게 맞나요?? 만약 exRateProvider에만 Bean 어노테이션을 붙이지 않으면 어떻게 되는 건가요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 자바 8이후로는 힙 영역에 있다고 하는데 맞나요?? 자료에는 메서드 영역에 있길래 여쭤봅니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 실사용은 Executor(멀티스레드), Look(동시성)을 위주로 사용하는 거죠?
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요 🙂 프로그래밍 초보이지만, 플러터 강의 덕분에 즐겁게 공부하고 있습니다. 아래 코드에서, https://blog.codefactory.ai 로 Uri를 연결했더니, 코드팩토리님 블로그로 잘 연결되는데요, final homeUrl = Uri.parse('https://blog.codefactory.ai'); class HomeScreen extends StatelessWidget { WebViewController controller = WebViewController()..loadRequest(homeUrl); HomeScreen({super.key}); 제가 처음에 오타로 https를 http로 입력했더니, 오류가 발생하더라구요. 혹시 원인을 설명해주실 수 있나요?ㅜㅜ
이해가 잘 되게 설명해주시고, 강의 자료도 너무 잘 정리해주셔서 강의 너무 잘 듣고 있습니다 😃 강의 자료에서 오타를 찾은 것 같아 전달드립니다~ Dart -> 04.JSON & 직렬화 -> 직렬화 & 역직렬화 하단 직렬화, 역직렬화 코드에 "철수" 가 "철수 로 큰따옴표 하나가 입력안된 것 같아요! 강의 제공해주셔서 너무 감사합니다!
ReentrantLock에서 lock.unlock()을 호출하면, 대기 중인 스레드들이 락을 획득하려고 서로 경쟁하게 됩니다. 제가 이해한 바로는, unlock이 호출된 후 스레드들중 락을 획득한 한개의 스레드는 RUNNABLE 상태로 전환되고, 나머지 락을 획득하지 못한 스레드들은 다시 WAITING 상태로 돌아가는 것이라고 알고 있습니다. 이 과정에서 스레드들이 경쟁하는 순간의 상태가 정확히 어떻게 되는지 궁금합니다. 경쟁순간에는 락을 획득하려는 스레드들 모두 RUNNABLE 상태인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 인텔리제이의 설정화면 두곳이 있습니다. 하나는 settings > build, Execution, Deployment > build Tools > Gradle > 맨 하단 Gradle JVM 다른 하나는 project Structure > project settings > project > sdk 위 두 곳은 어떤 차이점이 있는 것인지 알고싶습니다. 둘다 JDK경로를 지정하는 것처럼 보이는데 Dependency requires at least JVM runtime version 17 에러를 마주했을 때 후자에서 해결을 해보려고 해도 해결이 안됐었습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요! 항상 선생님께서 진행하시는 문제 풀이를 수강한 이후에, 혼자 좀 더 나은 방식으로 만들 수는 없을까 고민을 하는데요, Method를 배우고 난 이후로, 코드를 대부분 Method로 넘겨서 작성하다 보니 '기능을 전부 Method로 넘겨서 작성하는 것이 진짜 잘 작성한 코드가 맞을까?' 하는 의문이 들었습니다. 아래는 마지막 문제를 제가 코딩한 내용인데요, 두 가지 질문이 있습니다. 실무적인 관점과 비교해서 아래의 코드처럼 작성하는 방식(모든 기능을 Method에 집약한 방식)이 괜찮은 방식인가요? 코드의 개선점이 있다면 어떤 점을 개선하면 좋을까요? 항상 좋은 강의 해주셔서 감사합니다! package ref.ex; import java.util.Scanner; public class ProductOrderMain2 { public static void main(String[] args) { int num = orderCount(); ProductOrder[] orders = new ProductOrder[num]; createOrder(orders); orderPrint(orders); } static int orderCount() { Scanner scan = new Scanner(System.in); System.out.println("-----------------------------------"); System.out.println(" 상품 등록 시스템 "); System.out.println("-----------------------------------"); System.out.print("입력할 주문의 개수를 입력하세요: "); int num = scan.nextInt(); System.out.println(); return num; } static void createOrder(ProductOrder[] orders) { Scanner scan = new Scanner(System.in); for(int i = 0; i < orders.length; i++) { orders[i] = new ProductOrder(); System.out.println((i+1) + "번째 주문 정보를 입력하세요"); System.out.print("상품명: "); orders[i].productName = scan.nextLine(); System.out.print("가격: "); orders[i].price = scan.nextInt(); System.out.print("수량: "); orders[i].quantity = scan.nextInt(); scan.nextLine(); System.out.println(); } } static void orderPrint(ProductOrder[] orders) { int total = 0; for(ProductOrder P : orders) { System.out.println("상품명: " + P.productName + ", 가격: " + P.price + ", 수량: " + P.quantity); total += (P.price * P.quantity); } System.out.println("총 결제금액: " + total); } }
3 2 3 5 1 테스트케이스를 위와 같이 입력할 경우 정답 코드대로 하면 Intger.MAX_VALUE인 2147483647이 답으로 나올 것 같아서요. 이렇게 추가코드를 넣어야 하는것 아닌지 궁금합니다. import java.util.*; class Main{ static int n, m; static int[] dy; public int solution(int[] coin){ Arrays.fill(dy, Integer.MAX_VALUE); dy[0]=0; for(int i=0; i<n; i++){ for(int j=coin[i]; j<=m; j++){ dy[j]=Math.min(dy[j], dy[j-coin[i]]+1); } } /* 추가코드 for (int i = 0; i <= m; i++) { if (dy[i] == Integer.MAX_VALUE) { dy[i] = 0; } } */ return dy[m]; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); n=kb.nextInt(); int[] arr=new int[n]; for(int i=0; i<n; i++){ arr[i]=kb.nextInt(); } m=kb.nextInt(); dy=new int[m+1]; System.out.print(T.solution(arr)); } }