묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
PK가 여러개로 구성되었을 경우 자동 키 생성전략
안녕하세요.테이블의 칼럼이 A, B, C 이렇게 있을 때A, B에 따라 C가 자동으로 증가되어야 하는 경우 어떻게 해야 할까요?새로 insert되는 객체의 A와 B가 동일한 경우 C의 최대값을 가져와서 +1을 해야 하고다를 경우 C가 1부터 시작해야 합니다.이런 경우 JPA를 통해 해결할 수 있을까요?현재는 수동으로 계산을 하는 로직을 매번 넣고 있습니다.감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
test폴더를 삭제해버렸습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 9:12 쯤 부분을 실습하다가JUnit4와 5를 설치와 삭제를 반복하다가실수로 test 디렉토리를 지워버렸습니다.그러니까 그 다음 단계에서 어노테이션이 다 빨간색으로 인식이 안되는데test 디렉토리 지웠을 때 어떻게 복구하면 되는지 궁금합니다.답변 부탁드립니다.
-
미해결갖고노는 MySQL 데이터베이스 by 얄코
강의내용
강의에서 나온 내용들 혹시 수시로 참고하기 위해 개인 블로그에 따로 작성해도 괜찮을까요 ?
-
해결됨Redux vs MobX (둘 다 배우자!)
비동기 action 타입을 뭘로 지정해야 할까요?
//비동기 const logIn = (data: any): any => { return (dispatch: Dispatch<AnyAction>, getState: any) => { dispatch(logInRequest(data)); try { return setTimeout(() => { dispatch(logInSuccess({ id: 1, name: "userName", admin: true, }) ); }, 2000); } catch (error) { return dispatch(logInFailure(error)); } }; }; const logInRequest = (data: any): AnyAction => { return { type: "LOG_IN_REQUEST", data, }; }; const logInSuccess = (data: any): AnyAction => { return { type: "LOG_IN", data, }; }; const logInFailure = (error: unknown) => { return { type: "LOG_IN_FAILURE", error, }; }; //login을 dispatch store.dispatch(logIn({ id: 1, name: "userName", admin: true })); 강좌코드를 타입스크립트로 변환해보고 있는중에 궁금한게 있어서 질문드립니다.login 비동기 함수가 return 하는게 함수이고setTimeOut함수 때문에 함수반환타입도 Action 타입이 아니라서최종적으로 리턴타입이 () => NodeJS.Timeout | AnyAction이 되는것 같습니다store.dispatch(login())을 하면 타입에러가 나오는데login 리턴타입을 any로 바꿔주는거 말고 다른 방법으로 해결 할 수 있는 방법이 있을까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
선생님 쓱닷컴이 바뀌었는데 이런형태는 처음이라서 문의 드립니다.
쓱닷컴 이벤트 주소는 아래와같습니다.https://shinsegaemall.ssg.com/event/eventMain.ssg?Sgnb=event 문제는 이벤트 페이지가 1, 2 이렇게 2개 존재합니다.문제는 1 페이지를 클릭하던2페이지를 클릭하던, 주소가 모두 같습니다. 1페이지 클릭시 -> https://shinsegaemall.ssg.com/event/eventMain.ssg?Sgnb=event2페이지 클릭시->https://shinsegaemall.ssg.com/event/eventMain.ssg?Sgnb=event 이럴때는 어떻게 해야하나요?셀레니움이 답일까요?
-
미해결[입문자를 위한 UE5] Part5. 언리얼 엔진 VR
VR 테스트 할 때 손 하고 컨트롤러도 동시에 같이 보여요
오큘러스 퀘스트1으로 하고 있는데 VR상에서 손에 컨트롤러가 박혀서 같이 움직여요. 컨트롤러는 안보이게 하고 싶은데 어떻게 하나요?
-
미해결[리뉴얼] 처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)
재귀적 크롤링을 위한 링크 가져오기 8:20
재귀적 크롤링을 위한 링크 가져오기 8:20copy select한것을 안쓰고 한번 확인해본다음 직접작성하시는 이유가 뭔가요? 그리고 어떤 태크와 어떤 클래스를 가져오는게 좋을지 판단하는 기준?도 궁금합니다
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
인텔리제이 실행 관련 문의드립니다-!
안녕하세요 :)인텔리제이 실행 시 작업 중인 클래스( _03_Operator3)가 아닌 특정 클래스( _02_Operator2)가 실행이 되어 문의 드립니다.이것저것 건드리다 보니 실행 버튼 옆에 표시된 부분이 ( _02_Operator2) 로 설정되어있었고, 다시 이것저것 누르다 보니 해결이 되었습니다...!어쩌다 보니 문제 해결은 되었지만 원인과 해당 부분이 어떤 기능인 지 알 수 있으면 좋을 듯 해 문의 남깁니다.감사합니다 :)
-
해결됨React + API Server 프로젝트 개발과 배포 (CI/CD)
삽질 내용 공유드려요.. (혹시 도메인 접속 안되는 분들)
안녕하세요:)좋은 강의 감사히 잘 듣고 있습니다!아래 내용은 도메인 연결 후 접속 안 되시는 분들께서 한 번 참고하시면 좋을 것 같습니다.저는 도메인을 구매하지 않고, 기존에 사용하던 도메인에 연결했는데 접속이 안 되더라구요.이유는 크롬 브라우저에서 https로 접속한 기록이 있는 도메인은 자동으로 https로 리다이렉트 시키기 때문입니다. (네임 서버도 바꾸고.. 엄청 삽질했네요 흑..)참고 url: https://comple.co.kr/471해결방법은 다른 브라우저로 접속하거나, 아래 URL로 이동하셔서chrome://net-internals/#hsts좌측 'Domain Security Policy' 탭으로 이동Delete domain security policies 부분에 프로토콜 부분(https:// 등)을 제외한 본인 도메인을 입력위 내용을 해주시면 정상 접속이 됩니다.단, 다시 https로 도메인 페이지를 접속하시면 또 해주셔야 합니다. 🥲
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Could not find a required file. 에러
빌드는 잘 된 것 같은데 실행시 오류가 납니다
-
해결됨디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)
시나리오 3 1번문제 해시값 관련
시나리오 3 1번문제 해시값 관련해 전달주신 e01 파일을 재이미징해서 MD5를 확인해보았는데 보고서에 기재된 해시값과는 다른 값이 나옵니다. 정상적인 결과일까요?
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
보다가 궁금하게생겨서 질문드립니다.
Room database dependency 는별도의 쿼리문을 작성하지않아도JPA 마냥 알아서 Crud작업을 해주는건가요?어노테이션 엔티티 다오 선언만해주고함수로 인서트와 딜리트를 적었는데보면서 함수안에 쿼리문을 적을것같다는생각이들었는데딱히 아무런 쿼리문없이도 인서트와 딜리트가 되는거같아서 만약된다면 그냥함수 이름앞에 insert,delete는 고정이고 뒤에있는거는 아무거나 적어도상관없는건가요??이게어떻게동작하는지가궁금합니다. 쿼리문없이
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RequestBodyStringServlet을 만든 이후 실행이 안됩니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]HTTP 요청 데이터 -API 메시지 바디 -단순텍스트 강의를 듣고영한님이 작성하신 코드대로RequestBodyStringServlet을 만들었습니다.그런데 호환성 문제인지 갑자기 ServletApplication이 실행이 안 됩니다.RequestBodyStringServlet을 삭제하거나 주석 처리하면 다시 잘 동작하고요. 왜 이러는지 알 수 있을까요?혹시 몰라 build.gradle 스크린샷도 첨부합니다.
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
Geocoder getFromLocation 에러
현재 레슨 위치 가져오기 - 메인 액티비티 지오코딩 (1) 에서geoCoder.getFromLocation(latitude,longitude,7 )를 그대로 사용하는데 에러가 뜹니다.이 형식은 deprecated 됐다고 하고 getFromLocation(latitude: Double, longitude: Double, maxResults: Int, listener: Geocoder.GeocodeListener) 이걸 써야한다는데 GeocodeListener 를 어떻게 써야할지 감이 안옵니다. 구글에서도 찾기가 힘드네요. 어떤식으로 Geocodelistener 를 써야 할까요
-
미해결빅데이터 분석기사 시험 실기(Python)
강의자료 문의
매 강의 초반에 나오는 화면자료는 강의에 따로 안올려주신거죠?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
서블릿 예외 처리 - 오류 페이지 작동원리 중 WAS에서 request에 담아주는 정보들
강의 자료에 다음과 같이 되어있습니다.그런데 스프링부트 3.10버전에 java 17을 쓰고 있는데요, 저는 일단 xxxxxx_ATTRIBUTE로 해야 되네요,그리고 javax. xxx 가 아닌 jakarta로 하니까 되는데, 혹시 제가 잘못찾은걸까요? 버전의 문제일까요?
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
데이터베이스와 데이터 웨어하우스의 차이가 궁금합니다
안녕하세요 카일님 :)데이터베이스(DB)와 데이터 웨어하우스(DW)와 관련된 질문드려요.DB와 DW 간의 차이는 무엇인가요? 평소 막연하게 DW가 더 큰 개념이라고만 알고 있었는데, 데이터 파이프라인 관점에서 어떤 차이가 있는지 궁금합니다!DB: mysql, postgresqlDW: bigquery위처럼 구분지을 수 있는 게 맞을까요?서비스 관점에서 DB와 DW가 어떻게 사용되나요?예를 들어 방문, 결제 등의 로그를 우선 DW에 저장해두고, DB에 관계형으로 이후 저장되는 것일까요?presto, hive와 같은 쿼리 엔진은 데이터 파이프라인에서 어떤 역할을 하는지 궁금합니다!+) 평소 기술 블로그에서 큰 도움을 받았는데, 이렇게 강의까지 열어주셔서 감사합니다!
-
해결됨Amplitude(앰플리튜드)로 마케팅 데이터 분석 하는 방법
Funnel 내 broken down by 문의드립니다.
안녕하세요.덕분에 강의 잘 듣고 있습니다.Funnel 부분 수강 중 문의드립니다.Amplitude 데모로 실습하면서 수강하고 있는데 강의 속 UI가 다르더라구요.Funnel 강의 중, Conversion 부분을 설명해 주셨는데요.Funnel에서 'broken down by [step 선택]' 하는 부분이 어디에 있을까요??제가 데모로 Funnel 볼때 아래 이미지로 보여집니다.감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
섹션 30 퀴즈
import styled from "@emotion/styled"; import { useState } from "react"; // 스타일 // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- const Container = styled.div` display: flex; justify-content: center; padding: 100px; `; const Wrapper = styled.table` width: 600px; `; const MyTr = styled.tr` text-align: center; `; const MyTd = styled.td` padding: 20px 0 20px 0; `; // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- export default function Quiz02() { // 리스트에 뿌려줄 목업 데이터 // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- const dataList = [ { id: 1, data: "9월달 시스템 점검 안내입니다.", date: "2020.09.19" }, { id: 2, data: "안녕하세요! 공지사항 전달드립니다.", date: "2020.09.17" }, { id: 3, data: "개인정보 처리방침 변경 사전 안내", date: "2020.09.12" }, { id: 4, data: "ios 10.0이하 지원 중단 안내", date: "2020.08.10" }, { id: 5, data: "이용약관 변경 사전 안내", date: "2020.08.01" }, { id: 6, data: "개인정보 처리방침 변경 사전 안내", date: "2020.07.19" }, ]; const [checkList, setCheckList] = useState([]); console.log("현재 체크리스트", checkList); const onClickCheckAll = () => { console.log("받아오는 데이터의 길이", dataList.length); console.log("현재 체크리스트에 들어있는 데이터의 길이", checkList.length); if (checkList.length !== dataList.length) { setCheckList(dataList); //체크 리스트 크기와 데이터 크기가 같지않으면 체크리스트에 데이터를 넣는다. } else { setCheckList([]); } }; const onCheckedItem = (list) => { console.log("내가 누른 체크리스트가 뭔가?", list); // 모든 checkList.id 중에 체크한 list.id값이 없으면 CheckList에 list 값을 넣는다. if (checkList.every((cur) => cur.id !== list.id)) { setCheckList([...checkList, list]); } else { // 체크된것만 제외하고 배열에 담는다. const result = checkList.filter((cur) => cur.id !== list.id); setCheckList(result); } }; const isChecked = (list) => { // 체크박스에 체크할지 안할지 return checkList.some((cur) => cur.id === list.id); //list.id 요소와 checkList.id 요소와 겹치는게 있다면 true를 반환한다. }; return ( <Container> <Wrapper> <tr> <th> <input type="checkbox" onChange={onClickCheckAll} checked={checkList.length === dataList.length} style={{ marginTop: "5px" }} ></input> </th> <th>번호</th> <th>제목</th> <th>작성일</th> </tr> {dataList.map((list, index) => ( // 데이터 배열의 요소와 인덱스 가져오기 <MyTr key={index}> {/* 정적 데이터기 때문에 key값을 인덱스로 설정 */} <MyTd> <input type="checkbox" onChange={() => onCheckedItem(list)} checked={isChecked(list)} style={{ marginTop: "5px" }} /> </MyTd> <MyTd>{list.id}</MyTd> <MyTd>{list.data}</MyTd> <MyTd>{list.date}</MyTd> </MyTr> ))} </Wrapper> </Container> ); }섹션 30 퀴즈 레퍼런스 코드에서 onChange={() => onCheckedItem(list)}이 부분 그냥 화살표 함수로 하는 이유가 있나요?else { // 체크된것만 제외하고 배열에 담는다. const result = checkList.filter((cur) => cur.id !== list.id); setCheckList(result); }이 코드에서 선택한것을 체크해제 했을때 아무것도 체크 되어 있지 않다면 result는 빈값인가요?
-
미해결Practical Testing: 실용적인 테스트 가이드
혹시 인텔리제이 커뮤니티 버전이면 문제가 생기나요?
커뮤니티 버전엔 없는 기능을 쓰는 부분이 있을까요?얼티밋 버전 이용하기가 어려워서 커뮤니티 버전으로 수강하려고 하는데 수강에 어려움이 있는지 궁금합니다