묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
LazyConnectionDataSourceProxy transactional 이슈
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.w2tomwsznga7)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://docs.google.com/document/d/1xCQKit-1V6l6ObeCe49St33RHPzLF_P_c3o7aSDTKs0/edit#heading=h.7dhnp46ven0v)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 영한님 @Transactional에 readOnly 옵션을 넣어주게되면 public class SpringTransactionAnnotationParser implements TransactionAnnotationParser, Serializable { // .. code public TransactionAttribute parseTransactionAnnotation(Transactional ann) { return parseTransactionAnnotation(AnnotationUtils.getAnnotationAttributes(ann, false, false)); } // .. code } 위와 같이 SpringTransactionAnnotatinParser에 의해서 annotaion에 설정한 parameter 들이 transaction manger 에 설정을 넣어주기 위해서 RuleBasedTransactionAttributer객체를 만들게 됩니다. 그리고 readOnly=true를 설정할 경우 rbta.setReadOnly(attributes.getBoolean("readOnly")); 로 readonly 설정을 하게 됩니다. multi module 환경에서 replication 설정했을 때 datasource를 선택하게 해주는 로직을 아래와 같이 작성하였습니다. @RequiredArgsConstructor public class ReplicationRoutingDataSource extends AbstractRoutingDataSource { private final DataSourceKey dataSourceKey; @Override protected Object determineCurrentLookupKey() { boolean isReadOnly = TransactionSynchronizationManager.isCurrentTransactionReadOnly(); System.out.println(isReadOnly); if (isReadOnly) { logger.info("Connection Slave"); return dataSourceKey.getDefaultSlaveKey(); } logger.info("Connection Master"); return dataSourceKey.getMasterKey(); } } 하지만 determineCurrentLookupKey 함수가 parseTransactionAnnotation 보다 먼저 실행되어, read only를 무시하는 이슈가 발생하게 되었습니다. 이럴 경우 어떻게 해야지 parseTransactionAnnotation 가먼저 실행되고, determineCurrentLookupKey 가실행될 수 있는지 궁금합니다. 코드 링크는 다음과 같습니다. replication 설정 코드는 아래의 4개입니다. 어떻게 해야지 determineCurrentLookupKey가 parseTransactionAnnotation 보다 늦게 실행되게 하는지
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
글작성 엑티비티에서 키보드 사용시 스크롤로 화면을 올리는것이 되지 않습니다
강의를 따라하면서 게시글을 작성하는 엑티비티를 따라서 완료 하였습니다. 키보드 사용시 화면이 올라가게 하는것을 따라 만들려고 하였으나 올라가지 않습니다. 데이터 바인딩이 아니고 뷰바인딩을 사용하여 layout 으로 감싸지 않았고 문제를 해결해보기위해 인터넷을 뒤지며 xml 을 수정하여 강의와 좀 차이가 있습니다. xml 을 어떻게 수정해야 스크롤이 작동 할까요? <?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".board.BoardWriteActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="30dp" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="60dp"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="글쓰기 페이지" android:textColor="@color/black" android:textSize="30dp" /> </LinearLayout> <EditText android:id="@+id/TitleArea" android:layout_width="match_parent" android:layout_height="60dp" android:layout_margin="20dp" android:background="#00ff0000" android:gravity="center" android:hint="제목을 적어주세요" /> <LinearLayout android:layout_width="match_parent" android:layout_height="0.5dp" android:layout_margin="20dp" android:background="#000000" /> <EditText android:id="@+id/ContentsArea" android:layout_width="match_parent" android:layout_height="60dp" android:layout_margin="20dp" android:background="#00ff0000" android:gravity="center" android:hint="내용을 적어주세요" /> <LinearLayout android:layout_width="match_parent" android:layout_height="0.5dp" android:layout_margin="20dp" android:background="#000000" /> <ImageView android:id="@+id/ImageBtn" android:layout_width="100dp" android:layout_height="100dp" android:layout_gravity="center" android:layout_marginTop="30dp" android:src="@drawable/plus" /> <Button android:id="@+id/WriteButton" android:layout_width="match_parent" android:layout_height="50dp" android:layout_marginLeft="20dp" android:layout_marginTop="40dp" android:layout_marginRight="20dp" android:backgroundTint="@color/mainblue" android:text="입력" android:textColor="@color/black" android:textSize="20dp" /> </LinearLayout> </LinearLayout></ScrollView>
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
pk가 다른 테이블의 fk 2개이상으로 들어갈 경우는 어떻게 해야할까요?
강의 보면서 제가 전에 SQL를 공부했던 내용을 적용시켜서 공부하고 있는데, 이런 경우 맵핑은 어떤식으로 해야하는지 궁금합니다. Member Table ----------- @Id @Genereatedvalue private Long id Follow Table ------------- @Id @Generatedvalue private Long id @ManyToOne @JoinColumn(name"member_id") private Member memberHost @ManyToOne @JoinColumn(name"member_id") private Member memberFollow 위 처럼 member테이블의 pk가 follow테이블의 두 변수의 각각 fk로 맵핑되었을 때 연관관계 처리를 어떻게 하면 좋을가요?member Table에 @OneToMany(mappedBy = "member) List<Follow> follow = new ArrayList<>() 로 작성하니 인식을 못합니다 ㅠㅠ 혹시 이런경우는 어떻게 처리 해야 할까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
null 오류
선생님 강의를 보며 코드를 똑같이 작성했는데 널 리퍼런스 오류가 디버깅 도중에 뜨면서 GenPacket.cs가 만들어지지 않아 진도를 못나가고 있습니다 genPackets += string.Format(PacketFormat.packetFormat, packetName, t.Item1, t.Item2, t.Item3); 이 코드에서 널 리퍼런스 오류가 뜨면서 디버깅이 중단됩니다 정확히는 t가 널이었다면서 오류가 뜹니다
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
vector에서 질문이 있습니다~!
문득 든 생각인데요 vector<int> arr[n]과 vector<int> arr(n)이 무슨 차이가 있는 건가요? arr[1]안에 배열을 넣을 수 있고 arr(1)안엔 배열을 넣을 수 없음의 차이인가요????
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 작성해봤습니다.
안녕하세요 강사님 function solution(arr) { let answer = 0, row = 0, col = 0, cro = 0, rev = 0; for (let k = 0; k < arr.length; k++) { (row = 0), (col = 0); for (let m = 0; m < arr.length; m++) { row += arr[k][m]; col += arr[m][k]; } cro += arr[k][k]; rev += arr[k][4 - k]; answer = Math.max(answer, row, col, cro, rev); } return answer; } 이렇게 작성해봤습니다.
-
미해결실전! 스프링 데이터 JPA
복합키 식별 관계 매핑에 대해서 여쭈어봅니다.
선생님... 현재 복합키 식별 관계의 mapping에서 선생님 책을 보고 인터넷을 찾아봐도 문제에 부딪혀 해결에 지쳐서 질문을 드립니다. @IdClass(InternetBuzzIdentifier.class)public class InternetBuzz { @Id private String program; @Id private String channel; @Id private String days;... @Getter @Setterpublic class InternetBuzzIdentifier implements Serializable { private String program; private String channel; private String days;... @Entity@Getter@Setterpublic class InternetBuzzMapping { @Id @GeneratedValue private Long id; private String contentId; private String contentsetId; @OneToOne @JoinColumns ({@JoinColumn (name = "program"), @JoinColumn (name = "channel"), @JoinColumn (name = "days")}) private InternetBuzz internetBuzz; public InternetBuzzMapping(InternetBuzz internetBuzz) { this.internetBuzz = internetBuzz; } 처음에는 하나의 repository(InternetBuzz)을 만들었고 둘의 연결관계를 통해서 internetbuzz를 save하면 자동으로 InternetBuzzMapping 테이블에도 program, channel, days값이 들어가길 원하는데 internetbuzz.save()를 하면 internetbuzzmapping 테이블은 그대로입니다. internetBuzzRepository.save(buzz);internetBuzzMappingRepository.save(new InternetBuzzMapping(buzz)); 그래서 internetbuzzMappingRepository를 만들어 위와같이 save를 하려하니 Caused by: java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : racoi.Dto.InternetBuzzMapping.internetBuzz -> racoi.Dto.InternetBuzz 위와같은 에러가 납니다. 어떤게 문제인지 책을 뒤져봐도 잘 이해가 안갑니다 ㅠ
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 풀어봤습니다.
안녕하세요 강사님. 이렇게 한 번 풀어봤습니다. function solution(arr) { let answer = 0; const score = arr.join("").split(0); for (const a of score) { if (a) { answer += (a.length * (a.length + 1)) / 2; } } return answer; };
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기
cd client -> npm install 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의 #2에서 cd client로 디렉토리 체인지 후 npm install 하면 무한 로딩 뜨는 오류가 발생됩니다. 어떻게 해결방안이 있을까요? 이것을 설치하지 않으면 다음단계로 못 넘어갈것 같은데요 ㅜㅜ
-
해결됨구글애즈로 배우는 퍼포먼스마케팅 필수 (2023년 업데이트)
'디스플레이와 프로그래매틱 광고'에서 DV 360 타게팅 방식에 대한 질문
안녕하세요, 좋은 강의 잘 듣고 있습니다 :) '디스플레이와 프로그래매틱 광고' 강의에서 DV 360의 특징을 GDN과 비교하여 알려주신 부분(61슬라이드)을 보다 궁금증이 생겨 질문드립니다. DV 360에서 사용자/콘텐츠 이외의 타겟팅이 가능하다고 해주셨는데, 구체적인 예시가 있을까요? 사용자와 콘텐츠 데이터 이외의 분석가능한 데이터가 어떤 것이 있는지 궁금합니다. 감사합니다.
-
미해결실전! 스프링 데이터 JPA
1:N 프로젝션 join
안녕하세요! 중첩 프로젝션에 대해 이것저것 해보는 도중, 1:N에 대해서도 인터페이스를 만들어 해보았습니다. 예를 들어 TeamProjection이 있을 때, 다음과 같습니다. public interface TeamProjection { String getName(); List<MemberInfo> getMembers(); interface MemberInfo{ String getUsername(); } } Team과 member의 관계는 강의에서와 동일하게 1:N 관계입니다. TeamRepository에 메서드를 다음과 같이 정의했습니다. public interface TeamRepository extends JpaRepository<Team, Long> { <T> List<T> findProjectionByName(@Param("name") String name, Class<T> tClass); } 이제 Test를 돌리기 위해 다음과 같이 테스트코드를 짜고 실행했을 때 SQL 결과입니다. @Test @DisplayName("프로젝션 테스트") public void 프로젝션_테스트() throws Exception{ //given Team team = Team.builder().name("team").build(); em.persist(team); Member m1 = builder().username("a").age(10).team(team).build(); em.persist(m1); Member m2 = builder().username("b").age(10).team(team).build(); em.persist(m2); em.flush(); em.clear(); //when List<TeamProjection> r = teamRepository.findProjectionByName("team", TeamProjection.class); //then for (TeamProjection teamProjection : r) { List<TeamProjection.MemberInfo> members = teamProjection.getMembers(); for (TeamProjection.MemberInfo m : members) { System.out.println("member : " + m.getUsername()); } System.out.println("team : " + teamProjection.getName()); } } >> SQL (Team + Member + Member) 총 3회 select team0_.team_id as team_id1_4_, team0_.name as name2_4_ from team team0_ where team0_.name=? ------- select members0_.team_id as team_id4_3_0_, members0_.member_id as member_i1_3_0_, members0_.member_id as member_i1_3_1_, members0_.age as age2_3_1_, members0_.team_id as team_id4_3_1_, members0_.username as username3_3_1_ from member members0_ where members0_.team_id=? -------- select members0_.team_id as team_id4_3_0_, members0_.member_id as member_i1_3_0_, members0_.member_id as member_i1_3_1_, members0_.age as age2_3_1_, members0_.team_id as team_id4_3_1_, members0_.username as username3_3_1_ from member members0_ where members0_.team_id=? 질문) 1:N은 프로젝션 조회를 했을 때 join이 되지 않는 것인지 궁금합니다!
-
미해결생활코딩 - Linux
backup파일 fi syntax error
backup 파일 라인4 fi 구문에 대한 error 가 나는데요 화인 부탁드립니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
안녕하세요
안녕하세요.. 전강의 다 수강하고 혼자 프로젝트 만들어보고있는 수강생입니다.. 질문을 어디에 해야할지몰라서.. 최대한관련된곳에 드립니다.. 안녕하세요. json으로 받아오는걸 해보고싶어서 dothome으로 홈페이지를 얻은뒤 빌드해서 ftp로 업로드하고 같은 디렉토리에 test.json 파일을 업로드 했습니다 vuex 를 만들고 axios로 가져와서 원하는 데이터까지 $store.state로 접근 성공 하였습니다. 출력도 잘됩니다. 그런데 img 파일만corb로 차단이되었는데 .. 제가 테스트용 json 파일을 백엔드 가아닌 ftp서버에 올려서 그런건가요? 찾아보니.. 동일 서버가 아니고 외부서버에서 이미지 요청시 차단된다고 하던데.. 제가 테스트하기위에 json파일을 업로드한게 방법이 틀린건가요?
-
미해결따라하며 배우는 리액트 테스트 [2023.11 업데이트]
선생님 안녕하세요!
현재 "Jest 파일 구조 & 사용법"의 강의의 바로 뒤에 강의들인 "쿼리 함수에 대해서" 강의와 "React Testing Library 주요 API" 이 강의의 순서가 바뀐것같습니다! "Jest 파일 구조 & 사용법" -> "React Testing Library 주요 API" -> "쿼리 함수에 대해서" 이렇게 순서가 바뀌어 있어야할것 같습니다!! 항상 좋은 강의 너무 감사드립니다 :D
-
미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
on error 해결 방법 질문
안녕하세요 알려주신대로 크롤링을 하고 있는데 위처럼 이미지가 없을 시 onerror가 되어 404 에러가 나타나는데 이때는 어떻게 처리하나요? 스크래피의 기술적인 해결방법이 있나요??
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [취업편]
안녕하세요 erp si 개발자 질문 드립니다
안녕하세요 선생님 블로그 통해서 선생님을 알게 되어 열심히 수강중인 한 수강생입니다. 저는 erp si 개발자이며 2018년 10월부터 다니고 있고 나이는 28살입니다. 근데 기술적으로 너무나도 부족합니다. 그 이유는 넥사크로, 웹스퀘어와 같은 상용툴을 쓰고 있습니다. 스프링 부트가 아닌 전자정부프레임워크 환경입니다. 자바는 쿼리단으로 넘기는 역할만 하고 모든 처리는 Mybatis로 프로시저와 패키지로 다 하는 환경입니다. db는 오라클 썼습니다. 이와 같은 환경에서 3년차 개발자가 돼었는데 조금씩 찾아보니 제가 희망하는 기업과 기술스택이 너무 다른거 같습니다. 희망하는 기업은 줌XXX 백엔드 개발직이고 경력과 신입 둘 다 채용공고 뜨면 지원할 생각입니다. 현회사 기술 스택과 이직하려는 회사 기술 스택이 겹치는게 별로 없어서 이직을 위해선 포트폴리오를 만들어야 하나 싶습니다. 혹시 이직에 대한 피드백 좀 받을 수 있을까요? 멘토링에 검색해도 안 나와서 여기로라도 글을 남겨봅니다.
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
순차적 레코드 출력 문제 질문 있습니다.
안녕하세요. 올해 4월 모의해킹쪽으로 취업하게 됬습니다. 웹 모의해킹쪽은 크리핵티브님의 강의가 매우 매우 매우 도움이 많이 되었습니다. 정말 감사하게 생각하고있습니다. 요번 프로젝트 중에 한가지 막히는 곳이 있었는데 DB2 데이터베이스를 사용하는 웹에서 블라인드 SQL 취약점이 발견되어 데이터 추출을 위해 파이썬으로 코드를 작성하여 데이터 추출 중이었는데 (협의가됨) ORDER BY ASC / DESC (정렬을 이용) , FETCH FIRST 1 ROWS ONLY(한개씩) 를 통해서 추출중이었습니다. DB, 테이블, 컬럼 추출에는 문제가 없었습니다. 하지만 데이터값 추출 시 첫번째 컬럼 데이터 뽑고 ,두번째 컬럼 데이터 뽑는식으로 진행하는데 첫 번째 컬럼의 첫 번째 데이터와 두번째 컬럼의 첫번째 데이터의 정렬이 맞지 않더라구요 (첫번째 컬럼기준으로 정렬이된 데이터와 ,두 번째 컬럼 기준으로 정렬을 한 데이터가 정렬이 맞지않음) 이런경우는 어떻게 해결할수있을까요 .. 정렬을 이용해서 컬럼과 테이블 추출 외 데이터값 추출같은경우에 목록화를 할때 정렬이 맞게 할수있는 방법이있을까요.. 아 그리고 블라인드 SQL 인젝션 방법으로 한글데이터를 추출할수있는 방법이 있을까도 좀 궁금하네요.. 감사합니다.
-
미해결피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z
프로토타입 녹화해서 모바일 목업으로 되나요?
포트폴리오 작업중인데 앱디자인 작업물을 프로토타입으로 녹화해서 모바일 이미지로 목업으로 만들 수 있나요..? 프로토타입 녹화하는 방법을 모르겠어요.. 녹화해서 파일 추출하는 방법도 공유해주세요!
-
미해결예제로 공부하는 Java 100 문제풀이 Part.1
컴파일 에러
안녕하세요. 경로 지정에서 문제가 생기는데 구글링해도 해결이 잘 안되네요. 해결책을 알 수 있을까요? 우선, 노트패드++를 설치했을 때, sourcecode 파일이 없어서 제가 임의로 생성했습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
빌드 환경과 실행 환경이 다를 때 어떤 문제가 생기는 지 궁금합니다.
안녕하세요! 강의 정말 잘 듣고 있습니다 :) 어셈블리어 소스 코드를 빌드한 환경(아키텍쳐/운영체제)과 실행하는 환경이 다른 경우 어떤 문제가 발생할 수 있지...? 를 고민하다보니 다음과 같은 질문이 떠올랐습니다. 1. 리틀엔디안 환경에서 빌드 된 .exe 파일이 빅엔디안 환경에서 실행이 가능할까요?2. PRINT_HEX 와 같은 명령어는 운영체제에 종속적인 것으로 이해하였습니다. 윈도우즈 환경에서 빌드 된 .exe 파일을 다른 환경에서 실행하게 되는 경우 문제가 발생할까요?