inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

PageableExecutionUtils 사용 시, count 쿼리 생략 조건

해결됨

실전! Querydsl

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] PageableExecutionUtils 을 사용시, count 쿼리 생략 조건에 "마지막 페이지 일 때" 라고 되어 있어서 강의에 샘플 데이터 기반으로 size=5, page=20 으로 마지막 페이지를 호출했는데, count 쿼리가 나가서 봤더니 컨텐츠 사이즈가 0 이 아니면서 페이즈 사이즈 보다 작아야 되는 경우로 되어 있었습니다. 해석하자면 카운트 쿼리 생략하는 경우가 "마지막 페이지이면서 컨텐츠 사이즈가 페이지 사이즈보다 작을 때" 인 것 같아서 의견드립니다. 중복된 것이라면 죄송합니다

  • java
  • jpa
jiny 댓글 1 좋아요 1 조회수 597

@ Controller 와 @Autowired 의미

미해결

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

컴포넌트 스캔과 자동 의존관계 설정 강의에서4분 6초 관련하여 질문합니다. @Controller 를 하면 스프링이 MemberController 객체를 들고 있도록 해주는 것이며, 강의 자료에서는 녹색으로 동그라미 쳐져 있는 그림으로 보면 된다. @Autowired는 스프링 컨테이너에 있는 memberService를 가져와서 연결해준다.. 이렇게 말씀 하셨는데, 위에 제가 알아들은게 맞는 지 궁금하며, 2번 보면 memberService를 가져와서 연결해준다고 하였는데 누구랑 연결을 해준다는 건지 이해가 가질 않습니다. 그니까 Controller를 사용해서 MemberController를 등록하고 그안에서 MemberService 와 연결해주려면 Autowired를 해주면 된다는게 맞나요? 틀리다면 다시 정정해주세요

  • java
  • spring
  • mvc
  • spring-boot
김지수 댓글 1 좋아요 0 조회수 1572

15강 Block ID 예제 오류 질문입니다.

해결됨

CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기

안녕하세요? Jetson TX2 및 Xavier를 사용하여 CUDA예제를 실행하고 있습니다. Block 예제에서 tx2와 xavier의 결과가 달라서 질문드립니다. dimgrid<<<2,2,1>>>에 의해 Block의 갯수가 4개가 되고, warpid=0인 영역은 blockid가 (0,0), (1,0), (0,1), (1,1)인 곳에서 총 4개가 있을 것입니다. 하지만 Tx2에서 예제를 돌려본 결과 blockid가 (0,0), (1,0)인 곳에만 나옵니다. 혹시나 해서 xavier에서 실험을 해본 결과 총 4개가 나와 정상적으로 출력됩니다. CUDA언어는 GPU구조와 상관 없이 출력되기 위해 grid-block-thread 구조를 가지므로 속도는 느리지만 동일한 결과를 출력해야하는데, 왜 tx2와 xavier가 같은 예제를 돌렸는데도 다른 결과가 나오는걸까요? (혹시나 해서 <<<2,2,1>>> => <<<4,1,1>>>로 변경하여 돌려봤지만 여전히 tx2에서 blockid 2개만 출력되었습니다.)

  • c
  • c++
  • cuda
  • gpu
  • 병렬-처리
rkdghrk12 댓글 1 좋아요 0 조회수 400

강의 6강 질문

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

CalculatorMultiplyRequest DTO에서 다음과 같이 final을 붙여주면, postman에서 send 버튼 눌렀을 때 에러가 표시되는데 왜 그런지 알 수 있을까요?!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
mrx 댓글 1 좋아요 0 조회수 484

GetMapping("") 대신 ("/") 를 사용?

미해결

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

16강 "홈 화면 추가" 강의를 듣고 있는데, @GetMapping("/")으로 기본 홈 페이지를 만드는데 사용하셨습니다. @GetMapping("") 으로 사용해도 되는지 궁금해서 해보니까 가능한 것을 확인했습니다. @GetMapping("") 대신에 ("/") 를 사용해야 되는 이유가 혹시 있는지, 아니면 둘 중 아무거나 사용해도 상관은 없는지 궁금합니다.

  • java
  • spring
  • mvc
  • spring-boot
장재혁 댓글 1 좋아요 0 조회수 320

@PreDestory 가 없어도 실행되는 이유 및 사용하는 경우

