묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
콜백 메서드를 사용하면 의존관계주입이 일어나는건가요?
앞 강의에서는 setUrl메서드가 실행되지 않고 NetworkClient()생성자만 호출이 되었고, (스프링빈생성할때 생성자 호출) setUrl이 실행되지 않아 url=null, 로 뜨고 close + url 도실행되지않았는데요 이번에 초기화,소멸 콜백을 하면 setUrl에서 url도 설정되고, 스프링이 내려가는거까지 나오는데요 지난번의 강의에서는 그럼 스프링이 의존관계도 주입되지 않고 종료되는건가요? 이번강의에서는 콜백을 사용하면 의존관계주입이 이루어져야 콜백이 되니까 setUrl이 일어난건가요?? 그러니까 궁금한건 왜 지난번 강의에선 setUrl이 이루어지지않은걸까요??
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
git clone 에러
git clone할때 위와같이 -bash: git: command not found가 뜹니다. git, bash설치 되어있는데 왜저렇게 뜨는걸까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ProcessSend 질문이 있습니다.
SendQueue에 대해서 강의 시간에 배운 락 대신 CRITICAL_SECTION을 사용한다고 했을 때 EnterCriticalSection(&lock_send_queue_); if (send_queue_.empty()) { is_register_send_.store(false); } else { RegisterSend(); } LeaveCriticalSection(&lock_send_queue_); 이런 식으로 작성할 수 있을텐데 아래와 같이 EnterCriticalSection(&lock_send_queue_); if (send_queue_.empty()) { LeaveCriticalSection(&lock_send_queue_); is_register_send_.store(false); } else { LeaveCriticalSection(&lock_send_queue_); RegisterSend(); } 이런 식으로 작성하면 동기화에 문제가 될 소지가 있을까요..? Send는 아래와 같이 작성하였습니다. bool Session::Send(SendBufferRef send_buffer) { EnterCriticalSection(&lock_send_queue_); send_queue_.push(send_buffer); LeaveCriticalSection(&lock_send_queue_); if (is_register_send_.exchange(true) == false) { RegisterSend(); } return true; } 혹시 그리고 저희가 만든 락프리 큐를 센드큐로 활용한 예제는 없는지 궁금합니다..
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
플러터 강의를 올해초 출시한다고 들었던거 같은데 혹시 언제쯤 나오나요?
안녕- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 풀스택강의 잘듣고 있습니다~ 플러터 관련 강의를 올해 초 출시한다고 들었던거같은데.. 혹시 언제쯤 나오는지 알수 있을까요..?
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
게시글 좋아요 누르기 및 좋아요 취소하기 질문입니다
계속 고민하다 이렇게 질문을 남깁니다. 우선 제가 시도한 방법부터 알려드리자면 db.User.belongsToMany(db.Post, { through: 'Like'}); db.Post.belongsToMany(db.User, { through: 'Like', as: 'Liker' }); User과 Post모델 사이에 M:N관계를 정립합니다 passport.deserializeUser((id, done) => { User.findOne({ where: { id }, include: [{ model: User, attributes: ['id', 'nick'], as: 'Followers', }, { model: User, attributes: ['id', 'nick'], as: 'Followings', }, { model: User, attributes: ['id', 'nick'], as: 'Liker', }], }) .then(user => done(null, user)) .catch(err => done(err)); }); 그 다음에 세션에 로그인하면 팔로우/팔로잉 목록과 함께 좋아요 목록을 req.user에 저장합니다 res.locals.LikeIdList = req.user ? req.user.Liker.map(l => l.id) : []; page.js 에 req.user로 받은 Liker배열을 id만 따로 배열로 만들어 전역변수 LikeIdList에 넣습니다 {% if not LikeIdList.includes(twit.User.id) and twit.User.id !== user.id %} <button class="like">좋아요</button> {% elif LikeIdList.includes(twit.User.id) and twit.User.id !== user.id %} <button class="not-like">좋아요취소</button> {% endif %} 그 후 main.html에 이미지div밑에 좋아요와 좋아요 취소 버튼을 만들었습니다. router.post('/:id/like', async (req, res, next) => { try { const post = await Post.findOne({ where: { id: req.params.id } }); await post.addLiker(req.user.id); res.send('succes'); } catch (error) { console.log(error); next(error); } }) router.delete('/:id/not-like', async (req, res, next) => { try { const post = await Post.findOne({ where: { id: req.params.id } }); await post.removeLiker(req.user.id); res.send('succes'); } catch (error) { console.log(error); next(error); } }) 마지막으로 이벤트리스너를 활용하여 서버로 url을 보내고 라우터에서 처리하는 코드를 만들었습니다. 그 후 코드를 실행하고 로그인을 하고 나니 User is associated to User multiple times. To identify the correct association, you must use the 'as' keyword to specify the alias of the association you want to include. 로그인 하자마자 에러가 뜹니다. 해석해보자면 User과 User이 여러번 열결이 되니 include를 쓸 때 'as'를 써라입니다 하지만 위에 보시다시피 전 as를 확실히 썼습니다. 여기서 네트워크를 봤습니다 요청 URL: http://localhost:8001/ 요청 메서드: GET 상태 코드: 500 Internal Server Error 원격 주소: [::1]:8001 리퍼러 정책: strict-origin-when-cross-origin GET / 라우터에 에러가 발생했구나 싶어서 코드를 살펴보니 router.get('/', async (req, res, next) => { try { const posts = await Post.findAll({ include: { model: User, attributes: ['id', 'nick'], }, order: [['createdAt', 'DESC']], }); console.log(posts); res.render('main', { title: 'NodeBird', twits: posts, }); } catch (err) { console.log(err) next(err); } }); 문제가 없어 보입니다. 사실 이전까지 아무런 문제가 없는 코드라서 제 머릿속을 점점 미궁으로 빠집니다. 아마 저 include코드에서 뭔가 발생한거 같은데 제 짧은 지식으로는 아무리 봐도 문제가 없어 보입니다. 제 방식이 어디가 잘못된건지 알려주세요
-
미해결PHP 7+ 프로그래밍: 객체지향
안녕하세요. 라우터 서버 연결 질문이 있습니다.
이렇게 강의 하신 모든 코드 내용을 따라 했는데 자꾸 not found 에러가 뜨네요. 이유를 알 수 있을까요?? 따로 아파치 서버에 설정을 해야 하는게 있나요???
-
미해결스프링 핵심 원리 - 고급편
3분 10초대 관한 질문입니다
3분 10초대에서 HelloTraceV2에서는 component scan을 쓰셨지만 FieldLogTrace에서는 직접 스프링빈에 등록을 할꺼라고 하셨는데 2개를 다르게 하는 이유가 따로 있는건가요? 그리고 컴포넌트스캔을 안쓰고 굳이 직접 스프링빈을 등록하는 이유도 궁금합니다
-
미해결데이터 분석 SQL Fundamentals
한글 주석 깨짐 현상
안녕하세요? 수업 코드 파일에서 한글 주석 부분이 계속 깨지는데 해결이 안되어서 문의남깁니다. 윈도우 - 설정 들어가서 UTF-8 & Unix 로 바꾸기도 하고 DBeaver ini 파일에 한줄을 추가하기도 했는데 계속 화면이 깨져서요 혹시 해결방법이 있을까요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
아래 질문과 비슷한 내용이지만 조금 달라 질문드립니다.
아래 나르비님 질문 domain-web 의존관계 관련해서 추가 질문드립니다. (https://inf.run/3Avx) 해당 강의에서 DTO 역할을 하는 ItemSaveForm을 web 밑에 뒀는데 해당 DTO를 domain 밑으로 가져가는 것은 어떨까요? 물론 이렇게 될 때 이름은 ItemSaveDto 등이 더 적합할것 같습니다. 그렇게 생각한 이유는 1. Web -> Domain 의존은 있어도 괜찮다. 2. 기존 Item 생성후 setter를 이용하는 부분을 리펙토링 하고 싶다. (아래와 같이 생성자로 전달) //성공 로직 Item item = new Item(form);// item.setItemName(form.getItemName());// item.setPrice(form.getPrice());// item.setQuantity(form.getQuantity()); 3. REST API 서버 역할을 하는데도 DTO가 필요하다. 입니다. 그래서 이전 질문한분의 생성자에 넣는 방법 + 패키지 구조 자체까지 domain으로 이동하는 방법은 어떻게 생각하시는지 질문드립니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
user-service에서는 토큰 유효성 검사를 안하나요?
user-service에서는 토큰 유효성 검사를 안하나요? 게이트웨이에서 jwt 토큰의 유효성을 검사하기 때문에 user-service는 jwt를 발급만할뿐, 유효성 검사를 할 필요는 없나요? 물론, 서비스를 구성하는 방식에 따라 달라지겠지만 MSA 방식에서는 모든 요청은 게이트웨이를 통하는게 대부분(혹은 전부)라고 할 수 있을까요? 강의중에서 이미 발급된 토큰은 user-service가 restart되지 않으면 괜찮다고 하셨는데, 정확히 말하면 user-service는 토큰을 발급만할뿐 유효성 체크를 하지 않으니 토큰의 유효시간이 지나지만 않았다면 MS들이 재기동이 되든 말든 상관없어야 하는게 맞다고 생각해서요 추가) 같은 내용으로 다른분이 질문해주셨군요. 그 질문에 답변해주신 내용으로 이해했습니다. 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
this, static
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 1. Order에서 생성메서드 구현한 부분입니다. 보통 [접근 제어자] [리턴타입] [메서드명] (파라미터..) { ... } 이렇게 작성해왔습니다. 여기서 static 과 Order는 어떤 기능을 하는지 궁금합니다. static의 경우 이 생성메서드포함 Order도메인 내에서는 접근 가능하다는 것을 나타내는 걸까요? public static Order createOrder(Member member, Delivery delivery, OrderItem... orderItems) { 2. Order에서 비즈니스 로직(주문 취소)한 부분입니다. 여기서 this가 어디서 넘어온 것일까요? 파라미터로 넘겨준 것이 없는데 혹시 자신을 나타내는 것일까요? public void cancel() { if(delivery.getStatus() == DeliveryStatus.COMP) { throw new IllegalStateException("이미 배송완료된 상품은 취소가 불가능합니다."); } this.setStatus(OrderStatus.CANCEL); // this가 의미하는 것 for(OrderItem orderItem : orderItems) { orderItem.cancel(); }}
-
미해결운영체제 공룡책 강의
06. 프로세스간 통신의 실제: Chapter 3. Processes (Part 4) 에 그림 3.16 3.17 실습 오류
강사님 그림 3.16과 3.17 실습 중 이렇게 오류가 뜨는데 어떤게 문제 일까요?
-
미해결함수형 프로그래밍과 JavaScript ES6+
강의 내용 질문있습니다.
후반부에서 getUserById함수에서 find한 값 없을 경우를 함수 내부에서 처리를 했는데 이런 경우 순수함수라고 할 수 있나요??그리고 상황에 따라 다르겠지만 지금처럼 Promise.reject을 함수 안에서 다 만들어서 에러가 나도록 코드를 작성하는 것이 좋을까요?답변 주시면 감사하겠습니다ㅎㅎ 강의 너무 잘 보고 있습니다. 감사합니다 :)
-
미해결배달앱 클론코딩 [with React Native]
안드로이드 스튜디오 기본위치설정시 구글맵이 안보입니다.
안녕하세요. 강사님, 열심히 따라하며 학습하고 있는데요, 챕터 4의 내위치가져오기 파트에서, 안드로이드 에뮬레이터에서 제 위치를 임의로 설정하는 부분에서, 구글맵이 뜨지 않아서 설정을 하지 못하는데요, 이럴경우 어떻게 해야 하나요? 검색을 해보면, 대부분 개발하면서 어플리케이션에 구글맵 사용하는 내용만 나와서요....
-
미해결Svelte.js SPA 영화 검색 프로젝트
영상 위치 [11:21] 안내
강의 잘 듣고 있습니다.! 덕분에 스벨트를 쉽게 이해하고 있습니다. 감사합니다. 궁금한점: 11:21초에 보면 18번 행에서 '<Loader absolute>' 라고 적었는데요. (Movie.svelte 에서 선언한 Loader컴포넌트) 여기서 absolute가 적용되는 원리가 궁금합니다. 질문1) 'Loader.svelte' 컴포넌트에서 11번행 위치에 선언된 'class:absolute' 스타일이 적용되어서 html 태그의 속성처럼 사용할 수 있게되는 것인지요? 다른 질문 2) 테스트시 런타임환경에서 개발자도구에 들어갔을때 콘솔에서 간헐적으로 웹 소켓에 대한 에러가 주기적으로 (30초?1분?)발생 합니다. 제가 잘 못 코드를 작성한 경우 이런일이 발생 할 수 있나요? 질문3) 그냥 물어보는? 해결이 안되어도 괜찮습니다.! IDE 툴로 웹스톰을 사용중입니다. 예를들어 스크립트에서 선언한 변수를 스벨트내 html태의 스타일을 변수로 사용하는 경우 웹스톰에서 에러로 인식합니다.(작동에는 전혀 지장이없음.) 그러나 자꾸 눈에 거슬립니다. 혹시 방법을 아시는지요? 아래코드는 예제 부가 설명 코드) <script> export let scale</script><div style="transform: scale({scale})"> <div> 올려주신 내용 덕분에 너무나도 잘 배우고 있습니다. 다시한번 감사드립니다.
-
미해결스프링 핵심 원리 - 기본편
안녕하세요. 컨테이너와 스프링 빈 하면서 오류나는 부분 여쭤봅니다.
안녕하세요. 섹션 4. 스프링 컨테이너와 스프링 빈을 공부하면서 해당 코드에서 계속 문제가 나서 질문을 드립니다. 오류가 나는 코드는 assertThrows(NonUniqueSessionRepositoryException.class 이 부분 입니다.오류 내용은 이러합니다. 해결 방법이 있을지 궁급합니다. ㅜ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
파라미터 ...
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Order에 생성 메서드를 구현할때 파라미터에 ... 넣는 의미를 모르겠습니다. 어느 경우에 사용하나요? public static Order createOrder(Member member, Delivery delivery, OrderItem... orderItems) { }
-
미해결실전 HTML & CSS 강좌
피피티 다운이 안되요ㅠㅠ 다들 인강만 보시는건가요?
자료 다운받으면 티스토리 존재하지 않는 화면이라고 뜹니다ㅠㅠ 다들 인강만 보시는건가요? 아니면 다운 경로가 따로 있을까요?
-
미해결이펙티브 자바 완벽 공략 1부
굳이 팩토리 메소드 패턴을 쓰는 이유가 뭔가요??
우선 추천해주신대로 디자인패턴 강의를 아직 수강하지는 않았습니다. (수강 예정입니다!) 이 강의에서 팩토리 메소드 패턴을 보여주셨습니다. 물론 책에서 "팩토리 메소드 방식도 적용할 수 있다"라는 문구때문에 예시를 들어주신 것 같긴한데, 이 강의에서 보여주신 예제만 보면 SpellChecker 클래스의 클라이언트가 Dictionary 인터페이스의 구현체만 주입해줘도 충분할 것 같습니다.그런데 굳이 팩토리를 주입받고 그 팩토리로부터 Dictionary 구현체를 반환받아 자신의 Dictionary 타입의 필드에 할당하는게 조금 와닿지가 않습니다. 최대한 단순하게 예시를 들어주신거라고 이해하고는 있습니다만 궁금해서 질문드립니다. 추가) 강의 끝 부분에 객체를 생성하는 과정이 복잡할 때 사용한다고 하셨는데, 클라이언트에게 복잡한 객체를 생성하는 일을 시키지 않기 위해서...사용하는 것일수도 있겠네요.(자문자답일까요..)
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션5 - 3. 연속부분수열1
안녕하세요 강의 잘 듣고 있습니다 ^^ 이 문제에서 for문을 사용하셨는데 이전 강의들처럼 while문을 사용해도 되나요?? while(p1<test.length && p2<test.length){} 이렇게 for문 대신 while문을 돌리면서 while 안에 내용은 강의랑 유사하게 해도 될까요???