inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

savedRequest 관련 질문

미해결

스프링 시큐리티

안녕하세요 강사님. savedRequest 관련해서 여쭤보고 싶습니다. requestCache.getRequest(request, response) 여기서 /resource/img... 이런 형태의 전혀 이상한 url을 가져옵니다.

  • java
  • spring-boot
  • spring-security
  • Spring Security
장재준 댓글 1 좋아요 0 조회수 318

swagger 3 질문입니다.(Step 24)

미해결

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

안녕하세요 springboot 3에서는 swagger 2를 이용할 수 없더라구요. ( 추가로 강의자료에서 제공해주신 springfox3 버전을 이용해도 index.html에 접속이 되질 않아 springdoc으로 진행하는 상황입니다.) 그래서 springdoc, swagger3를 사용하여 http://localhost:8088/swagger-ui/index.html로 들어가 실습을 진행하고 있습니다. 강의자료를 참고하여 springfox형식을 springdoc에 맞춰 작성하여 info, contact,license 까지 확인할 수 있었습니다. 그런데 produce,consume 부분을 구현하지 못했는데 springdoc에서는 produce,consume이 없어진건가요? 아니면 다른 방법이 있을까요? 강의자료는 springfox 기준이라서 아직 produce, consume 부분을 해결하지 못한 상태입니다. package com.example.restfulwebservice.config; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Contact; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.mvc.condition.ProducesRequestCondition; import java.util.Arrays; import java.util.HashSet; import java.util.Set; @Configuration public class SwaggerConfig { private static final Contact CONTACT = new Contact().name("Kenneth Lee") .url("http://www.joneculsting.co.kr") .email("edowon@joneconsluting.co.kr"); private static final License LICENSE= new License().name("Apache 2.0") .url("http://www.apache.org/licenses/LICENSE-2.0"); private static final Info INFO = new Info().title("Awesome API Title") .contact(CONTACT) .description("Awesome API Documentation") .version("1.0") .license(LICENSE) .termsOfService("urn:tos"); private static final Set<String> DEFAULT_PRODUCES_AND_CONSUMES = new HashSet<>(Arrays.asList("application/json", "application/xml")); @Bean public OpenAPI springShopOpenAPI() { return new OpenAPI().info(INFO).; } }

  • rest-api
  • spring-boot
  • rest-api
  • spring-boot
김관주 댓글 0 좋아요 0 조회수 726

3-O 질문입니다.

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

http://boj.kr/f084aebaceb24ec69e9a3306fc036ddb 2주차의 벽세우기 문제처럼 가로선 추가할 수 있는 모든 후보들을 vector에 집어넣고 하나 선택하고 안 되면 2개 선택하고 또 안 되면 세개 선택하는 방식으로 풀었는데 강의에서 말씀해주신대로 모든 경우의 수를 다 따져도 시간 초과가 안 날 거 같은데 시간초과가 납니다 무엇이 문제일까요? is_valid() 함수는 가로선을 하나 추가했을때 겹치는지 확인하는 함수이고 is_connected() 함수는 하나씩 사다리 타서 문제의 조건 (시작점과 도착점이 같은 것)에 맞는지 확인하는 함수입니다

  • c++
  • 코딩-테스트
  • 코테 준비 같이 해요!
  • C++
10cm 댓글 1 좋아요 0 조회수 347

11:50 동적 배열

미해결

코딩테스트 [ ALL IN ONE ]

O(n)이 되는 것들은 대부분 '한칸씩 한칸씩' 옴겨 가기 때문이라고 하셨는데 이것이 '변수를 칸안에 집어 넣는 것'을 한 두 번만 해도 되면 O(1) 이 되고 '변수를 칸안에 집어 넣는 것'을 계속 한칸한칸 n번 해야 하면 O(n)이 되는 건가요?

  • 코딩-테스트
  • python
  • 알고리즘
  • algorithm
  • 코테 준비 같이 해요!
조준형 댓글 1 좋아요 1 조회수 379

