W/Firestore( 2223): (24.3.1) [Firestore]: Listen for Query(target=Query(movie order by name );limitType=LIMIT_TO_FIRST) failed: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null} 이런 오류가 나는데 왜그러는걸까요??ㅠ 궁금합니다~
커뮤니티 앱을 만들고 있습니다. 그런데 막히는 부분이 있어서 질문드립니다. 글작성 버튼 클릭 후 화면이동 후 목록화면에서 화면을 그릴때 새로운 데이터(DB)가 있으면 바로 그려서 보여줘야하는데 그러지못하고있습니다. 상태관리를 하면 될거같은데 어떤식으로 해야할지모르겠습니다. RefreshIndicator( onRefresh: () async { setState(() => communityViewModel.onEvent(CommunityEvent.community_query())); await Future.delayed(Duration(seconds: 3)); }, 스크롤을 내렸을때 새로운데이터를 가져오는 것은 이런식으로 코드작성하니 새로운 데이터를 가져옵니다.
지금 강의 듣는 분들은 아마도 vite가 버전3 이상 이라서 client와 server 통신 할 때 cors error가 날거에요! 버전 3이상부터는 (Vite 개발 서버의 기본 포트 번호는 이제 5173 입니다. 물론 server.port 옵션을 이용해 3000으로 설정할 수 있습니다.) 라고 합니다! https://vitejs-kr.github.io/guide/migration.html#config-options-changes 그래서 cors에 localhost:3000 이 아닌 localhost:5173을 넣어주셔야 cors error가 나지 않을거에요! 정확한 내용은 아닐수도 있지만 참고 하시면 좋을거같아요
안녕하세요 제로초님 덕분에 성장해서 열심히 포트폴리오를 만들고있는 취준생입니다. 모르는게 있으면 가끔 개발자 친구에게 물어보는데요 친구는 클래스형 컴포넌트로 코딩을 하고 저는 함수형 컴포넌트로 코딩해서 가끔 다툽니다. (친구는 리액트가 흥하기 전부터 리액트를 공부해서 클래스형 컴포넌트에 익숙해서 함수형 컴포넌트는 그냥 건드리지도 않고 배우지도 않았습니다.) 친구가 말하기를 "지금 현업에서 대부분은 클래스형 컴포넌트로 코딩을 한다 함수형 컴포넌트가 나온지 얼마 안됐는데 어떻게 이전에 클래스형 컴포넌트로 코딩을 했던 회사들이 다 함수형으로 바꾸겠냐. 스타트업이 아닌 이상 80% 회사는 클래스로 코딩한다. 클래스로 코딩해라." 이렇게 이야기 하네요.. 저는 뭐 현업 코드를 접해본 적이 없어서 이걸 믿어야 할지.. 클래스로 코딩을 해야할지.. 모르겠습니다... 제로초님의 의견을 듣고싶습니다. 다른 분들 의견도 궁금해요! 댓글 달아주시면 감사하겠습니다 :)
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
영상 12:39 부터 "[i ~ scores.Length - 1] 제일 작은 숫자가 있는 index를 찾는다"라고 표현을 해주셨는데 문법상에서 보면 [ i ~ scores.Length -1]을 표현하는 식은 없는걸로 보이네요. 그럼에도 불구하고 교수님께서 사용하신 코드가 성립하는걸로 보이는데 어떻게 이해해야 할까요?
질문드릴 것이 두 가지가 있습니다. 한 번에 조회를 적게 하되 쿼리를 여러 번 날리는 것과 join을 해서 한 번에 조회를 많이 하되 쿼리를 적게 날리는 것 중 어느 것이 성능적으로 좋은지 궁금합니다. N+1 문제와 관련하여 이 문제는 꼭 JPQL을 사용할 때만 발생하는 것인지 아니면 em.find 를 사용하여 조회할 때도 발생하는 것인지 궁금합니다. 감사합니다.
좋은강의 먼저 감사드립니다. 선생님과 동일하게 만들어 보다가, 첨부드리는 이미지의 핑크색 동그라미 부분, 구의 바닥 부분에 이미지가 2장? 겹쳐서 보이는 부분이 나타납니다. (ex06 (이미지 사용), ex05(red단색) 동일하게 나타나는 현상) 마우스 컨트롤로 화면을 움직여 보면, 혼자 뱅그르르 계속 돌고 있고 없어지진 않습니다..... SphereGeometry의 각 정점을 추출해서, 그 자리에 image texture를 입힌 PlaneGeometry로 대체하는것으로 배웠는데요, SphereGeometry의 중복되는 포인트가 있어서 해당 문제가 발생되는걸까요..? 혹시나 해서, ex01예제를 다시 확인 해 보았어요. ex01에서 보았던 포인트만으로 표현 구를 만들었을때 샘플입니다. SphereGeometray(1,8,8)값으로 생성한 구 인데, 마우스 드래그로 확대해서 보면, 위/아래 모두 점 하나 로 구성된것으로 보입니다. 점 하나에 이미지 하나라면, 지금 이 현상은 왜 일어나는지 궁금합니다. ㅡㅜ
시퀄라이즈로 관계를 맺으면 관계를 맺은 테이블의 Id가 dp 컬럼에 저장되는 것 같습니다 posts테이블에는 UserId가 있고 follow 테이블에는 followingId와 followerId가 있습니다 제가 궁금한것은 관계를 맺음으로써 자동 생성되는 컬럼의 이름 규칙과 지금 보면 관계를 맺은 두 테이블중 한 쪽 혹은 양쪽에 ID가 생성되는데 ID가 생성되는 규칙도 궁금합니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 11분 42초에 나오는 시점에 permitAll() 때문에 로그아웃 상태일때 처럼 되야되는데 login 창이 계속 나옵니다. user,manager도 403이 안나오고 login으로 갑니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. Please set the JAVA_HOME variable in your environment to match the location of your Java installation. 에러 발생 해당 폴더에서 gradlew build 를 하는데 버전 오류가 계속 나요. 환경변수 설정 제대로 되어있는데도 계속 오류납니다 ㅠ 버전확인 해보면 버전 일치하고 경로도 맞아요... 도대체 뭐가 문제일까요 ㅠㅠ 도와주세요..
안녕하세요 데어님! 강의를 듣다 문득 궁금한 것이 있어서 질문을 올리게됐습니다. 지금 여러가지 OAuth2.0 서비스를 스프링 시큐리티와 연동하는 작업을 진행하고 있는데, 나름대로 예외처리를 하다가 지금 구현하는건 회원가입일까 아니면 로그인일까 라는 생각이 들어서요. 아래 코드는 현재 로직이 회원가입이라고 가정한, PrincipalOauth2UserService 내 리팩토링한 코드입니다. 아래 코드를 따르자면 로그인 링크를 클릭했을 때 DB 내에 저장된 username 을 가져와 비교한 뒤 만약 동일한 username 이 있다면 간단하게 예외를 발생하도록 짜보았습니다. 그렇다면 지금 과정은 로그인이 아닌 회원가입이고, 로그인을 위한 로직은 따로 작성해줘야 하는 걸까요 ? 구글 [로그인], 페이스북 [로그인] 이라고 돼있어서 조금 헷갈리네요.. 😅 1. public OAuth2User loadUser() { ... 중략 OAuth2UserInfo oauth2UserInfo = null; if (oauth2UserInfo != null) { String provider = oauth2UserInfo.getProvider(); String providerId = oauth2UserInfo.getProviderId(); String username = provider + "_" + providerId; User findUser = userRepository.findByUsername(username); if (findUser == null) { user = saveUserInfo(oauth2UserInfo, provider, providerId, username); userRepository.save(user); } else { try { throw new Exception("이미 존재하는 유저입니다."); } catch (Exception e) { e.printStackTrace(); } } } return new PrincipalDetails(user, oAuth2User.getAttributes()); } 2. saveUserInfo() private User saveUserInfo(OAuth2UserInfo oauth2UserInfo, String provider, String providerId, String username) { String email = oauth2UserInfo.getEmail(); String password = bCryptPasswordEncoder.encode("password"); // 별 의미없는 패스워드 String role = "ROLE_USER"; return User.builder() .username(username) .password(password) .email(email) .role(role) .provider(provider) .providerId(providerId) .build(); } }
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
GoRouter 프로젝트에 적용하기 / RefreshToken 만료되면 로그아웃 영상 4분42초 부분에서 void logout() { ref.read(userMeProvider.notifier).logout(); notifierListener(); // 이부분 삭제하셨음. } 수업에서 notifierListener()를 삭제하셨지만, 제 경우에는 삭제하면 오히려 401 에러로 인해 splashScreen을 빠져나가지 못하고 App이 멈춰버리는 문제가 생깁니다. 오히려 그대로 놔두는 것이 잘 작동합니다. 버전 문제인지 뭔지는 모르지만 다른 분들에게 도움 되었으면 해서 글로 남겨봅니다. 혹시 삭제한 이유가 따로 있는 건지 궁금하기도 합니다.