미해결

스프링 핵심 원리 - 기본편

@PostConstruct의 경우 주석처리 하면 init 메서드가 실행되지 않더라구요. 근데 @PreDestory의 경우 주석처리를 해도 close 메서드가 실행되던데 @Bean 애노테이션을 이용하여 NetworkClient를 등록 할 때 destoryMethod가 생략됐고, 추론형이 발동해서? 실행되는 거 맞나요? 그렇다면 반대로 @PostConstruct의 경우에는 추론형이 없을까요? 없다면 이유는 무엇인가요? 이 @Postconstruct와 @PreDestory는 언제 사용하나요? Bean의 생명 주기를 알아야 할 필요가 있을까요?

  • spring
  • 객체지향
댓글 1 좋아요 0 조회수 526

강의자료 PDF파일과 실습자료 어디서 구하나요?

해결됨

수학 없이 시작하는 인공지능 첫걸음: 기초부터 최신 트렌드까지

강의자료 PDF파일과 실습자료 어디서 구하나요? 강의 페이지 찾아봐도 어디서 받는지 알 수 없어서 이렇게 질문을 남깁니다.

  • 머신러닝
  • 딥러닝
skyyun7272 댓글 2 좋아요 0 조회수 1093

tsc-watch

해결됨

탄탄한 백엔드 NestJS, 기초부터 심화까지

이거는 nodemon이랑 비슷한 개념인가요?..

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
한승보 댓글 1 좋아요 0 조회수 411

[flask 로 Rest API 구현과 테스트] 질문있습니다

미해결

[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]

현재 해당 수업을 너무 잘 듣고 있는 수강자입니다~ 이런 강의 제공해주셔서 감사드립니다. 제가 이 강의를 듣게된 이유는 머신러닝 모델을 통해서 모델을 배포하고 결과를 고객에게 보여주기위해 Flask를 사용해보려고 하기 때문인데요.. 아직 지식이 짧아서 그런지, REST API 구현시 ML모델 결과가 만약 Table로 나온다면 이 역시도 JSON 파일로 response를 해줄수가 있는걸까요? 답변 기다리고 있겠습니다.

  • python
  • rest-api
  • flask
A+Plus 댓글 1 좋아요 1 조회수 1001

Account 객체 형변환 오류 문의드립니다

미해결

스프링 시큐리티

실전프로젝트 강의 듣고 있습니다. 접근권한 관련해서 오류가 있어서 문의 드립니다. authentication.getPrincipal() 을 Account 로 형변환시 오류가 발생하네요. 값들을 찍었을 때 아래와 같이 나옵니다. 1. accountContext.getAccount() : Account(Id=1, username=user, password={bcrypt}$2a$10$Uh4Z9AZmSNzdke9QgvawxODb0pK2vwV2xzrMS9EgXGzICO54WoIU2, email=abc@gmail.com , age=99, role=ROLE_USER) 2. authentication.getPrincipal() : io.security.corespringsecurity.security .service.AccountContext [Username=user, Password=[PROTECTED], Enabled=true, AccountNonExpired=true, credentialsNonExpired=true, AccountNonLocked=true, Granted Authorities=[ROLE_USER]] getPrincipal() 에 관련없는 텍스트가 나와서 그런지 잘모르겠군요. => ' io.security.corespringsecurity.security .service.AccountContext' 어떤 이유에서 오류가 발생하는지 답변 부탁드려요~ @GetMapping(value={"/denied", "/api/denied"}) public String accessDenied(@RequestParam(value = "exception", required = false) String exception, Model model){ Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); // 형 변환이 안되네요. Account account = (Account) authentication.getPrincipal(); model.addAttribute("username", account.getUsername()); model.addAttribute("exception", exception); return "user/login/denied"; }

  • java
  • spring-boot
  • spring-security
원데이 댓글 1 좋아요 0 조회수 570

PROCEDURE 생성

해결됨

실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터

프로시저 생성 파트를 실습하다가 궁금한게 생겨서 질문드려요 ㅎ 저는 ITEM_CD 컬럼이 순서대로 들어가지않고 추가된게 맨 위에 계속 뜨는데 따로 설정해야하는게 있을까요 ? 선생님 강의는 맨밑으로 붙어서 나와서요 ㅎ

  • spring
  • oracle
  • 넥사크로
장빠 댓글 1 좋아요 1 조회수 510

