강의 교안의 논 블로킹의 정의 와 책의 예제(setTimeout 함수를 이용해 작업 시간이 긴 함수를 백그라운드로 보냄)를 읽어 보면 오래 걸리는 함수를 백그라운드로 보내는 것 같은데, 그 다음 설명을 보면 일부 코드들이 백그라운드에서 병렬로 실행된다고 되어있어서 헷갈립니다. 위 내용을 바탕으로 제가 이해한 것은 작업 시간이 긴 함수, 일부 코드 모두 백그라운드로 전달 작업 시간이 긴 함수는 태스크 큐로 전달되고 동시 작업이 가능한 일부 코드들은 백그라운드에서 병렬로 처리 일부 코드들의 병렬 처리가 끝나고 나면 태스크 큐에 있는 (블로킹 방식의)작업 시간이 긴 함수 처리 인데 맞을까요?
@Configuration @EnableWebSecurity // 스프링 시큐리티 필터가 스프링 필터체인에 등록 public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.csrf(AbstractHttpConfigurer::disable) .authorizeHttpRequests(authorize -> authorize .requestMatchers("/user/**").authenticated() // /user라는 url로 들어오면 인증이 필요하다. .requestMatchers("/manager/**").hasAnyRole("MANAGER", "ADMIN") // manager으로 들어오는 MANAGER 인증 또는 ADMIN인증이 필요하다는 뜻이다. .requestMatchers("/admin/**").hasRole("ADMIN") // //admin으로 들어오면 ADMIN권한이 있는 사람만 들어올 수 있음 .anyRequest().permitAll() // 그리고 나머지 url은 전부 권한을 허용해준다. ); http.formLogin(form -> form .loginPage("/login")); return http.build(); } } 현재 버전 업데이트가 되면서 많이 바꿔어서 참고할 분들은 참고 해주시면 될꺼 같습니다!
안녕하세요. 열심히 강의 듣고 있습니다. ... react에서 router 이동에 궁금한거 잇어서 질문 드려요 1 root 의 라우터에는 TodoIndex와 ProductsIndex 2개의 페이지가 있습니다. ............ 생략 .............. { path: "todo", element: ...<TodoIndex/>..., children: todoRouter() }, { path: "products", element: ... <ProductsIndex/>..., children: productsRouter() } 2. TodoIndex의 child은 todoRoter이고 add의 TodoAdd와 mdify의 TodoModify가 있습니다. { path: "add", element: ...<TodoAdd/>... }, { path: "modify/:tno", element: ...<TodoModify/>... } ProductsIndex의 child은 productsRouter이고 add의 ProductList와 mdify의 ProductModify가 있습니다. 현재 ../products/add 에 있다고 했을때 add 페이지에 있는 버튼을 누르면 ../todo/add 로 점프해서 이동 하려면 어떻게 navigate 해야되나요? todo/add에서 todo/modify 이런식의 같은 폴더 레벨이면 쉽게 이동되던데 ...
상품 등록이나 수정을 하고나서 return Map.of("result", "Success") 이렇게 리턴해주셨는데 실무에서 이런 방식을 많이 사용하나요 아니면 교육목적이기 때문에 조금 러프하게 하신건가요?? 이번 강의를 보고 실무와 가깝게 프로젝트를 진행하고 싶은데 이렇게 Map에 간단하게 리턴할지 아니면 api마다 매번 ResponseEntity에 Http Status Code 담아 리턴해야 할지 기준을 모르겠습니다. 제 목적에 맞게 하려면 어떤 방식으로 api 결과를 리턴해줘야 할까요??
[파일 업로드 설정과 확인] 강의에서 DB에 아주 중요한게 아니라면 성능적인 부분때문에 DB에 파일을 저장하면 안된다고 하셨습니다. 클라우드를 이용하는게 일반적이라고 생각합니다만 한가지 궁금한게 있습니다. 만약 게시글이라는 엔티티에 대표 사진이 딱 한장 들어갈 수 있다고 한다면 아래와 같은 순서로 구현할 수 있겠다는 생각이 들었습니다. 이런 방법에 대해 어떻게 생각하시나요?? 애플리케이션 단에서 이미지 등록 -> 이미지 base64 인코딩 -> 인코딩 된 긴 문자열을 압축 -> 압축된 문자열을 RDB(MYSQL) 게시글 테이블에 게시물 대표이미지 (longtext 형)에 저장. 조회할때는 애플리케이션 단에서 별도로 압축된 문자를 원래 인코딩 된 문자열로 디코딩하는 로직 필요하겠지만 비용이 크지 않다고 생각했습니다.
SecurityConfig.java 를 루트 패키지로 옮기면 됩니다. ex) path.to.root.config.SecurityConfig.java 에서 path.to.root.SecurityConfig.java 로 옮기세요. refs: https://stackoverflow.com/questions/77331852/how-do-i-set-a-home-page-can-be-opened-by-anyone-in-spring-security
소셜로그인을 구현하다가 의문점이 생긴 부분이 있어 어떠한 방식으로 접근하는 것이 궁금하여 질문을 남깁니다. 상황 일반 회원가입시에는, 이메일 비밀번호 + 해당 서비스에 필요한 필수 정보들을 받고, 해당 내용을 클라이언트로 부터 받아 user테이블에 저장하는 상황입니다. 소셜 로그인 같은 경우에는, 정보를 받을 수 있는 것이 제한이 되어있어, 추가적으로 필요한 정보들을, 소셜 로그인 성공 이후, 클라이언트 측에서 회원가입시 필요한 정보들을 받을 수 있는 화면으로 이동시켜, 해당 정보를 받아서, 부족한 정보들을 채워넣는 것으로 알고 있습니다. 궁금점. 소셜로그인 로그인 후, 신규 유저이기에 서비스 이용에 필요한 필수 부가정보 입력을 받기위해, 회원가입 창으로 이동시켜, 부가 정보를 입력받는다면 크게 문제가 없습니다.하지만, 앱을 사용하다보면은 데이터가 끊긴다거나, 배터리가 방전된다거나, 알수없는 이유로, 로그인은 되었으나, 필수 부가정보를 입력하지 못하고, 꺼지는 경우가 있습니다. 필수 부가정보를 꼭 받아야 하는 경우라면 이 부분에 대해서 어떻게 처리해야하나요?필수 정보를 채웠는지 여부를 확인하는 column을 boolean으로 User 테이블에 추가하여, 클라이언트에서 해당 Column으로 부가정보를 입력받지 않았으면 메인화면으로 가지않고, 회원가입 스크린으로 리다이렉 시키는 이런 로직을 작성해야하나요?필수 정보를 채웠는지 여부를 확인하는 column 없이 이런 경우에 처리할 수 있는 방안이 있는지 궁금하고, 현업에서는 어떤식으로 테이블을 설계하는지 궁금합니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 늘 감사히 잘 듣고 있습니다. localStorage에 토큰을 넣는 방식은 좋은 방식인건가요? 저는 XSS (Cross-Site Scripting)와 CSRF (Cross-Site Request Forgery) 같은 해킹 방법에 대비하기 위해, Access Token은 전역 변수로 메모리에 저장하고, Refresh Token은 HttpOnly 및 Secure 속성을 가진 쿠키에 저장하는 것이 좋다고 들었습니다. 저도 프론트엔드 프로젝트를 진행할 때 이와 같은 인증 방식을 채택했습니다. 하지만 가끔 LocalStorage에 Access Token과 Refresh Token을 보관하는 경우를 보곤 했습니다. 이 방식에는 제가 모르는 다른 이점이 있는 것인지 궁금합니다. 현업에서는 클라이언트에서 jwt 토큰을 어떻게 보관하나요?
asp.net core 웹/앱, SignalR 강의 모두 들었는데. 한가지 아쉬운 점이 있습니다. 학습시 서버를 local로 열거나 현재 컴퓨터 ip로 서버를 여는데 혹시 Azure나 Aws등으로 서버를 세팅하는 강의도 추가를 해주실 수 있으신가요? 동영상이 아니라도 ppt 등 있었으면 좋겠습니다.
npx create-react-app mall 명령어 입력시 해당 오류가 발생합니다. log의 내용은 다음과 같습니다. 0 verbose cli C:\Program Files\nodejs\node.exe C:\Users\USER\AppData\Roaming\nvm\v10.16.3\node_modules\npm\bin\npm-cli.js 1 info using npm@10.7.0 2 info using node@v20.15.0 3 silly config:load:file:C:\Users\USER\AppData\Roaming\nvm\v10.16.3\node_modules\npm\npmrc 4 silly config:load:file:C:\Users\USER\reactAPI_workSpace\.npmrc 5 silly config:load:file:C:\Users\USER\.npmrc 6 silly config:load:file:C:\Users\USER\AppData\Roaming\npm\etc\npmrc 7 verbose title npm exec create-react-app mall 8 verbose argv "exec" "--" "create-react-app" "mall" 9 verbose logfile logs-max:10 dir:C:\Users\USER\AppData\Local\npm-cache\_logs\2024-07-01T07_49_17_781Z- 10 verbose logfile C:\Users\USER\AppData\Local\npm-cache\_logs\2024-07-01T07_49_17_781Z-debug-0.log 11 verbose stack TypeError: LRUCache is not a constructor 11 verbose stack at Object.<anonymous> (C:\Users\USER\AppData\Roaming\nvm\v10.16.3\node_modules\npm\node_modules\cacache\lib\memoization.js:5:18) 11 verbose stack at Module._compile (node:internal/modules/cjs/loader:1358:14) 11 verbose stack at Module._extensions..js (node:internal/modules/cjs/loader:1416:10) 11 verbose stack at Module.load (node:internal/modules/cjs/loader:1208:32) 11 verbose stack at Module._load (node:internal/modules/cjs/loader:1024:12) 11 verbose stack at Module.require (node:internal/modules/cjs/loader:1233:19) 11 verbose stack at require (node:internal/modules/helpers:179:18) 11 verbose stack at Object.<anonymous> (C:\Users\USER\AppData\Roaming\nvm\v10.16.3\node_modules\npm\node_modules\cacache\lib\get.js:8:14) 11 verbose stack at Module._compile (node:internal/modules/cjs/loader:1358:14) 11 verbose stack at Module._extensions..js (node:internal/modules/cjs/loader:1416:10) 12 verbose cwd C:\Users\USER\reactAPI_workSpace 13 verbose Windows_NT 10.0.19045 14 verbose node v20.15.0 15 verbose npm v10.7.0 16 error LRUCache is not a constructor 17 verbose exit 1 18 verbose code 1 19 error A complete log of this run can be found in: C:\Users\USER\AppData\Local\npm-cache\_logs\2024-07-01T07_49_17_781Z-debug-0.log node 와 npm 버전은 이렇게 깔려있습니다. 재설치 해도 여전히 오류가 발생합니다 ㅜㅠ 어떻게 해결해야 할까요?
안녕하세요 강의 잘 듣고있습니다. class 에는 setter 와 getter 를 생성하지 않고 data class 에는 var 로 받을경우 setter 와 getter 가 생성되면 이외의 다른 메서들도 자동으로 생성이 된다고 하셨습니다. 그러면 class 는 더이상 사용하지 않나요 ?