묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! Querydsl
PageableExecutionUtils 사용 시, count 쿼리 생략 조건
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]PageableExecutionUtils 을 사용시, count 쿼리 생략 조건에 "마지막 페이지 일 때" 라고 되어 있어서강의에 샘플 데이터 기반으로size=5, page=20 으로 마지막 페이지를 호출했는데,count 쿼리가 나가서 봤더니컨텐츠 사이즈가 0 이 아니면서 페이즈 사이즈 보다 작아야 되는 경우로 되어 있었습니다.해석하자면 카운트 쿼리 생략하는 경우가 "마지막 페이지이면서 컨텐츠 사이즈가 페이지 사이즈보다 작을 때" 인 것 같아서 의견드립니다.중복된 것이라면 죄송합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@ Controller 와 @Autowired 의미
컴포넌트 스캔과 자동 의존관계 설정 강의에서4분 6초관련하여 질문합니다. @Controller 를 하면 스프링이 MemberController 객체를 들고 있도록 해주는 것이며, 강의 자료에서는 녹색으로 동그라미 쳐져 있는 그림으로 보면 된다.@Autowired는 스프링 컨테이너에 있는 memberService를 가져와서 연결해준다..이렇게 말씀 하셨는데, 위에 제가 알아들은게 맞는 지 궁금하며, 2번 보면 memberService를 가져와서 연결해준다고 하였는데 누구랑 연결을 해준다는 건지 이해가 가질 않습니다. 그니까 Controller를 사용해서 MemberController를 등록하고 그안에서 MemberService 와 연결해주려면 Autowired를 해주면 된다는게 맞나요? 틀리다면 다시 정정해주세요
-
해결됨CUDA 프로그래밍 (2) - C/C++/GPU 병렬 컴퓨팅 - 벡터 vector 더하기
15강 Block ID 예제 오류 질문입니다.
안녕하세요?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개만 출력되었습니다.)
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
강의 6강 질문
CalculatorMultiplyRequest DTO에서 다음과 같이 final을 붙여주면, postman에서 send 버튼 눌렀을 때 에러가 표시되는데 왜 그런지 알 수 있을까요?!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
GetMapping("") 대신 ("/") 를 사용?
16강 "홈 화면 추가" 강의를 듣고 있는데, @GetMapping("/")으로 기본 홈 페이지를 만드는데 사용하셨습니다. @GetMapping("") 으로 사용해도 되는지 궁금해서 해보니까 가능한 것을 확인했습니다.@GetMapping("") 대신에 ("/") 를 사용해야 되는 이유가 혹시 있는지, 아니면 둘 중 아무거나 사용해도 상관은 없는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
@PreDestory 가 없어도 실행되는 이유 및 사용하는 경우
@PostConstruct의 경우 주석처리 하면 init 메서드가 실행되지 않더라구요. 근데 @PreDestory의 경우 주석처리를 해도 close 메서드가 실행되던데 @Bean 애노테이션을 이용하여 NetworkClient를 등록 할 때 destoryMethod가 생략됐고, 추론형이 발동해서? 실행되는 거 맞나요? 그렇다면 반대로 @PostConstruct의 경우에는 추론형이 없을까요? 없다면 이유는 무엇인가요? 이 @Postconstruct와 @PreDestory는 언제 사용하나요? Bean의 생명 주기를 알아야 할 필요가 있을까요?
-
해결됨수학 없이 시작하는 인공지능 첫걸음: 기초부터 최신 트렌드까지
강의자료 PDF파일과 실습자료 어디서 구하나요?
강의자료 PDF파일과 실습자료 어디서 구하나요?강의 페이지 찾아봐도 어디서 받는지 알 수 없어서 이렇게 질문을 남깁니다.
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
tsc-watch
이거는 nodemon이랑 비슷한 개념인가요?..
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
[flask 로 Rest API 구현과 테스트] 질문있습니다
현재 해당 수업을 너무 잘 듣고 있는 수강자입니다~ 이런 강의 제공해주셔서 감사드립니다.제가 이 강의를 듣게된 이유는 머신러닝 모델을 통해서 모델을 배포하고 결과를 고객에게 보여주기위해 Flask를 사용해보려고 하기 때문인데요..아직 지식이 짧아서 그런지, REST API 구현시 ML모델 결과가 만약 Table로 나온다면 이 역시도 JSON 파일로 response를 해줄수가 있는걸까요?답변 기다리고 있겠습니다.
-
미해결스프링 시큐리티
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";}
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
PROCEDURE 생성
프로시저 생성 파트를 실습하다가 궁금한게 생겨서 질문드려요 ㅎ 저는 ITEM_CD 컬럼이 순서대로 들어가지않고 추가된게 맨 위에 계속 뜨는데 따로 설정해야하는게 있을까요 ? 선생님 강의는 맨밑으로 붙어서 나와서요 ㅎ
-
미해결홍정모의 따라하며 배우는 C++
8:30 printcolorName 함수 switch case 통해 구현 시 질문입니다.
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;}
-
미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
request.get() 하면 SSLCertVerificationError 에러가 납니다.
구글로 찾아보니 신뢰할수 없는 인증서 사용이라서 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(
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
안녕하세요.
안녕하세요.maven과 gradle 차이는 하는 기능은 같은데maven은 pom.xml에서 xml로 설정해주고 gradle 은 application.yml에서 그루비로 설정해주는 차이만 있을가요???
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
첫째 페이지 크롤링 오류
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 으로 크롤링 되네요 ..
-
미해결[중급편] 친절한 JETPACK 개론 <상> (Android Kotlin)
ViewModel 값
ViewModel을 이용하면 화면이 전환되며 fragment에서도 View가 destroy가 되어도 값이 유지가 된다고 보이는데 Fragment 2개를 전환시킬 때는 왜 유지가 되지는 않나요..? 강좌 챕터 View / ViewModel과 LiveData 사용해보기의 Fragment LiveData / LifeCycleOwner 부분입니다.
-
미해결3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]
답변달기 Group Order 가 올라가지 않아요...
오라클 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)은데이터가 잘 찍혀서 들어간걸 확인 할 수 있었습니다. 근데 게시판에 답글이 생기지 않아요,,,
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
DFS, BFS 풀이 차이점
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 중 어떤 것이 더 좋은지 궁금합니다 .. !
-
미해결홍정모의 따라하며 배우는 C++
8:14부근 코드 질문입니다.
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;}
-
미해결
맥 사용중인데 vscode에서만 오류가 발생합니다
터미널에서도 다 잘 작동하는 코드들을 vscode로 가져가면 문법 오류가 뜹니다SyntaxError: invalid syntax다른 언어를 쳐도 오류가 뜹니다지금 vscode에는 c언어 사용하려고 코드러너,c/c+,c/c+ 확장, codelldb과 Python, pylance, autopep8등이 깔려 있습니다 python은 홈브류로 설치한 상태입니다