8:30 printcolorName 함수 switch case 통해 구현 시 질문입니다.

미해결

홍정모의 따라하며 배우는 C++

printcolorName 함수를 switch case 구문으로 구현해놓고, main 함수에서 int 형태의 입력 x를 받아 printcolorName(x) 함수를 돌렸는데요. C2664(인수 타입변환 에러)가 발생합니다. 인수 x 를 printcolorName함수 입력 자료형인 COLORS로 형변환 하고, printcolorName 함수 내에서 switch case 구문을 이용하기 위해 다시 이 인수를 int로 형변환 하니 정상 실행되네요. 강의에서 알려주신 대로 case에 COLOR 자료형을 직접 넣는것과 별개로, 이렇게 형변환을 거듭해서 사용해도 문제는 없나요? 강의에서는 main 함수에서도 int 형 인수가 아닌 COLORS::BLACK를 써서 간단한 것 같긴 한데요.. #include <iostream> using namespace std; enum class COLORS{ BLACK, WHITE, RED, GREEN, BLUE, }; void PrintColorName(COLORS color) { /*if (color == COLORS::BLACK) cout << "Black" << endl; else if (color == COLORS::WHITE) cout << "White" << endl; else if (color == COLORS::RED) cout << "Red" << endl; ...이런식으로 모든 경우에 대해 else if 쓰는 건 너무 불편 이때 switch case 문 활용*/ switch (static_cast<int>(color)) { case 0: cout << "Black"; break; case 1: cout << "White"; break; case 2: cout << "Red"; break; case 3: cout << "Green"; break; case 4: cout << "Blue"; break; } } int main() { //PrintColorName(COLORS::BLACK); int x; cin >> x; PrintColorName(static_cast<COLORS>(x)); return 0; }

  • c++
jbw217 댓글 1 좋아요 2 조회수 312

request.get() 하면 SSLCertVerificationError 에러가 납니다.

미해결

내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)

구글로 찾아보니 신뢰할수 없는 인증서 사용이라서 verify=False 를 하면 된다고 하는데요, res = requests.get( " https://search.naver.com/search.naver?where=view&sm=tab_jum&query=%EB%A7%9B%EC%A7%91 ", verify=False ) 하면 아래와 같이 경고가 나옵니다. 해결 할 방법이 있나요? InsecureRequestWarning: Unverified HTTPS request is being made to host 'search.naver.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings warnings.warn(

  • python
  • 웹-크롤링
전혜선 댓글 1 좋아요 0 조회수 563

안녕하세요.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요. maven과 gradle 차이는 하는 기능은 같은데 maven은 pom.xml에서 xml로 설정해주고 gradle 은 application.yml에서 그루비로 설정해주는 차이만 있을가요???

  • java
  • jpa
조소영 댓글 1 좋아요 0 조회수 956

첫째 페이지 크롤링 오류

해결됨

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

import requests from bs4 import BeautifulSoup main_url = "https://www.coupang.com/np/search?component=&q=%EA%B2%8C%EC%9D%B4%EB%B0%8D+%EB%A7%88%EC%9A%B0%EC%8A%A4&channel=user" header = { 'Host': 'www.coupang.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Language': 'ko-KR,ko;q=0.8,en-US;q=0.5,en;q=0.3',} response = requests.get(main_url, headers = header) html = response.text soup = BeautifulSoup(html, 'html.parser') links = soup.select("a.search-product-link") for link in links: sub_url = "https://www.coupang.com/" + link.attrs['href'] response = requests.get(sub_url,headers = header) html = response.text sub_soup = BeautifulSoup(html,'html.parser') #브랜드명 #중고상품 예외처리 try: #아래 태그를 찾고 brand = soup.select_one("a.prod-brand-name") except:# 없으면 아래처럼 비우기 brand = "" #상품명 name = soup.select_one("h2.prod-buy-header__title") #가격 price = soup.select_one("span.total-price > strong") print(brand,name,price) 이렇게 작성 하고 실행 시키니 아무일도 일어나지 않았습니다. 그래서 ctrl + F5 로 실행 시키니 크롤링 된 데이터가 모두 none 으로 크롤링 되네요 ..

  • python
  • 웹-크롤링
정명준 댓글 1 좋아요 1 조회수 365

ViewModel 값

미해결

