묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
vscode에서 처음부터 node.js 서버 프로젝트을 구성할려면 어떤 절차을 거쳐야 하나요?
https://github.com/joshua1988/vue-til-server.git을 클론하지 않고 처음부터 서버프로젝트을 구성하고자 한다면 어떻게 해야 할까요? package.json에 어떻게 구성해야 할까요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
1:N 구조에서 Parent를 삭제할 경우에 대한 질문
안녕하세요. 항상 친절한 답변 감사합니다. 1:N 구조에서 Parent를 삭제할 경우에 대한 질문이 있습니다.현재 제가 개발중인 엔티티 구조는 Parent-Child순으로 1:N 관계입니다.Parent-Child와 Child-Child2는 @ManyToOne 단방향 매핑으로 이루어져있습니다.비즈니스 로직상 Parent가 삭제되면 그 하위 엔티티는 의미가 없어져 삭제해야합니다. 따라서, Parent를 Delete를하는 레포지토리내 메소드를 개발하고있는데 public void deleteParent(Long parentId) { queryFactory.update(child).setNull(child.parent).where(child.parent.id.eq(parentId)).execute(); queryFactory.delete(parent).where(parent.id.eq(parentId)).execute(); } 위와 같이 일괄적으로 하위엔티티들이 참조중인 부모를 null로 변경해 연관관계를 지운 후, Parent를 지우는 방향으로 개발 중입니다.delete가 아닌 update 쿼리를 한 이유는 사용자가 혹여나 실수로 부모를 지울 경우 하위엔티티가 다 제거되는 경우를 생각해 일단 null로 업데이트했습니다. 다만, 이러한 방식이 옳은 방법인지는 의문입니다. parent에 새로운 Child들이 생기면 매번 한줄씩 추가해줘야하는 부분도 거슬리고, Child에서 Parent뿐만아니라 추가적으로 다른 Entity를 참조할 경우가 생겨도 문제가 생길 것 같구요. 따라서 지금과 같이 Parent Delete메소드를 작성해야하는지,혹은, ChildRepository 내 해당 Parent를 가진 Child들을 삭제하는 메소드를 따로 만들어, 도메인이 아닌 서비스 계층에서childRepository.deleteByParent(parentId);parentRepository.deleteById(parentId);와 같이 자식을 삭제 후, 부모를 삭제하는 방향으로 구성할지,아니면 근본적인 설계를 바꿔야하는지 많은 고민이생기네요.어떠한 방향으로 나아갈지 조언 부탁드리겠습니다. 감사합니다.
-
해결됨프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
자막에 오타가 있는것 같습니다.
12분 10초 쯤에, Packing과 Unpacking에 대해 "기초 지식이 적립 되어 있지 않으면~~" 이라고 말씀하시는데요.. 문맥상 "정립"이 맞는게 아닐까 생각 됩니다. 기초를 쌓아놔야 한다는 의미로 말씀하신것 같은데.. 이럴 경우 "정립"이 맞는 표현 같습니다. 저도 잘 모르는 부분이라서요,, 체크 부탁드립니다. 감사합니다.
-
미해결하울의 안드로이드 인스타그램 클론 만들기
firebase와 연동이 느린현상
좋아요 버튼을 누르거나 사진을 업로드 했을때 반응이 많이 느린것 같은데 firebase 문제일까요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
extend 사용법에 대해 문의 드립니다.
20분35초 쯤에 설명하시는 extend의 사용법에 대해 질문이 있습니다. 강의해서 작성하신 코드를 따라하다가 문득 아래와 같이 코딩을 해봤는데.. 결과는 생각한 것과 달랐습니다. ex = [8,9] print('a - ', a.extend(ex)) -> 출력 결과는 None 입니다. 결과가 None이 되는 이유가 궁금하고, extend를 위와 같이 사용 할 수 없는 이유에 대해 질문 드립니다. 감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPQL 쿼리 문의
강좌 너무 잘 듣고 있습니다.JPQL 서브쿼리 강좌를 듣고 있는 중인데, 예제로 드신 query들을 보다가 궁금증이 생겨 문의드립니다. 아래 2가지 쿼리는 결과적으로 같은 결과를 주게 되는데 String query1 = "select m from Member m join m.team t where t.name = 'TeamA'";String query2 = "select m from Member m where exists (select t from m.team t where t.name = 'TeamA')"; 2가지 쿼리는 성능상 어떤 차이가 있나요? 그리고 검색시 2가지 중 실무에서 더 권장하는 방식이 있을까요? 여러가지 상황에 다를 것 같긴 합니다만...
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
[참고] Error : MongooseServerSelectionError
MongoDB 를 연결 후 테스트시 다음과 같은 오류가 나오는 경우가 있습니다. 확인해 보니 MongoDB 설정시 접근할 수 있는 IP 를 고정해 놓고 쓰기 때문에 MongoDB 에서 차단한다는 메시지입니다. 제 경우 집이나 카페, 회사에서 강의를 시청하고 따라하다보니 발생하는 것 같습니다. 즉, 등록되지 않은 IP 로 접근하려고 할 때 발생하는 것이지요 그 경우 아래 첨부된 URL 에서 언급한 것처럼 MongoDB 에서 접근할 수 있는 IP 를 추가하면됩니다. 추가할 IP 를 두가지로 나눠볼 수 있는데 모든 IP 에서 접근가능하게 하려면 0.0.0.0 으로 등록하는 방법이 있고 (비추) 현재 사용중인 인터넷 IP 를 등록하는 방법이 있습니다. 두가지 모두 MongoDB 에서 지원하고 있습니다. 1. MongoDB 사이트에 로그인한다. 2. 화면 왼쪽 "Security" 하위 "Network Access" 를 클릭한다. 3. 화면 오른쪽 "ADD IP Address" 를 클릭한다. 3번까지 진행하면 위의 그림과 같이 팝업이 뜨고 두가지 버튼 중 선택해 누르면 됩니다 * ADD CURRENT IP ADDRESS : 현재 사용중인 인터넷 IP 를 사용하는 방법 -> 인터넷 환경이 바뀔때 마다 등록해야함 => 조금 불편하지만 조금 더 안전함 * ALLOW ACCESS FROM ANYWHERE : 모든 인터넷 IP 를 사용하는 방법 -> 한번 설정하면 신경쓰지 않아도 됨 => 편하지만 매우 불안전함 본인이 선택하시면 되고 되도록 "ADD CURRENT IP ADDRESS" 를 선택하시는 걸 추천드립니다. 참고하세용 참고 : https://stackoverflow.com/questions/60431996/mongooseerror-mongooseserverselectionerror-connection-monitor-to-52-6-250-2
-
해결됨일주일 완성! 3dsmax 입문 (자동차 및 캐릭터 만들기)
Arnold 재질작업중 RoofTop 면 선택이 안되는 문제
안녕하세요 강사님, 강좌 잘 따라하고 있던중 RoofTop 면 선택을 하려고 했는데 선택이 되질 않아요 ;;; 이전까지 잘되었는데 뭘 눌렀는지... 버텍스나 엣지는 잘 선택됩니다. 면만 선택이 안되요 ㅠ 혹시 어떤 문제가 있는지 알수 있을까요 ,, max 2020 버전 사용중이고 아래 작업파일 링크입니다. 작업파일
-
미해결코틀린 기반 안드로이드 앱개발 심화 2단계
권한관련 질문
reuestPermissions(permission_list, 0) permission_list 여기에 추가해야 할 권한만 배열에 담아 주는게 아니라 일단 다 담아주고 저렇게만 호출하면 권한 부여 안된것만 알아서 화면에 띄워주게 되어 있는건가요? 하나라도 DENIED면 break라서.. 기존에는 하나씩 확인해서 권한 부여 안된것만 permission_list 배열에 담아서 reuestPermissions 함수를 호출 했는데....강사님 방법이 조금 달라서 문의합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
SetParent 등의 기능이 transform 에 있는 이유가 궁금합니다.
강의 중 내용에 parent 를 지정한다던지, child 개수를 얻어온다던지 하는 과정에서 GameObject 가 아닌 GameObject 의 transform 에서 SetParent 나 ChildCount 등을 이용하여 목적을 수행하고 있습니다. 복습 겸 혼자 기능들을 만들어 볼 때에 이 부분이 계속 헷갈려서 GameObject 에서 해당 기능들을 찾게 되더라구요. 왜 transform 에 해당 기능들이 들어가 있게 된 것인지 궁금합니다.
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
저는 왜 연동이 안될까요?
저는 헬로 월드라고 까지 진행을 했는데 옆에 있는 에물레이터가 연동이 안됩니다 왜그럴까요?
-
해결됨실전! Querydsl
동적쿼리 where절 파라미터 조합 질문입니다.
private BooleanBuilder ageCond(Integer ageGoe, Integer ageLoe) { BooleanBuilder booleanBuilder = new BooleanBuilder(); return booleanBuilder .and(ageGoe(ageGoe)) .and(ageLoe(ageLoe)) .and(teamNameEq("teamB"));}private BooleanExpression usernameEq(String username) { return isEmpty(username) ? null : member.username.eq(username);}private BooleanExpression teamNameEq(String teamName) { return isEmpty(teamName) ? null : team.name.eq(teamName);}private BooleanExpression ageGoe(Integer ageGoe) { return ageGoe == null ? null : member.age.goe(ageGoe);}private BooleanExpression ageLoe(Integer ageLoe) { return ageLoe == null ? null : member.age.loe(ageLoe);} ageCond 처럼 여러 조건 조합시 null처리를 조금 이쁘게 하고 싶은데 다른 생각이 안나서 booleanBuilder로 해봤더니 별 문제는 없는데요, 혹시 다른 깔끔한 방법이 있을까요?
-
미해결Vue.js 시작하기 - Age of Vue.js
인스턴스 옵션 속성편 버퍼링
계속 버퍼링 걸려서 시청이 안됩니다 확인좀 해주세요
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
permission denied / unhandled Exception 오류
flutter firestore Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null} Unhandled Exception: PlatformException(Error performing setData, PERMISSION_DENIED: Missing or insufficient permissions., null 이런 에러 뜨시는 분은 database > 규칙에서 allow read, write: if false; 에서 allow read, write: if true; 로 수정하시면 정상적으로 작동합니다
-
미해결엑셀 기초에서 실무까지
금액 자동입력
수식입력했는데 금액 자동입력 안되네요
-
미해결엑셀 기초에서 실무까지
자동계산
구성비 채우기핸들해서 끌어당기면 아래 똑같이 20.1%로 복사되네요
-
미해결데이터 자동화(with VBA)
환경설정 강의 관련
환경설정에서 여러가지 옵션을 설명해주시는데 기본적으로 예제파일을 제공해주셔야 따라하는데 수월할 거같습니다. 바로 강의부터 시작하시면..... 다른강의들은 예제파일을 학습자료로 제공하여주는데 따라가기가 매우 불편합니다.
-
미해결엑셀 기초에서 실무까지
자동계산
금액계산에서 채우기핸들에서 드래그 앤 드랍하니 자동복사되어 아래에 같은 금액 채워지네요
-
미해결자바스크립트 중고급: 엔진 핵심
실행 콘텍스트 정리입니다.
1. function 키워드를 만나 book function 오브젝트를 생성한다. 2. book function 오브젝트의 [[scope]]에 글로벌 스코프를 설정한다. 3. book()함수가 호출되어 함수안으로 들어간다. 4. function 키워드를 만나 get function 오브젝트를 생성하고 [[scope]]에 book() 스코프를 설정한다. 4. 그리고 실행 콘텍스트가 만들어진다? ** 궁금증 ** 함수가 호출되어 들어가는 시점에 실행 콘텍스트가 만들어 지는건가요 get function 오브젝트를 생성하고 실행 콘텍스트가 만들어 지는건가요?? 준비 단계에서 외부 렉시컬 환경 참조에 연결 시키려면 그 이전에 get function 오브젝 트가 만들어져 있어야하는데 get function 오브젝트를 생성하고 실행 콘텍스트가 만들어 지는 건가요? === 준비 단계 === 5. 렉시컬 환경 컴포넌트, 변수 환경 컴포넌트, this 바인딩 컴포넌트를 만들어 넣고 이후에 환경 레코드 와 외부 렉시컬 환경 참조를 생성하고 렉시컴 컴포넌트에 넣는다. 6. get function 오브젝트의 설정된 스코프를 외부 렉시컬 환경 참조에 연결 시킨다. === 초기화 단계 === 7. point 변수를 렉시컬 환경 컴포넌트의 환경 레코드의 선언적 환경 레코드에 undefined의 값으로 설정한다. === 실행 단계 === 8. 처음으로 올라가 point 변수에 123을 설정한다. 9. 그리고 return에 get()함수가 호출되어 다시 함수 안으로 들어간다. ** 궁금증 ** 9번의 설명을 맞게 했는지 모르겠습니다. 10. 들어가서 실행 콘텍스트를 만들고 위와 같은 단계로 설정하는데 선언문과 표현문이 없기에 아무것도 설정하지 않는다. 그리고 return으로 와서 point를 반환하려고 point를 찾는데 없다. 그러면 상위 스코프에 설정된 point 값을 할당하고 함수를 빠져나온다.
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
절대경로 설정방법
강의에서 알려주신 vscode의 setting.json을 통한 설정방법과 아래의 vue.config.js 의 설정하는 방식의 차이가 있을까요? configureWebpack: { resolve: { alias: { '@': path.join(__dirname, 'src/'), }, }, }, 나중에 빌드나 서버에 배포를 했을 때 차이가 있는지 등등 어떤 차이가 있는지 궁금합니다.