묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
socket.io와 gateway에 대한 질문입니다!
Nest.JS document를 읽어보면 클라이언트에서 보내준 메세지를 @subscribeMessage()에서 받아와서 gateway에 주입된 service를 이용해 로직을 수행하는 걸로 이해했는데 강의에서는 client -> controller -> service에서 gateway 의존성 주입 후 client로 emit 하는 순서로 진행이 되는데 client에서 바로 gateway로 진입하지 않은 이유를 알고 싶습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
/servlet/members로 들어가면 members가 다운로드 되고 창이 실행되지 않습니다.
@WebServlet(name = "memberListServlet", urlPatterns = "/servlet/members")public class MemberListServlet extends HttpServlet { private MemberRepository memberRepository = MemberRepository.getInstance(); @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<Member> members = memberRepository.findAll(); response.setContentType("'text/html"); response.setCharacterEncoding("utf-8"); PrintWriter w = response.getWriter(); w.write("<html>"); w.write("<head>"); w.write(" <meta charset=\"UTF-8\">"); w.write(" <title>Title</title>"); w.write("</head>"); w.write("<body>"); w.write("<a href=\"/index.html\">메인</a>"); w.write("<table>"); w.write(" <thead>"); w.write(" <th>id</th>"); w.write(" <th>username</th>"); w.write(" <th>age</th>"); w.write(" </thead>"); w.write(" <tbody>");/* w.write(" <tr>"); w.write(" <td>1</td>"); w.write(" <td>userA</td>"); w.write(" <td>10</td>"); w.write(" </tr>");*/ for (Member member : members) { w.write(" <tr>"); w.write(" <td>" + member.getId() + "</td>"); w.write(" <td>" + member.getUsername() + "</td>"); w.write(" <td>" + member.getAge() + "</td>"); w.write(" </tr>"); } w.write(" </tbody>"); w.write("</table>"); w.write("</body>"); w.write("</html>"); }}왜 안되죠 복붙했는데 다른 Servlet은 동작 잘합니다.
-
미해결앨런 iOS Concurrency(동시성) - 디스패치큐와 오퍼레이션큐의 이해
Main.async 질문
안녕하세요 앨런! 강의를 듣던중 main.async에 대해 이해가 잘 가지 않아 질문드립니다. Dispathqueue.main.async는 task를 main 큐(main쓰레드)에 보내서 비동기적으로 처리하겠다는 말인데, 아시다시피 main 큐는 직렬 큐이기 때문에 비동기적으로 처리하려고해도 물리적으로 1개의 쓰레드밖에 없기 때문에 순서대로 task를 처리하게 됩니다. 결국엔 동기적으로 처리하게 되는거나 마찬가지인데, 왜 굳이 메인쓰레드를 비동기적으로 처리하는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
IntelliJ IDEA> Preferences
왼쪽 상단에 IntelliJ IDEA> Preferences 상기 항목이 안나와요? 어디서 찿을수 있을까요? 버전은 아래와 같습니다.IntelliJ IDEA 2022.1.2 (Community Edition)Build #IC-221.5787.30, built on June 1, 2022Runtime version: 11.0.15+10-b2043.56 amd64VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.Windows 10 10.0GC: G1 Young Generation, G1 Old GenerationMemory: 750MCores: 8Kotlin: 221-1.6.21-release-337-IJ5787.30
-
해결됨언리얼엔진 블루프린트 스파르타 클래스
coin습득함수 만들어줄 때
Game_State 안에서 코인을 카운트해주는 로직을 구현할 때 아래처럼 커스텀이벤트로 만들어주는거랑 함수로 만들어주는거에 어떤 차이가 있나요??
-
미해결빅데이터분석기사 실기대비 (R 활용)
회귀 예측에서 변수 선택
안녕하세요. 여러 질문을 드림에도 친절하고 상세한 답변 항상 감사드립니다. 작업형 2에서 회귀 예측 문제가 나올 경우, 그리고 해당 df에서 변수가 무진장 많고 numeric과 캐릭터형 들이 산재되어 있을때 범주형 변수인 캐릭터형을 굳이 팩터형으로 바꾸지 않고 연속형 numeric 또는 integer 형만 따로 select하도록 전처리를 하면 될까요? 연습하다가 아래와 같은 데이터프래임을 마주하게 되었는데요. SalePrice를 예측하는 문제입니다. 저렇게 많은 변수들이 나오게 되면 일일이 select 지정해야겠죠?
-
해결됨언리얼엔진 블루프린트 스파르타 클래스
Game_State의 Get_COin함수를
코인을 카운트를 현재 플레이 하고있는 케릭터에서 만들어 주어도 되는 건가요? 아참 그리고 형변환안하고 아래처럼 변수로 바로 만들어서 사용하면 안되는 건가요??
-
미해결중상급 퍼블리싱을 위한 CSS3의 모든 것
오타(contaner)
안녕하세요. 강의 열심히 듣다 오타를 발견해 글 올립니다. 강의36분 24초에 클래스 이름 container가 html파일에 contaner 적힌 것이 오타인 듯 합니다. 감사합니다.
-
미해결스프링 핵심 원리 - 기본편
final 을 꼭 사용해야하는 이유가 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]private final MemberRepository memberRepository 이런식으로 final 을 항상 붙여주시는데 특별한 이유가 있나요? 데이터가 변경되는걸 막기 위한건가요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
defaultValue={0}만 적용이 안됩니다!
다른거 다 되는데 디폴트 벨류 숫자를 아무리 바꿔도 상품가격 칸이 비네요.. 그냥 Input 해서 위에처럼 placeholder하면 잘 들어가는데 inputnumber만 문제입니다.. 따로 오류는 안나오고 임폴트에 인풋넘버 잘 넣어놨습니다..
-
미해결스프링 핵심 원리 - 고급편
AOP를 통해서 공통처리로 로그인처리를 할 수 있다고 하는데요,
기존에는 Security를 통해서 로그인처리를 해야만 한다고 생각했는데 다른 방법으로 할 수 있다고 하니 비교를 하고 싶어지더군요. AOP와 Secuirty의 차이점이 무엇이 있을까요? 그리고 로그인처리에는 어떤것이 더 적합할까요?
-
미해결실전! 스프링 데이터 JPA
entitymanager질문
테스트진행중 @PersistenceContext EntityManager em; 이렇게했는데 테스트에서는 @require아규먼트 해서 private final 로쓰면안되는건가요?
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
이미지를 등록하면 axios err가 발생합니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 글만 등록하면 괜찮은데 이미지를 등록하면 err가 납니다. 크롬 콘솔창에서 뜨는 에러와 서버 콘솔창에서 뜨는 에러 모두 첨부하겠습니다 ㅠㅠ 어디서 문제가 생긴걸까요? 강사님 코드랑 꼼꼼하게 비교해봐도 잘 모르겠습니다. 네이버 클라우드와 연결하는 과정에 생긴 이슈같기도 하고.. 도와주세요. // 깃헙링크 해결돼서 깃헙링크 지웁니다!
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
이 오류는 무엇일까요~
antd사용 이후부터 나오는 거 같은데 이번 강의부터 갑자기 쭉 생겼습니다!
-
해결됨스프링 핵심 원리 - 기본편
어플리케이션의 구조와 스프링 컨테이너
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 전체적인 그림이 머릿속에 잘 그려지지를 않아서 질문 드립니다... 1. 예를 들어, 클라이언트가 웹에서 요청을 하면 해당 요청이 서버 컴퓨터에 있는 프로그램의 main 메서드로 전달이 되고 main 메서드에서 MemberService 빈을 불러와서 처리가 되는 것인가요? 실제로 웹 어플리케이션(?)을 운영할 때에 CoreApplication 클래스의 main 메소드에서 AnnotationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig); 같은 코드를 적고 이 때 생성된 스프링 컨테이너 ac를 이용해서 요청이 들어올 때마다 MemberService 빈을 꺼내오는 건가요? 아니면 이런 코드가 필요없이 스프링에서 알아서 컨테이너를 만들고 컴포넌트 스캔을 해주는 건가요? 만약 그렇다면 이렇게 스프링 자체적으로 만든 컨테이너에는 어떻게 접근을 할 수 있나요? 2. 테스트 함수 내부에서 빈을 꺼내서 사용하는 일련의 코드들이 테스트가 아닌 실제 코드에서는 메인 메서드에서 구현되는 것인지 각 서비스 객체에 구현되는 것인지를 잘 모르겠습니다. 예를 들어, test.hello.core.autowired.AllBeansTest 에서 고객이 할인 정책을 선택하게끔 하는 예시는 실제로는 DiscountService 객체 내부에 메소드를 만들어서 처리하는 상황인 건가요? 3. 스프링 컨테이너에 직접 접근하고 getBean을 통해 빈을 꺼내오는 건 테스트 상황에서만 필요한 작업인가요? 프로토타입 빈을 받아오거나 하는 경우를 제외하면 서비스 객체나 리포지토리 객체 등에서 스프링 컨테이너에 접근할 일은 없는 건가요? 4. 실제 개발을 하면서 https://www.inflearn.com/questions/331154 이 질문에서와 같이 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); AnnotationConfigApplicationContext ac2 = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); 와 같은 코드를 짜서 컨테이너가 2개 생성될 일은 없는 건가요? 교재에 있는 그림들을 보면 여러 클라이언트들이 하나의 컨테이너로부터 빈을 받는데 이 컨테이너는 스프링이 자체적으로 관리하는 컨테이너가 맞나요? 추가 질문. 지금처럼 전체적인 그림이 잘 안잡힌다면 이 상태로 mvc 강의를 듣는게 나을까요? 아니면 확실하게 모든 걸 이해하고 가는게 좋을까요?
-
미해결쉽고 빠르게 익히는 Power BI 심화 2 (데이터 모델링)
Calculate 및 파워커리편집기 등 기타 질문
선생님 안녕하세요. 1. 아래그림과 같이 음료수 리스트 중 가장최근에 구입날짜로 필터하여 구매수량의 합계는 어떻게 구할까요? 칼큘레이터 수식을 어떻게 작성할지 모르겠습니다. (엑셀의 sumifs와 같은 개념..) ex) 콜라 3개 + 밀키스 +1개 +사이다 4개 = 9개 2. 파워 커리 편집기 상에서 최근 구입날짜만 Sorting하는 방법은 어떻게 되나요? (Old 구입날짜의 행은 Hide시키는 개념..?) 3. 파워커리 편집기를 사용할 수 없는 상황이라고 가정하면.. 보고서에서 표를 어떻게 필터를 적용시킬 수 있을까요? (필터창활용, 엑셀의 고급필터와 같은 기능?) 4. 서버연동시 데이터 연결모드의 Direct Query로 연동하면 파워커리편집기를 사용할 수 없어서 분석에 적합한 데이터 가공하는데 많은 제약이 있습니다. 그래서 데이터 연결모드를 가져오기로 가져올 경우 어떤 리스크가 존재하나요? 이 둘의 차이점을 알고 싶습니다, (장단점)
-
미해결데이터 분석 SQL Fundamentals
조인 실습 02에서 max(ename) as ename을 max함수로 한 이유가 뭔가요?
안녕하세요. sql 초보입니다. 조인 실습 02에서 max(ename) as ename를 max함수로 한 이유가 뭔가요? --- with 함수를 잘 몰라서, 아래와 같이 하기는 했는데 select b.empno, b.ename, avg(c.sal) as AVERGESAL from hr.dept a join hr.emp b on a.deptno = b.deptno join emp_salary_hist c on b.empno = c.empno where a.dname in ('SALES','RESEARCH') group by b.empno order by 1, 2 --- 결과값은 동일해보였지만, 설명해주신 쿼리문으로 이해하려고 구글링을 해보았습니다. 나머지는 이해가 가는데 max함수가 저렇게 쓰인 이유에 대해서는 잘 이해가 안갑니다!ㅜ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
안녕하세요 선생님 rigidbody velocity에 관한 질문입니다.
rigidbody. velocity는 게임 프레임과 관련이 없는건가요?? 제가 게임을 제작하는데 프레임에 따라 느려졌다 빨라졌다하더라구요 그래서 구글링해봤는데 관련없다는 말들이 많더라구요 근데 관련이 없는 것 같지 않아서.. 질문을 드립니다 공식 문서를 보면 프레임이랑 관련이 없는 것 같지않는데.. 너무 어렵습니다 ㅠㅠ
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
락 잡을 경우 조회가 안되는데요
질문이 있습니다. 세션1에서 commit전 아래와 같이 쿼리를 날리고 ``` set autocommit false; update member set money=500 where member_id = 'memberA'; ``` 세션2에서 아래와 같이 update와 select를 실행하는 쿼리를 날려보았습니다. ``` SET LOCK_TIMEOUT 60000; set autocommit false; update member set money=1000 where member_id = 'memberA'; select * from member; ``` 이후 세션1에서 commit을 날리게 되면 세션2에서 순차적으로 update, select문이 실행 되는데 이건 세션1에서 락이 반납이 되서 모든 쿼리문이 실행된걸로 보면 되는걸까요?? 그렇다면 commit 후 락이 반납되기 전까지는 어떠한 CRUD 쿼리는 실행을할수 없다고 보면 될까요??
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
점수 표기 누적 질문있습니다.
let message; // 2, -1은 승리조건이고, -2, 1은 패배조건, 점수표 참고 if ([2, -1].includes(diff)) { me += 1; message = '승리'; } else if ([-2, 1].includes(diff)) { computer += 1; message = '패배'; } else { message = '무승부'; } if (me >= 3){ // 3번 먼저 이기면 나의 승리 $score.textContent = `나의 승리 ${me}:${computer}`; } else if (computer >= 3){ // 3번 먼저 이기면 컴퓨터의 승리 $score.textContent = `컴퓨터의 승리 ${me}:${computer}`; } else { $score.append(`${me}:${computer}`, document.createElement('br')) setTimeout(() => { clickable = true; intervalId = setInterval(changeComputerHand, 50); }, 1000); } } }; 점수 표기 누적을 해보고 싶어서 else에 $score.append(`${me}:${computer}`, document.createElement('br')) 값을 추가해보았는데요, 이렇게 적용하면 1:0이 아닌 01:0 으로 시작합니다. 이유가 무엇일까요? 그리고 message = '승리';message = '패배';message = '무승부'; 값이 적용되지 않습니다. 승리, 패배, 무승부 값도 적용하고, 점수 표기도 누적으로 나오게 하려면 어느 부분을 수정해야할까요?