코드의 흐름

미해결

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

데이터흐름이 이게 맞는지만 혹시 봐주실수 있나욤...

  • react
  • node.js
  • nodejs
oridori2705 댓글 0 좋아요 0 조회수 491

Aws s3

미해결

[리뉴얼] React로 NodeBird SNS 만들기

배포를 하려고 하는 와중에 Aws s3 사용에 관련해서 과금이 많이 나올까봐 걱정이 되는데 혹시 보안적으로 안전하게 사용하는 방법 있을까요?

  • redux
  • node.js
  • express
  • react
  • nodejs
  • next.js
  • Next.js
bs44108 댓글 1 좋아요 0 조회수 274

인텔리제이 무료->유료 버전 변경 시

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

처음 시작할 때 커뮤니티 무료 버전을 사용했는데요, 대학생 계정 인증으로 유료 버전을 사용할 수 있다고 하더라고요 만약에 유료 버전을 사용할 수 있게 되면 기존에 있던 인텔리제이 프로그램을 삭제하고 유료버전을 새로 설치해서 다시 처음부터 초기설정하고 강의를 다시 따라가야 할까요?

  • spring
  • java
  • mvc
  • MVC
  • spring-boot
김동현 댓글 1 좋아요 0 조회수 1004

혹시 강의 중에 나오는 플러그인 좀 알 수 있을까요

해결됨

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

강의 중에 나오는 "Complexity is 3 Everything is cool!" 이라는 코멘트가 나오는건 어떤 플러그인을 사용하시는 건지 궁금하니다!!

  • spring-boot
  • tdd
  • spring-boot
  • pojo
  • api
  • pojo
HanKyul Kim 댓글 1 좋아요 0 조회수 1258

오류가 생성되는데 왜 생기는지 궁금해서 질문드립니다

미해결

[중급편] 코인 가격 모니터링 앱 제작 (Android Kotlin)

E/RecyclerView: No adapter attached; skipping layout E/RecyclerView: No adapter attached; skipping layout coinListFragment 에서 생성되는 오류라고 생해서 관련된 부분을 수정해보았으나 계속해서 오류가 생성되서 왜 생기는걸까? 궁금해서 질문드립니다. 오류와 관계없이 화면에 리사이클러뷰는 잘 나오기때문에 넘어가도 상관없겠다 싶지만서도 왜 저런 오류가 생기는지 궁금해서 질문 합니다. 처음에는 XML 상에서도 layoutManager 를 지정해줘야 하나 싶어서 했으나 나타났고, 다음으로는 context 관련 문제인가 싶어서 해당하는 부분을 수정하다가 오히려 더 오류가 발생하였습니다...ㅋㅋㅋ 기능에는 문제가 없기 때문에 넘어가도 괜찮지만 순수하게 궁금해서 질문합니다. 아니면 혹시, coinListFragment 쪽의 RecyclerView 가 아닌, Intro 에서 좋아하는 코인을 만들때 의 오류메시지 일까요?

  • android
  • kotlin
ancan Eil 댓글 2 좋아요 0 조회수 569

offset 과 limit 값을 서버쪽으로 보내는 방식

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

안녕하세요 강의에서는 페이징에 필요한 offset과 limit 값을 @RequestParam을 통해서 넘겨주는 것을 보았습니다. 그런데, 저는 현재 @RequestBody OrderSearchDto를 파라미터로 받아와 내부 필드인 멤버명이나 주문 상태를 검색조건으로 활용하고 있었습니다. 이런 경우에는 그냥 @RequestParam을 사용하지 않고, DTO에 offset과 limit 필드를 추가해서 검색과 페이징에 필요한 데이터를 OrderSearchDto 안에 한번에 받는것은 어떤지 궁금합니다. 보통 실무에서는 페이징에 필요한 값은 @RequestParam으로 받는 편인가요? 아니면 저의 발상처럼 OrderSearchDto 같은 DTO를 통해 @RequestBody로 받기도 하나요? 일반적인 관점에서 best practice가 따로 있는지 궁금합니다.

  • java
  • spring
  • jpa
  • JPA
  • spring-boot
