묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
백그라운드 실행과 스레드 질문
안녕하세요비동기 함수들은 백그라운드로 보내서 실행이 된다고 하셨는데그럼 백그라운드에서 실행되는 애들이 멀티스레드로 실행이 되는건가요?setTimeout, promise를 호출하면 둘 다 백그라운드로 이동하는데여기서 백그라운드 영역은 여러 스레드가 백그라운드로 온 함수들을 동시에 실행하고 태스크 큐로 보내고 이벤트 루프가 호출 스택이 비었을 때 태스크 큐에 작업이 남아있다면 호출스택으로 올려서 작업을 실행하는 것이 맞을까요?감사합니다!
-
미해결스프링부트 시큐리티 & JWT 강의
강사님 하나 이해가 되지 않는 부분이 있어 질문드립니다!
JwtAuthorizationFilter객체에서 권한처리를 하신다고 하셨는데@Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException { String jwtHeader = request.getHeader(JwtProperties.HEADER_STRING); if (jwtHeader==null || !jwtHeader.startsWith(JwtProperties.TOKEN_PREFIX)){ chain.doFilter(request,response); return; } String jwtToken = request.getHeader(JwtProperties.HEADER_STRING).replace(JwtProperties.TOKEN_PREFIX,""); String username = JWT.require(Algorithm.HMAC512(JwtProperties.SECRET)).build().verify(jwtToken) .getClaim("username").asString(); if (username!=null){ Optional<Customer> optionalCustomer = customerRepository.findByUsername(username); if (optionalCustomer.isPresent()){ Customer customerEntity = optionalCustomer.get(); PrincipalDetails principalDetails = new PrincipalDetails(customerEntity); Authentication authentication = new UsernamePasswordAuthenticationToken(principalDetails,null,principalDetails.getAuthorities()); System.out.println("*******************"+principalDetails.getAuthorities().); SecurityContextHolder.getContext().setAuthentication(authentication); chain.doFilter(request,response); } } }이 코드에서 인증이나 권한이 필요한 주소요청이 있을 경우 해당 필터를 타고 JWT 토큰을 검증해서 정상적인 사용자인지 확인하고 강제로 Security 세션에 접근하여 Authentication 객체를 저장한다고 이해를 하였습니다.doFilterInternal() 함수의 어디부분에서 권한을 확인을하고 SpringSecurity클래스에서 .antMatchers("/customer/**")부분의 권한을 막아주나요??
-
미해결스프링부트 시큐리티 & JWT 강의
안녕하세요 강사님! 질문있습니다.!
강의 에서는 User 객체에 String roles를 만들고PrincipalDetailse 객체의 getAuthorities함수에서 밑에 처럼 진행하였는데요 public PrincipalDetails(Customer customer) { this.customer = customer; } @Override public Collection<? extends GrantedAuthority> getAuthorities() { Collection<GrantedAuthority> authorities = new ArrayList<>(); customer.getRoleList().forEach(r -> { authorities.add(() -> r); }); return authorities; }User객체의 Role role 필드를 추가하여public enum Role { ROLE_CUSTOMER,ROLE_ADMIN,ROLE_SELLER } PrincipalDetailse 객체의 getAuthorities함수 적는방법이 도무지 생각나지 않아 질문드립니다 ㅠ 어떻게 해야할까요.. 도움 구하고싶습니다,
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
에러처리
에러처리 해줄때 app.js에 에러처리 미들웨어를 해주시는데 꼭 이 방식으로 에러 처리를 해줘야하나요? 아니면 보통 router를타고 특정 함수에서 res.status(405).json(dfsa);이렇게 하나하나 처리해주면 안되나요?
-
미해결따라하며 배우는 NestJS
auth 컨트롤러 파일에서 signUp은 ": Promise<~>"를 붙이는데 signIn은 왜 안 붙이시나요?
auth 컨트롤러 파일에서 signUp은 ": Promise<~>"를 붙이는데 signIn은 왜 안 붙이시나요?" : Promise<string> "를 붙여줘야 하는 거 아닌가요?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
(req,res,next) -> next()
책에서 프로젝트를 진행하다보면 보통try { }catch(error) {console.error(error);next(error)}로 next(error)를 해주시는데 error가 발생했을때 console.error(error)를 찍고 next(error)에서 에러처리(ex)프로젝트에서 app.use((err, req, res, next) => { res.locals.message = err.message; res.locals.error = process.env.NODE_ENV !== 'production' ? err : {}; res.status(err.status || 500); res.render('error'); });여기로로 보내지는게 맞나요?
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
제로초 슬랙방에 참여가 불가능합니다.
위와 같이 활성 상태가 아니라고만 뜹니다. http://bitly.ws/yCFL이 링크를 통해 들어가려고 시도했습니다.2번째 동영상 강의교안, 깃헙 등 링크모음 강의에 있는 링크 입니다.
-
미해결따라하며 배우는 NestJS
구현 완료 후 not a function 오류
구현완료후 postman에서 localhost:3000/auth/signup 에 post 했더니 this.userRepository.createUser is not a function이라는 에러가 납니다. 정확히 모두 따라했는데 왜 에러가 나는지 모르겠습니다.
-
미해결스프링부트 시큐리티 & JWT 강의
@PreAuthorize @Secured 차이
안녕하세요 좋은 강의 해주셔서 감사합니다! 다름이 아니라 강의에 질문이 있어 문의드립니다.혹시 @PreAuthorize @Secured 차이는 표현식의 차이밖에 없는건가요??
-
미해결지금 당장 NodeJS 백엔드 개발 [사주 만세력]
vue 소스 실행 안되는 오류 문의
saju-frontend-vuejs 에서 npm install 을 한후 npm run serve 를 하면 ERROR Error: vuetify-loader is only for use with vuetify 2, replace it with webpack-plugin-vuetifyError: vuetify-loader is only for use with vuetify 2, replace it with webpack-plugin-vuetify at module.exports (C:\developer\svn\GiT_DIVIDE\PERSONAL\saju\saju-frontend-vuejs\node_modules\vue-cli-plugin-vuetify\index.js:32:13) at C:\developer\svn\GiT_DIVIDE\PERSONAL\saju\saju-frontend-vuejs\node_modules\@vue\cli-service\lib\Service.js:78:7 at Array.forEach (<anonymous>) at Service.init (C:\developer\svn\GiT_DIVIDE\PERSONAL\saju\saju-frontend-vuejs\node_modules\@vue\cli-service\lib\Service.js:76:18) at Service.run (C:\developer\svn\GiT_DIVIDE\PERSONAL\saju\saju-frontend-vuejs\node_modules\@vue\cli-service\lib\Service.js:215:10) at Object.<anonymous> (C:\developer\svn\GiT_DIVIDE\PERSONAL\saju\saju-frontend-vuejs\node_modules\@vue\cli-service\bin\vue-cli-service.js:36:9) at Module._compile (internal/modules/cjs/loader.js:1114:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10) at Module.load (internal/modules/cjs/loader.js:979:32) at Function.Module._load (internal/modules/cjs/loader.js:819:12)와 같은 에러가 발생합니다. 2시간 동안 찾아봤지만 해결방법을 찾지 못해 도움을 구해봅니다. ㅠㅠㅠ 감사합니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
mongo에러?
https://www.inflearn.com/questions/612530/m1%EB%A7%A5%EB%B6%81-%EB%AA%BD%EA%B3%A0%EB%94%94%EB%B9%84-%EC%84%A4%EC%B9%98%EB%AC%B8%EC%A0%9C위 글에서 작성자가질문했던것처럼 같은 에러가 나고 해결이 안되고 있습니다.. ㅠㅡㅠ 해결 방법을 아무리 찾아봐도 알수가 없어서 질문 남깁니다!.! 몽고db전체를 삭제하고 다시 설치도 해보았고 권한문제등 여러가지 해결해보려고 했는데 안되서 문의남깁니다. ![제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.
-
미해결스프링부트 시큐리티 & JWT 강의
필터 동작 순서에 따라 login결과가 달라지는 이유
안녕하세요. 선생님 좋은 강의 제공해주셔서 감사합니다.선생님 덕분에 거의 마지막 강의까지 진행하고 있습니다. 그러다가 25강에서 '/login'요청에서 response헤더에 토큰이 포함되었음에도 불구하고 자꾸 404에러가 뜨는 것을 확인하였습니다. 확인 결과 SecurityConfig에서 아래의 코드를 넣느냐 빼느냐에 따라서 결과가 달라지는데요. 여기서 2가지 이해가 가지 않는 점이 생겼습니다.필터 동작 순서를 바꾼다고 해도 결국 그 뒤에 FiterChain이 동작하기 때문에 MyFilter3에서 정상적으로 처리하고 FilterChain으로 넘어갔다면 '/login' 요청도 제대로 처리되어야 하는거 아닌가요?@Bean SecurityFilterChain filterChain(HttpSecurity http) throws Exception { // http.addFilterBefore(new MyFilter3(), SecurityContextPersistenceFilter.class);선생님께서 포스트맨으로 로그인 시도하신 것을 보면 password가 일치하지 않을 경우 401 에러가 뜨던데 저 같은 경우에는 password가 일치하든 불일치 하든 상관없이 http body에는 공백이 뜨고 헤더에 토큰이 반환되느냐 마느냐의 차이만 있고 콘솔에 아래처럼 인증에 실패했다는 로그만 뜨는데 왜 저는 결과가 다르게 뜰까요?
-
미해결지금 당장 NodeJS 백엔드 개발 [사주 만세력]
사주 해석 제공은 안해주시나요? 만세력만 있어서요
만세력 표만 제공해주시고 사주 해석은 별도로 진행해야할까요?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
async
강의를 진행하다보니 어쩔땐 async를 사용하고 사용하지 않을때가 있으신데 이건 어떻게 구분을 하며 사용을 해야하나요?
-
미해결스프링부트 시큐리티 & JWT 강의
JwtProperties의 내용을 application.properteis로 옮기고 싶습니다.
강사님 안녕하세요.JwtProperties에 있는 내용을 application.properteis로 옮기고 @Value 어노테이션으로 받아와서 사용하고싶습니다.@Value를 사용하기 위해 JwtAuthenticationFilter에 @Component를 붙여주었으나, authenticationManager의 빈 등록을 먼저 하라고 하더군요. @Bean public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception { return authenticationConfiguration.getAuthenticationManager(); }그래서 이러한 코드를 SecurityConfig에 추가했습니다. 하지만 계속 AuthenticationManager를 빈으로 등록시키라는 에러메세지만 뜨네요. 이거 어떻게 해야하죠?...바쁘신 와중에 답변 달아주시면 감사하겠습니다.
-
미해결따라하며 배우는 NestJS
@UseGuards(AuthGuard()) 를 사용하지않고
@UseGuards(AuthGuard()) 를 사용하지않고 Passport jwt 전략을 사용할 순 없나요?영상에서 @UseGuards(AuthGuard()) 등록 전 api request를 하셨는데 그때도 passport를 거쳐간건지 궁금합니다.
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
9장 프로젝트 구조갖추기부분
컨트롤러스 page.js 에서 이부분 객체로 만든건가요?exports.renderProfile=(req,res,next)=>{}
-
미해결스프링부트 시큐리티 & JWT 강의
enum 타입의 getAuthorities
강사님 안녕하세요. 강사님 강의를 듣고 jwt를 배우고 있습니다. Users entity의 role를 enum타입으로 변경하고 싶은데 , PrincipalDetails의 getAuthorities을 어떻게 설정하면 될까요?UsersRole enum 클래스 PrincipalDetails 클래스
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
회원가입 로직시 controller\auth 랑 localStrategy
controller\auth 랑 passport\localStrategy에서 로그인 post를 보낼때의 경우가 service로 보내서 비즈니스로직을 돌고 컨트롤러에 return값을 보내주는 방식으로 passport\localStrategy가 Service역할을 한다고 생각해도 괜찮나요?
-
미해결스프링부트 시큐리티 & JWT 강의
마지막 강의 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.toString을 사용하지 않고 asString을 사용하는 이유가 있을까요?JWT.require(Algorithm.HMAC512("cos")).build().verify(token).getClaim("username").asString();