묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
LAZY 로 해놔도 N+1 문제가 계속 발생해서 문의 드립니다.
FetchType.LAZY 로 아래와 같이 entity 를 정의하고 아래 JPA 리파지토리를 이용하여 데이타를 가져와서 client(브라우져)에서 받아보면 LAZY 된 child Entity 리스트(quizzList ) 에도 null 이 아니라 리스트로 데이타가 들어가 있습니다. 로그를 보면 N+1 쿼리로 가져와서 보여줍니다. curl -X GET "http://localhost:8080/internal/v1/quest/list2?type=quiz" -H "accept: */*" kotlin SpringBoot 를 사용중인데요.. Jackson data binding 시에 quizzList 속성을 호출해서 그렇게 되는 것인지 궁금합니다. 저는 모든 Entity 조인 컬럼을 LAZY 로 해놔도 N+1 쿼리가 돌면서 전체 결과가 리틴되네요.. lneQuestReposptory.findAllByType(type: String, pageable: Pageable) @Entity(name = "LneQuests")@Table(name = "korbit.lne_quests")@Cacheable@JsonInclude(JsonInclude.Include.NON_NULL)class LneQuest ( var type: String, var title: String, var description: String?, @OneToMany(fetch = FetchType.LAZY, mappedBy = "quest" /* , cascade = [CascadeType.ALL] */) var quizzList: MutableList<LneQuizz> = mutableListOf())
-
해결됨애플 웹사이트 인터랙션 클론!
reset.css vs default.js
저 스스로 클론하다보니 reset.css를 사용했는데 선생님께서는 default.css를 사용하셨더라구요. 구글링해보니 reset.css나 noramalize같은 건 많이 나오던데 혹시 직접 만들어 놓으신건지 /실무에서는 필요에 따라 아무거나 써도 상관없는지가 궁금합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReaderWriterLock 구현 연습 파트 질문입니다!
ReadLock() 작성 중에 조건이 아무도 WriteLock을 획득하고 있지 않으면 ReadCount를 1 늘린다 라서 if ( (_flag & WRITE_MASK) == 0 ) 이 코드는 이해하겠는데 Interlocked를 사용하면서 이 부분이 사라지고 int expected = (_flag & READ_MASK); if (Interlocked.CompareExchange(ref _flag, expected + 1, expected) == expected) return; 이렇게 작성이 되었는데요. 이러면 WriteLock 체크를 무시하는 것이 아닌가요? 코드로만 보면 WriteLock 영역은 모두 0으로 날려버리는 것이니 WriteLock이 있던 없던 그냥 Read 하겠다라고 이해되어서요.
-
미해결스프링 기반 REST API 개발
badRequets에 index 링크를 넣는 과정에서 궁금증이있습니다.
@Valid나 자체적으로 Vaildator는 Erorrs를 EntityModel로 만들어서 응답하지만 spring.jackson.deserialization.fail-on-unknown-properties=true 에 대한 badrequest에는 어떻게 적용해야 할지 잘 모르겠습니다. 400에러와 null값만 오는데 이것도 EntityModel로 응답할 방법이 있을까요??
-
미해결C# 처음부터 배우기
참조 항목!
왜 제 비쥬얼 스튜디오에는 참조 라는 부분이 안보일까요 ㅜ
-
미해결홍정모의 따라하며 배우는 C언어
2차원배열을 1차원배열처럼..
교수님께서 2차원 배열도 결국 1차원 배열과 같은 구조로 작동한다고 하셔서 아래와 같은 코드를 작성해봤는데 int main() { int arr[2][3] = { {1,2,3}, {4,5,6} }; printf("%d\n", arr[1][1]); printf("%d\n", *(arr + 4)); return 0; } 첫번째 printf 에서는 예상한 값과 동일하게 5가 나왔는데, 두번째 printf 에서 *(arr+4) = arr[4] = arr[1][1] 일줄 알았는데 전혀 다른 값이 나와서 당황스럽습니다. 제가 지금 까지 강의를 잘 못이해한건 아닐까 라는 생각도 듭니다. 왜 이런 결과가 나온 걸까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReaderWriterLock 강의 10분 47초 쯤 나오는 Reward 예시에 대해 질문이 있습니다.
ReaderWriterLock 강의 10분 47초 쯤 나오는 Reward 예시에 대해 질문이 있습니다. Reward 예시에서 GetRewardById(int id) 를 설명하시면서, 운영 툴로 보상을 지급해야 할 때, lock이 필요하다 라고 말씀하셨었는데 애초에 MMORPG를 잘 안해서 와닿지 않는 것 같아요. 장기적으로 본다면 게임내의 캐릭터가 가지고 있는 아이템들은 DB로 관리될 것이라 생각되는데, 왜 Lock이 필요한 것인지 이해가 잘 되지 않아요. 메모리 배리어 파트의 Store, Load 와 관련된 것 이라면 DB와 무관하게 실시간으로 캐릭터에게 지급이 된다라고 이해한다면 맞는것 같은데 이렇게 생각하는게 맞는건가요?
-
미해결React로 NodeBird SNS 만들기
새로고침시 me.post.length
안녕하세요. 제로초님 다름이 아니라 새로고침을하면 me.post.length가 없다고 에러가뜨는데 이거는 로그인 성공시 저희 me에 데이터가 들어가는건데 새로고침을하면 LOG_iNS_SUCCESS는 날라가고 useEffect로 user의 정보만 불러오는 그 user의 정보에 아직 post, 팔로잉, 팔로워 데이터가 없어서 에러나는거 맞나요??
-
미해결비개발자를 위한 RPA 강의 (UiPath 입문편)
네이버 로그인등할때 임의의 팝업이 뜰 경우??
안녕하세요 네이버등 웹브라이저 오픈 후 로그인등을 처리할때 사이트상 임의의 팝업창이 생성되었을 경우 클릭이벤트라든지 처리가 안되는데 이럴경우 팝업창 존재유무 및 제거한 후 로그인 프로세스를 타게 해야 할거 같습니다. 처리방법을 어떻게 하여야 할까요 ?
-
해결됨[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
Excel File에서 파이썬으로 읽어온 데이터를 변경 후 원래 엑셀을 변경하는 방법을 알고 싶습니다.
이번 강의 도전 과제가 주민번호 뒷자리를 * 로 바꿔서 가려보기 였는데 하기와 같이 변경하면 쥬피터 노트북으로 출력은 가능 합니다. import openpyxl work_book = openpyxl.load_workbook('data_kr.xlsx') work_sheet = work_book.active for each_row in work_sheet.rows: print(re.sub('-[0-9]{7}', '-*******', each_row[1].value)) work_book.close() 저는 이왕 바꾼 데이터니깐 그걸 다시 원래 Excel에서 넣어서 수정을 하고 싶은데 잘 안되네요 import openpyxl work_book = openpyxl.load_workbook('data_kr.xlsx') work_sheet = work_book.active for each_row in work_sheet.rows: newdata =[re.sub('-[0-9]{7}', '-*******', each_row[1].value)] work_sheet.append(newdata) work_book.save('new.xlsx') work_book.close() 이렇게 하면 이렇게까지만 되는데 원래 자리에 넣고 싶거든요... 그리고 append를 하면 적어도 A열에 덮어 질줄 알았는데 왜 완전히 다른 행에 써지는지도 모르겠습니다.
-
미해결[리뉴얼] 처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)
강좌 기간
안녕하세요. 잔재미코딩 선생님 선생님 강의 잘 듣고 있습니다 제가 기존에 신청한 강좌는 기간이 평생이 아니라 1년이에요 계속 듣고 싶은데 기간만료가 다가옵니다 다음 두 개 강좌가 기간만료가 얼마 남지 않았는데 평생으로 연장해 주실 수 있는지 문의합니다 좋은 강의 감사드립니다 돌배차 드림 1) 파이썬 입문과 크롤링 기초 부트캠프 (파이썬과 데이터 수집 기본) 2) NoSQL DB (몽고DB/mongodb) 기본부터 파이썬/데이터분석 활용까지!제가 선생님 다른 강좌도 수강신청 했습니다. 사이트가 바뀌어서 크롤링 제한이 되길래 크롤링 강좌도 신청을 했구요.이번 신규강좌도 신청을 했어요.IT분야는 계속 바뀌므로 평생수강 기간보다는 1년으로 설정하셨다는 글은강좌 개설하실 때 보았었답니다.계속해서 강의를 보고 싶습니다.좋은 강좌 감사드립니다
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
강좌 기간
안녕하세요. 잔재미코딩 선생님 선생님 강의 잘 듣고 있습니다 제가 기존에 신청한 강좌는 기간이 평생이 아니라 1년이에요 계속 듣고 싶은데 기간만료가 다가옵니다 다음 두 개 강좌가 기간만료가 얼마 남지 않았는데 평생으로 연장해 주실 수 있는지 문의합니다 좋은 강의 감사드립니다 돌배차 드림 1) 파이썬 입문과 크롤링 기초 부트캠프 (파이썬과 데이터 수집 기본) 3) NoSQL DB (몽고DB/mongodb) 기본부터 파이썬/데이터분석 활용까지!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
인터페이스 문의
영한님 안녕하세요. 오랜만에 문의글을 하나 남기고 갑니다. 영한님 강의를 수강한 이후, 조영호님의 오브젝트 라는 책을 요즘 좀 읽어보고 있는데요. (책은 아마 영한님도 잘 아시겠죠..) 책에서 인터페이스와 추상클래스를 활용한 유연한 설계를 강조하는 내용을 보다가 문득 궁금해진 부분이 있습니다. 추상클래스와 상속에 대해서는 JPA 적용에 대한 내용을 영한님께서 설명해 주신 부분이 있는데 인터페이스는 없었던 거 같더라고요.. 아래 캡쳐처럼 Entity 로 설정하고자 하는 클래스 내에 속성으로 인터페이스가 있을 경우, JPA 를 적용하기 위해서는 어떠한 처리가 필요할까요? (노란색 DiscountPolicy 가 인터페이스)
-
해결됨React로 NodeBird SNS 만들기
{children} 적용이 갑자기 왜 안되지?
재밌게 따라하고 있었는데 저기서 회원가입22 텍스트가 출력되야 되잖아요 ?? 근데 왜 <AppLayout>밖에 있는 디브 태그 내용만 출력될까요...?? ㅠㅠ
-
미해결React로 NodeBird SNS 만들기
제로초님
제로초님 안녕 하세요 불변성 관련 해서 궁금한게 있어서 질문 남깁니다. const [ dataInfo, setDataInfo ] = useState( { labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], datasets: [ { label: 'My First dataset', fill: false, lineTension: 0.1, backgroundColor: 'rgba(75,192,192,0.4)', borderColor: 'rgba(75,192,192,1)', borderCapStyle: 'butt', borderDash: [], borderDashOffset: 0.0, borderJoinStyle: 'miter', pointBorderColor: 'rgba(75,192,192,1)', pointBackgroundColor: '#fff', pointBorderWidth: 1, pointHoverRadius: 5, pointHoverBackgroundColor: 'rgba(75,192,192,1)', pointHoverBorderColor: 'rgba(220,220,220,1)', pointHoverBorderWidth: 2, pointRadius: 1, pointHitRadius: 10, data: [65, 59, 80, 81, 56, 55, 40] } ] } ) const Test = useCallback((e) => { e.preventDefault() setDataInfo((prevState) => ({ ...prevState, datasets: [(prev) => { fill:true }] }) ) }, []) Test라는 버튼을 클릭 했을 때 dataInfo state안에 있는 datasets 객체에서 다른 것들은 유지 하고 예를 들어 fill이나 lable 같은 것만 변경 하고 싶을 때는 어떤식으로 처리를 해줘야 하는지 궁금 하여 질문 납김니다.
-
해결됨비개발자를 위한 RPA 강의 (UiPath 입문편)
데이터 스크롤링 컴파일 오류 문의
작성을 하고 시간 테이블 및 강수 확률 테이블이 작성 된걸 보면 22시23시 내일 00시 03시 30%20%60%60%30% 이렇게 테이블이 확인되고 실행하면 아래와 같이 아래와 같이 컴파일러 에러가 발생 합니다.
-
해결됨Vue.js 끝장내기 - 실무에 필요한 모든 것
톰캣 배포시 404에러
먼저, 강의 내용 범위에 벗어난 질문이 아닌가 하여 죄송합니다. npm run build 하여 톰캣에 베포하고 라우터의 이름을 호출하면 HTTP 상태 404 – 찾을 수 없음 타입 상태 보고 메시지 요청된 리소스 [/main]은(는) 가용하지 않습니다. 설명 Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다. Apache Tomcat/8.5.56 오류가 나옵니다. npm run serve 실행시는 화면을 잘 찾습니다. export default new VueRouter({ mode: 'history', routes: [ { path: '/', redirect: '/login', }, { path: '/login', component: () => import('@/views/LoginPage.vue'), }, { path: '/signup', component: () => import('@/views/SignupPage.vue'), beforeEnter: requireAuth(), }, { path: '/main', component: () => import('@/views/MainPage.vue'), beforeEnter: requireAuth(), }, 첫화면(로그인화면 http://121.134.61.139:8080)은 잘 찾지만 라우터관련 설정이 필요한 듯한데. 구글링을 해도 해결이 어렵습니다. http://121.134.61.139:8080/main 부탁드려도 될지요.
-
미해결[구버전] 웹 애플리케이션 개발을 위한 IntelliJ IDEA 설정 (2020 ver.)
인텔리제이를 다시 켜면 선생님 처럼 안켜지고 이전 프로젝트가 떠요.
선생님 화면처럼 안뜨고 이전 프로젝트가 뜨네요.. 설정 때문인가요?
-
미해결[구버전] 웹 애플리케이션 개발을 위한 IntelliJ IDEA 설정 (2020 ver.)
입력이 안되네요..
자바 버전의 문제인가요? HttpServlet이 입력이 안되네요. 자바 8버전 쓰고 있습니다.
-
미해결웹 게임을 만들며 배우는 Vue
다음 강의로 'Vue로 Nodebird SNS 만들기' 를 수강하려고 합니다.
우선 강의 너무 잘들었습니다. vue.js에 대해서 많이 배웠습니다. 감사합니다. ㅎ 그리고 다음 강의로 'Vue로 Nodebird SNS 만들기'를 수강하려고 하는데요.. 혹시 백엔드쪽을 java로 구성해도 무리가 없을까요? 태생이 자바개발자고 백엔드 위주 개발자였는데 프론트쪽도 배워보고 싶어서 vue를 배우고 있는지라.. 자바쪽 공부도 같이 할겸 백엔드는 자바로 구현해보고 싶은 욕심이 있어서 문의 드립니다.