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 + " "); } } 코드를 위와 같이 작성했는데 틀렸다고만 나와서 왜 틀렸는지 아무리 생각해봐도 잘 모르겠어서 질문합니다.
(6. 5) 소셜 로그인 구현하기 부분 보고 질문 드립니다. 현재는 사전에 자신 Github의 OAuth 정보를 입력해야 로그인 되는 것으로 보입니다. 혹시 이 정보를 사전에 등록하지 않고, github 로그인 버튼을 눌렀을 때, 아이디 비밀번호를 입력해, 그 때 인증을 유도하는 방법은 없나요?? 각기 다른 사용자들이 이 정보를 매번 등록할 수는 없지 않을까 싶어서 그렇습니다 !
7:33 초 타입스크립트 버전 선택 ctrl + shift + p 입력후 select type 로 하면 검색 결과가 안나오고 TypeScript: Select 검색해야 버전선택이 가능하니 안되시는분 참고하시길.. 처음 하는 분들은 안되고 한번 검색한 적이 있는경우 최근에 사용한 항목으로 검색이 되는듯하네요..
JobListener 를 구현하면서 동적으로 executionContext 를 밀어 넣을때 설명이 내가 이해한게 맞다면 오타가 발생한 듯 하다. 이렇게 InfiltrationPlanListener를 JobBuilder 의 listener() 메서드로 등록해주면 beforeStep() 메서드에서 동적으로 생성한 데이터를 각 Step에서 참조할 준비가 완료된다. 해당 문구의 작업은 JobExecutionListener 로 동작한 부분으로 beforeStep 이 아닌 beforeJob 에 의해서 동적으로 생성되는게 맞지 아니한가?!
안녕하세요, 선생님. 강의 잘 듣고 있습니다:) 먼저 클린코드 작성 방법까지 알려주시면서 생각없이 따라 치지 않게 해주셔서 감사합니다. 이번 챕터에서 useSignInWithPassword 에 넘기는 콜백을 통해 성공, 에러 등의 처리를 진행하셨습니다. 이걸 보고 이전에 진행했던 프로젝트 리팩토링 부분이 생각나서 잠시 보고왔는데, 당시에는 mutate 함수에서 자체적으로 제공하는 두번째 인자로 콜백을 넘겨주는 기능을 활용했더라구요. mutate: (variables: TVariables, { onSuccess, onSettled, onError }) => void 선생님이 알려주신 방식과 이 방식의 차이점을 알고 싶습니다. 그리고 차이가 없다면 어떤 방식이 조금 더 효율적일지 선생님 의견이 궁금합니다. 이 방식을 사용했을 때 콜백 타입 정의는 제대로 이루어집니다. 다만, 이렇게 하면 협업 시 코드 스타일 통일이 안될 것 같다는 생각이 들긴 합니다. 읽어주셔서 감사합니다.
킬구형 ㅎㅇ 요즘 형 spring-batch 오픈소스 이슈에서 잘 보고 있어. 진짜 형 대단한 거 같아. 형 그런데 나는 궁금한 게 있어 일단 이번에 나도 간단한 오타 수정으로 기여를 하기는 했는데 나도 이슈를 한번 찾아보고 싶은데 감이 안 잡혀서 형은 보통 이슈를 어떻게 찾는지, 아니면 오픈소스를 볼 때 팁 같은 게 있는지 궁금해.
안녕하세요, 강사님. 현재 자바 중급 2편을 이번 주 내로 수강 완료할 예정인 수강생입니다. 인프런에 올라와 있는 ‘김영한의 자바 공부법 로드맵’에서는 자바 고급 1, 고급 2를 뒤로 미루고 스프링 강의로 먼저 넘어가는 흐름을 추천해 주셨는데, 영상으로 올려주신 ‘김영한의 실전 자바 로드맵’에서는 자바 고급 1은 6강까지, 자바 고급 2는 전부 수강한 뒤 스프링으로 넘어가는 것이 최적이라고 말씀해 주셔서 두 로드맵 중 어떤 흐름을 따르는 것이 좋을지 고민되어 질문드립니다. 저의 목표는 다음과 같습니다. 올해 안에 「스프링 핵심 원리 - 기본편」까지 들어가는 것 스프링을 활용해서 직접 무언가를 개발해 보는 것 다만, 스프링을 빨리 배우고 싶으면서도 자바 기본기와 객체 지향에 대한 공부를 소홀히 하고 싶지는 않아서 인프런 로드맵처럼 자바 고급 1, 2를 건너뛰고 스프링으로 넘어가도 괜찮은 선택인지 확신이 서지 않습니다. 제 상황에서는 어느 로드맵 흐름을 따르는 것이 더 좋을지,자바 고급 1, 2를 어느 정도까지 수강한 뒤 스프링으로 넘어가는 것이 좋을지 추천해 주실 수 있을까요?
OAuthAttributes와 CustomOAuth2User 간의 차이가 궁금합니다. OAuthAttribute는 google로부터 받은 사용자 정보를 우리가 원하는 대로 확장 가능하게 하는 DTO라고 말씀해주셨고, CustomOAuth2User도 google로부터 받은 데이터 외에 별도의 사용자 정보를 추가하는 용도라고 말씀해주셨는데, 두 설명이 같은 의미처럼 느껴집니다. 두 클래스가 어떤 차이가 있는 건가요?
실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
안녕하세요 강사님 취준생으로써 강의 들으면서 궁금한 점 질문 드립니다. 1.CustomRepository형식 과 Impl 형식이 보통 어떨때 자주 쓰이는 지 궁금해서 질문 드립니다. 2.JPA 에서 작성한 것들을 Querydsl 로 바꿀때가 그럼 ByXxx 에서 조인조건이 두개이상 들어가면 무조건 Querydsl 자바코드로 바꾸어 주는 게 좋을까요?
[진도] 실용적인 도구 만들기 1: 개인 비용 관리 앱 (Supabase, 로그인 기능) [질문] 강의에서는 supabase 를 사용해서 카카오 로그인을 추가 했으나 현재 lovable 에서는 업데이트가 되어서 ai 로 명령시 supabase 를 추가로 연결 하지 않고 자동 Lovable Cloud 기능을 탑재합니다. 이경우 카카오 기능 추가를 명령하면 아래와 같이 지원이 안된다고 나옵니다. 그럼 supabase 추가로 연결 해야하나요? 카카오 로그인은 Lovable Cloud에서 기본 지원하지 않습니다. 현재 사용 가능한 소셜 로그인은 다음과 같습니다: 지원되는 소셜 로그인: Google ✅ (현재 활성화됨) GitHub Facebook Apple Discord Twitter Slack Spotify 카카오 로그인을 원하시면 커스텀 OAuth 구현이나 카카오 REST API를 직접 연동해야 하는데, 이는 복잡한 작업입니다. 추천 방안: 구글 로그인 사용 (대부분의 한국 사용자가 구글 계정 보유) 이메일/비밀번호 로그인 사용 카카오 로그인은 Lovable Cloud에서 기본 지원하지 않습니다. 현재 사용 가능한 소셜 로그인은 다음과 같습니다: 지원되는 소셜 로그인: Google ✅ (현재 활성화됨) GitHub Facebook Apple Discord Twitter Slack Spotify 카카오 로그인을 원하시면 커스텀 OAuth 구현이나 카카오 REST API를 직접 연동해야 하는데, 이는 복잡한 작업입니다. 추천 방안: 구글 로그인 사용 (대부분의 한국 사용자가 구글 계정 보유) 이메일/비밀번호 로그인 사용
킬구형 RetryPolicy 작동 방식이 policyMap 에서 우선 발생한 에러의 상위 카테고리를 찾고, RetryPolicy 에 들어있는 SimpleRetryPolicy 가 실제로 각 에러에 대해 어떻게 처리할지를 정하는 것 같은데 그러면 두 에러가 상속 관계에 있어야지만 정상적으로 작동하는 거 같은데 맞아? 그런데 예제 코드에 있는 HttpTimeoutException 와 HttpServerErrorException 는 상속 관계가 아니어서 아마 의도대로 작동하지 않을 것 같은데 한 번 검토해봐줄 수 있어? 참고로 나는 java17 + spring-boot-starter-batch:3.5.6 환경으로 진행중이야
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 질문 메뉴얼 링크 따라서 build.gradle을 설정했는데, Q파일이 보이지 않습니다. 사진을 보면 우측 other 파일 밑에 querydsl이 없는데 어떻게 해야 하나요? 현재 저의 build.gradle 입니다.
킬구형 강의 특별해서 좋아~ 즐길 수 있을거 같아! 이런 강의 의도를 더 믿음있게 하기 위해서 오타 제보~ 섹션 1. SYSTEM INIT: 스프링 배치 종결의 서막 2. 배치 처리, 시스템 종결의 서막💀 Flexible.png 이미지 내 오타 ItemReader interface 를 상속하는 RedisItemWriter 는 없다. RedisItemReader 가 존재한다
강의를 보고 궁금한 점이 생겨서 질문드립니다. 강의에서 구현된 송금 프로세스를 분석해보니, 출금은 정상적으로 잔고가 차감되지만 입금 시 받는 계좌의 잔고를 증가시키는 로직이 없는 것 같습니다. 예를 들어: - Choreography 방식: handleDepositSuccess() 메서드에서 SagaState만 COMPLETED로 업데이트 - Orchestration 방식: Transaction Service에서 deposit 기록만 생성 현재와 같이 데이터베이스가 서비스별로 분리된 상황 에서, 입금 성공 후 받는 계좌의 잔고를 증가시키는 로직을 어떻게 구현해야 하는지 궁금합니다. 제가 생각한 방법은: 1. Orchestration 방식 : Transaction Service의 REST 응답이 성공하면, Account Service에서 받는 계좌의 잔고를 증가시킴 2. Choreography 방식 : Transaction Service에서 deposit.success 이벤트를 발행하면, Account Service에서 이벤트를 consume하여 받는 계좌의 잔고를 증가시킴 이 두 가지 방식으로 접근하는 것이 맞는지, 아니면 다른 권장 방법이 있는지 알려주시면 감사하겠습니다.