묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
전역 에러 처리 메시지 관리
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의에 보면 enum에 TEST라고 하시고 에러메시지를 정적으로 입력하셨는데 , 메시지properties로 따로 관리하는 방법은 없을까요?TEST(HttpStatus.INTERNAL_SERVER_ERROR,"001",messageSource.getMessage("001")),001 = "business Exception test" 돌아가는 코드는 아니지만 이런식으로 답변 주시면 감사하겠습니다
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
안드로이드 스튜디오와 협업
현재 학부생 3학년으로 안드로이드 앱 개발 팀프로젝트를 진행중입니다.클라이언트 친구가 하는말이"회원고유번호를 카카오에서 프론트에게 주고, 프론트에서 그걸 백으로 전달해준다.백은 그냥 내가 준 고유번호만 가지고 jwt토큰으로 만들어서 반환해달라"라고 말하는데, 그러면 강의대로 섹션9를 다 수행하고나서, 섹션9의 카카오 토큰 발급 구현(1),(2)빼고카카오에서 플랫폼만 웹에서 안드로이드로 변경하면 되는건가요?제가 이해한게 맞다면 프론트(android studio)에서 인증, 인가를 받아 사용자 정보를 받아오고,백엔드(Spring boot)에서는 단순히 /join 을 통해 프론트에서 넘겨준 User 데이터를 password와 함께 저장하는것 같습니다.이 때, JWT 토큰을 발행해서 프론트에 넘겨주는것 같구요.그리고 소셜로그인(6)까지 진행중인데,ERROR 15266 --- [nio-8080-exec-1] c.a.global.error.GlobalExceptionHandler : Exception포스트로 value값을 보내면 위와같은 에러가 뜹니다...그래서 첨부터 다시 쭉 보는데, (5)부분에서 했던 것도 똑같은 에러가 뜨더라고요... 뭐가 문제인지...ㅜ스프링 첨배워가면서 하고있는데, 미치겠습니다..ㅠ
-
미해결(2024 최신 업데이트)리액트 : 프론트엔드 개발자로 가는 마지막 단계
연락처 검색 버튼이 작동하지 않아요
import React, { useState } from 'react'; import {Form, Row, Col, Button} from 'react-bootstrap' import { useDispatch, useSelector } from 'react-redux'; const SearchBox = () => { let [keyword, setKeyword] = useState(''); let dispatch = useDispatch() const { contact } = useSelector((state) => state); const searchByName = (event) => { event.preventDefault(); dispatch({ type: "SEARCH_BY_USERNAME", payload: { keyword } }); }; return ( <Form onSubmit={searchByName} className='search-box'> <Row> <Col lg={8}> <Form.Control type="text" placeholder="이름을 입력해주세요" onChange={(event) => setKeyword(event.target.value)} \ /> </Col> <Col lg={4}> <Button variant="dark">찾기</Button> </Col> </Row> </Form> ) } export default SearchBox 위의 코드는 search-box 코드이고const initialState = { contact: [], keyword: "", } const reducer = (state = initialState, action) => { let { type, payload } = action; switch (type) { case "ADD_CONTACT": state.contact.push({ name: payload.name, phoneNumber: payload.phoneNumber, }); break; case "SEARCH_BY_USERNAME": state.keyword = payload.keyword; break; } return { ...state }; }; export default reducer;위의 코드는 reducer.js 코드 import React, { useEffect, useState } from "react"; import SearchBox from "./SearchBox"; import ContactItem from "./ContactItem"; import { useSelector } from "react-redux"; const ContactList = () => { const { contact, keyword } = useSelector((state) => state); let [filteredList, setFilteredList] = useState([]); useEffect(() => { if (keyword !== "") { let list = contact.filter((item) => item.name.includes(keyword)); setFilteredList(list); } else { setFilteredList(contact); } }, [keyword]); return ( <div> <SearchBox /> <div className="contact-list"> num:{filteredList.length} {filteredList.map((item, idx) => ( <ContactItem item={item} key={idx} /> )) } </div> </div> ); }; export default ContactList위코드는 contactList 코드입니다.너무 안되서 선생님 코드를 그대로 복붙하고 아무리 찾아봐도 다른 부분이 없는데 검색 버튼을 눌러도 작동하지 않습니다. 왜 안되는걸까요? 선생님? 이걸로 밤새고 있습니다.
-
미해결(2024 최신 업데이트)리액트 : 프론트엔드 개발자로 가는 마지막 단계
영화 API
제공하신 영화 api 홈페이지 주소를 찾을 수 없어요ㅠㅠ 강의에서 한 대로 https://www.themoviedb.org/ 접속한 후에 More에서 API를 선택하면 이런 화면이 나와요
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
String accessToken = authorizationHeader.split(" ")[1];은 accessToken이 맞나요?
강사님 안녕하세요 수업 잘 듣고 있습니다. 덕분에 도전하기 힘들었던 인증인가를 조금이나마 이해하게 되고 있는 것 같습니다. 수업을 듣던 중 한가지 궁금한 점이 생겨서 질문 남기게 되었습니다.LoginController에서 String accessToken = authorizationHeader.split(" ")[1];이라는 변수를 선언하는데 저는 authorizationHeader.split(" ")[1]이 accessToken인지 accessToken을 포함한 jwt인지가 헷갈립니다. 혹시 이 부분과 관련하여 제가 어떻게 이해하면 좋을지 조언 해주실 수 있으실까요? 감사합니다.
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
SocialLoginApiServiceFactory 생성자 관련 질문입니다.
너무 초보적인 내용이라 질문을 해야하나 고민입니다.private static Map<String, SocialLoginApiService> socialLoginApiServices; public SocialLoginApiServiceFactory(Map<String, SocialLoginApiService> socialLoginApiServices) { this.socialLoginApiServices = socialLoginApiServices; }위에 static 필드를 아래의 생성자에서 this 키워드로설정하는 부분 있는데요... 이부분이 아래와같이 하는거하고 차이점이 어떻게 다른지 궁금합니다.private static Map<String, SocialLoginApiService> socialLoginApiServices; public SocialLoginApiServiceFactory(Map<String, SocialLoginApiService> socialLoginApiServices) { SocialLoginApiServiceFactory.socialLoginApiServices = socialLoginApiServices; }
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
이번 강의 코드를 받을 수 있을까요?
grouping 예제 부분을 실행하는데 있어 playersByLevel에 동일하게 작성하였는데로컬 부분에 해당 이름을 작성하고 열었는데 화면과는 다르게 Players도 가지지 않고 있고 Non-Public members로 분류되어서 나오네요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
ATOM이 2022년 12월 15일 기준 종료되었네요
어쩔수없이 VisualStudio Code를 이용해 따라가려하는데 html로 작성만 가능하면 될까요?
-
미해결(2024 최신 업데이트)리액트 : 프론트엔드 개발자로 가는 마지막 단계
더보기..
영상 밑에 더보기 주소가 안보입니다
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
OAuthAttributes 클래스의 toMemberEntity의 파라미터로 memberType이 들어가야하는 이유가 궁금합니다.
@Getter @Builder public class OAuthAttributes { private String name; private String email; private String profile; private MemberType memberType; public Member toMemberEntity(MemberType memberType, Role role){ return Member.builder() .memberName(name) .email(email) .profile(profile) .memberType(memberType) .role(role) .build(); } }강사님 안녕하세요 강의 잘 듣고 있습니다.다름이 아니라 소셜로그인(4) 소셜 로그인 구조 설계 강의를 듣던 중 toMemberEntity 메소드에 대해 궁금한 점이 있어서 질문 드리게 되었습니다. OauthAttributes 클래스 같은 경우 필드로 memberType을가지고 있는데 메소드 파라미터로 따로 memberType을 받아야 하는 특별한 상황이 있는지 궁금합니다. 감사합니다 :)
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
feignClient의 consumes와 @RequestHeader는 같은 역할인가요?
카카오 토큰 발급 구현(2) 5:27 부분feignClient의 PostMapping에consumes = "application/json"이 있는데이 부분이 외부 api 요청시 헤더 지정 역할인 것으로 알고 있습니다. 그런데 카카오에서는 x-form-urlencoded로 요청하라고 해서 @RequestHEader("Content-Type)을 따로 지정해주는 것으로 이해했느데요 consumes="x-form-urlencoded"로 하고 파라미터에서 contentType을 제거해도 되나요?
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
강사님 디버깅시 중단점 안 찍어도 자동으로 찍히는거 어떻게 하나요?
안녕하세요 Spring Cloud OpenFeign(2) 강의 4:59 지점 학습중에 강사님의 경우 breaking point를 설정하지 않았음에도 자동으로 오류 지점에서 프로그램이 중단되는 이유가 궁금합니다.
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
XSS문의
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! XSS관련하여서 JSON데이터를 암호화하는것을 수강하였습니다. 이 데이터를 react로 보낸다고 하면 react는 이를 어떻게 decode하나요?
-
해결됨생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
클라이언트에서 토큰을 서버로 줄 때
클라이언트(안드로이드)가 카카오에서 발급받은 엑세스토큰을 백으로 주는 상황일 때강의영상 토큰 발급 구현 (1), (2)는 작성하지 않아도 되는걸까요??
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
강사님 프로젝트 진행중인데
혹시 EC2 관련해서 배포중인데 이거관련해서도 여쭤봐도될까요..? 배포까지 마무리하였는데, EC2의 퍼블릭IPv4:8080 으로 하면 연결거부가 떠서요.. 이거 관련해서도 메일로 여쭤봐도되나요?
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
안녕하세요 강사님 active profiles 관련해서 궁금한게 있습니다
보통 아래와같이yml 파일에 이 yml의 profiles가 dev야 라고 명시 해주고 spring: profiles: dev인텔리제이 active profiles에서 dev를 넣어주면매칭이 되는걸로 알고있는데,별도로 안적어주면application-과 .yml 사이에 있는 파일명을 profiles로 인식을 하는건가요?yml 설정 (3) 강의 보고 질문드립니다!
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
강사님! 질문입니다. 프로젝트를 진행중인데 빠른 답변 부탁드립니다 ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 현재 프론트와 백앤드로 나눠서 프로젝트를 진행중입니다. swagger를 강의를 참고하여 적용중인데, 다음과 같이 문서화가 되지 않고있습니다.@Configuration@EnableSwagger2@EnableAsync@EnableWebMvcpublic class SwaggerConfig implements WebMvcConfigurer {@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}@Beanpublic Docket api() {return new Docket(DocumentationType.SWAGGER_2).select() // ApiSelectorBuilder 생성.apis(RequestHandlerSelectors.basePackage("com.example.petree.domain")) // API 패키지 경로 todo 패키지 경로 수정.paths(PathSelectors.ant("domain/**/controller/**")) // path 조건에 따라서 API 문서화 todo API 경로 수정.build().apiInfo(apiInfo()) // API 문서에 대한 정보 추가.useDefaultResponseMessages(false) // swagger에서 제공하는 기본 응답 코드 설명 제거.securityContexts(Arrays.asList(securityContext())).securitySchemes(Arrays.asList(apiKey()));}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("API 문서").description("API에 대해서 설명해주는 문서입니다.").version("1.0").build();}private SecurityContext securityContext() {return SecurityContext.builder().securityReferences(defaultAuth()).build();}private List<SecurityReference> defaultAuth() {AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];authorizationScopes[0] = authorizationScope;return Arrays.asList(new SecurityReference("Authorization", authorizationScopes));}private ApiKey apiKey() {return new ApiKey("Authorization", "Authorization", "header");}} 위는 저희 프로젝트의 패키지경로입니다. 무엇이 문제인가요..? 혹시 몰라 SecurityConfig도 올려보겠습니다..
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
yml 설정에 오류가 발생합니다.
저 부분에 오류가 발생합니다.모두 똑같이 작성하고 부트 버전도 같은데어떤것 때문에 문제가 발생하는건가요?
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
active profile 칸이 없습니다.
active profile 칸을 dev라고 수정 후 실행했는데{"health":"ok","activeProfiles":[]}똑같이 빈칸이 나옵니다.잘못입력했나 확인하려고 다시 설정 들어갔는데처음에는 입력칸이 있었는데 다시가보니 active profile입력칸이 사라졌습니다.어떻게 해야되나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
CounterState 질문입니다.
순수한 궁금증으로 여쭤뵙습니다.혹시 해당 cs를 구현하지않고 private static int currentCount를 사용한다면 유저마다 보이는 currentCounter가 다를까요? 아니면 공통적으로 서버가 닫히기전까지 모든 유저가 동일한 숫자가 보일까요?