묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결카프카 완벽 가이드 - 코어편
acks 1 이면 비동기가 아니지 않나요?!
제가 공부하다가 든 의문에 대해서 자문자답?을 해봤습니다!혹시 제가 잘못 이해하거나 틀린 개념이 있다면 알려주실 수 있을까요?나의 의문! 비동기 전송할 때, acks = 1 설정이면 Producer는 Leader broker가 메시지 A를 정상적으로 받았는지에 대한 ==Ack 메시지를 받은 후 다음 메시지인 메시지 B를 바로 전송==. 이러면 async 전송이 아닌거 아니야?내 생각어디까지 비동기 처리인지에 대한 경계가 불분명해서 생긴 오해!!1. Main Thread (producer.send() 호출하는 thread) for (seq in 0..19) { producer.send(topic, seq, record) }메인 스레드는 blocking 없이 연속적으로 메시지 전송! -> 비동기 전송!producer 내부[main thread] -> [RecordAccumulator] -> [sender thread] -> [broker]RecordAccumulator는 메시지들을 버퍼링하고 배치로 모음2. sender thread 동작 (acks 1 기준)0번 메시지 전송 -> ack 대기 -> ack 수신 완료1번 메시지 전송 -> ack 대기 -> ack 수신 완료...sender thread는 이젠 메시지의 ack를 받을 때가지 다음 메시지를 보내지 않는다하지만 main thread는 이와 무관하게 계속해서 메시지를 RecordAccumulator에 추가할 수 있다! 결론 main thread 입장에서는 메시지 응답을 기다리지 않고 계속 보낼 수 있으니까 비동기 전송 -> 메시지는 batch에 차곡차곡 쌓임실제 메시지를 전송하는 sender thread는 acks 1 설정으로 leader broker가 보낸 ack를 수신해야 다음 메시지 전송 이렇게 이해했는데 제가 이해한게 맞을까요,,,?
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
프로젝트
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 29강 소스코드 분석하시는 영상을 보니 first 프로젝트에서 작업을 하셔서요..! 전 프로젝트 복사하는 강의영상부터 계속 second 프로젝트에 작업했었는데 26강부터 first프로젝트에서 작업을 하셔서요! first에 작업했었어야 했던 걸까요..?!
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
클러스터와 페더레이션 관련 PDF 내용은 어디서 확인할 수 있나요?
마지막 강의 영상의 6분 이후부터 본 강의 내용에는 없지만 강사님이 자료 정리 해주신 큐 제어하기, 클러스터와 페더레이션 관련 내용이 있는데 다운로드 받은 pdf 자료에서는 없네요.
-
미해결ERC20 깨부수기 (+ truffle, 프론트엔드)
컴파일 및 배포
PS C:\Users\denni\Desktop\Truffle\truffleExample> truffle developThis version of µWS is not compatible with your Node.js build:Error: Cannot find module './uws_win32_x64_127.node'Falling back to a NodeJS implementation; performance may be degraded.Connected to existing Truffle Develop session at http://127.0.0.1:9545/ 강의에서 truffle develop를 작성하면 위와 같이 뜨는데 해결 방법이 있나요
-
해결됨
PPT 자료 문의
안녕하세요.동영상으로 배우는 Catia Sketcher Workbench (Catia V5-6R2017) (입문과정)https://www.inflearn.com/course/catia-sketcher-workbench실습자료와 PPT 자료를 제공받을 수 있다고 안내받았는데요.강좌 관련해서 PPT 자료는 어디서 받을 수 있을까요?1강에는 실습자료 및 교제목차(한글파일)이 첨부되어 있지만 PPT 파일은 첨부되어 있지 않습니다.감사합니다.
-
미해결ERC20 깨부수기 (+ truffle, 프론트엔드)
컴파일 및 배포
강의 4:19에서 truffle develop을 입력하면 위 사진같이 나옵니다. 다 지우고 다시 깔아도 계속 같은 오류가 뜨는데 해결방법이 있나요?
-
해결됨Flutter 앱 개발 기초
Dart 문법 실습문제 풀고 있는데요
두 가지 여쭤볼 게 있습니다.(우선 저는 비전공자이고 대학교때 기초교양 과목으로 c언어,전산,아두이노 잠깐 해봤습니다.) 13 문제 중 초반 1~3문제처럼 간단한 건 풀었는데후반 10문제를 거의 다 제대로 풀 지를 못하고 결국 해답을 봤는데정상인지 아닌지 궁금해서 여쭤봅니다.만약 정상이 아니라면 공부 방법을 바꿔야 하나 싶어서요. 어떤 점에서 어려움을 느꼇냐면예를 들어 int totalPrice(List<Map<String, dynamic>> cart) { // 여기에 작성해 주세요. int result = 0; for (Map<String, dynamic> item in cart) { int price = item["price"] as int; // dynamic -> int로 변환 int count = item["count"] as int; // dynamic -> int로 변환 result += price * count; } return result;} 여기서 뜬금없이 선언하지도 않은 item이라는 변수를 가지고 오는 것이나,타입을 그자리에서 변환해주는 as , 그리고 cart라는 변수에서 item을 가져 오는 것,이 item의 타입은 자동으로 in cart 안의 타입에 종속된다는 것나름 5분강의 볼떄마다 30~50분을 공부해야 할 정도로 세부적으로 찾아보고 gpt도 활용해가면서 모르는 건 체크하면서 해봤습니다.2. 그래서 하나 더 여쭤보겠습니다.실습 문제의 의도가 궁금합니다.단지 사고력을 기르는 의미에서 생각을 한번 해보게끔 하고 해설을 보고 이해하라는 건지기본적인 틀만 알려주되 세세한 것들은 직접 찾아보고 공부해서 이 정도는 풀 수 있어야 한다.라는 의미인지 알려주세요. 진짜 진지하게 공부 하고싶고 개선해보고 싶어서 이렇게 질문 드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
&*의 의미
안녕하세요 . 10주 완성 알고리즘 교안 보는중입니다.&의 경우 변수의 메모리 주소를 저장할 때 사용* 의 경우 변수에 저장된 주소에 실제 어떤 값이 들어있는지 확인할때 사용 인거같은데,도대체 &*의 의미가 무엇인가요? 교안 103page입니다. python은 골드정도되어서 강의를 사서 들었는데, c++ 기본에 대한 설명이 너무 부족한거같네요.. 교안만 보면 베이스 지식을 요구하는 부분이 너무 많습니다.
-
해결됨실전! FastAPI 활용(비동기)
비동기 API 사용시 단점? 주의사항? 이 따로 있을까요?
안녕하세요 강사님. 해당 강의 정말 재밌게 잘 들었습니다.다름이 아니라 강의 들으면서 커리큘럼 내에 비동기 API 사용시 단점이라거나 문제점 또는 주의사항 같은 내용을 못봤던 것 같은데실무에서 비동기 API 를 적용하려 할 때 일반적인 동기 API 개발에 비해 주의해야 할 사항 같은 게 있을까요?run_in_threadpool 동작하는 걸 보면 거의 완벽한 프레임워크 같고, 장고나 다른 프레임워크에 비해 단점도 없어보여서 질문드립니다.
-
해결됨공식 엠버서더가 알려주는 노션 엑기스
포트폴리오 실습 중
포트폴리오 1회차 작성하는 방법을 지금 듣고 있는데, 강사님께서 해당 내용을 카피해서 쓰면 된다고 하십니다. 어디에도 강의자료를 찾아볼 수가 없는데, 혹시 제가 못찾고 있는 건가요? 비디오는 복사 붙여넣기를 할 수 없는데요.. ㅜㅜ
-
미해결MAUI [Cross-Platform Applications & C#]
Microsoft.Maui.Controls Update후 오류발생
The current .NET MAUI package version '9.0.30' requires the .NET MAUI workload version to be at least '9.0.0'. The current .NET MAUI workload version is '8.0.100'. Nuget 패키지 관리자에서 Microsoft.Maui.Controls를 9.0.30으로 Update후 위 오류가 발생하는데 어떻게 조치를 취해야할지 여쭈어봅니다.
-
미해결김영한의 실전 자바 - 기본편
메서드
[질문 내용]여기에 질문 내용을 남겨주세요. public class MemberThis { public String nameField; public void initMember( String nameParameter ) { nameField = nameParameter ; }} 위에서 public void initMember( String nameParameter ) 이 메서드를 선언하는거라고 생각했는데요. 왜 public이랑 void 사이에 static이 없는건가요? 왜 없어도 되는건지 모르겠습니다.
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
config 파일 암호화
yml의 설정 내용을 암호화하는 작업중에 궁금한 점이 있습니다. 암호화해도 http://config server주소/config파일명/프로파일 경로로 접속하면 해독된 값을 볼 수 있는데 이러면 암호화한 의미가 있는지 궁금합니다config 서버에서 http://config server주소/config파일명/프로파일 경로를 비활성화하는 방법이 있을까요?그리고 비대칭키에서 암호화에 사용하는 password는 평문으로 yml에 저장하고 있는데 이러면 반쪽짜리(?) 암호화일 것 같은데 이렇게 사용해도 되는건지가 궁금합니다
-
미해결3D 모델링 입문을 위한 라이노(Rhino) '꿀팁' Part.2
샤오미 보조배터리 SHELL
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 SHELL 외부에 뚫어줬는데도 안되는데 어떻게야될까요?ㅠ
-
미해결홍정모의 따라하며 배우는 C++
2진수 1010 0010 을 무부호 10진수로
3.7 이진수마지막 문제풀이에서 2진수 1010 0010 을 무부호 10진수로 바꾸는 문제가 있엇는데문제에서 2진수는 부호가 있는지 없는지 알려주지 않았으니 무부호 10진수로 바꾸더라도 답이 2개가 나올 수 있는거 아닌가요?부호가 있는 2진수인 경우 -> 34부호가 없는 2진수인 경우 -> 162
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
유레카 서버가 종료된상태에서 질문
안녕하세요유레카 서버가 종료된경우클라이언트에서 연결오류 관련 에러로그가 많이 뜨더라구요운영 환경에서 클라이언트앱 쪽에 이런 로그가 너무 많이 발생하는것은 지저분해보여서 간단하게 한줄짜리 커스텀로그로 대체하고싶은데 방법이 있을까요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
N번 페이지 M개 조회에서 Left Join에 대한 궁금증
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.페이지네이션에서 N번 페이지 M개의 댓글 조회에서Left Join을 쓰는 이유가 궁금합니다.Article, Comment를 하면서 inner join을 해도 되지 않을까 생각을 했습니다. 당연히 PK이기 때문에 null 이 없어LEFT JOIN이나 INNER JOIN이나 제 생각엔 성능 차이가 없을 거라고 생각은 해서 Query Plan으로 확인해 보니 똑같더라고요.하지만 제가 모르는 부분들이 있어서 그런건 아닐까 생각을 해서 질문드립니다. 조금 찾아보니까 Inner Join은 양쪽 인덱스 활용이 가능해 옵티마이저가 최적의 조인 순서를 선택하고, Left Join은 왼쪽 -> 오른쪽 고정이니까 옵티마이저에게 맡기기 보다는 확실하게 하려는 것 때문인가 하는 생각도 들었습니다. 답변 주시면 감사하겠습니다 ㅎㅎ
-
해결됨아무도 알려주지 않는 WebRTC를 사용한 P2P통신
진짜 너무 감사드립니다
아래글은 너무 감사해서 남기는 글입니다.정말 취업도 힘들고 프로젝트 하면서 제가 p2p 통신은 어떡해 하는지 노드중심 통심 등등 rtc 등등 어디서 배우는지 정말 궁금했습니다.치지직 통신을 보고 저는 와 이분이 알려주는구나 싶어서 정말 감사한 마음으로 보았지만 생각하는 로직이랑 정말 달라서 조금은 실망 하였지만, 이번 강의는 제가 원하는걸 그대로 볼 수 있는 기회를 얻었던것 같습니다. 정말 감사합니다.전이거 하고싶어서 개발 공부를 했습니다.니콜x스 님의 rtc 따라만들기 나 해외꺼를 봐도 너무 클론코딩 위주라서 젼혀 이해가 안돼었고 브라우저에 따라서 보안적인문제등등 에의해서 화면공유또한 만은 에러가 발생하여 힘들었는데드디어 4년제 + 취업준비기간 2년이상의 원한이풀립니다. ㅜㅜ
-
해결됨코딩테스트 [ ALL IN ONE ]
dp 계단오르기최소비용질문입니다.
경우의 수 문제에서는 memo[i]가 i번째 계단까지 도달하는 방법의 수를 저장했다.최소 비용 문제에서는 memo[i]가 i번째 계단까지 도달하는 총 비용을 저장했다.그렇다면 memo[i]가 이미 최소 비용을 저장하고 있다면, 왜 cost[i]까지 더해야 하나요?memo[i] = min(memo[i-1], memo[i-2]) + cost[i] 계단 오르기 경우의 수 문제가당신은 계단을 오르고 있습니다. n꼭대기에 도달하려면 단계가 필요합니다.매번 당신은 오르 1거나 2계단을 오를 수 있습니다. 정상까지 올라갈 수 있는 뚜렷한 방법은 몇 가지입니까?memo[i]=i가 3이라고 한다면 3까지 도달할 수 있는 방법을 저장하는것이고.계단오르기 최소비용문제에서는 memo[i]=i가 3이라고 한다면 3까지 도달할 수 있는 비용을 저장하는것이라 생각하는데요.아래는 최소 비용 문제 코드입니다class Solution(object): def minCostClimbingStairs(self, cost): n = len(cost) if n == 2: return min(cost) # 계단이 두 개라면, 더 싼 비용을 선택 # DP 배열 초기화 memo = {} memo[0] = cost[0] memo[1] = cost[1] # 점화식을 이용하여 최소 비용 계산 for i in range(2, n): memo[i] = min(memo[i-1], memo[i-2]) + cost[i] # 불필요한 비교 제거 # 마지막 계단을 오르지 않아도 되므로, 마지막 두 개 중 최소값 반환 return min(memo[n-1], memo[n-2])
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-N 네 방향 탐색, dp 적용 관련 질문드립니다.
안녕하세요! dfs랑 dp 구조에 대해 공부하려고 조금 다양한 시도를 해보다 궁금증이 생겨서 나름대로 스스로 이해를 해봤는데 제대로 이해한것인지 모르겠어서 질문 드립니다.제가 이해한 내용이 맞는지 확인 부탁드립니다! 궁금증은1) 네 방향으로 탐색하면 어떻게 되는지(순차탐색을 하는 이유)2) dp 를 적용할 수 는 없는지 이 두가지입니다. 1)번은 생각보다 구현자체가 복잡해서 아이디어만 정리하고 포기를 했고, 2)번에 대해 구현한 코드는 아래와 같습니다. https://www.acmicpc.net/source/89683214그리고 1,2번에 대해 제가 나름대로 이해한 방식은 다음과 같습니다. Q1. DFS 함수를 int형 반환값으로 구현하고 상하좌우 네 방향으로 탐색할 때, 단순 DFS 완전탐색과 DP 구조로는 해결이 어려운 이유는 무엇인가?A. 네방향 탐색 시 모든 완전탐색의 경우의 수를 통해 최소값을 찾아야 한다. 이때 "하나의 경우"는 여러 분기에서 "하나의 가지"를 의미한다. 그러나 DFS로 상하좌우 탐색을 하면, 여러 방향으로 분기되며 반환값이 생기고, 남은 1의 개수가 0이 되는 것을 기저조건으로 한 함수 구조에서 매개변수가 하나로 전달되지 않는다. (ex. 1이 5개 남았을 때 왼쪽으로 탐색하여 3개 완료, 오른쪽으로 이동하여 2개 완료하는 완전탐색이 가능하나 실제로 매개변수가 0이 되는 경우가 없음)이러한 방식으로 문제를 해결하려면 현재 탐색 방향 외의 방향에 존재할 수 있는 1이 있는 칸을 탐색하는 별도의 함수(a)가 필요하다. 이 함수를 현재 재귀함수의 네 방향 반복문이 종료된 후 호출되어야 완전한 탐색이 가능해진다. Q2. 시간복잡도를 줄이기 위해 DP 적용가능 여부. 첫 풀이 시도가 틀린 이유는?A. 이 문제에서 상태값은, "현재 y좌표, 현재 x좌표, 남은 1의 개수, 지금까지 붙여온 종이의 배치 구조" 가 필요하다. (이걸 다 저장한다면 부분 최적해가 보장되어 dp 사용가능하다고 이해했습니다.) 처음에는 순차탐색을 보장한다면 지금까지의 배치 구조를 저장하지 않아도 되지 않을까했다. 남은 색종이 종류별 개수는 별도 배열로 관리하기도 하고, 애초에 배치 구조를 저장하면 자동 결정되는 것이니 굳이 또 저장할 필요 없다. 감사합니다 ㅎㅎ