묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
git 요청그립니다 !
인프런 아이디 : iamwooda96@mail.com 인프런 이메일: iamwooda7@gmail.com 깃헙 아이디: iamwooda7@gmail.com 깃헙 Username : woodayoung
-
미해결홍정모의 따라하며 배우는 C++
네임스페이스
namespace를 myspace1 과 myspace2 를 줬을때는 main에서 usingnamespace myspace1을 준뒤, 코드를 실행해 보면 오버라이딩이 안 일어나고 정상적으로 실행이 되는데, namepace를 한개만 주고 main함수에서 using namespace myspace1을 준 뒤 코드를 실행했을때 오버라이딩이 일어나는 이유가 궁금합니다. 코드 첨부하였습니다! #include <iostream> using namespace std; namespace Myspace1 { int doSomething(int a, int b) { return a + b ; } } int doSomething(int a, int b) { return a * b; } int main() { using namespace Myspace1; cout << doSomething(3, 4) << endl; return 0; } #include <iostream> using namespace std; namespace Myspace1 { int doSomething(int a, int b) { return a + b ; } } namespace Myspace2 { int doSomething(int a, int b) { return a * b; } } int main() { using namespace Myspace1; cout << doSomething(3, 4) << endl; return 0; }
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
에뮬레이터 오류
AVD가 잘 작동되다가 어느 순간 갑자기 빌드를 눌러도 어플이 실행되지 않고, 어플 목록에서 지금 프로젝트 앱이 없네요 새로 애뮬레이터를 설정하여도 같은데, 이럴 경우는 어떻게 해야하나요?
-
해결됨웹 게임을 만들며 배우는 React
changeHand로 함수로 안 빼고 componentDidMount 호출해도 되나요?
componentDidMount가 첫 랜더링 호출후 실행되는 메소드이긴 하지만 이 메소드가 하는 일 자체가 인터벌을 다시 실행하는 일이잖아요? 그래서 onClickBtn 메소드에서 바로 호출해도 되나요? 일단 작동은 잘 되긴 하는데 componentDidMount는 첫 랜더링 후에만 호출되는 메소드(일종의 약속)니까 명시적으로 따로 호출하지 않는 게 좋나요? 아니면 리액트돔이 처음에 실행만 시켜줄 뿐 컨트롤 하는 건 개발자 몫이니 저런 식으로 또 써도 되나요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
postman에서 logout success는 나오는데 DB에서 token은 안 지워져요
postman에서 log out을 하면 success message는 뜨는데 DB의 token은 안지워지는데 따라히면서 같은 오류를 겪으신 분 혹시 계신가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관 관계의 주인이 필요한 이유
안녕하세요, 강의 들으며 공부하다가 궁금한 점이 있어서 질문 올립니다! 연관 관계의 주인만이 등록, 수정을 할 수 있고 주인이 아닌 쪽은 조회만 할 수 있다는 것을 배웠는데요 이러한 "연관 관계의 주인"이라는 컨셉이 필요한 이유가 무엇인가요? Team과 Member라는 엔티티가 있을 때 team 객체로 member를 수정하든 member 객체로 team을 수정하든 누구를 통해서든 등록, 수정 할 수 있으면 편할텐데요. 제가 이해한 바로는 "연관 관계의 주인"이라는 컨셉이 있는 이유가 어느 파일에서는 Team을 통해 member를 변경하고 어느 파일에서는 Member를 통해 Team을 변경하면 변경하는 코드의 일관성이 없기 때문에 오로지 연관 관계의 주인만 값을 변경할 수 있게끔 강제한 것이라고 이해했는데 올바른 이해인가요? 더 깊은 이유가 있다거나 다른 이유가 있다면 알고 싶습니다. 답변 기다리겠습니다. 요즘 날이 더운데 더위 조심하세요!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
비동기 방식 질문입니다
안녕하세요 수업 너무 잘 듣고있습니다!! 구글링 하다보니 feign이나 resttemplate은 동기방식이고 msa장점은 다음과 같다고 알고 있습니다. 서비스간 결합이 loose해서 하나 서비스가 고장 나도 다른 서비스 영향 없습니다. (ex. order에서 pay를 호출하는데 pay가 고장나도 응답이 나오긴나옵니다) 1. 강의에서는 kafka를 데이터 동기화로 사용했는데 리액티브 서비스에 맞게 service간 통신방법 비동기 방식으로 kafka나 rabbitMQ를 사용한다고 들었습니다. 제가 이해한게 맞는지 궁금하여 질문드립니다! 2. 그리고 다른 서비스 호출을 post방식이라면 비동기가 이해가는데, get방식으로 호출하면 다른 서비스 응답을 받고 그 다음 처리 해야하는데 어떻게 비동기 처리가 되는지 궁금합니다. 3. 비동기 방식으로 WebFlux 패턴도 사용하는데 메세지브로커를 이용한 비동기 방식이랑 어떠한 차이가 있는지도 궁금합니다.. 구글링 많이 해봤지만 확신이 들지 않아서 질문드립니다. 감사합니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용ㅇ해주세요.
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
강의에 사용하시는 pdf자료는 어디에 있나요??
강의 초반부에 웹디자인 기능사 실기시험 퍼블리싱 이론pdf이라는 pdf로 설명하시던데 강의에 사용하시는 pdf자료는 어디에 있나요??
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
random_state(seed값) 질문드립니다
모델마다 random_state값을 설정해주는데 (예를들어 train_test_split 에서) random_state이 바뀔때마다 모델도 약간바뀌는데 이때 모델이 너무민감하게 반응하여 결과가 다르면 어떻게 해결해야 되나요? 이문제를 cross-validation으로 해결하는건가요?
-
미해결홍정모의 따라하며 배우는 C언어
c언어를 입력하다가 중간에 수정을 하게 되면 뒤에 글자가 사라지고 입력이 될 때가 있는데 어떻게 해결하나요??
c언어를 입력하다가 중간에 수정을 하게 되면 뒤에 글자가 사라지고 입력이 될 때가 있는데 어떻게 해결하나요??
-
미해결
C언어 강의 1. 13 비주얼 스튜디오 코드 기본적 사용 방법에 대한 질문입니다.
선생님! 세밀하고 친절한 강의에 진심으로 감사드립니다. 저는 왕 초보입니다. C언어 강의 1. 13 비주얼 스튜디오 코드 기본적 사용 방법에 대한 강의를 따라 가던 중 컴파일 gcc main.c 를 입력하면 저는 강의 내용과는 다르게 아래와 같이 나옵니다. 여러번 다시 따라 해봤으나 동일하게 나옵니다. 무엇이 문제인지 가르쳐 주세요. 감사합니다. PS C:\Users\kredi\Documents\my_c_files> gcc main.c C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/lib/../lib/libmingw32.a(lib32_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x39): undefined reference to `WinMain@16' collect2.exe: error: ld returned 1 exit status PS C:\Users\kredi\Documents\my_c_files>
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
톰캣 서버 연결 관련 질문이 있습니다.
톰캣 서버 연결이 안 되는 문제가 생겨서 질문 글을 뒤지다가 이게 커뮤니티 버전에서 일어나는 문제라는 것을 알게 되었습니다. 답변글에 나온 대로 처음에는 settings - gradle에서 설정을 intellij로 바꾸지 않고 gradle로 둬 봤는데요. 여전히 톰캣 서버가 연결이 끊겼습니다. 그래서 build.gradle에서 implementation 'org.springframework.boot:spring-boot-starter-web' 이 코드를 지우고 settings - gradle에서 설정을 intellij로 변경했습니다. 이렇게 하니까 이제 연결은 되는데 프로젝트를 실행할 때 Edit Configuration 창이 뜹니다. 여기서 설정을 어떻게 해야 이 창이 뜨지 않을 수 있을까요? 제가 설정을 이것저것 해봤지만 Warning: Class 'hello.servlet.ServletApplication' not found in module 'servlet.servlet.main~1' 이런 식의 오류만 뜹니다. (+) 아래 해결방법 대로 하면 일시적으로는 잘 되는데 다음 날 와서 켜 보면 똑같은 문제가 반복되었습니다. 여러분 그냥 인텔리제이 커뮤니티 버전 말고 얼티메이트 버전 쓰세요... 혹시 학교 이메일 계정이 있으시면 졸업 여부와 상관없이 1년간은 무료로 라이센스를 이용할 수 있습니다. 전 얼티메이트 버전 쓰고 광명 찾았어요.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Entitymanager와 스프링
아래의 궁금증이 생겼습니다. 스프링에서, 1. em을 출력해봤는데 왜 em은 프록시 객체가 들어오는가? 뭘 위해서?2. 여러 리포지토리에 있는 em을 다 출력해보니 모두 같은 em 객체였다. 즉, em도 스프링 빈으로 등록되어 (사실은 proxy) 싱글톤으로 관리되고 모든 리포지토리 계층에서 같은 em을 사용하는 것일까? 3. 그렇다면 그림하고 다른 것이 있는데 em이 transaction이 생성될때마다 생기는 것이 아니라 그냥 하나를 여러 쓰레드에서 접근하는 것인가?? 그럼 내부에 쓰레드 세이프하게 코드가 짜져있어서 가능한걸까(락을 거는 것)? 여러 쓰레드가 동시에 접근하는 경우 락이 걸려있으면 하나의 요청이 처리될때까지 다른 쓰레드들은 대기하게 될텐데 그러면 멀티쓰레딩의 의미가 없는 것이 아닐까?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
EntityManager와 싱글톤 빈
JPA 활용 1과 연관해서 궁금한게 생겨서 문의드립니다. 아래의 내용이 맞는지 궁금합니다. 여기저기서 뒤죽박죽 조사해서 난해한 감이 있네요 ㅠ emf를 통해 직접적으로 em을 생성하는 경우 당연히 em의 원칙을 지키기 위해 트랜잭션 단위로 다른 em을 생성해서 반환하여, 공유하는 문제를 방비한다.그러나 이렇게 호출할 때 마다 새로운 em을 생성하는 것은 너무 큰 자원, 시간 낭비이다.실무에서는 JPA를 단독으로 사용하지 않고, 스프링 프레임워크와 함께 사용하는데 이러한 문제를 해결할 방법이 있다.분명 em은 트랜잭션 단위로 생성이 되어야 하며, 트랜잭션 종료 시 em도 종료되어야 한다고 했다. 그러나 스프링에서는 em을 트랜잭션 단위로 생성하지 않고도 동시성 문제를 해결할 수 있다. repository 클래스는 @Repository로 인해 스프링 빈으로 등록되므로 싱글톤으로 관리되는데 그 내부 필드인 em도 private final 이기 때문에 빈이 생성될 때 초기화된 후 변경되지 않는다.근데 어떻게 해결하는 것일까? @PersistenceContext 에너테이션에 그 답이 있다. @PersistenceContext 에너테이션을 사용하면, 이 repository 클래스가 빈으로 등록될 때 em을 주입하는 시점에서 EntityManager를 생성해서 주입할 때 프록시 객체로 감싸서 주입해주는 것이다. 이 프록시 객체가 내부적으로 동시성 문제를 해결해준다. 결국 한 repository에서 하나의 em만으로 문제를 해결하는 것이다.※ 최신 스프링에서는 @PersistenceContext 대신에 @Autowired로도 할 수 있다고 한다. @Repository@Transactionalpublic class MemberScheduleRepository { private final EntityManager em; @Autowired public MemberScheduleRepository(EntityManager em) { this.em = em; }} + 정리 강의에서 지금 강의에서하는 EntityManager와 스프링을 이용하는거와 다른데 나중에 설명해주겠다고 하셨는데 그거와 관련된 영상이 없는것 같습니다. 아래 그림의 차이도 포함해서요!
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
구현 측면 질문이 있습니다.
안녕하세요 선생님. 저의 경우에는 39번 문제의 두 배열을 합치는 매카니즘을 이용하여 해결하였습니다. 0. 사용자로 부터 두 배열을 입력 1. 입력받은 두 배열을 각각 정렬 알고리즘을 사용하여 오름차순으로 각각 정렬 2. 오름차순으로 정렬된 두 배열을 합친다 3. 이후 합쳐진 결과가 저장된 배열에서 중복된값만을 출력한다 저의 경우는 위의 논리를 기반으로 구현하였습니다.(사실상 39번 구현 코드와 큰 차이가 없습니다) 제 생각으로는 이렇게 구현하여도, 시간복잡도 측면을 생각해 본다면 선생님이 설명해 주신 투포인터 알고리즘으로 구현하든, 제 방식으로 구현하든 , 시간복잡도 측면은 동일하다고 생각되는데요, 제가 맞게 생각한건지 궁금합니다. -> 어차피 논리가 다른 부분은 위의 과정에서 두 배열을 합치냐 아니면 vs 바로 비교하냐 인데 , 두배열을 합치든 바로 비교하든 결국 두 방법에서 사용되는 loop은 어차피 배열 하나만을 scan하는 O(n)의 시간복잡도를 갖는다고 생각합니다.
-
미해결만들어 가면서 배우는 JAVA 플레이그라운드
첫번째 요일 입력받고 줄바꿈하는부분
for(int i=1; i<=maxday; i++) { System.out.printf("%3d",i); if((i+weekday)%7 == 0) { System.out.println(); } } 이런식으로 코딩하면 간단히 해결되지않나요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA 관련 프로젝트를 하던 중 궁금한점 2가지가 있어 질문드립니다.
안녕하세요 영한님. Spring 강의부터 JPA 강의까지 반복하고 있는 직장인입니다. 직장이 금융업종이라 단순 반복 업무 운영에 흥미를 잃어, 퇴근 후에 공부하고 있습니다. JPA 관련 토이프로젝트를 하던 중 궁금한점이 있어 이렇게 질문드립니다. (토이프로젝트를 하다보니 영한님 강의의 많은 부분이 실제 적용되는 것을 알 수 있었습니다..^^) 1. Spring Data JPA 쿼리 메서드 관련 프로젝트에는 User, Role 테이블이 존재합니다. 관계는 다대다이지만, ManyToOne으로 각각 설계하였습니다. 여기서 특정 롤을 가지고 있지 않은 사용자이름(username)을 가져오는 쿼리를 작성하려고 하는데, 우선 JPQL로 적용해보면 아래와 같이 될 것입니다. => select distinct u from User u fetch join u.userRoles ur where ur.role not in ?1 그런데 영한님 강의에서도 fetch 조인 대상은 alias를 허용하지 않는다고 하셨고, 실제로 해보니 오류가 나더라고요.. 근데 혹시나 해서.. Spring DataJPA 아래와 같은 쿼리 메서드를 적용해보니.. 원하는 결과를 얻을 수가 있었습니다.. => Page<User> findDistinctUsernameByUserRolesRoleNotIn(@NotNull Pageable pageable, Collection<Role> roles); 이 경우 내부적으로 어떻게 동작한 것일까요..ㅠ? 2. 페이징 처리 위 쿼리를 페이징 처리하기 위해 BatchSize를 지정했는데요.. BatchSize와 @EntityGraph 를 같이 적용하니 동작하지 않더라고요.. 제가 이해하기로는 @EntityGraph도 패치조인을 위한 전략이고, BatchSize도 패치조인 후에 페이징 범위를 가져오기 위한 방법인데, 왜 이렇게 되는지 잘 이해가 되지 않더라구요.. 혹시 제가 잘 못 이해하고 있는게 있는 것일가요?? 영한님 강의로 스프링에 대한 전반적 이해를 하는데 많은 도움을 얻고 있습니다. 감사합니다!
-
미해결인스타그램 클론 - full stack 웹 개발
\d 해도 작동이 안되고 에러가 납니다.
(사진)
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
reduce 사용한 코드
[섹션 2] 큰 수 출력하기 function solution(arr) { let answer = []; arr.reduce((prev, cur) => { if (prev < cur) answer.push(cur); return cur; }, 0); return answer; } let arr = [7, 3, 9, 5, 6, 12]; console.log(solution(arr)); reduce를 사용해서 작성해보았습니다. 결과는 맞게 나오는데 괜찮은 건가요? 항상 강의 재밌게 듣고 있습니다!!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Do while 질문 복수응답 관련 추가질문입니다.
[추가질문] 위에서 다른 학우분이 질문해주신 것에 대한 추가 질문입니다! answer가 y, Y, yes, YES, Yes... 등 개수가 많아져서 일일이 or를 적어주기 힘들 때는 지난 강의(13강)에서 enum 지정해줬던 것처럼 그룹으로 만들어서 해당 그룹/인덱스 안의 string이면 정답처리 할 수 있을 것 같은데 그럴 때는 어떤 함수를 쓰면 될까요? enum말고 estring 등이 있나요? estring Answer { YES = 0 Yes = 1 yes = 2 Y = 3 y = 4} Do Console.WriteLine("강사님은 잘생기셨나요? (y/n): "); string Answer = Console.ReadLine(); } while (answer != Answer); 이런 식으로요! 그리고 y/n 말고 아예 엉뚱한 답(0, ㅋ, ' 등)을 적는 사람에게는 "YES or NO 중 골라주세요" 와 같은 문장을 출력하고 다시 while문으로 돌아가게 하고 싶다면 방법이 있을까요? 이 땐 while문이 아니라 if문을 결합해야 할까요? 알려주시면 감사하겠습니다!