묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
섹션4 스토리지 - 문제4 해설 관련 질문
스토리지 유형 문제 4번의 문제에서 "블록 스토리지 방식의 접근이 필요하다"라고 나와있고,해설에서 (B)가 아닌 이유로 "EFS는 블록 스토리지가 아니라 파일 스토리지"라고 나와있습니다.이 문제의 정답 (C)의 경우, FSx for NetApp ONTAP도 블록 스토리지가 아니라 파일 스토리지 방식인건데 이 문제의 정답이 되는 이유가 무엇인지 궁금합니다.혹시 (C)에서 "iSCSI 프로토콜을 통해 볼륨을 연결합니다."라는 설명이 있는데, 이 볼륨이 EBS와 연결하는 것이어서 블록 스토리지 방식에 접근한다는 문제의 조건에 부합하는건가요?
-
해결됨제미니의 개발실무 - 커머스 백엔드 레거시와 AI 활용편
JetBrains All Products Pack 3개월 이용권 신청 관련 문의
안녕하세요. 이틀 전에 "[인프런] 제미니 개발실무 수강생 전용 Junie 이용권 증정"라는 제목으로 메일이 왔는데요.JetBrains의 후원으로, 강의에서 활용하는 AI 개발도구 Junie를 체험해 볼 수 있는 All Products Pack 3개월 이용권을 제공받기 위해 구글폼을 통해 신청하면 확인 후 쿠폰 코드를 발급해 주신다는 메일을 받았습니다.마감이 오늘까지라서 오늘 구글폼으로 들어가 봤더니 선착순 신청이 마감되어 조기 종료되었다고 뜨고 있습니다. 메일 내용으로 봤을 땐 선착순이라는 내용은 없었는데, 혹시 신청할 수 없는 걸까요?
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
25강 1번문제 질문입니다
1번 문제에서 TCP 연결을 사용한다고 되어있는데 ALB는 HTTP, HTTPS 만 사용가능한것 아니였나요 ??
-
미해결제미니의 개발실무 - 커머스 백엔드 기본편
개념 간 격벽 분리와 목록 조회 시 발생하는 참조 구조
제미니님 안녕하세요. 강의를 통해 각 개념 간의 응집성을 높이고, 불필요한 의존성을 줄여 격벽을 세우는 설계를 깊이 있게 연습하고 있습니다.강의에서 배운 원칙을 적용하여 '리뷰'나 '찜' 같은 개념들이 '상품' 개념을 단방향으로 참조하도록 구조를 잡고 있습니다. 하지만 실제 상품 목록 조회 기능을 구현하다 보니, 설계의 일관성을 유지하기 어려운 상황을 마주하게 되어 조언을 구하고자 합니다.개념 간 의존성의 역전: 목록 화면에서 '리뷰 수'나 '찜 수'를 함께 보여주거나, 이를 기준으로 상품을 정렬해야 하는 요구사항이 생겼습니다. 이 경우 상품 개념이 본래 몰라야 할 하위 개념(리뷰, 찜 등)의 상태를 알아야만 하는 상황이 발생합니다.API 구성의 어려움: 상세 페이지는 API를 잘게 나누어 클라이언트에서 합성함으로써 개념 간의 독립성을 지킬 수 있지만, 목록의 경우 수십 개의 상품에 대해 매번 각각의 리뷰 수 API를 호출하여 클라이언트가 매핑하는 방식은 어딘가 어색하고 성능과 구현 효율 면에서 의문이 듭니다.결국 조회를 위해 상품이 다시 리뷰나 찜을 알게 되면, 처음 설계한 개념 간의 단방향 참조 구조가 깨지거나 서로를 참조하는 순환 참조가 발생할 것 같아 우려됩니다.이처럼 개념 간의 격벽을 유지하려는 설계 원칙과, 여러 개념의 데이터가 한꺼번에 필요한 조회 요구사항이 충돌할 때 어떤 식으로 접근하는 것이 현명할까요? 원칙을 고수하며 우회할 방법이 있을지, 혹은 이런 조회 상황에서는 설계적 타협이 필요한 것인지 견해를 듣고 싶습니다.
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
[오타][3장][작전1] 형 이건 빨리 해줘
명령어에서 startDateTime, endDateTime 의 jobParameters 부재 코드에서 @StepScope 어노테이션과 startDateTime, endDateTime 의 jobParameters 파라미터 부재 1번은 다른 사람이 심지어 이전에 쓴 문제더라고 ? 아마 형이 반영 안한건 모아서 한번에 수정할 계획인거 같아 보이네.2번의 경우에는 @StepScope 도 빠져서 JobParameter 를 입력해도 오류가 발생했어. 또한 해당 메소드의 파라미터 부분을 1번과 마찬가지로 jobparameter로 받아야 할 것으로 보여져. 읽다가 하나씩 돌려보는데, 오류 터져서 놀라가지고 시간을 좀 썼어, 형. 1번은 내가 이해하는데, 2번은 형 실수가 좀 큰듯.
-
해결됨제대로 배우는 Express.js: Part1 기초부터 심화까지 [기초편]
이미지 처리 라우트 관련 문의
if (req.url === "/hello") { res.writeHead(200, { "Content-Type": "text/html" }); const helloHTML = fs.readFileSync("./hello.html", "utf-8"); res.write(helloHTML); res.end(); } else if (req.url == "/first.png") { res.writeHead(200, { "Content-Type": "image/png" }); const image = fs.readFileSync("./first.png"); res.write(image); res.end(); }위 코드와 같이 else if 구문을 추가하고 나서 /hello로 경로로 접근하고 /first.png로 접근하지 않았음에도 이전에는 깨졌던 이미지 파일이 정상적으로 노출되는 이유는 무엇인가요?hello.html 안의 <img src="./first.png"> 때문에 브라우저가 자동으로 /first.png를 추가 요청하는 것일까요?찾아보니까 HTML subsource request라는 개념과 관련되어있는것 같아서 다음과 같이 생각을 정리해보았는데 맞는지 확인 부탁드립니다.1) localhost:3000/hello 입력2) GET /hello.html 요청3) 서버에서 hello.html 응답4) 브라우저가 HTML 다운로드5) DOM 파싱6) img 태그 발견7) first.png 필요 확인 후 서버에 추가 요청8) GET /first.png요청을 보냄 이 과정에서 Node.js 서버는 정적 파일을 자동 제공하지 않기 떄문에 8번 과정에서 추가로 발생한 /first.png 요청을 처리하기 위해 라우팅을 추가하였고 Else if 구문을 타서 정적 파일을 제공받았다.
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
[오타] "리스너 활용: 시스템 완전 장악 매뉴얼" 부분
질문 가이드 읽고 삭제 후 오타제보 리스너 활용: 시스템 완전 장악 매뉴얼... 실행 결과에 따른 후속 처리: Job과 Step의 실행 상태를 리스너에서 직접 확인하고 그에 따른 조치를 수 있다.-> ~그에 따른 조치를 할 수 있다.-> 글자가 빠진듯?
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
[오타] "JobScope와 StepScope 사용 시 주의사항" 부분
질문 가이드 읽고 삭제 후 오타제보 JobScope와 StepScope 사용 시 주의사항... 2. Step 빈에는 @StepScope와 @JobScope와를 사용하지 말라.-> @Step 빈에는 @StepScope 와 @JobScope 와를 사용하지 말라-> 말이 확실히 이상해
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
spring boot 4 + spring batch 6 설정 변경?
형 스프링부트 4에서는 jdbc starter 추가 안하면 안되던데 뭐지```build.gradle.ktsdescription = "batch" dependencies { implementation("org.springframework.boot:spring-boot-starter-jdbc") implementation("org.springframework.boot:spring-boot-starter-batch") implementation("org.springframework.boot:spring-boot-h2console") runtimeOnly("com.h2database:h2") testImplementation("org.springframework.boot:spring-boot-starter-batch-test") }```implementation("org.springframework.boot:spring-boot-starter-jdbc")위 처럼 의존성 명시적으로 처리해주기 전에는 아래 에러떳었어.Could not autowire. No beans of 'PlatformTransactionManager' type found.
-
미해결처음하는 파이썬 백엔드 FastAPI 입문 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]
FastAPI를 선택하는 이유
강의를 들으면서 코드를 따라 쳐보거나 개인적으로 간단한 기본 게시판을 만들어보면서 "보일러플레이트가 좀 많은데?"라는 생각이 들었습니다.물론 FastAPI의 비동기 처리나 ML 붙이기도 쉬우며 api 개발과 문서화가 빠르고 간편하다는 장점이 있지만 이것만으로 실제 서비스 상황에서 FastAPI를 선택하는 이유가 되는 지에 대해 의문이 들었습니다.실무에서는 어떤 기준으로 FastAPI를 고려하게 되는 지 질문드리고 싶습니다!
-
미해결초심자를 위한 친절한 Java 한바퀴
다음을 위한 준비 알려주세요~
강의 잘 보았습니다!다음단계를 위해 다음 강의가 언제쯤 오픈예정이실지 궁금합니다.그리고 자바 -> 스프링 으로 가기위해서 준비해야하는 조언과 만약 다른강의를 추천해주실 수 있다면 어떤게 좋을지 알려주시면 감사하겠습니다~
-
해결됨초당 500,000+건 트래픽을 처리하는 카카오 면접관의 Redis
Redis Hash
강의 내용을 듣고 생각했을때 ,대부분의 경우 Redis String 보다 Redis Hash 사용하는게 대부분 이득일것 같다 생각이 들던데...어떻게 사용하고 계시나요 ?? 사실 저는 Redis String 으로 Json 으로 많이 사용했었습니다. 그리고 큰 장애를 경험하지 못했는데요 아무래도 트래픽에 대한 차이인것 같네요
-
해결됨초당 500,000+건 트래픽을 처리하는 카카오 면접관의 Redis
Redis 큐
강의 잘 들었습니다.Redis 주로 그냥 일반적으로 메모리에 저장하고 호출하는 정도로만 사용을 하고 있는데요BLPOP ,RPUSH job_queue job1 와 같은 기능은 언제 사용하게 되나요 ??
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
S3 1번 문제 질문
안녕하세요! 1번 문제 관련해서 궁금한 점이 있습니다. 60일 이후 거의 조회되지 않는 데이터라면 비용 측면에서 Glacier Instant Retrieval도 적합해 보이는데이 문제에서는 Standard-IA를 더 우선적으로 선택하는 이유가 있을까요?회사 규정이라는 조건을 제외하고 보더라도 비용 측면에서는 Glacier Instant Retrieval이 더 효율적일 수 있을 것 같다는 생각이 들어서요 이해가 잘 안가서 여쭤봅니다 감사합니다
-
해결됨제미니의 개발실무 - 커머스 백엔드 기본편
프로덕트와 프로덕트카테고리 사이의 삭제 정책
안녕하세요, 선생님!좋은 강의 제공해주셔서 감사합니다. 덕분에 단순히 구현에만 집중하기보다, 설계와 개념에 대해 더 고민하면서 코드를 작성하게 되었습니다.섹션 2의 ‘개념 느끼기’ 부분에서 Product가 Product Category보다 더 상위의 개념이라고 말씀해주셨던 것으로 기억합니다. 저도 그렇게 이해했습니다.그런데 코드 구현 파트에서 Product와 Product Category 사이의 삭제 정책을 두 가지 예시로 설명해주셨는데, 그 부분에서 한 가지 궁금증이 생겼습니다.제 생각에는 개념적으로 Product가 더 상위 개념이라면, Product가 삭제될 때 Product Category도 함께 삭제되는 정책이 조금 더 자연스러운 흐름처럼 느껴졌습니다.이 부분에 대해 제가 개념을 잘못 이해한 것인지, 아니면 실무적인 관점에서 추가로 고려해야 할 부분이 있는지 궁금합니다.혹시 제가 놓치고 있는 관점이 있다면 조언 부탁드립니다!
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
SAA-C03 덤프 파일 좀 더 받아 볼수 있을까요?
aws-SAA-C03 덤프 파일 좀 더 받아 볼수 있을까요?시험 쳤는데 아쉽게 떨어져서요 ㅠㅠ hhw811@gmail.com 으로 부탁드립니다.
-
해결됨초당 500,000+건 트래픽을 처리하는 카카오 면접관의 Redis
강의에서 작성한 코드 제공 문의
강의에서 작성된 코드를 제공해주시는 것 같은데 어디서 볼 수 있나요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 캐시 전략
23강 5:38 부분 질문 있습니다!
m=32MB짜리 10개와 m=512MB짜리 1개의 경우를 비교해주셨습니다.그런데 이는 샤딩을 통해서 메모리 효율적으로 됐다기 보다는 메모리 총량이 512MB->320MB로 감소했기 때문에 오차율이 조금 증가하는 대신 메모리를 덜 쓸 수 있는 것 아닌가요?예를 들어 320MB 짜리 1개인 경우와 32MB짜리 10개인 경우의 오차율이 똑같지 않나 하는 생각이 들어서 질문드립니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 캐시 전략
23강 17초 부분 질문있습니다~
"Split 전략에서 항상 모든 Split을 조회한다."요 부분이 이해가 가지 않아서 질문드립니다!findSplitIndex로 계산한 split에만 접근하는 것 아닌가요?아니면 모든 스플릿이 단일 redis 내에 존재하는 것이 문제라는 의도로 말씀하신걸까요?
-
미해결스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 캐시 전략
Split 전략 강의 중 질문 있어요
@Slf4j @SpringBootTest class SplitBloomFilterRedisHandlerTest extends RedisTestContainerSupport { @Autowired SplitBloomFilterRedisHandler splitBloomFilterRedisHandler; @Test void mightContain() { SplitBloomFilter splitBloomFilter = SplitBloomFilter.create("testId", 1000, 0.01); List<String> values = IntStream.range(0, 1000).mapToObj(idx -> "value" + idx).toList(); for (String value : values) { splitBloomFilterRedisHandler.add(splitBloomFilter, value); } for (String value : values) { boolean result = splitBloomFilterRedisHandler.mightContain(splitBloomFilter, value); assertThat(result).isTrue(); } for (int i = 0; i < 1000; i++) { String value = "notAddedValue" + i; boolean result = splitBloomFilterRedisHandler.mightContain(splitBloomFilter, value); if (result) { log.info("value={}", value); } } } } 위 코드는 SplitBloomFilterRedisHandlerTest 인데요.강의 중 코드입니다 1000 크기에 0.01 오차율의 Bloom Filter 를 만들고1000개의 데이터를 넣고 False Positive 까지 검증해보는 코드인데요.질문입니다Split 전략을 배우기 전에순수한 Bloom Filter 구현 강의에서도 위와 동일한 테스트 코드가 있는데요이 때, 순수한 Bloom Filter 의 한계로써생성한 Bloom Filter 크기를 초과하여 데이터를 넣으면 비트 1이 많아져 오차율이 증가하고그로 인해 False Positive 데이터가 많이 조회되는 현상을 살펴보거든요.그리고 그 해결책으로처음부터 큰 Bloom Filter 를 만드는 것 이외에Split / Sharding / Sub Filter 전략이라고 말씀하시는데요근데 위 Split 전략의 테스트 코드에서 BloomFilter 크기는 1000으로 만들고 데이터를 훨씬 초과하여 2000개 만들어 넣어보면순수한 Bloom Filter 때처럼 False Positive 데이터가 많이 조회됩니다.저는 PC 가 느려서 False Positive 를 1000번으로 조회하였고오차율 (0.01) 에 의하면 약 10개의 False Positive 가 나와야 하는데데이터 1000개를 저장했을 때는 오차율에 맞게 8개로 떨어지는데데이터 2000개를 저장했을 때는 오차율을 훨씬 넘어갑니다제가 코드를 잘못 따라 친건지.. Split 도 원래 그런건지..제 질문 의미가 전달될지는 모르겠지만.. 명확하게 개념 정리가 되지 않아 질문드립니다