묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Fetch Join된 Table과 Fetch Join
안녕하세요. 회사 신규 프로젝트로 Spring Boot와 JPA를 이용해 백엔드를 개발하고 있는 직장인입니다.원래 C#개발자다 보니 수업을 들으며 차근차근 따라가 보지만 의외의 경우가 발생해 힘들지만좋은 강의에 항상 재밌게 배우고 있습니다. 이번에 문의드릴 내용은 fetch join된 table에 다시 fetch join 하는 방법에 대해 문의 드리고자 합니다. 문제의 테이블 구조입니다.Count Table과 Contract Table은 company_code라는 pk로 N:1구조Contract Table은 Company Table과 company_code라는 pk로 N:1구조로구성돼 있습니다. 그리고 Count, Contract Table은 매핑되는 키에 대해서 FetchType을 Lazy로 설정한 상태입니다. 저는 여기서(JPQL기준) Count Table을 기준으로 Contract Table까지는 fetch join에 성공했지만 추가로 Company관련 쿼리가 N+1처럼 추가됐습니다. 혹시 제가 JPQL혹은 Query DSL방법으로 Contract Table과 Company Table을 fetch join 처리 후 다시 Count Table과 fetch join해 쿼리 하나로 해결 할 수 있는 방법이 있을까요? 감사합니다. :D
-
해결됨클론코딩에서 알려주지 않는 것들 (시스템 이론과 DB) 1편
Surrogate Key를 사용했을 때 빠르게 찾을 수 있는 이유 설명부탁드립니다.
알고리즘에 의해서 ID가 Integer일 때 주민번호나 CIA(?)와 같이 스트링보다 빠르게 찾을 수 있는 이유를 알고싶습니다.
-
미해결비 개발자들을 위한 IT 개발 지식
L2 L4 스위치 구축 문의
안녕하세요! 강사님 이렇게 쉽게 핵심만 알려주셔서 너무 감사합니다L4 스위치 내용을 보고 궁금한 것이 있습니다! 보통 네트워크 망을 구축할 때 모여 있는 서버 존 마다 물리는 스위치가 다 다른가요?예를 들어,부하가 많은 웹 서버 존 은 로드 밸런싱이 필요하니 위에 L4 스위치 아래에 물리고유저가 모여있는 엔드단은 로드밸런싱이 필요 없으니 L2 스위치 등등 UTM 혹은 방화벽이 우리 서버 내부를 막아주는 역할을 하는데 최초 앞단에 굳이 WAF 를 넣는 이유는 방화벽, UTM 장비로는 웹 방어 기술의 한계 때문 인가요? 아니면 방화벽의 부하를 줄이기 위함 인가요? 혹시 WAF는 그냥 로드밸런싱도 되던데 L7 스위치라 봐도 무방한가요? 다른 예시지만 이중화 시킨 가상화 서버에 여러 서비스를 이용하면 된다 생각 하는데 한 서비스 당 하나의 서버를 통으로 쓰는거를 보면서 리소스 분배 명분 이라지만 마케팅으로 장사하기 위함이지 않나 생각이 들때가 종종 있었습니다
-
해결됨[스프링 배치 입문] 예제로 배우는 핵심 Spring Batch
Spring Batch 테이블이 생성되질 않습니다!!!!!
안녕하세요 강사님. 우선 강의 잘 들었다고 말씀드리고싶습니다.다름이 아니라, 프로젝트에 스프링 배치를 적용시켜보려합니다.아.. 근데 애플리케이션을 실행하면 기본으로 생성되는 배치 테이블이 생성되질 않습니다. (로컬에서는 h2 사용중입니다.) 현재로서는 임시방편으로 BatchProperties 에 나와있는대로 schema-h2.sql 내용을 복사해서 애플리케이션 구동 후, sql console 에 붙여넣기하여 배치 테이블을 직접 만들어주고있습니다. (이렇게 하면 배치랑 스케줄링이 정상적으로 잘 동작합니다.)현재 yml 은 아래와 같습니다. profile 에 따라 yml 을 분리시켜주었긴 했는데, 포맷은 똑같습니다!(defer-datasource-initialization 와 sql-init-mode 과 관련있나해서 이것도 바꿔보았는데.. 되질 않습니다ㅠㅠ)spring: profiles: active: local jpa: open-in-view: false hibernate: ddl-auto: create defer-datasource-initialization: true properties: hibernate: format_sql: true default_batch_fetch_size: 100 data: web: pageable: one-indexed-parameters: true datasource: url: jdbc:h2:tcp://localhost/~/apartribe;MODE=MySQL username: sa password: driver-class-name: org.h2.Driver sql: init: mode: always mail: host: smtp.gmail.com port: 587 username: EMAIL password: PASSWORD properties: mail: smtp: auth: true starttls: enable: true ssl: trust: "*" security: oauth2: client: registration: kakao: client-name: KOAuth2LoginDemo client-id: KAKAO_CLINET_ID client-secret: KAKAO_CLINET_SECRET client-authentication-method: client_secret_post redirect-uri: http://localhost:8080/login/oauth2/code/kakao authorization-grant-type: authorization_code scope: profile_nickname, profile_image, account_email, age_range, birthyear provider: kakao: authorization-uri: https://kauth.kakao.com/oauth/authorize token-uri: https://kauth.kakao.com/oauth/token user-info-uri: https://kapi.kakao.com/v1/oidc/userinfo user-name-attribute: sub batch: jdbc: initialize-schema: always job: enabled: false application: security: jwt: secret-key: ACCESS_TOKEN_SECRET_KEY expiration: ACCESS_TOKEN_EXPIRATION refresh-token: secret-key: REFRESH_TOKEN_SECRET_KEY expiration: REFRESH_TOKEN_EXPIRATION mail: subject: MAIL_SUBJECT logging: level: sql: debug cloud: aws: s3: bucket: AWS_BUCKET_NAME credentials: access-key: AWS_ACCESS_KEY secret-key: AWS_SECRET_KEY region: static: ap-northeast-2 auto: false stack: auto: false server: error: whitelabel: enabled: false include-exception: false include-message: never include-stacktrace: never include-binding-errors: never 프로젝트 주소는 아래와 같습니다.https://github.com/Revi1337/apartribe-backend Batch 와 Scheduling 설정의 위치는 아래와 같습니다src/main/java/kr/apartribebackend/global/config/BatchConfig.java 와src/main/java/kr/apartribebackend/global/config/SchedulingConfig.java 조언좀 부탁드리겠습니다 선생님..ㅠㅠ
-
미해결선형대수학개론
free variable 질문입니다
free variable인 변수를 파악하는것을 목표로 잡을때, 만약에 문제에서 주어진 행렬이 echelon form이 아니라면 echelon form으로 만들어놓고 "leading position에 해당되지 않는 변수 = free variable" 법칙을 적용하면 되는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
y_tr 과 y_train 의 차이점
import pandas as pdX_train = pd.read_csv("X_train.csv")X_test = pd.read_csv("X_test.csv")y_train = pd.read_csv("y_train.csv")cols = X_train.select_dtypes(exclude = 'object').columns # cols = ['id', 'age', 'fnlwgt', 'education.num', 'capital.gain', 'capital.loss', 'hours.per.week']X_train[cols] = X_train[cols].fillna(0)X_test[cols] = X_test[cols].fillna(0)y = (y_train['income'] == '>50K').astype(int)from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(X_train, y, test_size = 0.1, random_state = 2022)from sklearn.ensemble import RandomForestClassifierrf = RandomForestClassifier()rf.fit(X_tr[cols], y_tr)pred = rf.predict(X_val[cols])pred = rf.predict(X_test[cols])submit = pd.DataFrame({ 'id': X_test['id'], 'income': pred})submit.to_csv("990906.csv", index=False) 제가 작성한 코드입니다. 문제1을 심플하게 설명해주셔서 제가 그 과정에 검증데이터 분리과정을 넣어 자체적으로 작성한 것입니다확인해보니 y_train의 크기는 (29304, 2) 이고, y_tr의 크기는 (26373,) 더군요여기서 궁금한 것이 y_train 칼럼은 id, income 인데 단지 "y = (y_train['income'] == '>50K').astype(int) )" 코드가 실행되엇다고 해서 어떻게 y의 칼럼이 "id"가 삭제되고 "income' 만 남아있는지 궁금합니다. y_train.drop("id")를 작성하지 않았는데 id 칼럼이 삭제되어 의문이 들었습니다!
-
미해결오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
인덱스 등 선행 지식 문의
sql 파운데이션, sql 분석 강의를 들으며 업무를 겨우 겨우 하고 있는 신입 데이터 엔지니어 입니다 인덱스 라는 것을 잘 모르는데 해당 강의를 더 잘 이해 하기 위해 어떤 것들을 선행으로 공부하는 것이 좋을까요또, 추 후에 해당 강의를 듣기 위한 선행 과목들을 묶어 강의를 내주실 의향이 있으신가요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
운영체제 이론으로만 배웠는데
새로 생긴 강의에 실습이 추가되어서 정말 좋네요
-
미해결실전! 스프링 데이터 JPA
Pageable에서 sort 내부 property에 대한 유효성 검사
안녕하십니까 영한님.강의 유익하게 잘 들었습니다. 덕분에 궁금증이 많이 해결되었습니다.다름이 아니라, 제가 Pageable를 사용한 페이징 기능을 테스트 해보는 과정에서 sort의 property에 실질적인 entity 정보가 노출된다고 생각되어 고민에 빠진 상태입니다. 페이징 관련된 파라미터를 dto로 받게되면 유효성 검사는 가능하나 sort의 순서를 보장하기 어려워 추가적인 파라미터가 필요하다고 생각됨.pageable로 받은 후 for문을 돌려 유효성 검사를 하게 되면 하위의 단계로 나눠지는 불편함 1) controller에서 dto로 유효성 검사를 위한 for문 2) entity는 service에서만 사용하게끔 유도하기 위해 controller에서는 유효성 검사가 끝난 dto를 service로 넘겨서 entity로 재조립하는 for문등등 여러가지 방법들을 고민해보다 질문드립니다.실질적으로 실무에서 사용되는 Paging 기법이 있거나 개선 사항이 있으면 공유해주시면 감사하겠습니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
프로세스가 프로그램이 실행되면 프로세스가 된다고하는데
그럼 크롬 브라우저는 2:00에서 보면 멀티프로그램(?)=>멀티프로세스인가요? 그러니까 크롬브라우저는 여러개의 프로그램이 합쳐져서 멀티프로세스를 이뤄서 실행되는건가요
-
미해결FreeRTOS 프로그래밍
fflush질문
강사님 안녕하세요틱 인터럽트 기준 1ms동안 버퍼에 문자1000개가 들어가는 속도라 하고 버퍼는 100개까지 채울수 있다는 가정시fflush함수가 없을 때는a 100개가 1*10번 / b 100개가 1*10번 번갈아 출력되는거죠? 그런데, fflush함수가 있으면a 1개가 100*10번나오지 못하다 끝나고b 1개가 100*10번나오지 못하다 끝나야 하는데말씀하신 uart로직이 결부되었으나aaaaaabaaaaaabaaaaaab 이런 패턴은 b 태스크에만 영향을 받는것 처럼 보이는데제가 질문한 예시로 답변 가능할까요??..
-
미해결[자동화 완전 정복] 인스타그램 휴대폰, 웹 자동화 프로그램 개발
해시태그 검색 후 최근게시물 없음
해시태그 검색 후 인기 게시물만 있고최근 게시물은 보이지가 않는데어떻게 해야되나요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
branch rule
github branch 관련 rule을 생성하는 경우, private repository여서 요금을 내야 적용이 되는 것 같습니다.public repository에서는 무료로 이용가능하네요.공유차원에서 글 작성합니다!
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
2644 촌수계산 문제에 관한 질문
선생님 안녕하세요!강의 너무 잘 듣고 있습니다!제가 2644번 문제를 혼자 아래 코드로 풀어보았는데저는 선생님께서 count변수를 dfs 함수 인자에 준 것과는 다르게 처음부터 전역변수로 설정해서 조건이 맞으면 count 변수를 1씩 증가시키는 방향으로 작성을 했는데요.이렇게 하니까 백준에서는 틀렸다고 나오더라구요.둘 다 if문 안에서 조건이 맞으면 카운트 변수를 1씩 증가시키는건 같은거라고 생각이 드는데 (물론 다르겠지만..)왜 카운트 변수를 인자로 넘겨줘야할까요? 감사합니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
5분 2초에 제 코드에서 Team 쿼리가 안나갑니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]저는 강의 처럼 select m from Member m inner join m.team t 해도 Team 조회쿼리가 추가로 발생 안하고, select m from Member m inner join m.team t 해도 추가쿼리 발생안하는데 혹시 그사이에 hibernate 업데이트 되었을까요..? 아니면제가 먼가 잘못친게 있을까요? manytoone에 fetchtype 아무것도 안써놨는데도 그렇네요, query 작성하는 라인 전에 em.flush, em.clear 다 하는데도 team 쿼리가 안나가요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 T2-2 질문드립니다!!
# 포도당을 제외한 이상치, 평균값으로 대체cols = ['BloodPressure', 'SkinThickness', 'Insulin', 'BMI']cols_mean = X_train[cols].mean()X_train[cols] = X_train[cols].replace(0, cols_mean)선생님께서는 이렇게 train 데이터의 결측치만 평균값으로 바꿔주셨는데 X_test도 같이 바꿔줘야 하는게 아닌가 해서 질문드렸습니다. 그리고 만약 바꾸어 주는게 맞다고 하면 밑에 있는 코딩처럼 다시 한번 X_test[cols]값들의 평균을 구한 다음 하는건지 아니면 위에 있는 train 데이터의 cols_mean을 사용하는건지 궁금합니다!!# cols_mean = X_test[cols].mean()# X_test[cols] = X_test[cols].replace(0, cols_mean)
-
해결됨팀 개발을 위한 Git, GitHub 입문
강의에 사용하신 두 github 계정 다 이메일이 같으신가요?
이번 강의 들으면서 궁금한 게 있는데요. 강의에 아래의 두 github 계정(느낌상 하나는 주계정, 또 하나는 부계정) 쓰시는 걸로 아는데, 이 두 github 계정 다 이메일 같으신가요? 예전에는 어땠는지는 몰라도 요즘은 이메일 하나당 하나의 github 계정만 만들 수 있어서 말입니다. 보니까 아래의 두 github 계정 다 한참 전에 만드신 것 같은데, 예전에는 하나의 이메일로 여러 개의 github 계정을 만들 수 있었나요? 주계정: https://github.com/milooy부계정: https://github.com/jayjinjay
-
미해결대세는 쿠버네티스 (Helm편)
헬름은 롤백 기능을 지원하지 않는지요?
강사님 아직 강의를 다 듣지 못해서 질문 드릴 수 있는거 일수도 있으나 혹시 helm 은 롤백 기능이 없는건지 여쭤 봅니다.
-
미해결실전! 웹사이트제작! Step by Step! ('크루알라모드'_반응형웹 제작)
video 크기
안녕하세요.위 화면처럼 contents부분의 들어간 video가 옆에 세로 스크롤이 생깁니다.처음엔 가로, 세로 스크롤이 다 생겨서 다시했더니 이번엔 세로 스크롤이 생기네요.강의를 더 가면 object-fit: cover;로 맞추던데.. 그렇게 해도 스크롤은 사라지지 않아요.지금은 우선 여기까지 진도를 나갔지만..처음 진도를 나갈땐 visual title의 font-size: 70px;도 먹지않아 글씨가 작았는데....왜 그럴까요?
-
해결됨독하게 시작하는 C 프로그래밍
단/항 증감연산자 12:44 결과값
위의 출력값은 24가 나와야할것 같은데 25인 이유를모르겠습니다. Chat gpt에게 코드를 똑같이보여줘도 24라고하네요..