[중급편] 친절한 JETPACK 개론 <상> (Android Kotlin)

ViewModel을 이용하면 화면이 전환되며 fragment에서도 View가 destroy가 되어도 값이 유지가 된다고 보이는데 Fragment 2개를 전환시킬 때는 왜 유지가 되지는 않나요..? 강좌 챕터 View / ViewModel과 LiveData 사용해보기의 Fragment LiveData / LifeCycleOwner 부분입니다.

  • android
  • kotlin
  • jetpack
ᄋᄋ 댓글 1 좋아요 0 조회수 327

답변달기 Group Order 가 올라가지 않아요...

미해결

3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]

오라클 PROCEDURE SPEC부분은 PROCEDURE insertBorderReply ( In_borderId IN VARCHAR2, In_userId IN VARCHAR2, In_userIp IN VARCHAR2, In_title IN VARCHAR2, In_mytextarea IN VARCHAR2 ); 오라클 PROCEDURE BODY부분을 PROCEDURE insertBorderReply ( In_borderId IN VARCHAR2, In_userId IN VARCHAR2, In_userIp IN VARCHAR2, In_title IN VARCHAR2, In_mytextarea IN VARCHAR2 ) IS lo_group_num NUMBER(10,0); lo_group_order NUMBER(10,0); lo_group_tab NUMBER(10,0); BEGIN /*답글달고자하는 글의 데이터를 로컬변수에 저장.*/ SELECT group_num, group_order, group_tab INTO lo_group_num, lo_group_order, lo_group_tab FROM EGOV_BBS WHERE BORDERID = In_borderId; /*기존글 형식을 맞추기위해 업데이트*/ UPDATE EGOV_BBS set group_order = group_order + 1 WHERE group_num = lo_group_num AND group_order > lo_group_order; IF(lo_group_order = 0) THEN SELECT MAX(group_order) INTO lo_group_order FROM EGOV_BBS WHERE group_num = lo_group_num; END IF; /*답글달고자하는 글의 데이터를 로컬변수에 저장.*/ INSERT INTO EGOV_BBS ( borderid, bordertype, group_num, parentid, group_order, group_tab, userid, nickname, writerip, editid, editip, title, bordertext, seecount, filename, filetype, fileurl, replycount ) VALUES ( borderid_seq.nextval, '0', lo_group_num, In_borderId, lo_group_order+1, lo_group_tab+1, In_userId, In_userId, In_userIp, '', '', In_title, In_mytextarea, 0, '', '', '', 0 ); COMMIT; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('오류발생'); DBMS_OUTPUT.PUT_LINE('에러내용:'||SQLERRM); DBMS_OUTPUT.PUT_LINE('발생위치:'||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE); END insertBorderReply; 이렇게 작성했습니다. 위 사진과 같이 그룹 오더가 늘어나지 않습니다. borderReplyReq.do 는 다음과 같이 작성했고 @RequestMapping(value="/ borderReplyReq.do ") public String borderReplyReq(HttpServletRequest request, ModelMap model) throws Exception { HashMap<String,Object> paramMap = new HashMap<String,Object>(); String title = request.getParameter("title").toString(); String mytextarea = request.getParameter("mytextarea").toString(); String userId = "" ; String no = request.getParameter("no").toString(); if(title.length()>15) { return "redirect:/ borderList.do "; } //2000자 잇상이면 else if(mytextarea.length()>2000) { return "redirect:/ borderList.do "; } // Session에 User ID 가 저장이 안되어 있다면? else if(request.getSession().getAttribute("USER_ID")==null) { request.getSession().invalidate(); return "redirect:/ login.do "; } else // 사용자가 로그인을 했을 때, { userId = request.getSession().getAttribute("USER_ID").toString(); paramMap.put("boderid", no); paramMap.put("userId", userId); paramMap.put("userIp", request.getRemoteAddr()); paramMap.put("title", title); paramMap.put("mytextarea", mytextarea); } borderService.insertBorderReply(paramMap); System.out.println(paramMap); return "redirect:/ borderList.do "; } 마지막에 System.out.println(paramMap)은 데이터가 잘 찍혀서 들어간걸 확인 할 수 있었습니다. 근데 게시판에 답글이 생기지 않아요,,,

  • spring
  • 전자정부프레임워크
이영준 댓글 1 좋아요 0 조회수 240

DFS, BFS 풀이 차이점

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

import java.util.*; import java.io.*; /* 다음과 같이 여러 단위의 동전들이 주어져 있을때 거스름돈을 가장 적은 수의 동전으로 교환해주려면 어떻게 주면 되는가? 각 단위의 동전은 무한정 쓸 수 있다. 입력 : 첫 번째 줄에는 동전의 종류개수 N(1<=N<=12)이 주어진다. 두 번째 줄에는 N개의 동전의 종류가 주어지고, 그 다음줄에 거슬러 줄 금액 M(1<=M<=500)이 주어진다.각 동전의 종류는 100원을 넘지 않는다. 출력 : 첫 번째 줄에 거슬러 줄 동전의 최소개수를 출력한다. ex. 3 1 2 5 15 -> 3 ( 출력 설명 : 5 5 5 동전 3개로 거슬러 줄 수 있다. ) */ public class P05_동전교환 { static int N, total, answer; static Integer[] coins; public static void main(String[] args) throws Exception { // 초기 세팅 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); coins = new Integer[N]; StringTokenizer st = new StringTokenizer(br.readLine()); for (int i=0; i<N; i++) { coins[i] = Integer.parseInt(st.nextToken()); } total = Integer.parseInt(br.readLine()); // 로직 Arrays.sort(coins, Collections.reverseOrder()); // coins 내림차순 정렬 (int[] 배열이 아닌 Integer[] 배열이여야 함 !!) // 방법1. BFS // BFS(); // 방법2. DFS answer = total; DFS(0, 0); // 출력 System.out.println(answer); } public static void BFS() { Queue<Integer> q = new LinkedList<>(); for (int i=0; i<N; i++) { q.offer(coins[i]); } int count = 1; while (true) { int size = q.size(); for (int i=0; i<size; i++) { int tmp = q.poll(); for (int j=0; j<N; j++) { int next = tmp + coins[j]; if (next == total) { answer = count + 1; return; } q.offer(next); } } count++; } } public static void DFS(int count, int sum) { if (sum > total || count >= answer) { return; } if (sum == total) { answer = Math.min(answer, count); } else { for (int i=0; i<N; i++) { DFS(count+1, sum+coins[i]); } } } } 처음에 혼자 풀 때 BFS 문제인 것 같아 BFS로 풀었고, 강의보고 나서 다시 DFS로 풀어봤는데 DFS와 BFS 풀이 방법 중 어느 것이 더 좋은 방법인가요 ? 성능면에서 DFS와 BFS 중 어떤 것이 더 좋은지 궁금합니다 .. !

  • java
  • 코딩-테스트
김김 댓글 1 좋아요 0 조회수 966

8:14부근 코드 질문입니다.

미해결

홍정모의 따라하며 배우는 C++

if문 조건부에 constant 1을 넣어서 무조건 실행되게 하면, if문 전 main 함수에 의해 int x=10이 설정되고 cin으로 임의 입력값을 받는데요. 이 다음에 if문이 실행되면, 또다시 int x =5를 선언하는데 왜 에러가 안나나요? 같은 변수명 x를 중복선언하는 것 아닌가요? if문 안의 실행부가 x=5이면 이전에 선언해놨던 x에 값만 5로 대입하는 것으로 이해가 되는데요. 새로 int x를 또 선언하는데 중복에러가 안나는 이유가 궁금합니다. 아래는 그 코드입니다. #include <iostream> using namespace std; int main() { int x=10; cin >> x; if (x > 10) cout << x << " is greater than 10" << endl; else cout << x << " is not greater than 10" << endl; cout << endl; if (1) int x = 5; else int x = 6; cout << x << endl; return 0; }

  • c++
jbw217 댓글 1 좋아요 1 조회수 296

맥 사용중인데 vscode에서만 오류가 발생합니다

미해결

터미널에서도 다 잘 작동하는 코드들을 vscode로 가져가면 문법 오류가 뜹니다 SyntaxError: invalid syntax 다른 언어를 쳐도 오류가 뜹니다 지금 vscode에는 c언어 사용하려고 코드러너,c/c+,c/c+ 확장, codelldb과 Python, pylance, autopep8 등이 깔려 있습니다 python은 홈브류로 설치한 상태입니다

심찬 댓글 1 좋아요 0 조회수 1108

인기 태그

인프런 TOP Writers

주간 인기글