묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
FK를 조합한 복합식별자를 사용하는 경우에는 Entity를 어떻게 해야할까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 현재 도메인 설계중이고 다음과 같이 단일 주 식별자 값 없이 두 개의 외례키를 조합하여 식별자로 사용하고자 합니다. 테이블에서 자주 사용되는 컬럼값인 id, createdAt, updatedAt, status를 아래와 같이 BaseEntity 클래스에 묶어서 관리하고 있습니다. @MappedSuperclass @Getter public abstract class BaseEntity implements Serializable { @Id @GeneratedValue private Long id; @CreatedDate private LocalDateTime createdAt; @LastModifiedDate private LocalDateTime updatedAt; @Column(length = 10) @Value("ACTIVE") private String status; public BaseEntity(LocalDateTime createdAt, LocalDateTime updatedAt) { this.createdAt = createdAt; this.updatedAt = updatedAt; } protected BaseEntity() {} } 만약 처음 테이블 설계와 같이 외례키를 조합하여 테이블을 관리하게 되면 Entity does not have primary key라는 경고 메시지가 발생합니다. 여기서 BaseEntity를 상속받는 다면 기본 키도 같이 상속받기 때문에 경고 메시지는 사라지지만 ERD와 달리 기본 키를 갖게 됩니다. ERD 설계와 같이 외례키 조합만으로 도메인을 구성할 수 있는 방법이 있을까요? 혹은 위의 ERD를 수정하여 group_member_id 기본키를 넣어주는 편이 더 좋은 설계인것인지 궁금합니다.
-
미해결Svelte.js SPA 영화 검색 프로젝트
snowpack을 사용하신 이유가 있으신가요?
sveltekit에서는 vite를 사용한 거로 알고있는데, snowpack을 사용하신 이유가 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
Formal varargs element type is inaccessible here 오류
테스트를 돌리면 정상 동작은 하는데, AutoAppConfig.class 부분에서 인텔리 제이가 아래와 같은 오류를 냅니다. Formal varargs element type is inaccessible here 검색해도 잘 모르겠어서 문의 드립니다. 미리 답변 감사 드립니다 :) public class AutoAppConfigTest { @Test void basicScan() { ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class); MemberService memberService = ac.getBean(MemberService.class); assertThat(memberService).isInstanceOf(MemberService.class); }}
-
미해결Vue.js 시작하기 - Age of Vue.js
null 대신 빈 문자열('')도 상관이 없나요?
안녕하세요 선생님.강의 잘 보고 있습니다. 좋은 강의 해주셔서 감사합니다! 다름이 아니라 혹시 위 이미지에서this.isError가 거짓일 경우선생님께서는 null을 이용해주셨는데 빈 문자열을 이용해도 상관이 없나요??크게 의미 없을 것 같긴 하지만선생님께서는 왜 null을 이용해주셨는지 궁금합니다.혹시 빈 문자열보다 null이 더 좋은 이유가 있는지 궁금해서요. 감사합니다.
-
미해결데이터 자동화(with VBA)
피벗테이블_5(실무예제)에서 1004 런타임 오류가 발생하네요...
안녕하세요. 데이터자동화(with VBA )를 공부중입니다. 강사님 덕분에 조금씩 알아가고 있습니다. 감사합니다. 하나씩 강의를 들으면서 하나씩 알아가는 기분이 좋은데 벽에 걸리고 말았습니다. 섹션9 부분(피벗테이블_5 실무예제)에서 강의 동영상이 (고급필터로 데이터 수집하는 부분) 깨져 있고요, 그래서 뒷 부분을 강의 화면에 나오는 코드를 어렵게 코딩해서 기동을 하면 에러가 발생합니댜. 피벗 생성 프로시저에서 "1004 런타임 오류가 발생합니다." Set pt = pc.CreatePivotTable(sr.Range("a6"), "pv1") 이 부분에서 오류가 발생합니다. 물론 근본적인 문제는 pv_data 에서 데이터 추출이 안되서입니다. 강사님의 도움이 필요합니다. 제 메일로 회신해주실 경우는 shkwoak@daum.net 으로 답변 부탁드립니다.
-
미해결코딩으로 학습하는 리팩토링
assert문 vs assert 라이브러리
안녕하세요 백기선님! 평소에 스프링 백엔드 개발을 하면서 google의 precondition이나 스프링의 assert 함수들을 사용하다 보니 자바 assert문을 사용할 일이 잘 없었는데요. 혹시 스프링 어플리케이션 개발에는 어떤 것을 어떨 때 사용하는 것이 좋을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
mv.getModel().put("members", members); 에서 질문있습니다.
mv.getModel().put("members", members); 이 부분이 잘 이해가 안갑니다. ModelView 클래스의 필드에, Map<String, Object> model = new HashMap<>(); 이라고 키는 String 타입, value는 Object타입으로 되어있는데, mv.getModel().put("members", members); 에서는, 두번째 파라미터로, members라는 List<Member> 타입을 넣으셨는데, 이게 어떤식으로 동작된건지.. 궁금합니다.
-
미해결타입스크립트 입문 - 기초부터 실전까지
요거맞을까요 ?
interface IItemProps<T> { value: T; selected: boolean; } const emails :IItemProps<string>[]= [ { value: 'naver.com', selected: true }, { value: 'gmail.com', selected: false }, { value: 'hanmail.net', selected: false }, ]; const numberOfProducts:IItemProps<number>[] = [ { value: 1, selected: true }, { value: 2, selected: false }, { value: 3, selected: false }, ]; function createDropdownItem<T>(item:IItemProps<T>) { const option = document.createElement('option'); option.value = item.value.toString(); option.innerText = item.value.toString(); option.selected = item.selected; return option; } // NOTE: 이메일 드롭 다운 아이템 추가 emails.forEach(function (email) { const item = createDropdownItem(email); const selectTag = document.querySelector('#email-dropdown'); selectTag.appendChild(item); });
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
수행시간 차이
for i in range(1,N+1): for j in range(1,N+1): if all(a[i][j]>a[i+dy[k]][j+dx[k]] for k in range(4)): cnt+=1 """for i in range(1,N+1): for j in range(1,N+1): up= a[i+1][j] down=a[i-1][j] right=a[i][j+1] left=a[i][j-1] if a[i][j]>up and a[i][j]>down and a[i][j]>left and a[i][j]>right: cnt+=1 여기서 위에 for문은 3중 for문으로 수행시간이 O(n^3), 밑에 for문은 2중 for문으로 수행시간이 O(n^2)인가요? 그렇게 되면 3중 for문의 수행시간이 더 오래 걸리는데, 둘 중에 효율성이 뭐가 좋을까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
next.js dynamic import 질문
안녕햐세요 제로초님 현재 상황이 storage 관련 유틸함수를 따로 파일로 만들어 utils/storage에 모듈화를 해놧습니다. 허나 import를 하게 되면 window.is not defined 또는 localStorage is not defined라고 에러가 뜨는데 제가 하고싶은건 해당 import를 csr일때 호출시키고싶은데 검색해보니 dynamic import라는게 있는데 이건 컴포넌트 파일만 해당되는것같더라구요 const storage = dynamic(() => import("@utils/storage"), { ssr: false, }); 위와같이 사용을 해보았지만 아래와 같은 에러가 뜨고 있습니다.(ts 사용중입니다.)형식의 인수는 'DynamicOptions<{}> | Loader<{}>' 형식의 매개 변수에 할당될 수 없습니다. 형식에 없지만 '{ default: ComponentType<{}>; }' 형식에서 필수입니다.ts(2345) 현재 useEffect에서 const storage = require('@utils/storage)" 이렇게 불러오는 코드를 짜서 에러를 해결하긴 했지만 올바른 방법은 아닌거같아 질문드립니다. 컴포넌트가 아닌 모듈을 CSR일때 import 할수 있는 방법이 있는지 궁금합니다!
-
미해결Vue.js + TypeScript 완벽 가이드
Cl4nn5 두번째 프로젝트 깃헙 권한 요청드립니다.
두번째 프로젝트 깃헙 권한 요청드립니다. 감사합니다
-
미해결팝스타 공식 뮤비 제작 & 유튜브 2천만 뷰 크리에이터의 애니메이트 X 이모티콘 클래스
심볼화 상태에서 수정
- 먼저 유사한 질문이 있었는지 커뮤니티의 '자주 묻는 질문'과 '질문 리스트' 그리고 '강의 소식'에서 검색해 보세요.- 수업 관련 질문은, 강의 번호와 스크린샷을 포함하면 더 확실한 답변을 들을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 작성한 질문은 답변을 들은 후 절대 삭제하지 마세요, 다른 수강생분에게도 도움이 됩니다.- 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 심볼화 비트맵으로 전환된 상태에서 선택 도구로 클릭하면 무조건 파란 테두리만 뜨는데 수정할려면 어떻게ㅡ해야되나요 예를들어 원이 있는데 원 반을 지우고 싶습니다 근데 선택 도구로 반만 드래그 하면 모두 선택에 되거든요..
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
너무 어려워서 await 질문드리고 싶습니다
너무 어려워서 주말에 너무 많은 질문을 드리는 것 같아서 죄송합니다질문1. async/await 함수를 promise .then 으로 변환하려는데너무 어렵습니다 그림의 2단계부터 아예 막히는데강사님은 async/await 구문을 보시면바로 바로 promise.then 구문으로 어떻게 변환할지가 보이시는지그런 공식이 있는지 질문드리고 싶습니다 질문2. promise를 async로 변화시키는 것은 더 어려웠습니다그래서 처음 배우는 초심자의 입장에서는 궁금증이 생긴 게강사님께서는 1. 하나 하나 전부 일일이 수차례 디버깅 하시면서 오랜 시간을 들여 변경하시는지아니면 2. return 자리가 await이고, await ABC는 ABC.then( )이다 라는 공식 말고도그 외의 요소와 관련된 다른 공식들도 있는지 질문드리고 싶습니다무엇을 콜백의 인자로 바꿔줄 것인지어디에 콜백을 추가해줄 것인지아니면 이 부분은 좌변에 변수로 하나 만들어줄 것인지이런 판단을 하시는 근거를 배워야 저도 이해가 될 것 같아서요읽어주셔서 감사합니다
-
미해결Kotlin으로 개발하는 Spring Boot Web MVC
왜 kotlin.run을 사용하시나요?
apply 뒤에는 run을 그냥 쓰셨는데 왜 let 뒤에는 kotlin.run을 사용하시나요?
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
await으로 변환하는 법 하나만 더 질문드립니다
주말에도 많은 질문을 받아주셔서 감사합니다promise에서 await 변환이 너무 어려워서 질문드리고 싶습니다 promise .then( ) 을 await으로 변환한 것을 가르쳐주신 부분을두 사진을 놓고 비교해봤습니다질문1.await은 then의 역할을 해주는데요그림 봐주시면 왼쪽은 then 하나인데요.then((user) => {user.name = 'zero'; return user.save(); })오른 쪽은 await이 2개입니다await users.findOne({ }); user.name = 'zero'await user.save( ); await user.save( );은user.save().then 으로는 변환이 안된 이유를 질문드리고 싶습니다질문2. promise then에서 async await으로 변환 예시를 보면콜백의 인자는 좌변의 변수로,어떤 리턴값은 wait으로 너무 간단하게 변환시키시는데요저는 처음 배우는 입장이다보니, 어떤 규칙이나 원리로 변환시키신건지 이해가 너무 어려워서 질문드리고 싶습니다await ABCDE 가ABCDE.then( ) 이라는 것까지는 이해해도나머지가 바뀌는 과정은 이해가 너무 어렵습니다 예를 들면 let user = await User.findOne({ }) 에서await 좌변에 있는 user가, .then( )에서는 콜백의 인자가 되는 과정이라던지 ..등등변환을 할 때 공식이 있는 것인지 아니면직접 디버깅을 수차례를 시도하시면서 수작업으로하나 하나 추측해가면서 변환해보고결과를 비교해보고 안되면 다르게 변환해보고이렇게 수작업으로 하신건지 궁금해서 질문드리고 싶습니다
-
미해결[React 1부] 만들고 비교하며 학습하는 React
Tab 상수 관련되서 질문 드립니다.
TabLable의 프로퍼티명을 상수 객체로 선언하신 이유가 있을까요? 추후 구현에서 TabType에 따라 안의 컨텐츠가 달라지니 map안에서 type === 'KEYWORD'와 같이 하드코딩 방지하기 위해서 일까요? (1) const TabType = { KEYWORD: 'KEYWORD', // 추천 HISTORY: 'HISTORY' // 최근 }; const TabLable = { [TabType.KEYWORD]: '추천 검색어', [TabType.HISTORY]: '최근 검색어' } Object.values(TabType) .map(tabType => ({ tabType, tabLable: TabLable[tabType] })) .map(this._getTab) .join('') ------------------------------- (2) const TabLable = { 'KEYWORD': '추천 검색어', 'HISTORY': '최근 검색어' } Object.entries(TabLable) .map((row) => { const [ tabType, tabLable ] = row; return { tabType, tabLable } }) .map(this._getTab) .join('');
-
해결됨[개정판] 파이썬 머신러닝 완벽 가이드
새로운 Python 생성하는 방법좀 알 수 있을까요?
아래 그림과 같이 "New" 버튼을 누르면 새로운 파이썬 창을 생성할 수 있었는데 어느 순간부터 python3 버튼이 없어졌더라구요.. 강의 자료 외에 혼자 연습해보려고 사용중이였는데 어떻게 해야될까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
처음 실행한 sql에 따라서 탐색범위가 결정된다 < 이게 무슨말인가요?
저 말이 이해가 안가요 1. 애초에 왜 member랑 team만 조회를하는거죠? 2. 제가 예를들어 member를 db에서 찾는다고하면 그땐 어떤 sql문이 나가게 되는거죠..? member랑 연관되어있는 team, order뭐 이런것들에 대해 다 조회쿼리가 날아가게되는건가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
객체 모델링 조회 부분에서 궁금한점이있습니다.(30p)
.sql중심적인 개발의 문제점중에서.. 객체를 조회할때 되게 번거롭대요.. 그리고 코드를 보여주셨는데.. 저 코드가 이해가 안가요 jpa에서는 entitymanger의find함수를 썼았는데 그 내부 코드를 보니까 이해를 못하겠어요 멤버 id로 멤버를 찾을때 1. 그 멤버id로 db에서 멤버를 찾는다 2. 그 멤버 id랑 연관되어있는 team을찾는다 (pk든 fk든 연결되어있을테니..) 3. 둘의 관계를 설정한다(왜관계를 설정해요..? 이미 설정되어있는거 아닌가요? 저장하는거 아니고 find인데 왜 setTeam을 해주는거죠)
-
해결됨코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)
슬랙 초대 부탁드립니다 !
안녕하세요 강사님 슬랙 초대부탁드립니다 jjy961228@ naver.com 입니다