묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
declare const module: any;
안녕하세요. hot reload 관련 main.ts에 추가한 코드 문의드립니다. 아래와 같이 module이란 이름의 정해지지 않은 타입을 선언하기만 한것인데 어떻게 reload 관련 모듈을 포함하여 사용할 수 있는 것인가요? declare const module: any; module.hot module.hot.accept(); module.hot.dispose(() => app.close());
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링 웹 프로젝트에서 서블릿 필터, 인터셉터, AOP가 선언된 경우 AOP가 동작하는 시점에 대한 질문입니다.
안녕하세요. 스프링 MVC Part.2 강좌에서 필터와 인터셉터를 배우고나서, 서블릿 필터, 스프링 인터셉터, AOP가 모두 선언이 되어 있는 경우 AOP가 동작하는 시점에 대해 질문을 드리고자 글을 남깁니다. [강의 자료에서 가져온 필터, 인터셉터의 동작 과정] HTTP 요청 -> WAS -> 필터 -> 서블릿(디스패처 서블릿) -> 스프링 인터셉터 -> 컨트롤러 동작 과정을 보다가 문득 든 생각입니다. '그럼 AOP는 어느 구간에서 요청을 캐치해서 동작하는거지?' 예를 들어, 공통 관심 사항(메소드 실행시간 체크)을 처리하는 AOP를 @Around(핵심 기능 실행 전/후 동작)로 선언했다면 AOP가 동작하는 과정은 아래 과정이 맞을까요? HTTP 요청 -> WAS -> 필터 -> 서블릿(디스패처 서블릿) -> 스프링 인터셉터 -> AOP -> 컨트롤러 무조건 위 과정이 맞는지 아니면 공통 관심 사항을 적용하는 방법(메소드 실행 전, 후, 전+후)에 따라 바뀌는지 궁금합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
HomeConroller의 핸들러 메소드에서 로그인 정보를 담는 member 객체에 대한 질문입니다.
안녕하세요, 로그인 처리2 - 필터, 인터셉터 파트의 'ArgumentResolver' 활용편에서 궁금한 사항이 있어 질문 글을 작성해 봅니다. HomeController에서 '/' URL에 대한 핸들러 메소드 선언시 'member' 파라미터에 대해서는 @Login 어노테이션을 선언하여 직접 구현한 LoginMemberArgumentResolver를 통해 세션에 담긴 로그인 객체를 바인딩(?) 시켜주는 과정을 확인할 수 있었습니다. 만약, HomeController에서 '/' URL 요청 매핑 외 다른 URL 요청 매핑을 처리할 수 있는 여러 핸들러 메소드가 선언되고, 기획자 또는 클라이언트의 요구사항에 따라 HomeController에서 처리되는 모든 핸들러 메소드에 대해서는 로그인 객체를 이용하여 무언가 분기 처리를 해야하는 로직이 포함되어 있어야 한다면(분기 처리는 각기 다른 로직을 포함하고 있습니다.) HomeController에 존재하는 모든 핸들러 메소드의 파라미터로 '@Login Member member'가 선언이 되어야 할 것 같다라는 생각이 들었습니다. 이 또한 반복적인 코드가 아닐까 싶은데요. HomeController에서 '전역적'으로 로그인 정보를 포함하고 있는 객체를 선언하고, 이를 핸들러 파라미터로 굳이 선언하지 않아도, 각 핸들러 메소드에서 사용할 수 있는 방법이 있을까요? P.S HTTP 요청 -> WAS -> 필터 -> 서블릿(디스패처 서블릿) -> 스프링 인터셉터 -> 컨트롤러 흐름을 생각해 보면... 서블릿 필터 또는 인터셉터를 통해 매 요청에 세션에 담긴 로그인 정보를 핸들러 메소드에 각각 다시 주입(?) 시켜줘야 할 것 같은데 실무에서 보통 이렇게 처리하는지 아니면 다른 방법이 있는지 궁금합니다. 미리 답변 감사드립니다.
-
미해결취미로 해킹#2(해커의 컴퓨팅)
존 크래커 깔아도 선생님처럼 안뜹니다
그래서 다른거도 해보면 무슨 마이크로소프트 샵가서 다운로드 할 수 잇는 앱을 깔라고 하고 아무튼 안됩니다....ㅠ 그리고 네이버 계정이 없어서 네이버 카페는 못봐요 여기에 답변주시면 감사드립니다..ㅠㅠ ↓여기처럼 이런 파일만 나오고 하얀색 종이로 되있는건 마 ↓이크로 소프트 샵가서 다운로드 할 수잇는...... ↓
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
django에서 테스트모듈과 TDD
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님!!! 강의 정말 잘 듣고있습니다!!ㅎㅎㅎ 강의를 듣고난지 벌써 시간이 참많이 지나서 이제 추가 강의만 남겨두고 있습니다ㅎㅎㅎ 다름이 아니라, djago로 서비스를 구축하고 유지보수를 진행할때 pytest를 이용해서 테스트모듈을 돌러보거나 TDD를 이용한다는 글을 웹서핑을하다가 보았습니다. 이리저리 찾아보아도 django로 그래서 어떻게 테스트 모듈을 만들어서 돌리는지, TDD를 사용할수있는지 강의나 한국어로 잘 설명된것을 찾기거 어려워서 질문을 드립니다...ㅠㅠ 혹시 추천해주실만한 자료들이 있을까요....??
-
미해결
Component-scan
지금 JPA 프로젝트를 진행하면서 아 이런거구나 라고 넘어 갔었는데 확실히 해야 될 것같아서 질문을 남깁니다. 이전에는 AppConfig 라는 것을 만들어서 component scan을 통해서 component의 어노테이션을 보고 빈으로 등록을 했는데 현재 프로젝트를 진행하면서 AppConfig를 사용하지 않고 @Controller @Repository @Service 로만 진행을 하고 있는데 저렇게 어노테이션을 쓰게 되면 굳이 컴포넌트 스캔이 필요없이 알아서 빈으로 등록이 되는건지 궁금합니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
Git 요청 드립니다.
강의에서 남겨주신 Gist 주소에 댓글 남겼는데 수락이 안돼서 여기에 남깁니다. 인프런 아이디 : hy.kim인프런 이메일 : hy.kim@brainz.co.kr깃헙 아이디 : mygusdb1004@naver.com깃헙 Username : HyeonU
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
이런건 어떻게 하나요?
f5를 누르면 경고가 뜨면서 "do not have an extention for debugging c#...."이렇게 뜨는데 어떻하죠?
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
질문입니다
1. mysql -h localhost -u root -p 치고 비번 입력하면 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 이렇게 뜨는데 어떻게 해야하나요? 심볼릭 링크도 걸어봤지만 실패했습니다 2. mysql 대신 mariadb로 해도 상관없나요? 감사합니다!
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
몽고 디비 로컬로 설정해도 되나요
mongodb community 서버를 다운 받은뒤 클라우드 버젼 대신 로컬 버젼으로 바꿔서 사용해도 되나요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
동적 배열 구현 연습-예외 케이스 질문있습니다.
if (Count >= Capacity) 의 부분이 예외케이스라고 하셨는데, 그 이유가 정확히 해당 조건에 들어가야 진행되기 때문인가요? 아니면 단순히 이와같은 이사비용 문제는 무시한다는 약속이 주어져있는 이유에서 예외케이스인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
conversionService에 등록안해도 테스트가 통과가 되요
new StringToIntegerConverter new IntegerToStringConverter를 등록한 로직을 주석처리 했는데도 테스트에 통과가 되네요 왜 그런지 알수있나요?? 자동으로 컨버터가 되는것같아요
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Latch 방지를 위한 n_state 의 default 값 정의
안녕하세요 좋은 강의 감사드립니다. 강의 7분 40초경에 n_state 값이 assign 되어 있지 않기 때문에 2bit 11 신호가 들어오면 latch 가 발생하기 때문에 꼭 default 값을 assign 해 줘야 한다고 말씀 하셨는데요. 왜 그런지 설명 좀 더 부연 설명 가능 하실까요? latch 가 안 좋은것은 알겠는데 왜 latch가 발생 되는지 궁금합니다. case 에 없는 상황이니 그냥 머신이 작동하지 않을 것 같은데요.. 그리고 한 가지더요, always block 2번째 3번째는 always block 한개로 같이 기술 될 수 있나요? 같은 combinational logic 이고 stimulus도 같으니 가능할 것도 같아서요. 만약 가능하다면 어쩐식으로 기술이 될 수 있을 까요? 그리고 always block 두개로 코드를 만드신 이유가 있을까요? 질문이 너무 많았네요^^ 그럼 시간 되실때 답변 부탁 드리겠습니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:field 사용시 id와 name을 같이 변경하는 이유가 뭘까요?
id는 css나 javascript에서 HTML element를 특정할 때 사용하는 거잖아요? 단일 css 파일이나 js 파일을 쓴다고 가정한다면 어플리케이션 전체 html 상에서 그 id는 유일성이 보장되어야지 나중에 화면이 꼬이거나 javascript가 꼬이거나 하는 일이 없을 거 같거든요. 만약 퍼블리셔나 프론트엔드 개발자가 A form에서는 <input id="itemNameA" > B form에서는 <input id="itemNameB"> 라고 잡아놓고 퍼블리싱이나 클라이언트 쪽 개발을 했다면, 나중에 백엔드 개발자가 A form에는 <form th:object = "${itemA}"> <input id="itemNameA" th:field="*{itemName}"> </form> B form에는 <form th:object = "${itemB}"> <input id="itemNameB" th:field="*{itemName}"> </form> 이렇게 해버리면 id를 서로 다른 DTO의 같은 필드명을 사용해버려서 문제가 생길 것 같은데요. 그런데 타임리프 개발자들이 id랑 name 모두 바뀌도록 설정해놓은 것은 무언가 깊은 뜻이 있어서일 것 같은데, 제가 생각하는 문제가 일어날 가능성이 없는 건가요? 제가 무언가 잘못 이해하고 있는 건가요?
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
GROUP BY 질문입니다
안녕하세요, 수업 잘 수강하고 있습니다. 다름이 아니라 GROUP BY가 조금 헷갈려서 질문드립니다. leetcode 182. Duplicate Emails를 예시를 들어 질문드립니다. SELECT * FROM Person GROUP BY Email 이런식으로 Email로 groupby를 하게되고 같은 email을 가진 row끼리 묶이면서 count(email)등 등 연산을 할 수 있는 것으로 알고 있는데, groupby Email로 했는데 count(id)는 어떻게 동작되는지 궁금합니다. Email기준으로 groupby했는데 count(id)를 할 수 있는건가요?? Email기준으로 groupby 했을때 count(id), count(*), count(Email)의 차이점이 궁금합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jsp파일 import 문제
new-form 화면에서 전송버튼을 누르면 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Fri Jul 23 00:31:22 KST 2021 There was an unexpected error (type=Internal Server Error, status=500). org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: [14] in the generated java file: [C:\~~~\Local\Temp\tomcat.8080.446856367062518278\work\Tomcat\localhost\ROOT\org\apache\jsp\jsp\members\save_jsp.java] Only a type can be imported. hello.servlet.domain.member.Member resolves to a package 이런 오류가 나옵니다. 혹시 방법을 알 수 있을까요?
-
미해결정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)
문제분석 로직 질문
8:54초경 문제분석 2 설명을 보면 다시전 end > 현 start 비교해서 6>=8이 아니므로 [8,10]을 저장한다고 말씀하시는데 [1,6]을 저장하는 것이 코드상 맞는 것 같습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Request 객체로 받지 않아도 동작하는 이유가 궁금합니다!
hello/hellospring/controller/MemberController.java @PostMapping("/members/new")public String create(MemberForm form) { //Request 객체를 사용해서 안받아도 되는 이유??? Member member = new Member(); member.setName(form.getName()); System.out.println("member = " + member.getName()); memberService.join(member); return "redirect:/";} html 코드 <!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><body><div class="container"> <form action="/members/new" method="post"> <div class="form-group"> <label for="name">이름</label> <input type="text" id="name" name="name" placeholder="이름을 입력하세요"> </div> <button type="submit">등록</button> </form></div></body></html> 여기서 제가 아는 바로는 이름을 입력 후 등록을 눌렀을 때 회원 정보를 가져오려면 Request 객체를 사용해서 꺼내와야 하는걸로 알고 있는데 어떻게 MemberForm 타입으로 가능한지 궁금합니다!
-
미해결머신러닝 엔지니어 실무
후반부 강의자료 부탁드립니다.
강의 수강평 남겼습니다! ys_lee1017@naver.com 후반부 강의자료 부탁드립니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
왜틀린지 아무리 봐도 모르겠습니다 ㅠ
public static void main(String[] args) { Scanner in = new Scanner(System.in); String s = in.next(); String t = in.next(); //t.length <= s.length HashMap<Character,Integer> tHash = new HashMap<>(); for(int i=0;i<t.length();i++){ tHash.put(t.charAt(i),tHash.getOrDefault(t.charAt(i),0)+1); } int lt=0, cnt=0,answer=0; HashMap<Character,Integer> sHash = new HashMap<>(); for(int rt =0;rt<s.length();rt++){ sHash.put(s.charAt(rt),sHash.getOrDefault(s.charAt(rt),0)+1); cnt++; if(cnt == tHash.size()){ if(sHash.equals(tHash)) answer++; sHash.put(s.charAt(lt),sHash.get(s.charAt(lt))-1); if(sHash.get(s.charAt(lt))==0){ sHash.remove(s.charAt(lt)); } lt++; cnt--; } } System.out.print(answer); } 이전 문제에서도 for문을 미리 L까지 돌려주지 않고 한번에 돌리는식으로 하여서 정답을 얻었습니다. 이번 문제도 이전 문제와 유사해서 비슷한 방식으로 해주었는데 왜 자꾸 오답이라고 하는지 모르겠습니다 ㅠㅠ