묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
크롤링에서 sub_category가 작동되지 않습니다
"[참고] 크롤링과 데이터베이스 - 크롤링 코드 작성 시작 (업데이트)" 5분10초에서, G마켓 내용이 일부 변동이 발생해서 인지 sub_category가 작동되지 않습니다. sub_categories = soup.select('div.navi.group ul li a')이 부분이 작동 되지 않는 것 같은데 제가 웹크롤링이 초보라서 해결할수가 없네요 ㅠ
-
해결됨스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
순수 EntityManager vs Spring Data JPA 테스트
프로젝트를 하면서 궁금한 점이 생겨 질문드립니다.@AutoConfigureMockMvc와 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) 만 적용한 상태로 테스트 코드를 작성했습니다. 그리고 @Autowired를 통해 순수 EntityManager를 주입받아서 직접 영속성을 관리하는 레포지토리가 있습니다. 그런데 직접 EntityManager를 주입받은 Repository 빈은 테스트 주입 시 EntityManager가 없다는 오류가 발생합니다. 하지만 Spring Data JPA의 JpaRepository를 상속받은 인터페이스를 @Autowired로 주입받으면 이는 문제없이 테스트가 동작합니다. 혹시 어떤 차이점이 있는지 알 수 있을까요? @Repository public class UserRepository { @PersistenceContext private EntityManager em; public User save(final User user) { em.persist(user); return user; } public Optional<User> findByEmail(final String email) { List<User> users = em.createQuery("select u from User u where u.email=:email", User.class) .setParameter("email", email) .getResultList();return users.isEmpty() ? Optional.empty() : Optional.of(users.get(0)); } } public interface UserJpaRepository extends JpaRepository<User, Long> { public Optional<User> findByEmail(final String email); } @ActiveProfiles("test") @AutoConfigureMockMvc @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK) class AjaxEmailPasswordAuthenticationFilterTests extends DummyObject { @Autowired private ObjectMapper objectMapper; @Autowired private MockMvc mockMvc; @Autowired private UserJpaRepository userJpaRepository; @Autowired private PasswordEncoder passwordEncoder; @BeforeEach void setup() { userJpaRepository.save(User.builder() .email("test@gmail.com") .username("test") .password(passwordEncoder.encode("1234")).build()); } @DisplayName("이메일 기반 회원가입 유저 로그인") @Nested class LoginByEmailTests { @DisplayName("로그인 성공") @Test void success_test() throws Exception { //given String url = Endpoint.Api.LOGIN_WITH_EMAIL; EmailLoginUserRequestDto requestDto = EmailLoginUserRequestDto.builder() .email("test@gmail.com") .password("1234") .build(); //when ResultActions resultActions = mockMvc.perform( post(url) .contentType(MediaType.APPLICATION_JSON) .content(objectMapper.writeValueAsString(requestDto)) ); //then resultActions .andExpect(status().isOk()) .andExpect(jsonPath("$.id").exists()) .andExpect(jsonPath("$.redirectUrl").exists()); } } }
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
첨부파일이 코랩에 안올라가요 ㅜ
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요이제까지는 잘 해왔는데, 이번 회차부터 파일이 안올라가네요... 다른 거 설정해야할 게 있을까요??
-
미해결스프링 핵심 원리 - 기본편
안녕하세요! 인텔리제이 파일구조 관련하여 질문하고 싶습니다
강의 도중에 compact middle package 옵션을 사용한다고 하셔서 사용하고 있는데 파일 생성 단축키를 누르면 패키지, 클래스 따로 구분해서 만들 수 있는 창이 안나오고 파일, 디렉토리 단위로 뜨네요 ㅠㅠ 이 방법 어떻게 해결해야 할까요..?
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
css 작성 위치
.items{ display : flex; } .items > div{ border: 1px solid green; height : 200px; }강의에서는 위와 같이 스타일을 주셨는데,.items > div에 들어갈 내용을 .item에 넣어도 레이아웃이 똑같이 잡히더라구요. 혹시 .items > div에 작성한 border 과 height를 .items에 넣어도 괜찮은지 궁금합니다.■ 질문 남기실 때 꼭! 참고해주세요.- 먼저 유사한 질문이 있었는지 검색해주세요.- 궁금한 부분이 있으시면 해당 강의의 타임라인 부분을 표시해주시면 좋습니다.- HTML, CSS, JQUERY 코드 소스를 텍스트 형태로 첨부해주시고 스크린샷도 첨부해주세요.- 다운로드가 필요한 파일은 해당 강의의 마지막 섹션에 모두 있습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트 범위 관련해서 궁금한 점이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]테스트 범위 관련해서 궁금한 점이 있습니다. 영한님 강의 들어보면, 보통 controller-service-repository 구조인데, , 보통 service만 하시나요? controller, repository 다하시나요?
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
안녕 하세요
안녕 하세요 궁금한 사항이 있어서 문의드립니다.Debezium CDC source connector 강의 내용중redo 로그에 commit되지 않은 데이터도 쓰여진다고 말씀해주셨는데요저보다 당연히 잘 아시겠지만 제가 알기로는 commit하면 버퍼에 쌓이고 디스크에는 반영되지 않고 그 이후에 주기적으로redo log에 쌓이는 것으로 알고 있습니다즉 commit이 되어야 redo log에 쌓이는 걸로 알고 있는데 제가 잘못알고 있는걸까요? 감사합니다.
-
미해결
WSL에서 Vitis 실행 후 Launch Hardware 클릭 시 에러
WLS에서 /dev/ttyS5 at 115200으로 환경이 잡힌 것 같고 JTAG 핀도 올바르게 연결 된 것 갔습니다. 그리고 build project도 완료했습니다. 그러나 Launch hardware를 클릭하면 다음사진과 같이 나옵니다.무슨이유인지 알 수 있을까요?
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
무슨 에러인지...ㅡㅡ
안녕하세요. 강사님 열심히 따라해보고 있는데..여기서 막혀서 넘어가질 못하네요ㅜㅜVue Router 학습 : 게시판 UI 만들기 강의에서게시글 목록을 뿌려줄 때 우리가 어떤 데이터를 조회했다고 가정하고 v-for를 돌면서 뿌려줘본다고 하고 따라하고 있는데, 몇번을 봐도 오타는 없는거 같은데...ㅠㅠ그 전단계에서 목록이 5개 뜨는걸 확인한 후의 작업입니다. 뭐가 문제일까요???
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1 - E 질문입니다
안녕하세요 선생님, 수업 잘 듣고 있습니다.문제 내용 중에 '첫 글자가 같은 5명의 선수를 비교' 해야 할 것 같은데, 이건 해설풀이 중에 어느부분에서 해석할 수 있을까요?선수이름(s)을 받아서 앞쪽으로 당긴 다음에 더해간다, 나중에 'a'값을 더해서 원래 소문자를 구해서 출력한다, 까지는 이해하겠는데 문의드린 부분이 이해가 안가서요ㅜ 아니면 선생님 코드는 비교 안해도 값이 나오는 건가요..?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
테스트 코드에 대한 질문
안녕하세요. 강의를 보고 있는 학생입니다.현재 강의를 보고 간단한 앱을 만들고 있는데, 테스트 코드를 작성하면서 궁금한 점이 생겨서 질문을 남깁니다. 질문given에서 테스트 데이터들을 준비할 때, sql문으로 준비하는 것이 맞는 건가요? (멤버를 db에 insert하거나 게시글을 insert 하는 것들)아니면 test코드 내에서 엔티티를 만들어서 repository로 save하는 방식으로 하는 것이 맞는 건가요?현재 약간 복잡한 서비스 클래스를 테스트 하느라 여러 테이블에 데이터를 많이 넣고 시작해야 하는데, 어떤 방식이 맞는 지 궁금합니다.
-
미해결
Youtube 댓글 수집에 관한 건
안녕하세요.Youtube API를 이용하여 댓글을 수집하고 있는데,해당 키워드에서 최대 50개의 영상과 500개의 댓글이 수집되게 코드를 짜보았습니다.하지만 수집된 데이터를 확인해 보니, 댓글들이 전부 수집이 되지 않았더라구요.next_page_token을 사용하였는데 어디서 잘못된건지 모르겠습니다.(API 할당량 때문인지도 궁금합니다..!)코드를 아래 첨부하였습니다.괜찮으시다면 피드백 한 번씩 부탁드립니다...!확인해주셔서 감사합니다.추운 날씨 건강 조심하세요! <해당 코드>import csv from googleapiclient.discovery import build from googleapiclient.errors import HttpError def youtube_search(api_key, keyword, max_video_results, max_comment_results, published_after=None, published_before=None): youtube = build('youtube', 'v3', developerKey=api_key) search_response = youtube.search().list( q=keyword, part='id,snippet', maxResults=max_video_results, type='video', publishedAfter=published_after, publishedBefore=published_before ).execute() video_ids = [] video_details = [] for item in search_response['items']: video_ids.append(item['id']['videoId']) video_details.append({'title': item['snippet']['title'], 'description': item['snippet']['description'], 'published_at': item['snippet']['publishedAt']}) comments = [] for video_id in video_ids: next_page_token = None try: for _ in range(5): comment_response = youtube.commentThreads().list( videoId=video_id, part='snippet', maxResults=max_comment_results, pageToken=next_page_token ).execute() comments.extend(comment_response['items']) next_page_token = comment_response.get('nextPageToken') if not next_page_token: break except HttpError as error: if error.resp.status in [403, 404]: continue else: raise error return video_details, comments def save_to_csv(video_details, comments, output_file): with open(output_file, 'w', newline='', encoding='utf-8') as file: writer = csv.writer(file) writer.writerow(['Video Title', 'Video Description', 'Published At', 'Comment']) for video, comment in zip(video_details, comments): writer.writerow([video['title'], video['description'], video['published_at'], comment['snippet']['topLevelComment']['snippet']['textDisplay']]) api_key = "API Key" keyword = "스니커즈 리셀" max_video_results = 50 max_comment_results = 500 years = [2019, 2020, 2021, 2022] # 해당 월의 마지막 날을 계산하는 함수 def days_in_month(year, month): if month == 2: if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0): return 29 else: return 28 elif month in [4, 6, 9, 11]: return 30 else: return 31 for year in years: for month in range(1, 13): # 해당 월의 시작일과 종료일 설정 first_day = f'{year}-{month:02d}-01T00:00:00Z' last_day = f'{year}-{month:02d}-{days_in_month(year, month):02d}T23:59:59Z' video_response, comments = youtube_search(api_key, keyword, max_video_results, max_comment_results, published_after=first_day, published_before=last_day) output_file = f"youtube_search_results_{year}_{month:02d}.csv" save_to_csv(video_response, comments, output_file)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품등록 조회가 되지 않아요
[질문 내용]여기에 질문 내용을 남겨주세요.회원가입과 회원 조회는 문제없이 되는데상품등록은 작성은 되지만 db에 담기지도 않고 그래서 조회도 안됩니다 ㅠㅠ 상품등록 조회 영상 코드가 잘못인가 하고 복붙을 했는데도 안됩니다 ㅠㅠ무엇이 문제일까요??ㅠㅠ]제가 지금 야생형으로 따라 하고있어서 아무것도 몰라서 어느부분이 문제인지 알수없어서 남겨봅니다
-
해결됨스프링 핵심 원리 - 기본편
@Bean 질문드립니다!
@Configuration 없이, @Bean만 붙어있을 경우에 스프링 빈으로는 등록이 되지만, 스프링 컨테이너에는 들어가지 않아서 스프링 컨테이너에 의해 관리되지 않는 것이 맞나요? @Bean만 붙일 경우, 일단은 스프링 컨테이너에는 들어가게 되지만, @Configuration까지 붙은 경우 CGLIB 형태로 들어가게 되는 것인가요? @Configuration이 붙지 않으면, 빈으로 등록된 객체들이 스프링 컨테이너에 의해 관리되지 않는다라고 설명해주셔서,빈으로는 등록되었지만 스프링 컨테이너에는 주입이 안된 것인지,아니면 @Bean을 통해 빈으로 등록됨과 동시에 스프링 컨테이너에는 들어가지만, 그저 관리만 안되는 것인지 궁금합니다!
-
미해결[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편
셀레니움 기초 사용법
6분20초쯤 설명해주시는 웹브라우저로 이동시키는거 하고 있는데요.주소를 입력한 웹사이트가 나타났다가 다시 사라집니다. 왜 그런 걸까요?
-
미해결누구나 할 수 있는 안드로이드 앱 개발 - 2 (Kotlin)
설정
2023 05 월 기준 2-2 목표달성앱 설정에관해서지금현재 어디에다가 어떻게 뭘 넣어야 영상대로 이걸실행할수가있을까요? 에러가팡팡터지네요.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
페치 조인 한계 - 둘 이상의 컬렉션은 페치 조인 할 수 없다
안녕하세요, '페치 조인 2 - 한계' 강의를 듣던 도중, 잘 이해가 되지 않는 부분이 있습니다. '페치 조인 2 - 한계' 강의 (6분 44초) 에서 다음과 같이 '둘 이상의 컬렉션은 페치 조인 할 수 없다' 라고 말씀해주셨습니다.제가 궁금한 점은, 이후 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의에서, /api/v3/orders api에서 아래와 같이 페치 조인을 하는 예시를 설명해주셨습니다.해당 api를 통해 페이징이 불가능하다는 것은 이해하였고 BatchSize를 통해 페이징이 가능한 형태로 최적화하는 방법은 이해하였습니다만, 둘 이상의 컬렉션을 페치 조인 할 수 없다고 말씀하신 부분은 잘 이해가 되지 않아서 이렇게 질문을 드립니다. 말씀해주신 둘 이상의 컬렉션이 다른 의미를 내포하는 것인지, 아니면 둘 이상의 컬렉션을 페치 조인할 수는 있지만, 최대한 지양해야 하는 것으로 이해하면 될지 궁금합니다. '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의 내용이지만, 페치 조인의 한계에 대한 의문점이라서 본 강의에 질문을 드립니다. 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HTTP 응답 데이터 - 단순 텍스트, HTML에서 전혀 진행이 안됩니다 ㅠㅠ
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예HTTP 응답 데이터 - 단순 텍스트, HTML에서다음과같이 코드를 짜고 http://localhost:8080/response-html에 접속을 해도 자꾸 오류만 뜹니다 어디가 다른지 잘 감이 안오네요 ㅠㅠ 똑같이 짠것 같은데....Whitelabel Error Page이 뜨네요![질문 내용]package hello.servlet.basic.response; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet(name="responseHtmlServlet",urlPatterns = "/response-html") public class ResponseHtmlServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //컨텐트 타입잡기 response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter writer = response.getWriter(); writer.println("<html>"); writer.println("<body>"); writer.println("<div>안녕?</div>"); writer.println("</body>"); writer.println("</html>"); } }
-
미해결확률과 통계 기초
3-1, example 9 다이어몬드 선택 문제에서
example 9 에서 Px(x) = (10, 2)(90, 8) / (100, 20) 으로 교안이나 강의에서 소개가 되어 있는데10개가 아니라 20개를 무작위로 선택하는 것이니, (90, 18) 이여야 하지 않나요? 가품에서 2개, 정품에서 18개 뽑는 거니까요.
-
미해결Vue.js + TypeScript 완벽 가이드
두번째 프로젝트 권한 요청 드립니다.
두번째 프로젝트 권한 요청 드립니다.이메일은 zh.cecon@gmail.com 입니다.