[ 👍 좋은 질문을 했을 때 좋은 답변이 돌아 옵니다] 1. 실습 중 본인의 환경이 가이드와 다른 부분이 있었다면 말씀해주세요. 2. 해당 문제의 발생 빈도(재설치 여부)와 문제 해결을 위해 시도해본 케이스를 말씀해 주시면 원인 파악에 큰 도움이 됩니다. 3. 에러 메시지만 봐서는 저도 모르는 경우가 많아요. 그전에 했던 작업이 포함된 캡쳐 화면도 부탁 드려요. 4. 영상 내용에 대한 질문 시 해당 시간을 같이 올려 주시면 답변을 드리는 시간이 더 빨라집니다. 5. 긴 로그는 제 메일로 보내주세요. ( k8s.1pro@gmail.com ) 강사님의 깃헙 참고하여 맥 m시리즈 가이드를 보고 쿠버네티스 클러스터 설치 부분을 따라하고 있는데 Rocky와 UTM 연동이 안되는 것 같습니다. 권한 문제일 수 있다고 해서 터미널에서 권한 추가했는데도 안되네요. 재생버튼을 누르면 터미널이 한 1초 떴다가 다시 저 화면으로 돌아갑니다. 아무런 오류 메시지도 없습니다. 해결하는 방법이 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의 보기 전에 미리 만들어 본 코드입니다. 3번째 줄에서 afterNode를 안 만들고 주석처리한 코드를 afterNode 자리에 넣으니 오류가 발생하네요 그리고 수업중 코드에서도 2번째줄 코드 위치만 바껴도 위와 똑같은 오류가 발생하네요 왜그런걸까요?
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 변수 선언과 초기화 챕터를 보는 중에 궁금증이 생겨 질문합니다. System.out.println() 이 괄호 안에는 무조건 변수가 하나만 들어가야 하나요? 두개 이상은 들어가지 못하나요? 예를 들면 int c = 3, d = 4; System.out.println(c,d) 이렇게 하면 안되는건지요 만약 못한다면 왜 안되는것인가요? 궁금합니다!
이것저것 해보다 궁금한게 있습니다 ㅇㅅㅇ 로컬에서 볼륨 디렉토리가 없을때 컨테이너에서 볼륨 데이터를 덮어쓰는것 까지 이해를했는데요. 강의에서 볼륨 mysql_data로 설정을 해주잖아요. 그래서 컨터이너의 볼륨의 데이터들이 로컬에서 mysql_data 디렉토리를 만들고 그 데이터들이 호스트의 mysql_data에 들어가는데 여기서 궁금합니다. 컨테이너에는 mysql_data 디렉토리는 보이지 않는데 컨테이너 입장에서는 어디에서 로컬과 연결된 볼륨의 디렉토리 위치을 어떻게 할 수 있을까요. ㅇㅅㅇ;;
utf-8로 지정해서 IO 작업을 하더라도, utf-16인 (char)로 형 변환이 가능한 이유가 궁금합니다. char는 ascii와 호환이 안되지않나요..? StringBuilder content = new StringBuilder(); FileReader fr = new FileReader(FILE_NAME, UTF_8); int ch; while ((ch = fr.read()) != -1) { content.append((char) ch); } fr.close();
11. 동시성 컬렉션 PDF 13 페이지 당연한 이야기지만 다음과 같이 나누어 작성해도 된다. SimpleList basicList = new BasicList(); SimpleList proxyList = new SyncProxyList(basicList); test(list) 강의 5:40 즈음 나오는 내용입니다. test() 에 proxyList 가 인자로 전달되어야하는데 pdf에는 test(list) 로 작성되어있네요. 감사합니다
안녕하세요 강사님, 좋아요 기능을 만드는 api를 반복하여 보고 있는데 궁금한 점이 생겨서 질문 드립니다. 좋아요 기능을 만들고 테스트중인데 좋아요가 중복처리 예를 들어, 10번 게시글에 15번의 사용자가 좋아요가 두 개를 눌러도 두 번 다 좋아요가 눌리는 상황인데 이에 대한 중복처리는 따로 해줘야 하는 것인가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요 영한님 강의 듣다가 Result 클래스를 써야한다고 언급해주셨는데요, 해당 클래스 관련 질문 답변을 봤는데 https://www.inflearn.com/community/questions/442871/result-%ED%81%B4%EB%9E%98%EC%8A%A4-%EA%B4%80%EB%A0%A8-%EC%A7%88%EB%AC%B8%EC%9E%85%EB%8B%88%EB%8B%A4?focusComment=168228 @GetMapping("/{boardId}") public ResponseEntity<BoardResponse> getBoard(@PathVariable("boardId") Long boardId) { return ResponseEntity.ok(boardService.getBoard(boardId)); } 이런식으로 ResponseEntity 감싸서 DTO를 반환하는것과 Result 클래스가 같은 맥락으로 응답을 추상화한다고 생각하면 될까요? 감사합니다 :)
💡 질문하기 전에 먼저 확인해보세요! 답변을 기다리는 동안, 아래 항목들을 먼저 확인해보시면 문제가 해결될 수도 있어요. 강의 내용 다시 보기: 혹시 놓친 부분이 없는지 해당 챕터의 강의를 한 번 더 돌려보셨나요? 오타 및 들여쓰기 확인: 파이썬은 특히 들여쓰기에 민감해요. 코드에 오타나 잘못된 들여쓰기는 없는지 꼼꼼히 확인해주세요. 에러 메시지 검색: 빨간색 에러 메시지가 떴다면, 메시지 전체를 복사해서 구글에 그대로 붙여넣기 해보세요. 전 세계 개발자들이 비슷한 문제를 겪고 해결책을 공유해두었을 확률이 높습니다. Q&A 게시판 검색: 혹시 다른 분이 먼저 비슷한 질문을 올렸는지 게시판을 한번 살펴보는 것도 좋은 방법이에요. 해당 강의 화면에서 코드를 보고 설명하시는 것 같은데 화면이 계속 인프런 강의소개 페이지인데 제가 맞게 보고 있는걸까요?
RequestBody를 읽어올 때, Content-Length의 값을 파싱하고 그 크기만큼 read()에 배열 형태로 전달해서 버퍼형태로 한번에 받아오게끔 작성하셨습니다. 여기서 궁금한 점은, Content-Length는 byte 단위로 측정이 될텐데, char[]를 그대로 사용하면 UTF-8로 디코딩이 자동으로 되는 이유가 궁금합니다..! byte[] 단위로 읽어온 다음, Charset을 지정해서 디코딩해야하는거 아닌가욤? 감사합니다!
영한님이 단일 스레드일 때 테스트 하셨는데요. 멀티 스레드일 때 테스트 결과도 궁금하신 분들이 있을 것 같아 공유 드립니다 :) 빠른 테스트를 위해서 sleep 은 사용하지 않았습니다. public class IncrementPerformanceMain { public static final int COUNT = 1_000_000; public static void main(String[] args) throws InterruptedException { test(new BasicInteger()); test(new VolatileInteger()); test(new SyncInteger()); test(new MyAtomicInteger()); } private static void test(IncrementInteger incrementInteger) throws InterruptedException { long startMs = System.currentTimeMillis(); Runnable runnable = new Runnable() { @Override public void run() { for (int i = 0; i < COUNT; i++) { incrementInteger.increment(); } } }; ArrayList<Thread> threads = new ArrayList<>(); for (int i = 0; i < 100; i++) { Thread thread = new Thread(runnable); threads.add(thread); thread.start(); } for (Thread thread : threads) { thread.join(); // 모든 스레드가 종료 될 때 까지 기다림 } long endMs = System.currentTimeMillis(); System.out.println( incrementInteger.getClass().getSimpleName() + ": ms=" + (endMs - startMs) + ", result=" + incrementInteger.get()); } } 결과 BasicInteger: ms=32, result=88652038 VolatileInteger: ms=3653, result=17721836 SyncInteger: ms=4882, result=100000000 MyAtomicInteger: ms=6953, result=100000000 MyAtomicInteger 보다 SyncInteger 가 성능이 좋은 이유는 CAS 는 기본적으로 락보다는 빠르지만, 경쟁이 심하면 CAS 실패로 재시도를 반복 하기 때문에 성능이 락보다 안나오고 있는 것 으로 보이네요. 추가로 BasicInteger 에 비해서 VolatileInteger 의 손실율이 큰 이유는 모두가 동시에 메인 메모리에 접근하게 되면서 발생한 문제로 보이네요. 비유적으로 설명하면 BasicInteger : 각자 수첩(캐시)에 메모하고 나중에 합침 → 충돌 적고, 결과는 꽤 괜찮음 (운이 좋으면) VolatileInteger : 100명이 하나의 화이트보드(메인 메모리)에 동시에 적으려는 상황 → 끊임없는 덮어쓰기, 충돌 많음 → 결과는 엉망 감사합니다. ^0^