안녕하세요 제목 그대로 궁금한 점 있는데, 예를 들어 a라는 service가 b와 c라는 service를 주입 받는 상태이고 여기서 c는 또 d라는 service를 주입 받는 구조가 있다면 이건 정상적인 부분일까요? service가 service를 주입 받는 것이 괜찮은지, 괜찮다면 그것의 depth가 늘어나서 a <- b, c <- d 이런식이 돼도 괜찮은지 궁금합니다!
public class Main { public static int solution(int N, int[][] numberList){ int answer = 0; int max = 0; for (int i = 0; i < N; i ++){ int cnt = 0; for (int j = 0; j < N; j ++){ for (int k = 0; k < 5; k ++){ if (numberList[i][k] == numberList[j][k]){ cnt++; break; } } } if (cnt > max){ max = cnt; answer = i + 1; } } return answer; } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int [][] numberList = new int[N][5]; for (int i = 0; i < N; i++) { String input = br.readLine(); String[] numberStrings = input.split(" "); for (int j = 0; j < N; j++){ numberList[i][j] = Integer.parseInt(numberStrings[j]); // 입력부분은 잘 됨. } } System.out.print(solution(N, numberList)); } } 선생님 코드와 다른 부분은 int [][] numberList = new int[N][5]; 이 부분과 for문의 시작값을 0으로 시작한다는 것입니다. 그치만 오답이 뜨네요.... 뭔가 놓치고 있는 게 있을까요??
프론트딴에서 어떻게 데이터를 쓰는건가요? 원래 실습할떄 @Controller 어노테이션이면 모델에 담아서 뷰에 전송하고 타임리프로 사용하는건데 REST API는 어떻게 화면에 데이터를 보여지고 진행되는지 궁금합니다.. 그리고 이렇게 개발하면 백앤드에서 기능 구현하고 그 다음에 프론트개발자들이 작업하는건가요? 아니면 프론트가 먼저 개발하고 그 다음에 백앤드가 구현하는건가요?
안녕하세요 선생님. 초급강의부터 강의 잘 듣고있는 학생입니다. 선생님 덕분에 22년도에 취업 성공했어요^^ 감사합니다. 다름이아니라.. 세 번째 예제에서 nums가 [2,0,0,0,0,2]일 때, 양 끝에 하나씩 스프링쿨러를 설치하면 모든 범위가 커버되는 게 아닌가요..? ㅠㅠ
5:35초 부근 sum += n[i] 일때 왜 한번에 n 값을 다 더해주나요? n=1일때 스위치문 타고 n이 2일때 스위치문 타는 걸로 보면 안되는 이유가 궁금합니다 그리고 6:08 초에도 int가 3일때 케이스문 타는건 이해했는데요 그럼 k 값은 아무 필요가 없는걸까요?
메서드 오버로딩에서 메서드 시그니처에 매개변수 순서만 다르면 메서드 이름이 같아도 다른 메서드로 인식한다고 배웠는데요. 예시로 add(int a, int b) add(int b, int a) 이렇게 해도 메서드 오버로딩이 적용되는지 궁금합니다. 제가 생각할 때는 뺄셈,나눗셈의 경우도 있어서 다르게 인식할 것 같은데 알려주시면 감사하겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG ) private에 final이 있으면 이미 불변객체니까 setvalue같은게 없으면 이미 불변인데 강사님은 imuutable이라는 용어를 다시 정의하셔서 저렇게 썼을때 뭔가 다른 의미가 있을까요?! 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.
안녕하세요 우선 저는 파라미터는 메소드의 매개변수로 넘겨지는 값을 의미한다고 알고 있습니다 그리고 api 개발에서 보통 파라미터를 dto로 넘긴다고 알고 있습니다. 근데 실무에서 파라미터라고 하면 대게 요청, 응답값만 이용되고 개발자들끼리 파라미터 뭐로 설정했냐 등 얘기가 나올때의 파라미터로는 필수값을 의미한다 라고 얘기를 들었습니다. 그러니까 선택적으로 넘기는 경우도 있겠고, 메소드 내부에서 다른 메소드로 넘기는 파라미터도 있겠지만 다른 개발자랑 대화하는 과정에서 파라미터 뭐로 설정했냐 등 얘기가 나오게 될 경우 요청 중 필수값(not null)에 대한 얘기인거다. 선택값도 있겠지만 보통 파라미터로 선택값이 넘어가는 경우는 많지 않다 메소드 내에서 넘겨지는 값은 어차피 나 혼자 확인하는거라 다른 개발자한테 말할 필요가 없다 라고 말 해주셨는데 진짜 인가요? 그러니까 이론 상의 파라미터 정의와 실무에서의 파라미터 정의가 다른 것 같다고 하더라고요.. 저는 강의를 보고 controller 에서 dto를 파라미터로 넘기고, 그 dto에는 설계에 따라 다르겠지만 필수, 선택값들이 혼용된 채 사용 될 수 있다고 이해했는데 실무에서는 파라미터의 정의가 다르게 사용되고 있는건지 궁금합니다..
테스트 끝나고나서 데이터를 클리어해주는 방법을 설명하시기 전에 findAll()함수에서 오류가 나타나야 하는데 전 왜.. 다 초록불이 뜰까요 package com.example.hello_spring.repository; import com.example.hello_spring.domain.Member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import java.util.List; import java.util.Optional; import static org.assertj.core.api.Assertions.*; public class MemoryMemberRepositoryTest { MemberRepository repository = new MemoryMemberRepository(); @Test //실행할 수 있게함 public void save() { Member member = new Member(); member.setName("spring"); repository.save(member); Member result = repository.findById(member.getId()).get(); //Assertions.assertEquals(result, member); // result와 member가 같은지 확인 assertThat(member).isEqualTo(result); } @Test public void findByName(){ Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); Member result = repository.findByName("spring1").get(); assertThat(result).isEqualTo(member1); } @Test public void findAll(){ Member member1 = new Member(); member1.setName("spring"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); List<Member> result = repository.findAll(); assertThat(result.size()).isEqualTo(2); } }
이 부분에서 wrapper__left__body가 튀어나온 이유가, wrapper__left가 정렬되지 않아서라고 하셨고, 그래서 자동으로 div가 block단위이고 한 줄 띄어진 것처럼 된 거다 라고 하셨습니다. 근데 div가 block단위이고 한 줄 띄어진 것처럼 되는 게 이해되지 않습니다.. 한 줄 띄어진거면 바로 밑으로 붙여져서 안 튀어나가야하지 않나요? wrapper__left__body크기가 어차피 부모 height에서 wrapper__left__header부분을 뺀 크기의 100%라면요! 아니면 혹시 정렬을 해야지만 부모 height에서 wrapper__left__header부분을 뺀 크기의 100%라고 이해할 수 있는 걸까요? 정렬을 따로 설정하지 않으면 그냥 부모 height의 100%를 가져와서 튀어나가는 걸까요?
[싸이월드만들기1탄]에서 wrapper 사이즈가 어떻게 된 건지 궁금합니다. 부모-속성을 보면 background -> outerbox -> wrapper -> wrapper__left, wrapper__right입니다! 이때, background와 outerbox는 따로 크기를 지정해주었는데, wrapper는 따로 크기를 지정하지 않았더라고요! 그러면 wrapper크기는 자동으로 지정되나요? 부모클래스인 outerbox의 width와는 동일한데 height는 달라서요! 혹시 어떻게 지정되는 건지 알 수 있을까요?
게시글 등록 화면에서 작성자, 비밀번호, 제목, 내용 값이 입력되면 등록하기 버튼의 색을 변경해주시고 반대로 값이 입력되지 않았다면 다시 원래 색인 회식으로 되돌리기 freeboard_frontend 게시글 목록 화면을 구현해주세요. 게시글 상세 화면에서 삭제하기 기능을 구현해주세요. 이게 포폴과제인데, section11의 포폴리뷰 영상에는 오직 2번에 대한 내용만 있는듯하고 1,3번에 대한 내용은 아예 빠져있네요. github에 삭제쿼리 한줄조차 없네요. 너무 부실한거 아닌가 싶습니다.
[String 클래스 - 문제와 풀이2 - 문제7] 과 관련된 질문입니다. 이전 강의에서 String은 불변 객체라고 하셨는데요, 그렇다면 사진과 같이 코드를 작성을 했을 때 출력값이 trim()을 호출하기 전의 값이 되어야 할 것 같은데 실행을 해보면 trim()을 호출한 이후의 값이 출력이 됩니다. 제가 어떤 부분을 잘못 이해하고 있는 걸까요??
4:32초 문제 메인 클래스 두번째 줄 A s2 = new B('Y"); 를 실행하면 B(char x) 생성자를 호출하잖아요. 여기서 원래 부모의 기본 생성자를 불러야 하는데 this();가 첫줄에 있어서 B클래스의 기본생성자를 호출한거죠?? this();때문에 B클래스의 기본생성자를 호출햇는데 B클래스의 기본생성자에 super();가 없었어도 A클래스의 기본생성자 호출 -> B클래스의 기본생성자 호출 -> B(char x)의 출력문 시행하는게 맞을까요??