묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
'멀티스레드 컨슈머 애플리케이션' 편을 보고 질문드립니다~
안녕하세요 데브원영님. 수준높은 강의 항상 잘보고있습니다. 다름아니라, '멀티스레드 컨슈머 애플리케이션' 강의를 듣고 관련 내용을 찾아보던 와중에 '메세지 역전현상' 이라는 이슈를 찾았습니다.멀티 스레드 혹은 멀티 프로세스로 동작할경우, 파티션이 하나더라도 스레드의 작업종료 시간이 전부 다르기때문에 순서보장이 필요한 시스템에 치명적이라는 내용이였습니다. 이 문제를 해결하기 위해 메세지에 key와 partioner 인터페이스를 구현하더라도 파티션 수와 스레드 수가 1:1 매칭이 아닐 경우 순서가 틀어지거나, Key 설계를 잘못할 경우 특정파티션으로 데이터가 몰리게되어 scale-out을 한 의미가 퇴색 될 것 같아서요.'순서보장 + (다중 파티션 + 다중 컨슈머 설계로 성능확보)' 가 필요한 시스템에서 '메세지 역전현상' 문제를 해결 할수 있는 방법이 있을까요?.. 발행된 메세지가 DB에 적재되있을 경우, 최종 일관성(순서보장문제)을 DB에 조회하여 해결할 수 있을 것 같은데요!.. 저장소에 적재되지 않는 메세지일 경우 해당문제를 어떻게 풀어야될지 잘 모르겠네요 ... 관련하여 답변 부탁드리겠습니다!.. 확인 감사합니다.~
-
미해결핸즈온 리액트 네이티브
시뮬레이터 (개발자 메뉴)새로고침
ios 시뮬레이터 (개발자 메뉴)새로고침 하는 창 띄우는 법을 모르겠습니다인터넷에 쳐보니 cmd + m cmd + d 둘중 하나하면 된다고하는데 안됩니다.
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
ArrayList, LinkedList, HashMap 등 및 이들의 메소드들 add(), set() 등에 대해 깊이있게 알고싶습니다...ㅎ
안녕하세요, 나도코딩 선생님...ㅎ 어제 나도코딩 자바편에서 남은 나머지 강의인 Thread 부분과 섹션 10. 제네릭스 (Java Collections Framework)를 다 듣고 완강한 다음 복습 중에 궁금증이 생겨 이렇게 질문을 남깁니다. 나도코딩 파이썬 강의를 완강한 이후로 또 다른 강의를 다 끝내고 나니 기분이 매우 좋습니다 ㅎㅎ(1) 우선 add와 set과 관련된 질문입니다. Java documentation을 보면서 java.util.List에서 add는 object를 추가하는 것 외에도, add(int index, object e)를 통해 특정 위치(index)에 특정 객체(object)를 넣기도 가능하고, set도 마찬가지로 set(int index, object e) 형태로 같은 역할을 수행하는데, add와 set를 따로 나눈 것은 add는 단순하게 리스트 안에 객체를 넣는 것이 초점인 반면, set는 리스트 안에 들어있는 '기존 데이터들이 가진 순서 변경의 목적'이라서 그런건가요?(2) 지금까지 제네릭스를 공부하고 제가 이해한 바로는 LinkedList랑 ArrayList 두 가지 리스트 모두 데이터 순서를 가지고, ArrayList는 데이터를 쓰고 저장하는 것은 알고리즘 시간 복잡도상 O(n)이기 때문에 속도가 느리지만, 읽기(O(1))는 빠른 반면, LinkedList는 데이터를 읽는 속도(O(n))는 느리지만, 리스트 중간에 데이터를 쓰고 저장하는 것(O(1))은 빠르다면, 이 둘의 특성들을 어느 때 쓰는 것이 가장 적합한가요?또한 ArrayList와 LinkedList를 각각 '메모가 많은 공책', 예전에 있었던 '포털 사이트 실시간 검색어 순위'로 비유해서 개념을 이해하는 것도 괜찮을까요? - 제 스스로 이해를 돕기위해 나름 저만의 비유를 적어봤습니다...ㅎ메모가 많은 공책 (ArrayList) : 책 한 장안에 많은 메모들을 볼 수 있어서 읽기는 빠르지만, 메모를 쓰려면 최소 6-7장은 넘겨야 한다.실시간 검색어 순위 (LinkedList) : 순위가 주기적으로 (주로 1시간 단위) 변해서 자료들을 빨리 반영하기는 힘들지만, 실시간 순위인 만큼 빠른 자료 수집 및 추가는 확실하다.(3) HashMap도 또한 일반적으로 어디에 가장 적합 한가요? 이를 테면 제가 원하는 특정 문자에, 특정 정수(Integer) 값을 할당하는 용도로 HashMap을 써도 괜찮을까요? 혹시 몰라 아래처럼 제 나름대로 코드를 적어봤습니다...ㅎ... // 이미 import java.util.Map; 되어있음. HashMap<String, Integer> gameMoves = new HashMap<>(); gameMoves.put("R", 0); // gameMoves.remove("R"); 이렇게 키도 삭제 가능 gameMoves.put("D", 1); gameMoves.put("L", 2); gameMoves.put("U", 3); System.out.println(gameMoves.size()); // 4그리고 위의 예시 처럼 remove("R");을 통해 키 값을 없애면 (HashMap gameMoves에 저장된 String), HashMap gameMoves의 value값은 그대로 살아있는가요? 아니면 null로 처리가 되나요? 스스로 공부하면서 얼핏 본 바로는 key값이 사라지더라도 map의 value는 계속해서 쓸 수 있다고 본거 같은데, 이 부분도 확실하게 제 스스로 짚고 넘어가고 싶습니다! 추가적으로 강의를 들으면서 제네릭스 전반적인 개념을 제 나름대로 그림도 그려가면서 이해를 해봤습니다...ㅎ 제대로 이해했는지 알고 싶어서요...ㅎ 앞으로도 강의 많이 찍어주세요!...ㅎ 항상 감사합니다!
-
미해결실전! 스프링 데이터 JPA
스프링 데이터 JPA의 구현체 질문
안녕하세요 김영환 강사님 항상 잘 듣고 있습니다. 다름이 아니라 스프링 데이터 JPA의 구현체 분석 파트 중 질문 사항이 있습니다.페이징에 대해서 처리할 때 마지막 파라미터로 Pageable 를 넘기게 되면 해당 정보로 자동으로 페이징 처리를 하게 된다고 알고 있습니다.어떻게 이게 가능한 것입니까? 이를 구현한 구현체를 찾아보려 하지만 찾지 못해 질문드립니다.!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost:8080/hello 오류에 관해 질문 드립니다
index까지는 되는데 /hello 열면 화이트라벨 에러가 발생합니다 왜 그런지 모르겠습니다
-
미해결스프링 핵심 원리 - 기본편
java.lang.IllegalStateException: Failed to load ApplicationContext
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)java.lang.IllegalStateException: Failed to load ApplicationContext 라고 계속 뜨는데 왜 실패하는 지 모르겠습니다.. 어떤걸 해결해야 테스트가 완료될까요?
-
미해결홍정모의 따라하며 배우는 C++
과제 괜찮은지 확인 부탁드립니다~
잘 모르는 부분은 조금씩 참고해서 하긴 했지만, 이런식이면 괜찮을까요? #include <iostream>using namespace std;int sum1(int a,int b){ int s1 = a + b; return s1;}int sum2(int c,int d){ int s2 = c * d; return s2;}int sum3(int e,int f) { int s3 = e / f; //밑에서 입력받은 e,f를 나눠준뒤, s3에 저장한다. return s3; //계산된 s3를 밑의 main에 return 시켜준다. 그 뒤에 바로 출력된다.}void textPint(){ cout << "코드가 종료되었습니다." << endl; return; }int main(){ int a,b; cout << "더할 두 숫자를 입력하세요." << endl; cin >> a >> b ; cout << "두 수의 합은 : " << sum1(a, b) << " 입니다."<< endl; int c,d; cout << "곱할 두 수를 입력하세요." << endl; cin >> c >> d ; cout << "두 수의 곱은 : " << sum2(c, d) << " 입니다."<< endl; int e,f; //cint에서 입력받을 값을 미리 지정 cout << "나눌 두 숫자를 입력하세요." << endl; cin >> e >> f ; //값을 입력 받는다. cout << "두 수룰 나눈 값은 : " << sum3(e, f) << " 입니다."<< endl; //sum3에 입력받은 e,f를 저장 textPint(); return 0;}
-
해결됨[코드캠프] 시작은 프리캠프
정렬이 제대로 안 돼요
싸이월드 만들기 5탄에서 수업을 따라서 코드를 새로 작성하고 있었는데 저는 albumWrapper 부분에서 css를 작성해도 강의 내용과 다르게 나오고 있습니다. 제가 어느 부분이 틀린 건가요? 강의 시간은 16:54 부분입니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Config Client의 설정정보 업데이트 원리
안녕하세요. 강의 잘 듣고 있습니다. 강의를 듣던 중 아래 몇 가지 이해가 부족한 부분과 조언이 필요한 부분이 있어 이렇게 질문 남깁니다. 제가 이해하기로, Spring Cloud Config는 애플리케이션의 환경정보(이하 env)를 외부로부터 받아오기 위한 의존성이며, Spring Actuator의 /refresh는 단지 env를 업데이트 하기 위해 사용하는것 뿐이다. 둘 사이의 종속적인 부분은 없어보인다. 식으로 이해를 했습니다. 제가 생각한 것이 맞는지 궁금합니다. 혹은 참고해서 공부할 수 있는 키워드가 있다면 참고하여 학습하도록 하겠습니다. @Component 어노테이션으로 Spring Bean이 등록이 될 때, @Value 어노테이션을 통해 환경정보를 주입받을 수 있는 것을 알고 있습니다. 직접 확인을 해보니 /refresh는 Environment의 값은 바꾸지만, @Value를 통해 주입된 필드값은 수정되지 않음을 볼 수 있었습니다.Spring Cloud Config를 도입한다고 하면 @Value를 통해 주입받던 모든 곳을 Environment를 통해 가져오는 것으로 수정을 해야하는지 혹은 다른 해결방안이 있는지 궁금합니다. 감사합니다.
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
35강 리팩토링 중에서 질문입니다.
안녕하세요 강사님, 제가 이제 막 개발을 시작한 신입이다보니 db와 자바가 아직 서툴어서 굉장히 이상한 질문을 드리는 것 같은데요.강의 7분..쯤, 도메인 계층에 비지니스 로직을 구현하면서 User 객체에서 작성된 returnBook()메소드관련 질문입니다. 반납을 위해서 Service에서 찾은 유저의 대출 히스토리에서 targetHistory를 찾기 위해 stream()이 시작되고, UserLoanHistory 객체를 필터링하는 중에, ".findFirst()"로 필터를 하신 이유를 문의드립니다.왜 마지막이 아니고, 첫번째를 찾나요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
프로필 설정
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]ItemServiceApplication을 실행해야 TestDataInit이 빈으로 등록되어 초기 데이터가 저장되는 것 아닌가요?그렇다면 테스트 코드 실행시 TestDataInit이 빈으로 등록되지 않아서 초기 데이터가 저장되지 않을 것 같은데 TestDataInit의 프로필 설정을 따로 하는 이유가 뭔가요??잘못 알고 있는 부분이 있다면 피드백 부탁드립니다.
-
미해결스프링 핵심 원리 - 기본편
memberRepositroy() 질문있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. AppConfig에서 순서는 보장되지 않는다하셨는데return new MemberServiceImpl(memberRepository())return new OrderServiceImpl(memberRe~~~,dis~~)이부분에서 memberRepository() 메서드를 빼고직접 new MemoryMemberRepository()를 넣으니까서로 다른 객체를 생성하더라구요 ( @Configration 사용한상태 )Configration 애너테이션을 사용해도하나의 메서드로 안빼고 직접 객체를 생성하면스프링컨테이너가 CGLIB?를 통해찾지못하는건가요?
-
미해결스프링 핵심 원리 - 기본편
단축키 cnt+alt_m 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 메서드 추출 단축키를 제목처럼 실행해도 아무것도 안뜨네요.. 키맵들어가도 이게 맞는데 왜이럴까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
준영속 관련 질문있습니다.
OrderService에서 order메소드에 public Long order(Member member, Item item) 이런식으로 id가 아닌 엔티티 객체를 바로 받는 식으로 제 개인 프로젝트에서 비슷한 방식으로 해봤습니다.Question과 member가 서로 양방향 매핑관계이구요public class Question { @Id @GeneratedValue @Column(name = "question_id") private Long id; private String title; private String content; private String username; @CreationTimestamp private LocalDateTime dateTime; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; public void setMember(Member member) { this.member = member; member.getQuestionList().add(this); } }public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String emailId; private String username; private String password; private int age; @OneToMany(mappedBy = "member") private List<Question> questionList=new ArrayList<>();OrderService에서 question을 save할 때 public Question save(Member member,Question question) { question.setMember(member); question.setUsername(member.getUsername()); question.setTitle(question.getTitle()); question.setContent(question.getContent()); questionRepository.save(question); return question; }failed to lazily initialize a collection of role: post.study.entity.Member.questionList, could not initialize proxy - no Session(제 개인 프로젝트라 엔티티 경로가 다릅니다.)이런식으로 에러가 나더라구요. 이게 controller 단에서 들어온 엔티티라 해당 서비스 트렌젝션 내에서는 JPA가 관리해주지 않는 준영속 상태 같은 개념인 것 같은데 정확하게 개념이 잡히지 않아서 질문드립니다.public Question save(Long memberId, Long questionId) { Member member = memberRepository.findById(memberId).get(); Question question = questionRepository.findById(questionId).get(); question.setMember(member); question.setUsername(member.getUsername()); question.setTitle(question.getTitle()); question.setContent(question.getContent()); questionRepository.save(question); return question; }id값을 받아서 해당 서비스 트렌젝션 내에서 직접 엔티티를 조회해야 같은 트렌젝션 내에서 엔티티가 JPA에 의해 관리되서 그런건가요? 개념을 정확히 잡고 싶습니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
스프링 부트 버전
[질문 내용]스프링 부트 2.7.9 버전 쓰면 될까요??3.0.4 도 있는데 둘 중에 뭘 고르면 될까요??
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
C++에서 띄어쓰기 포함한 여러줄을 파일에 쓰기!(읽기가 아닌 쓰기!)로 하려는 경우가 궁금합니다.
#include <iostream>#include <fstream>using namespace std;int main() {char name[10], dept[30];int sid;//키보드로부터 읽기cout << "이름 >>";cin >> name;cout << "학번 >>";cin >> sid;cout << "학과 >>";cin >> dept;//파일 열기. students.txt 파일을 열고, 출력 스트림 생성ofstream fout("c:\\temp\\student.txt");if (!fout) {cout << "c:\\temp\\student.txt 파일을 열 수 없다.";return 0;}//파일 쓰기fout << name << endl;fout << sid << endl;fout << dept << endl;fout.close();}예제인데요.학과명을 예를들어 information security라고 입력한다고 하면 어떻게 수정해야 하나요?입력받는 문자들을(띄어쓰기 포함)파일에 쓰고 저장하는 경우가 정말 정말 궁금합니다.감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
프로젝트 생성, View 환경 설정
제목의 두 강의에서 빌드 시 강사님께서는 그냥 빌드하고 넘어가시는데edit configuration에서 name 및 main class를 설정하는 행위의 빌드 환경설정이 필요한 것 같습니다. 현재 HelloController를 작성했지만 빌드 시 cannot find symbol 오류가 뜹니다. 환경설정 하는 부분도 강의자료에 남겨주시기 바랍니다. 이거 때문에 시간을 많이 날리네요...
-
미해결초보를 위한 쿠버네티스 안내서
kubectl 설치 관련
현재 윈도우 환경 > 버추얼 박스(미니큐브) 에서 하고있습니다. kubectl 설치가 안되는데 이거.. 깃 배쉬에서 설치를 하는건가요 아니면 cmd..? 아니면 minikube ssh 로 들어가서 안에서 하는걸까요 ㅠㅠ?
-
미해결스프링 핵심 원리 - 기본편
질문있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 싱글톤 문제점에서 order(){ this.price = price) } 이 부분으로 인해서 private int price필드를 서로 참조하고있어 테스트에서 주문금액 조회시 A사용자와 B사용자 값이 같은건 이해가 갔습니다.그런데 궁금한건 예로들어 회원정보 필드가있으면private String nickName; public String getNickName(){ return nickName } 유저가 닉네임을 변경시 setNickName(String nickName) { this.nickName = nickName} setNickName을 사용하여 변경할텐데 왜 이부분에서는 잘 처리되는지 이해가 잘안갑니다 ㅠㅠ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
타입에러 해결에 도움이 필요합니다.
필요한 정보를 넣어주고 회원가입 버튼을 누르면 saga 의 user.js 에서 signUp 에서 에러가 발생하는데 이유를 모르겠습니다.