안녕하세요 딩코딩코 선생님. 다름이 아니라 궁금한 점이 있어 Q&A에다가 글을 올립니다. 6주차 까지 진행을 하며 현재 실제 업무를 하며 해결한 내역들에 대해 다시 한번 정리 해 보는 시간을 가지려고 합니다. 이러한 과정을 수행했을 때 혹시 피드백을 해 주실 수 있는지 궁금합니다.
안녕하세요. 다른질문에도 동일하게 있는데 답변이 조금 모호한거같아서 다시 질문 드립니다. 강의 자료의 해당 강의 부분을 보면 org.springframework.data .repository.Repository 를 구현한 클래스는 스캔 대상 라고 되어있는데, 제가 이해한 바로는 이 부분이 org.springframework.data .jpa.repository.JpaRepository 를 상속받은 인터페이스 는 스캔 대상 이렇게 수정되어야 할 것 같은데 맞을까요..??
킬구형 잘 지내고 있는가? 날이 차가워졌다가 말다가 뒤죽박죽 3장 작전1의 JpaCursorItemReader 를 활용한 postBlockBatchJob 에 문제가 있어 보인다. 킬구형이 해킹을 잘한다지만, 우리는 못한다!!! 명령어에 jobParameters 가 제외 되었는데 이런 좋은 해킹 공유 해주면 좋겟다! postBlockBatchJob 은 startDateTime / endDateTime 를 필요로 하는 명령어로 보인다. 아래와 같이 구동해야 정상 작동이 되는걸로 보인다 ./gradlew bootRun --args='--spring.batch.job.name=postBlockBatchJob startDateTime=2025-11-16T00:00:00,java.time.LocalDateTime endDateTime=2025-11-20T00:00:00,java.time.LocalDateTime'
현재 윈도우 환경에서 학습 중이어서 형님께서 싫어하실 수 있겠지만, 꽤나 흥미로운 것을 발견해서 형님께(강의내용에 도움이 되실 수도 있을까 하여) 제보드립니다! 참고로 저의 경우 IntelliJ의 powershell에서 echo를 하고 csv/txt내용수정은 IntelliJ에서 직접 하였습니다. 1) csv 실행시 오류 최초 실행시 파싱불가 오류가 발생하였는데, csv파일에서 문제점은 없을 것으로 판단하여 프로젝트의 인코딩을 utf-8에서 EUC-KR로 변경해주었습니다. 이러면 정상 작동하였습니다. 2) fixedLength 실행시 오류 역시 최초 실행시 파싱불가 오류가 발생하였습니다. 로그를 살펴보았을때 인코딩이 잘못되었을 것으로 판단하여 프로젝트의 인코딩 설정과 해당 txt파일의 인코딩 설정을 모두 utf-8로 바꿔주었습니다(utf-16/utf-16LE/utf-16BE 모두 오류 발생, 특히 저 인코딩 문제는 utf-8에서만 유일하게 발생하지 않아서 utf-8 인코딩만 가능한 것으로 보임). 이래도 파싱문제가 발생하였는데, .columns(new Range[]{ new Range(1, 8), // errorId: ERR001 + 2 new Range(9, 29), // errorDateTime: 19 + 2 new Range(30, 38), // severity: CRITICAL/FATAL + padding new Range(39, 44), // processId: 1234 + 2 new Range(45, 66) // errorMessage: msg + \n }) severity 부분을 30 ~ 39 가 아닌 30 ~ 38로 바꿔주었고 마지막 errorMessage 부분을 46 ~ 66이 아닌 45 ~ 66으로 바꿔주었습니다(21자리 -> 22자리) echo로 공백을 입력해주었지만 실제 파일을 보았을때는 공백이 먹히지 않았던 것 같습니다. 그래서 아래와 같이 공백대신 문자열 1개를 그냥 입력해주었습니다. echo를 통한 개행이 먹히지 않아 위와 같이 intellij로 txt파일을 변경해주었습니다. 마지막 문자는 DETECT + 공백 + 개행 -> DETECTS + 개행으로 공백을 제거해주었습니다. 이렇게 했을때 최종적으로 빌드성공하였습니다. 저 Range범위, 특히 severity 범위를 왜 저렇게 구성해야 하는지, 이게 윈도우 실행 환경만 이런건지, 제 환경에서만 이런 문제가 발생하는건지..아직도 모르겠지만.. 형님께 제보를 해드리면 좋을 것 같아서 남겨봅니다!
디바이스 선택시 Chrome(web)과 저의 실물 핸드폰 연결해서 했더니 안드로이드 스튜디오 코드는 잘 돌아갑니다. 하지만 BoardViewModel.dart 코드에서 설정한 url그대로 따라 쳤는데 swagger ui에서 계속 화면처럼 response body가 비어있습니다.. 계속나와서 혹시 전체 소스코드 공유 안될까요??
킬구형 5장. 작전2: Run Squad 장악 작전 공부중인데, Process finished with exit code 0 이라는 문구 자체가 나오질 않아. 혹시나 싶어서 새 프로젝트 만들어서 시도해봐도 마찬가지고,, 윈도우 11, java 17에 org.springframework.boot:spring-boot-starter-batch:3.5.7 환경에서 개발중인데 혹시 버전이나 OS 문제일까?? 아니면 뭔가 설정을 빼먹은건지 모르겠네.. 혹시 몰라서 application.yaml 설정도 첨부해 spring: application.name: demo output.ansi.enabled: always datasource: url: jdbc:h2:mem:test;DB_CLOSE_DELAY=-1 driver-class-name: org.h2.Driver username: sa password:
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 이 부분에서 Student student를 선언하고 new Student();를 안했는데 어떻게 바로 .name같은 거를 사용할 수 있는 건가요? 다른 부분에서는 꼭 객체를 먼저 생성해야 접근을 할 수 있는데 이 함수에서는 왜 가능한건가요? static void initStudent(Student student, String name, int age, int grade) { student.name = name; student.age = age; student.grade = grade; }
package section06_Sorting_Searching.no06_fail; import java.util.*; public class Main { public int[] solution(int n, int[] arr) { int [] answer = new int[2]; for (int i = 0; i < n-1; i++) { if (arr[i] > arr[i+1] && answer[0] == 0) { // 첫번째 바뀐 지점 answer[0] = i+1; } else if (arr[i] > arr[i+1] && answer[0] != 0) { // 두번째 바뀐 지점 answer[1] = i+2; break; } if (i == n-2) answer[1] = answer[0] + 1; // 서로 인접한 상태에서 바꼈을때 } return answer; } public static void main(String[] args) { Main m = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = sc.nextInt(); } for (int x : m.solution(n, arr)) System.out.print(x + " "); } } 코드를 위와 같이 작성했는데 틀렸다고만 나와서 왜 틀렸는지 아무리 생각해봐도 잘 모르겠어서 질문합니다.
그랩님, 강의 잘 듣고 있습니다. 다름이 아니라 궁금한 사항( =에러 해결방법 ) 이 필요해서 글을 남기게 되었습니다. 101강 에서 Axios 에러(400) 가 안드로이드 스튜디오 에뮬레이터에서 발생 하고 이어 아래의 추가 사진2 에서 보시다시피 502 Bad Gateway가 발생 하여 어떻게 해결 할 수 있는지 에 대해 알고 싶어서 질문 드립니다. 일단 101강 처음부터 ~ 4분 52초까지 그랩님께서 작성하신 소스코드를 똑같이 작성 후 결과 를 보려하는데, 농구공 그림 (세부사항:판매자:그랩,가격,상품명등등) 이 나오지 않아 서 이것을 어떻게 하면 그랩님과 같은 결과를 볼 수 있을지에 대해 여쭈어봅니다. 사진 1 첨부 : 판매되는 상품들 밑에 100강만 들었을 시에 농구공 화면이 잘 나왔으나 101강 4분 52초까지 의 내용의 소스코드를 입력 후 결과값 보면 400 에러도 발생하고 농구공도 안나오게 됩니다. 어떻게 해야 하나요? 사진 2 첨부 : ngrok http 8080후 진행 하면, 아래와 같이 502 Bad Gateway라고 뜨는데, 이 에러 의미와 무엇이 잘못된건지 그리고 어떻게 해결 해야 하는지 답변 주시면 좋겠습니다. 이어서 중간에 아래 사진 과 같은 절차 를 겪었었는데요, 필요할 것 같아 참고 로 스샷을 첨부합니다. axios 설치 후 grab-market-mobile에서 npm start하니 다른 프로세스에의해 포트 8081이 사용 되고 있는데 8082 포트를 대신 쓸거냐는 질문 에서 y or n 하라는데 y하게 되었는데요 , 이 다음에 어떻게 해야 그랩님 강의와 똑같이 잘 작동할 수 있을까요? 더불어서 또 다른 에러가 발생하는데요, 또 다른 에러는 cmd에서 ngrok http 8080 입력 후 포워딩 주소 를 크롬브라우저에 복사 후 붙여넣으면 , 이전 밑에 질문에서는 정상 작동되었으나 지금 은 아래와 같이 바뀐 에러 가 발생 하였습니다. 해결법을 모르기에 아래에 사진을 첨부합니다. 꼭 답변 부탁 드립니다. 그랩님의 답변 부탁 드립니다.
JobListener 를 구현하면서 동적으로 executionContext 를 밀어 넣을때 설명이 내가 이해한게 맞다면 오타가 발생한 듯 하다. 이렇게 InfiltrationPlanListener를 JobBuilder 의 listener() 메서드로 등록해주면 beforeStep() 메서드에서 동적으로 생성한 데이터를 각 Step에서 참조할 준비가 완료된다. 해당 문구의 작업은 JobExecutionListener 로 동작한 부분으로 beforeStep 이 아닌 beforeJob 에 의해서 동적으로 생성되는게 맞지 아니한가?!