묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Real MySQL 시즌 1 - Part 1
조건 없는 COUNT(*)에 대한 궁금증
안녕하세요, 강의 잘 듣고 있습니다. 강의와 책을 동시에 보면서, 학습을 하고 있습니다. 근데 강의와 도서에서 설명하는 내용에 다른점이 있는 것 같아서 질문드립니다. REAL MySQL 8.0 (2권) 중 11.4.6 COUNT() 절에서는 아래와 같이 설명되어 있습니다.MyISAM 스토리지 엔진을 사용하는 테이블은 항상 테이블의 메타 정보에 전체 레코드 건수를 관리한다. 그래서 "SELECT COUNT(*) FROM tb_table"과 같이 WHERE 조건이 없는 COUNT(*) 쿼리는 MySQL 서버가 실제 레코드 건수를 세어 보지 않아도 바로 결과를 반환할 수 있기 때문에 빠르게 처리된다.하지만, 강의 Ep.03 COUNT(*) vs COUNT(DISTINCT) 튜닝 에서는 WHERE 절 없는 COUNT(*) 는 제거 대상이라고 설명을 해주셨습니다. 책의 내용처럼 메타 정보에서 가져온다고 한다면 굳이 제거 대상이 될 것 같지는 않은데, 혹시 제가 놓친 배경이 있었을까요? 아니면 이게 뭔가 이분법적인 차원에서 접근하기에는 어려운 내용일까요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
for문 조건식에서 `<=` 와 `==` 질문
[질문 내용]public static void main(String[] args) { int row = 5; for (int i = 1; i <= row; i++) { for (int j = 1; j <= i; j++) { //for (int j = 1; j == i; j++) System.out.print("*"); } System.out.println(); } }위의 예제를 보면 j == i 로 코드를 입력했을 경우, 1행 * 하나만 출력이 되고 그 다음은 출력이 되지 않습니다.j == i가 될 때까지 출력해라 라는 논리구조가 적용이 되지 않는 이유가 궁금합니다.만약 j == i 일 때만 출력해라 라고 한다면 별은 5행까지 하나씩 출력이 되어야 할 것 같은데 그렇게 되지 않기도 하구요.조언 부탁드립니다!
-
해결됨Next + React Query로 SNS 서비스 만들기
server ,client 컴포넌트 랜더링 질문입니다!
안녕하세요~직접 만들어보고 비교하려고하는데 의문점이 하나 생겨서요!서버컴포넌트로 Link를 생성하고useSelectedLayoutSegment로 active클래스 처리해주려고 합니다!export default function SideBar() { const links = [ { path: "/home", pathName: "Home" }, { path: "/", pathName: "탐색하기" }, { path: "/", pathName: "쪽지" }, { path: "/", pathName: "프로필" }, ]; return ( <div className={classes.nav}> <div>logo</div> <nav> <ul> {links.map((link, idx) => { return ( <li key={`${link}-${idx}`}> <SideLink href={link.path}>{link.pathName}</SideLink> </li> ); })} </ul> </nav> <button className={classes.btn}>게시하기</button> </div> ); } interface SideLinkProps { children: ReactNode; href: string; } export default function SideLink({ children, href }: SideLinkProps) { const segment = useSelectedLayoutSegment(); const isSegment = href.slice(1); return ( <Link href={href} className={segment === isSegment ? classes.active : undefined} > {children} </Link> ); }근데 랜더링이Sidebar가 서버에서 초기 랜더링 하고client에서 class 반영한다 라고 이해하고 있는데용브라우저에서 "페이지 소스보기"를 했더니이미 class에 active가 반영된 상태로 랜더링 되어있어요캐시도 지우고 빌드해서 npm start 해봐도 "/home" path에서 소스보기 했더니 class가 반영된 상태로 서버에서 랜더링 되어옵니다.hook에 의한 할당될 class는 비워진 상태로 html를 생성하고 이후 client에서 hook을 이용한 클래스 부여가 된다고 알고 있었는데왜 서버에서 세그먼트 훅에 의한 class 처리가 되서 오는건지 궁금합니다!검색해도 명확한 답이 없어서 질문드려요!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
비전공자, 반복문 헷갈리는 이유
15:15 에서 선생님의 풀이를 통해 제가 헷갈리고 모르는게 무엇인지 찾았습니다.초기값의 경우, int a=1, b=1, sum=0 이라고 주어졌지만반복문에서 조건식에 들어가는 순간 블럭{} 내에서 변수값이 변화하는 과정(else문)에서 a 가 1일 때 sum을 0으로 주는 게 맞는지 -1로 주는 게 맞는지 헷갈립니다.저의 풀이는 다음과 같습니다.a=1, b=1, sum=0 처음엔 이렇게 시작했다가 if문의 else를 거쳐서 sum=-1로 변했기에 a=1, b=1, sum=-1 로 시작하여 문제를 풀었습니다.결과적으로,a=1, b=1, sum=-1a=2, b=3, sum=-4a=3, b=5, sum=-9a=4, b=7, sum=-16a=5, b=9, sum=-25a=6 반복문 종료운이 좋게도 해당 문제는 답이 맞다고 풀었지만 다른 기출문제의 경우는 a가 x일 때, b 값은 몇인지 구하는 과정에서 한단계씩 엇박자가 나는 바람에 틀리는 경우가 있습니다(선생님의 풀이를 보면 초기값이 sum=0이기에 당연히 여기서 시작하셨고 a=2 일 때, sum=-1이라고 계산한 것처럼요)저 나름대로 반복문을 풀이할 때, 헷갈리지 않기 위해 표형태로 값을 써내려가면서 계산할 때 변화를 짐작하는 방법으로, 다음과 같이 번호별로 하나로 묶어서 변수값의 변화를 계산했습니다.반복문 외부 초기값->for 초기화->for 조건식for 블럭{}->for 증감식->for 조건식이러면 값은 맞게 나오긴 하는데 전공자 입장에서 이렇게 생각하고 풀이하는 것이 맞는지 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
테이블 생성
엔티티를 만들면 엔티티의 형식에 맞게 테이블이 생성이 되던데 테이블 생성하는 sql을 직접 작성한 후 엔티티 코드를 작성하는 이유가 무엇인가요?
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka 관련해서 궁금한 점이 있습니다..
안녕하세요. 현재 강의 너무 재밌게 듣고있습니다. 아무래도 제가 카프카에 대해 잘 모르다보니 감이 없어 이해도가 낮습니다. 조금 부족한 질문이라도 이해 부탁드립니다. ㅠㅠ 현재 강의에서 프로젝트에서 생성한 구조는 kafka source connector가 없이 kafka sink connector만 만들고 직접 kafka topic에 저장하고 이를 동기화시키는 방식이라고 이해했습니다. 혹시 제가 이해한 구조가 맞을까요? 혹시 현업에서도 source connector가 굳이 필요 없다면 위와 같은 구조로 사용해도 상관 없을까요?현재 MSA 관련 프로젝트를 준비하고있으며. DB를 서비스별로 어떻게 분리해야할지 굉장히 고민하고 있습니다. 만약 배포되는 모든 서비스가 각자 다른 db를 가지고 있는 방식으로 구성해야한다면, 동일한 도메인 내에 있는 서비스는 db를 동기화를 시켜주는 작업이 필요할 것 같은데요. 제가 테스트해본 결과 source connector쪽 db에 데이터를 삽입했을 때는 sink connector쪽 db에도 데이터가 똑같이 삽입되지만, source connector쪽 db 데이터를 삭제하거나 수정하는 경우는 반영이 안되는 것을 확인했습니다. 혹시 이런 상황에서 참고할만한 키워드나 문서가 있을까요? ㅠㅠ
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
17강 firebase로 이미지 업로드하기에서 업로드가 안됩니다~
Thread 9: Fatal error: Unexpectedly found nil while unwrapping an Optional value위와같은 오류가 뜨면서,,, 업로드가 안됩니다..
-
해결됨업무에 바로 적용할 수 있는 프리미어 프로의 모든 것
만약 프리미어 프로만 구매하고 미디어 인코더는 없어도 강의를 수강하는데 문제 없을까요?
안녕하세요. 강의 초반을 보고 프로그램 구매를 하려고하는데요 저는 편집에만 쓸거라 프리미어 프로만 구매하고 싶은데 영상에 내보내기 를 할때나 프록시 편집을 할때 미디어 인코더로 실행이 되는거 같더라구요. 혹시 프리미어 프로만 구매해도 동일하게 따라갈 수 있나요?
-
해결됨김영한의 실전 자바 - 중급 1편
Math클래스 메서드중 random,질문(추가 round 메서드도요)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 남깁니다.Math 클래스중에 메서드에 있는 Math.radom()을 추적해 보니, Ranodm 클래스를 갖고 와서 쓰고 있다는 사실을 알수 있었습니다.Math클래스에 random()이라는 메서드를 집어 넣은 이유가 저가 생각 하기에는 random 이라는 것이 복잡하고, ocp원칙을 지키기 위해서, Math 클래스에 관계를 맺고 있다 라고 생각해도 될까요? 아니면 다른 이유가 있는 것인지 알고 싶습니다.추가 질문round() 메서드의 값을 예상햇을때 3.0이 나올줄 알았는데, 3이 나오고, long으로 값을 반환 한다는 것을 알 수 있었습니다.ceil(),floor() 메서드 들은 전부다 반환값이 double인데, rond() 메서드는 왜 long으로 반환하는지 알고 싶습니다.답변 부탁 드립니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
3.3)Node.js 사용하기 강의 중 npm run start 시 오류 발생
강의대로 package.json에 scripts 내 start에 경로 추가 후("node src/index.js)터미널에 npm run start 입력 시 아래와 같은 error가 발생됩니다.PS C:\Users\HOME\Desktop\oneBite-React\section03> npm run start> section03@1.0.0 start> node src/index.jsnpm error code ENOENTnpm error syscall spawn C:\Program Files\Git\bin\git.exenpm error path C:\Users\HOME\Desktop\oneBite-React\section03npm error errno -4058npm error enoent spawn C:\Program Files\Git\bin\git.exe ENOENTnpm error enoent This is related to npm not being able to find a file.npm error enoentnpm error A complete log of this run can be found in: C:\Users\HOME\AppData\Local\npm-cache\_logs\2024-07-14T05_57_50_914Z-debug-0.log
-
미해결30분 요약 강좌 시즌4 : 알잘딱깔센 GitHub
4강 8:00에서 더 이상 진행이 안됩니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요개리 폴더에서 git pull 명령어를 입력하면 작동하지 않고 다음과 같은 경고문이 뜹니다.There is no tracking information for the current branch.Please specify which branch you want to merge with.See git-pull(1) for details. git pull <remote> <branch>If you wish to set tracking information for this branch you can do so with: git branch --set-upstream-to=<remote>/<branch> main
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
API gateway에서 user service 라우팅시에 회원가입, 로그인, 그외로 나누는 이유가 궁금합니다
routes: - id: user-service # 로그인 uri: lb://USER-SERVICE predicates: - Path=/user-service/login - Method=POST filters: - RemoveRequestHeader=Cookie - RewritePath=/user-service/(?<segment>,*), /$\{segment} - id: user-service # 회원가입 uri: lb://USER-SERVICE predicates: - Path=/user-service/users - Method=POST filters: - RemoveRequestHeader=Cookie - RewritePath=/user-service/(?<segment>,*), /$\{segment} - id: user-service # 그 외 uri: lb://USER-SERVICE # ???? ?? predicates: - Path=/user-service/** - Method=GET filters: - RemoveRequestHeader=Cookie - RewritePath=/user-service/(?<segment>,*), /$\{segment} /**로만 넘겨도 될거같은데 회원가입, 로그인, 그 외 기능을 나누는 이유가 따로 있을까요 ?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
포인터 주소값이 null?
이해가 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요. P의주소값이 null인데P가 a(art)랑 같다는게이해가 안가네요.주소값이 없어도 값은 가질수있다는 뜻인가요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
객체 타입의 얕은 복사와 깊은 복사에 대해 질문 있습니다
안녕하세요~ 2.5) 원시타입 vs 객체타입 강의의 8분 6초 쯤에 객체의 얕은 복사와 깊은 복사에 대해 설명해주시는 부분이 있는데요.중첩객체에서는 spread 연산자를 사용해서 복사를 해도 1 depth까지는 복사가 되는데, 2 depth 이상 부터는 복사되지 않는 걸로 알고 있습니다.그래서 spread 연산자를 사용한 복사를 얕은복사,JSON.stringify() 등을 이용해서 하위 중첩된 객체들까지 복사하는 것을 깊은 복사라고 하는 걸로 알고 있는데혹시 제가 잘못 알고 있는건지 궁금해서 질문남깁니다!
-
미해결실무 중심! FE 입문자를 위한 React
SuryveyPie 기획서 어디에 있나요?
제목 그대로 SurveyPie 기획서 pdf를 어디서 받아야 하는지 모르겠습니다.처음에 받은 "학습노트_리엑트기초심화.pdf" 파일에서는 디자인 가이드와 코드만 존재합니다. 기획서 어디서 받을 수 있는지 알려주시면 감사하겠습니다.
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
react query 질문입니다.
양질의 강의 잘 듣고있습니다.queryKey: [queryKeys.POST, queryKeys.GET_POSTS],쿼리키에 다음과 같이 굳이 POST를 넣어주는 이유가 그룹화 하기위함인가요? 나중에 서비스가 커질 경우 어떤 항목의 get_posts인지 구분이 힘들어질수 있어서 그런것인지 궁금합니다.만일 그렇다면 useMutateDeletePost()에서 queryClient.invalidateQueries({queryKey: [queryKeys.POST]});로 처리하면 POST관련 모든 캐시가 지워지는건가요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
[section08, 투두리스트] 할일 추가가 한개밖에 안되는 문제
안녕하세요 section08까지 듣고 투두리스트 복습을 하던 중 할일이 한개는 추가가 되는데 그 뒤로는 추가된 할일에 덮어쓰기가 되어 추가가 안되는 문제가 발생하는 문제가 발생하여 어제부터 해결이 안되 질문남깁니다.onCreate함수 내부에 로그를 찍어보면새롭게 저장된 데이터가 아닌 매번 기존에 3개 만들어놓은 mockData가 불러와져서 데이터가 추가되는거 까진 확인하였습니다.또한 useReducer를 사용하면 강의와 같이 정상적으로 되는데 useState를 이용하면 위와 같은 문제가 발생합니다.몬가 Context를 사용해서 이런 현상이 발생하는 것으로 추측되는데 어떤 차이 때문에 이런 현상이 발생하는지 궁금합니다. App.jsximport './App.css' import Header from "./component/Header.jsx"; import Editor from "./component/Editor.jsx"; import List from "./component/List.jsx"; import {createContext, useMemo, useRef, useState} from "react"; export const ContextStateData = createContext(); export const ContextDispatchData = createContext(); const mockData = [{ id: 0, isDone: false, content: "Study react", date: new Date().getTime() }, { id: 1, isDone: false, content: "go to bed", date: new Date().getTime() }, { id: 2, isDone: false, content: "play game", date: new Date().getTime() },]; function App() { const [todos, setTodos] = useState(mockData); const idRef = useRef(3); const onCreate = (content) => { const newTodos = { id: idRef.current++, isDone: false, content: content, date: new Date().getTime() } setTodos([newTodos, ...todos]); } const memorizedDispatch = useMemo(() => { return {onCreate} }, []); return (<div className="App"> <Header/> <ContextStateData.Provider value={todos}> <ContextDispatchData.Provider value={memorizedDispatch}> <Editor/> <List/> </ContextDispatchData.Provider> </ContextStateData.Provider> </div>) } export default App 전체 코드 깃허브 주소https://github.com/ironwhale1014/one-bite-react/tree/main/todo_list_train
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OneToMany와 테이블 칼럼 관련 질문드립니다.
안녕하세요@Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String name; @Embedded private Address address; @OneToMany(mappedBy = "member") private List<Order> orders = new ArrayList<>(); } 이렇게 엔티티를 JPA 매핑을 시키면 테이블이 자동으로 생성되면서 컬럼들을 생성해주는데id, name ,address는 칼럼으로 생성되는데@OneToMany 어노테이션이 붙은 필드는왜 컬럼으로 생성이 되지 않는 것인지 궁금합니다!!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
Java 같지만 다른 것들 강의 관련 질문
선생님, 안녕하세요!Java 같지만 다른 것들 강의 중에 3번째 슬라이드 관련하여 궁금한게 있어 질문글을 올립니다. (2:44 부근) 슬라이드 오른편에 출력값 첫 번째 줄과 두 번째 줄이 str1==str2: 까지는 동일하지만 그 결과가 각각 true와 false로 다른 것으로 표기가 되어있는데요,혹시 두 번째 줄이 슬라이드 왼편의 코드대로 str2==str3: 이 되어야되는건 아닐까 싶어서 문의 드립니다. 오늘도 도움을 요청드리게 되네요 ^^; 바쁘시겠지만 확인 한번 해주시면 너무나도 감사하겠습니다~~!!
-
미해결스프링 핵심 원리 - 기본편
NoUniqueBeanDefinition 예외
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요! 강의를 복습하는 도중에 다음 설정과 같이 intellij로 테스트를 실행하면 다음과 같이 NoUniqueBeanDefinition 예외가 나옵니다. 해당 설명을 보면 컴포넌트 스캔으로 등록된 MemoryMemberRepository와 AppConfig에서 등록된 MemoeyRepository 때문에 생성자 주입이 일어날때 어떤 것을 선택할지 몰라서 생기는 오류처럼 보입니다. 이를 해결하기 위해 커뮤니티 게시판을 살펴봤는데 다음과 같이 test 환경을 intellij idea가 아닌 gradle로 실행하면 된다고 하여 시도해보았더니 해결되었습니다. 그런데 이런 해결방법이 이해가 되지 않습니다. gradle과 intellj 무슨 차이가 있는지 궁금하고 gradle로 테스트하더라도 코드는 똑같이 분명히 똑같이 충돌이 일어날텐데 오류 없이 해결되는지 그 이유가 궁금합니다.