27:15 쯤 조건식 없는 break 2번째 예시에서 if(i>=10) 이면 break인데 pdf 문서에 보면 2*10=20까지 출력이 되어 있어서 왜 그런지 궁금합니다. break 1번째 예시에서는 if(i>=5) 면 break 니까 i의 값: 5가 출력이 안되서 마지막 출력값이 i의 값: 4 라고 되어 있어서요.
안녕하세요 딩코님! 좋은 강의 잘 들었습니다. 강의를 듣다가 조언을 구하고 싶은게 있어서 질문 남깁니다. 저는 현재 주니어 개발자로 일으나 부하테스트 같은것을 회사에서 해볼 수 없는 상황이라(운영 인력이 아님...또한 작은 시스템이라 모니터링도 없고 구축할수도 없는 환경)강의에서 다뤄주신 내용을 실무에 적용해보기가 어려운데요... 그래서 제가 생각해본게 테스트 코드로 만들어서 돌려보면 어떨까 생각했거든요. 예를들어 아래와 같은 메소드를 만들어 놓고, 캐시 전/후를 비교하는 거죠... long start = System.currentTimeMillis(); service.findSomething(id); long elapsed = System.currentTimeMillis() - start; System.out.println(elapsed); 그런데 한가지 고민되는 포인트가, 테스트 코드로 만들어서 돌렸을때 성능 개선을 수치적으로 적기가 좀 애매할것 같다고 생각이 들어서요. 아무래도 JVM이라던지, warmup이라던지 통제할 수 없는 변수가 있다보니까요. 그래서 질문은 아래와 같습니다. 특정 메소드에 로컬 캐시를 적용하기 전/후 테스트 코드에서 성능을 비교 했을때, 1초->1ms로 성능 개선했다. <- 이런 문장이 임팩트가 있을까요? 아님 테스트 코드에서 한건 좀 신뢰성이 떨어질까요? ㅠㅠ 테스트 코드에서 돌려봤을때 누가봐도 신뢰성있게 만들려면 어떻게(?), 무슨 툴(?)을 써서 하는게 좋을까요? ㅠㅠ 저 같이 운영 환경에 적용해볼수 없는 개발자에게 조언을 주시면 또 감사하겠습니다!
13 섹션 병렬 스트림을 퀵하게 필요하여 고급1탄( 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성) 어느 섹션을 순차적으로 보아야 할까요? 물론 유기성으로 섹션1부터 모두 보면 좋겠지만 당장 써먹어야 하여 진도를 나갈 수 있는 수준의 섹션만 우선 보고 적용후 추후 다시 보려 합니다
안녕하세요 강사님! 강의 잘 듣고 있습니다. 다차원 배열이랑 가변 배열 파트를 복습하다가 인덱스 해석 순서랑 반복문 매칭이 헷갈리는 부분이 생겨서 질문 남깁니다. 강의에서 3차원 배열을 순회할 때 가장 안쪽 루프가 '높이'에 해당한다고 설명해 주셨는데, 제가 직접 코드를 짜서 출력해 보니까 조금 헷갈리는 부분이 있습니다. 제가 테스트해 본 전체 코드는 다음과 같습니다. public class ArrayTest { public static void main(String[] args) { int[][][] sheet = new int[2][3][4]; int count = 1; for (int i = 0; i < sheet.length; i++) { for (int j = 0; j < sheet[i].length; j++) { for (int k = 0; k < sheet[i][j].length; k++) { sheet[i][j][k] = count++; } } } for (int i = 0; i < sheet.length; i++) { System.out.println("=== [시트 " + i + "] ==="); for (int j = 0; j < sheet[i].length; j++) { for (int k = 0; k < sheet[i][j].length; k++) { System.out.print(sheet[i][j][k] + "\t"); } System.out.println(); } System.out.println(); } } } 이 코드를 실행해 보면 가장 안쪽 루프인 k가 돌 때 숫자가 위로 쌓이는 게 아니라, 왼쪽에서 오른쪽으로 평평하게 가로 줄(열)을 그리면서 출력이 되더라고요. 그리고 가장 바깥쪽 루프인 i가 바뀔 때 시트가 전환되는 것을 확인했습니다. 특히 같이 알려주신 가변 배열(Jagged Array) 개념을 여기에 대입해 보니까 더 헷갈리는데요. 자바는 new int[2][][]; 처럼 각 행마다 열의 크기를 다르게 지정할 수 있는 구조인데, 행마다 방 개수가 제각각인 상황에서 가장 안쪽 루프를 '높이'라고 생각하면 가변 배열의 형태가 머릿속으로 잘 매칭이 안 되어서요. 자바 메모리 구조상 공간적인 높이라는 비유보단, 엑셀로 따지면 처음 게 시트고 두 번째가 행, 마지막이 열이라고 생각하는 게 코드상으로나 가변 배열 구조상으로나 더 자연스러워 보이는데 제가 놓친 디테일이 있을까요? 제가 자바의 다차원 배열 메커니즘을 오해하고 있는 부분이 있는 건지, 아니면 세로-가로-높이 비유를 코드에 대입할 때 제가 놓친 디테일이 있는지 궁금합니다. 확인해 주시면 감사하겠습니다!
안녕하세요. 강의 촬영 시점과 수강 시점이 많이 차이가 나 그동안 여러 변경사항이 있는 것 같은데요! 인텔리제이 설치 후 새 프로젝트 셋팅하려고 보니 언어 선택하는 부분이 없음 (이 부분은 왼쪽 패널에 new project > java/kotlin... 등으로 선택하게 되어 있네요!) JDK 버전이 26까지 올라와 있음 이런 상태인데, JDK는 항상 최신 버전을 다운로드 받아도 될까요? 아니면 21 버전으로 다운로드 해야 할지 확인 부탁 드립니다.
안녕하십니까 2분18초 부터 나오는 재귀연산법을 그동안 제가 이전 강의에서는 연산조건이 한가지만 나오는 단순재귀 같은 경우는 그냥 눈에 보이는 코드 흐름상 파라미터 -> 리턴값 순으로 재귀연산을 해서 풀었는데 (ex:5+4+3+2+1) 이번에는 조건재귀같은 경우는 똑같이 풀다가 값이 다른 결과가 나오는 참사가 발생했습니다. 그래서 조건이든, 단순이든 재귀연산법은 리턴값부터 차근차근 파라미터 순으로 가는게 안전한 건가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 13:00즈음에 동일성 비교가 필요한 경우에만 equals()를 재정의하면 된다라고 되어있는데 동등성 아닌가요..?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 개발자의 꿈을 접고 살아가던 사람입니다. 월드컵 시즌을 만나 영한님의 치킨 디도스 이벤트와 무상태 프로토콜 강의 내용이 떠올라 뜬금없이 취미로 주문 기능 구현 포트폴리오를 만들던 중 일상에서 경험한 것들을 통해 개인정보 유출에도 대응 가능하려면 어떻게 해야하는지.. 소비자가 트라우마를 경험하거나 여러 고충에 대응할 수 있는 방법을 쥐어짜다보니 영한님 강의를 쪽쪽 뽑아먹고 있는데요.. 부족하지만 직접 성의를 담아 만들어보겠습니다. 약속한게 있어서요.. 항상 좋은 강의 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 47 문제와 풀이 내용에서 수업내용은 increment에 void로 반환을 안하던데 언제 리턴으로 반환해야 하는지 잘 모르겠습니다..