이현준 댓글 1 좋아요 0 조회수 650

강의 들으면서 응용해서 테스트를 작성하고 있는데 자꾸 null인 상태라고 해서 질문드립니다.

미해결

실전! 스프링 데이터 JPA

강의를 들으면서 간단한 테스트 문을 작성해봤습니다. 근데 계속 NullPointerException이 발생해서 여러가지 테스트를 하면서 오류를 분석해보니answerList에 아무 값도 들어가지 않아서 자꾸 null이라고 뜨는데 대체 왜 그런지 모르겠어서 질문드립니다. 아래에는 오류 화면이고 Question, Answer 엔티티와 함께 테스트 코드도 같이 첨부하겠습니다. @Entity @Getter @Setter public class Question { @Id @GeneratedValue @Column(name = "question_id") private Long id; @Column(unique = true, length = 200) private String subject; @Column(unique = true, columnDefinition = "TEXT") private String content; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; @OneToMany(mappedBy = "question", cascade = CascadeType.REMOVE) private List<Answer> answerList; private LocalDateTime createDate; } @Entity @Getter @Setter public class Answer { @Id @GeneratedValue @Column(name = "answer_id") private Long id; @Column(columnDefinition = "TEXT") private String content; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "question_id") private Question question; private LocalDateTime createDate; } @SpringBootTest @Transactional class AnswerRepositoryTest { @Autowired private QuestionRepository questionRepository; @Autowired private AnswerRepository answerRepository; @Test public void 답변조회() throws Exception{ //given Question question = new Question(); question.setSubject("제목입니다."); question.setContent("본문입니다."); questionRepository.save(q); Question findQuestion = questionRepository.findById(question.getId()).get(); Answer answer = new Answer(); answer.setContent("답변입니다."); answer.setQuestion(findQuestion); answer.setCreateDate(LocalDateTime.now()); answerRepository.save(answer); //when List<Answer> answerList = findQuestion.getAnswerList(); //then assertEquals("답변입니다.",answerList.get(0).getContent()); } } 테스트 코드에서 findQuestion.getSubject/ findQuestion.getContent까지 다 잘 찾아지는데 딱 getAnswerList()만 하면 null이라고 뜹니다

  • spring-boot
  • spring-boot
  • JPA
  • java
  • jpa
  • spring
지호 댓글 1 좋아요 1 조회수 1267

username뿐만 아니라 password까지 검증되는 이유

미해결

스프링 시큐리티

현재 강의까지의 인증 로직을 보면 @Service @RequiredArgsConstructor public class CustomUserDetailsService implements UserDetailsService { private final UserRepository userRepository; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { Account account = userRepository.findByUsername(username); if (account == null) { throw new UsernameNotFoundException("UsernameNotFoundException"); } List<GrantedAuthority> roles = new ArrayList<>(); roles.add(new SimpleGrantedAuthority(account.getRole())); AccountContext accountContext = new AccountContext(account, roles); return accountContext; } } useranme으로만 Account객체를 조회해서 이것이 null인지 아닌지로 사용자를 인증하는 로직으로 이해했습니다. 하지만 로그인 페이지에서 DB에 존재하는 username을 알맞게 입력하고 password는 틀리게 입력하면 인증단계에서 걸러지는걸 확인했습니다. 그렇다면 password까지 검증을 한다는 것인데.. 분명 인증로직으로만 봤을땐 username으로만 인증을 하는것 같았는데 password까지 검증될 수 있었던 이유가 무엇인가요.?

  • spring-boot
  • Spring Security
  • java
  • spring-security
  • spring-boot
조우현 댓글 1 좋아요 0 조회수 1306

빌드오류가 있다고 나오고, 지정된 파일을 찾을 수 없다고 오류가 나옵니다..

미해결

C 프로그래밍 - 입문부터 게임 개발까지

#include<stdio.h> #include<time.h> #include<stdlib.h> /*10마리의 서로다른 동물 (각 카드 2장씩) 사용자로부터 2개의 입력값을 받아서 -> 같은 동물 찾으면 카드 뒤집기 모든 동물 쌍을 찾으면 게임 종료 총 실패 횟수 알려주기*/ int checkAnimal[4][5]; //뒤집혔는지 여부 확인 int arrayAnimal[4][5]; //카드 20장 - 4x5 const char* strAnimal[10]; //10개의 배열 => 캐릭터포인터 void initAnimalArray(); // 카드 배치 void initAnimalName(); // 동물 종류 void shuffleAnimal(); //카드 섞기 int getEmptyPosition(); //빈 공간 찾기 int conv_pos_x(int x); int conv_pos_y(int y); void printAnimals(); //동물 위치 출력 void printQuestion(); // 문제 출력 (카드지도) int foundAllAnimals(); int main(void) { srand(time(NULL)); initAnimalArray(); initAnimalName(); shuffleAnimal(); int failCount = 0; //실패 횟수 while (1) { int select1 = 0; //사용자가 선택한 처음 수 int select2 = 0; //사용자가 선택한 두번째 수 printAnimals(); //동물 위치 출력 printQuestion(); // 문제 출력 (카드지도) printf("뒤집을 카드 2개를 고르세요 : "); scanf_s("%d %d", &select1, &select2); if (select1 == select2) // 같은 카드 선택 시 무효 continue; //좌표에 해당하는 카드를 뒤집어보고 같은지 안같은지 확인 int firstSelect_x = conv_pos_x(select1); int firstSelect_y = conv_pos_y(select1); int secondSelect_x = conv_pos_x(select2); int secondSelect_y = conv_pos_y(select2); //정수좌표를 x,y로 변환 if (checkAnimal[firstSelect_x][firstSelect_y] == 0 && checkAnimal[secondSelect_x][secondSelect_y] == 0//카드가 뒤집히지 않앗는지 && arrayAnimal[firstSelect_x][firstSelect_y] == arrayAnimal[secondSelect_x][secondSelect_y])//두 동물이 같은지) { printf("\n\n빙고!! : %s 발견!!\n\n",strAnimal[arrayAnimal[firstSelect_x][firstSelect_y]]); checkAnimal[firstSelect_x][firstSelect_y] = 1; checkAnimal[secondSelect_x][secondSelect_y] = 1; } //다른 동물일 경우 else { printf("\n\n땡!!(틀렸습니다.. 혹은 이미 뒤집힌 카드입니다.)\n\n"); printf("%d : %s\n", select1, strAnimal[arrayAnimal[firstSelect_x][firstSelect_y]]); printf("%d : %s\n", select2, strAnimal[arrayAnimal[secondSelect_x][secondSelect_y]]); //틀린카드 알려주기 printf("\n\n"); failCount++; //실패횟수 +1 } //모든 동물을 찾았는지 여부. 1:참 , 0:거짓 if (foundAllAnimals() == 1) { printf("***축하합니다!총 %d번의 시도끝에 모든 동물을 다 찾았네요***\n",failCount); break; } } return 0; } void initAnimalArray() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { arrayAnimal[i][j] = -1; } } } void initAnimalName() { strAnimal[0] = "강아지"; strAnimal[1] = "고양이"; strAnimal[2] = "토끼"; strAnimal[3] = "다람쥐"; strAnimal[4] = "햄스터"; strAnimal[5] = "청설모"; strAnimal[6] = "오리"; strAnimal[7] = "원숭이"; strAnimal[8] = "미어캣"; strAnimal[9] = "호랑이"; } void shuffleAnimal() { for(int i = 0; i<10; i++) { for (int j = 0; j < 2; j++) { int pos = getEmptyPosition(); int x = conv_pos_x(pos); int y = conv_pos_y(pos); arrayAnimal[x][y] = i; } } } int getEmptyPosition() { while (1) { int randPos = rand() % 20; //0-19사이의 랜덤 숫자 반환 int x = conv_pos_x(randPos); int y = conv_pos_y(randPos); if (arrayAnimal[x][y] == -1) //초기에 -1로 설정했기때문에 -1이면 비어있다는 뜻 { return randPos; //현재 위치 반환 } } return 0; } int conv_pos_x(int x) //5로 나눴을 때 몫 / { return x / 5; } int conv_pos_y(int y) //5로 나눴을 때 나머지 % { return y % 5; } void printAnimals() //동물 위치 출력 { printf("\n=====이건 비밀인데 몰래 보여드려요=====\n"); for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { printf("%8s", strAnimal[arrayAnimal[i][j]]); } printf("\n"); } printf("\n=========================================\n"); } void printQuestion() // 문제 출력 (카드지도) { printf("\n\n(문제)\n"); int seq = 0; for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { //카드를 뒤집어서 정답을 맞혔으면 '동물이름 if (checkAnimal[i][j] != 0) { printf("% 8s", strAnimal[arrayAnimal[i][j]]); } //아직 뒤집지 못했으면 (정답을 못맞혔으면) -> 뒷면 -> 위치를 나타내는 숫자 else { printf("%8d", seq++); } } printf("\n"); } } int foundAllAnimals() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { if (checkAnimal[i][j] == 0) { return 0; } } } return 1;//모두 다 찾음 }

  • c
go9466 댓글 1 좋아요 0 조회수 462

window bulid설치관련

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] window이고 여기까지 했는데 libs파일이 없어요ㅠ 어떻게 해야하나요?

  • MVC
  • mvc
  • spring-boot
  • java
  • spring
김민수 댓글 1 좋아요 0 조회수 717

클로저 관련 질문

미해결

장고 설계철학으로 시작하는 파이썬 장고 입문

안녕하세요 클로저 부분 설명이 이해가 가지 않아 질문드립니다! 위 코드에서 base_number가 10인것은 이해가 갑니다만, 함수안에서 number에 대한 변수 선언이 없고, return_fn이 선언될때도 number에 대한 지정하는 부분이 없는데 return_fn(3)에서 number가 3이라는 것을 어떻게 아는것인지 궁금합니다.

  • django
  • python
김링크 댓글 2 좋아요 0 조회수 452

HelloMessage.Message 프로퍼티 여부에 따른 다른 동작

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버

선생님 안녕하세요! 최신 버전의 VS2022 .NET7.0 환경에서도 실습이 잘 되어서 너무 기분이 좋습니다. c# 문법인지 잘 모르겠지만... 이해가 안 가는 것이 있어 질문 올립니다. ' Hello MVC #1 ' 강의 14:29에서 다음과 같이 작성하셨습니다. public string Message { get; set; } 하지만, { get; set; } 을 하지 않고 아래와 같이 작성 public string Message; 하면 앞으로 모든 실습에서 Message가 null이 됩니다. 디버그에서 특별한 에러도 나타나지 않습니다. 강의 내용대로 프로퍼티를 붙이면 간단히 해결할 수 있지만 이 차이가 무엇인지 자세히 알고 싶습니다. 프로퍼티를 사용한 경우 프로퍼티 없이 선언만 한 경우

  • rest-api
  • blazor
  • web-api
  • asp.net-core
  • ASP.NET-Core
  • rest-api
Bonnate 댓글 1 좋아요 0 조회수 520

내 노트 모아보기

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

강의 들으면서 유용하게 쓰고 있는 기능이 "노트"입니다! 그런데 쓰다보면 아래처럼 제가 저장한 강의 시간때를 벗어나서 00:00으로 기록될 때가 있습니다! 혹시 이건 수정이 불가능할까요? 보통은 아래처럼 정상적으로 기록이 됩니다!

  • flutter
  • 클론코딩
  • Flutter
  • 클론코딩
eternalcgw 댓글 1 좋아요 0 조회수 565

인기 태그

인프런 TOP Writers

주간 인기글