저도 13분쯤에 create 테스트를 하다가 안 되어서 삽질했는데, 드디어 됐습니다. 원인은 createdAt, updatedAt에 값을 설정하지 않고 넣으려다 보니, null로 들어가서 에러가 발생했던 것이었습니다. 그리고 mysql에 접속했을 때는 use article; 로 DB에 접근해야 합니다. 저는 use database; 로 접근하고 있었네요. 이 과정에서 GPT의 도움을 많이 받았습니다. 13분쯤 진행다가 나오던 그 500 에러 로그는 애플리케이션을 확인해 봐야 하고요. 테스트 코드의 create 메서드에는 IDE의 설명도 같이 참고했습니다. 왜 오류가 떴는지 알려주더군요.
제 자력으로는 bfs로 풀어봤는데 정답이 뜨긴 했습니다. 그리고 선생님이 푸신 기법으로도 제출해보았더니 실행시간은 비슷하더라구요. 이 문제에서만은 bfs로 해결해도 되지만 뒤에 있는 문제를 풀기 전에 알아야할 코드이기에 선수학습 코드로 알고 있으면 될까요? 최소 스패닝 트리 문제는 bfs만으로는 풀 수가 없는걸까요...? 한 집합에서 노드들이 응축이 되지 않고 계속 연결만 되고 있는 상태에서 마지막으로 입력된(연결된) fb가 이 집합의 배열의 값이 되는건가요? 입력 예시로 보면 (1,2), (2,3), (3,4), (1,5)는 결국 하나의 집합인거잖아요? 여기서 5(fb)가 이 집합의 배열값으로 무조건 고정이 되는건지 궁금합니다.
반말은 조금 부끄러워서.. 존댓말로 질문드리겠습니다. ItemWriter에서 예외 발생 시 재시도 - 청크 단위로 재시도 관리 1. ItemWriter에서 예외 발생 시 ItemProcessor부터 처리가 재개된다. 2. ItemProcessor에서와 달리, ItemWriter에서의 재시도 횟수는 청크 단위로 관리된다. 요 부분에서 실제로 배치를 돌려보니 writer부터 재시작하는 것을 확인 가능했습니다.. 관련해서 원인을 분석해보니, 아래 결론에 도달했는데 맞을까요? processorNonTransactional() 설정이 켜져있으면 Item 단위로 처리 결과를 캐시에 저장하기때문에 processor는 모두 완료 처리 -> writer부터 시작 processorNonTransactional() 설정이 꺼져있으면 청크 단위로 완료 처리하기때문에 processor부터 다시 시작
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] package scanner.ex; import java.util.Scanner; public class ScannerWhileEx1 { public static void main(String[] args) { Scanner input = new Scanner( System.in ); while (true) { System.out.print("이름을 입력하세요 (종료를 입력하면 종료): "); String name = input.nextLine(); if (name.equals("종료")) { System.out.println("프로그램을 종료합니다."); break; } System.out.print("나이를 입력하세요: "); int age = input.nextInt(); input.nextInt(); System.out.println("입력한 이름: " + name + ", 나이: " + age); } } } 해당코드를 실행했는데 (줄바꿈처리도 잘 했습니다.) 커서가 저 상태에서 깜빡거리고, 아무 출력도 없어요.
킬구형, 청크 지향 처리 시 벌크 read를 할 수 있는 방법이 있어? ItemReader 사용 시 소스에서 1건 씩 데이터를 읽어온다면, 단건 SELECT문이 매번 날아가거나 아니면 JDBC의 ResultSet next()를 사용하는 것 같은데,, 전자면 DB 부하가 너무 심하고 후자여도 네트워크 IO가 꽤 발생할 것 같은데.. 지금 수백? 수천만? 건 정도의 데이터를 마이그레이션 해야하는 업무를 받았는데, 청크 생성 시 DB 부하나 네트워크 트래픽을 좀 줄이고 싶은데 다건 SELECT를 통해 처리하는 방법이 있을까?
backend-practice 로 시작하는 포트폴리오용 백엔드 서버만 접속이 가능하고 다른 서버들은 현재 접속할 수 없습니다. 이로인해 현재 포트폴리오용 사이트 실습을 제외하고 기본 강의에서 제시해주시는 코드 테스트가 불가능합니다. 약 일주일정도 살짝 넘게 강의 수강하면서 시도하는데 문제가 지속되는 것으로 봐서 관리가 안되고 있는 것 같은데 확인 부탁드립니다.
저는 풀스택 주니어입니다. 특수 목적을 위해 바닐라js에서 ,document.innerHTML이나 element.remove(), element.append() 등으로 html element의 생성과 삭제가 빈번한 로직을 다루고 있습니다. 이 때 종종 브라우저 렌더링의 실행 완료에 대해 명확하게 알지 못해서 찝찝한 채로 브라우저에 렌더링 일을 시키고 있습니다. 그러던 중 이벤트 루프 관련 3개 강의(16,17,18강) 를 듣고 복습차, 17강으로 다시 돌아와서 보는 2분18초 경에 브라우저 랜더링에 대해 궁금한게 생겼습니다. 예를 들면 const mySchedule = async () => { await randeringPipelineTask(); //랜더링파이프라인 await macroTask(); // 매크로태스크(); } 으로 구성된 mySchedule 메서드가 있다고 가정하겠습니다. macroTask()는 renderingPipelineTask()의 브라우저 페인트까지 모두 완료를 확인한 후에 실행될까요? 아니면 JS엔진이라는 것은, 페인트는 브라우저에 렌더링을 해달라고 부탁까지만하고 macroTask()를 실행할까요? ('실행의 시작'과 '실행의 끝'을 나눠서 생각해서 그런지 생각하면 할수록 햇갈립니다.)
마지막 강의에서 진행한 헥사고날 아키텍처 테스트에서 저는 아래와 같이 에러가 발생하고 있는데 어떻게 수정을 해야 할까요? 소스 코드는 동일한 것 같은데... 무엇이 차이인지 모르겠어요 13:09:39.840 [Test worker] INFO com.tngtech.archunit.core.PluginLoader -- Detected Java version 17.0.12 Architecture Violation [Priority: MEDIUM] - Rule 'Layered architecture considering all dependencies, consisting of layer 'domain' ('com.inflearn.splearn.domain..') layer 'application' ('com.inflearn.splearn.application..') layer 'adapter' ('com.inflearn.splearn.adapter..') where layer 'domain' may only be accessed by layers ['application', 'adapter'] where layer 'application' may only be accessed by layers ['adapter'] where layer 'adapter' may not be accessed by any layer' was violated (1 times): Method <com.inflearn.splearn.SplearnTestConfiguration.passwordEncoder()> calls method <com.inflearn.splearn.domain.member.MemberFixture.createPasswordEncoder()> in (SplearnTestConfiguration.java:19) java.lang.AssertionError: Architecture Violation [Priority: MEDIUM] - Rule 'Layered architecture considering all dependencies, consisting of layer 'domain' ('com.inflearn.splearn.domain..') layer 'application' ('com.inflearn.splearn.application..') layer 'adapter' ('com.inflearn.splearn.adapter..') where layer 'domain' may only be accessed by layers ['application', 'adapter'] where layer 'application' may only be accessed by layers ['adapter'] where layer 'adapter' may not be accessed by any layer' was violated (1 times): Method <com.inflearn.splearn.SplearnTestConfiguration.passwordEncoder()> calls method <com.inflearn.splearn.domain.member.MemberFixture.createPasswordEncoder()> in (SplearnTestConfiguration.java:19) at com.tngtech.archunit.lang.ArchRule$Assertions.assertNoViolation(ArchRule.java:94) at com.tngtech.archunit.lang.ArchRule$Assertions.check(ArchRule.java:86) at com.tngtech.archunit.library.Architectures$LayeredArchitecture.check(Architectures.java:347) at com.inflearn.splearn.HexagonalArchitectureTest.hexagonalArchitecture(HexagonalArchitectureTest.java:22) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at com.tngtech.archunit.junit.internal.ReflectionUtils.invoke(ReflectionUtils.java:111) at com.tngtech.archunit.junit.internal.ReflectionUtils.invokeMethod(ReflectionUtils.java:103) at com.tngtech.archunit.junit.internal.ArchUnitTestDescriptor$ArchUnitMethodDescriptor.execute(ArchUnitTestDescriptor.java:203) at com.tngtech.archunit.junit.internal.ArchUnitTestDescriptor$ArchUnitMethodDescriptor.execute(ArchUnitTestDescriptor.java:173) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
저는 그냥 이중포문은 복잡해 보여서 psvm { int row = 5; for(int i = 1 ; i <= row; i++) { sout("*".repeat(i)) } 이렇게 풀었는데 답은 제대로 나오긴 하는데 이중포문은 먼가 조건식이 두개를 복잡해서 처음에 아이디어가 안떠올랐는데 저렇게 풀었는데 이중포문으로 풀어야 나중에 더 복잡한 문제도 구현해 낼수 있나요??
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. static 메서드를 사용할 때 어쩔 때는 클래스 자체를 임포트 하시고 어쩔 때는 static 임포트를 하시는데 혹시 기준을 알 수 있을까요?
안녕하세요! 현재 flutter를 통한 IOS 앱스토어 등록을 진행하고 있는데요. 지금까지 진행 상황은 Apple Developer 등록 (1년 결제까지 완료) 그리고 승인 메일까지 받았습니다. Xcode를 통해서 4-9 App Store 출시하기를 따라하는 중인데, 5분 55초 부분에서 이제 Signing & Capabilities에서 Team을 등록한 Apple Developer 계정으로 선택을 했습니다. 그 이후에 Status에 아래의 에러 Status가 계속 나오면서 AI와 함께 이것저것 해보고 있는데 안되고 있는 상황입니다. 도와주세요! Communication with Apple failed Your team has no devices from which to generate a provisioning profile. Connect a device to use or manually add device IDs in Certificates, Identifiers & Profiles. https://developer.apple.com/account/ No profiles for 'com.xxx.xxxx' were found Xcode couldn't find any iOS App Development provisioning profiles matching 'com.xxxx.xxxxx'.
안녕하세요 !! 도메인 모델의 값 객체 도입편에서 궁금한게 있습니다. 패스워드는 passwordEncoder를 의존하여 암호화와 매치 여부를 확인합니다. 이메일 vo는 검증 패턴이 member만 사용하는 것이 아니라 다른 곳에서도 사용할 수 있고 중복된 코드를 줄이기 위해서 변경하셨습니다. password도 이메일 vo처럼 매번 passwordEncoder를 주입받는 게 아니라 password VO를 만들어서 관리할 수 있을거같은데 패스워드는 의존성 주입으로 해결하게 되신 이유가 궁금합니다
오타 발견 root@4ea86c29f1f7:/data# redis-cli set attack:2 "{\"id\":2,\"timestamp\":\"${TODAY}T09:28:47\",\"targetIp\":\"203.0.113.50\",\"attackType\":\"XSS\",\"payload\":\"<script>alert('HACKED!');</script>\"}" 위 명령어 실행 시, 아래와 같은 에러 메시지 발생! bash: !': event not found 에러 발생 원인 bash: !': event not found 에러는 Bash의 히스토리 확장(history expansion) 때문에 납니다. ! 문자(예: HACKED! )가 들어가면 bash가 ! 로 시작하는 히스토리 토큰(예: !! , !$ , !123 )으로 해석하려 하고, 매칭되는 히스토리 항목이 없으면 event not found 오류가 납니다. set +H # 히스토리 확장 끄기 ... redis-cli set attack:2 "{\"id\":2,\"timestamp\":\"${TODAY}T09:28:47\",\"targetIp\":\"203.0.113.50\",\"attackType\":\"XSS\",\"payload\":\"<script>alert('HACKED!');</script>\"}" ... set -H # # 히스토리 확장 켜기 OK redis key들을 set 하기 전에 히스토리 확장을 끄고 실행할 경우 정상 동작