묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA 기본편 - 최신 버전으로 프로젝트 설정하기 JPA 버전 관련 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]자바 ORM 표준 JPA 프로그래밍 기본편 7강 HelloJPA- 프로젝트 생성 강의를 수강한 후,JPA 기본편 - 최신 버전으로 프로젝트 설정하기 수업 자료 및 소스 코드를 보며 직접 maven 프로젝트를 생성하고 JPA연결하며 궁금한 점이 있어 문의 드립니다. 자바 버전 17 이상에서는 Hibernate 6.x 이상을 사용해야 하고, 이는 javax.persistence 네임스페이스가 jakarta.persistence로 변경된 JPA 3.x 버전을 사용해야 한다고 이해했습니다.그러나 강사님이 올려주신 프로젝트 설정에서는 JPA 2.2와 jakarta.persistence 네임스페이스가 혼합되어 사용되고 있습니다.JPA 2.2를 사용하는 경우 javax.persistence 네임스페이스를 사용해야 하지 않나요?만약 jakarta.persistence를 사용한다면 이는 JPA 3.1로의 전환을 의미해야 하는 것 아닌가요?혹시 강사님이 JPA 2.2를 유지하면서 jakarta를 사용한 이유가 Hibernate 6.x의 호환성 때문인지, 아니면 특별한 이유가 있는지 궁금합니다.
-
미해결[초급] 6가지 프로젝트로 다지는 Qt 사용법 (REST API)
강의노트 위치??
강의노트는 어디서 볼수 있나요??
-
미해결스프링 핵심 원리 - 기본편
[섹션4.관심사의 분리] - 생성자를 통한 참조 주입 질문입니다.
package hallo.core; import hallo.core.discount.FixDiscountPolicy; import hallo.core.member.MemberRepository; import hallo.core.member.MemberService; import hallo.core.member.MemberServiceImpl; import hallo.core.member.MemoryMemberRepository; import hallo.core.order.OrderService; import hallo.core.order.OrderServiceImpl; public class AppConfig { //생성자 주입 // -> MemberServiceImpl 은 추상에만 신경쓴다. 따라서 // new MemoryMemberRepository() 객체가 AppConfig 외부에서 생성되어 들어간다 //MemberServiceImpl 를 생성하면서 MemoryMemberRepository 를 쓸거야! //AppConfig는 생성자 객체인스턴의 참조(레퍼런스)를 생성자를 통해서 주입(연결 한다) public MemberService memberService() { return new MemberServiceImpl(new MemoryMemberRepository()); } //------생성자를 통한 참조 주입(1) ---------------------------------------- // MemberService() 메서드가 호출되면 new MemoryMemberRepository()가 실행되어 //MemoryMemberRepository() 객체가 생성 된다. 이 객체의 참조값(메모리 주소)이 //MemberServiceImpl의 생성자 매개변수로 전달된다 public OrderService orderService() { return new OrderServiceImpl( new MemoryMemberRepository(), new FixDiscountPolicy()); } } public class MemberServiceImpl implements MemberService { private MemberRepository memberRepository; // AppConfig 에서 관리 //AppConfig 는 생성자 객체인스턴의 참조(레퍼런스)를 생성자를 통해서 주입(연결 한다) public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } //------생성자를 통한 참조 주입(2) ---------------------------------------- //전달받은 참조값을 MemberServiceImpl 클래스의 필드인 memberRepository에 할당. //MemberServiceImpl 인스턴스의 memberRepository 필드는 AppConfig에서 생성된 MemoryMem berRepository //객체의 참조값을 가지게 된다. //AppConfig에서 생성된 MemoryMemberRepository 객체의 참조값은 매개변수 memberRepository -> 필드 memberRepository 순서로 //전달되어 최종적으로 클래스 필드에 저장된다. } 생성자를 통한 참조 주입을 제가 정리해 보았습니다. 실제로 메모리에 할당 될 때 [AppConfig] new MemoryMemberRepository() -----> 메모리 주소(예: x001) ↑ [MemberServiceImpl] | memberRepository -------------------| 이렇게 할당이 될 것이라고 생각하는데 제가 정리한 것과 흐름이 맞는지 궁금합니다. 그리고 MemoryMemberRepository()); 이 부분은 객체생성을 하면서 참조값을 만들지만 참조값을 받는 변수가 없는데 어떻게 참조값을 인식하는지 궁금합니다. 답변 주시면 감사하겠습니다.
-
해결됨Oracle PL/SQL 딱 이만큼.. [개념+실전]
Oracle 11g에서의 association 활용
Collections 1. 개념 (Associative , Varrays , Nested Tables )강의의 17분쯤에 association으로 활용을 해주십니다. 근데 Oracle 11g에서는 패키지 헤더(Specification인데 편하게 헤더라고 할게요)에서 association을 값을 주며 초기화할 수 없습니다. 그래서 GPT에게 물어보며 얻어낸 결과물을 공유드립니다.프로시저와 펑션을 활용했습니다. 패키지 헤더create or replace PACKAGE PKG_COMMON AS ... /* Associative array */ type Capital is table of varchar2(50) -- Associative array type index by varchar2(50); -- char type indexed by string -- index by pls_integer; -- only number type key PROCEDURE set_city_capital(cities Capital); FUNCTION get_city_capital RETURN Capital; END PKG_COMMON;패키지 바디getter, setter 개념을 프로시저와 펑션에 접목했습니다.create or replace PACKAGE BODY PKG_COMMON AS city_capital Capital; PROCEDURE set_city_capital(cities Capital) IS BEGIN city_capital := cities; END set_city_capital; FUNCTION get_city_capital RETURN Capital IS BEGIN RETURN city_capital; END get_city_capital; END PKG_COMMON;호출 블럭DECLARE temp_city_capital PKG_COMMON.Capital; v_index varchar2(50); -- Scalar variable BEGIN temp_city_capital('한국') := '서울'; temp_city_capital('프랑스') := '파리'; temp_city_capital('영국') := '런던'; PKG_COMMON.set_city_capital(temp_city_capital); -- print associative array: v_index := temp_city_capital.first; -- get first element of array while v_index is not null loop dbms_output.put_line('population of ' || v_index || ' is ' || temp_city_capital(v_index)); v_index := temp_city_capital.next(v_index); -- get next element of array end loop; END;이렇게 하면/* population of 영국 is 런던 population of 프랑스 is 파리 population of 한국 is 서울 */결과가 잘 나오는 것을 확인할 수 있습니다.다만, 강사님의 의도와 다르지 않을까 싶기도 하네요. 어쨋든 11g에서도 활용할 수 있어 다행입니다 ㅎㅎ
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
3번이 안풀립니다
import sysimport copy#sys.stdin=open("input.txt","rt")'''#3번이 틀림n =int(input())li1 = [list(map(int, input().split())) for _ in range(n)]cpy =copy.deepcopy(li1) #깊은 카피를 사용m=int(input())tot=s=0e = n#print(cpy)#li1 회전for i in range(m): li2 = list(map(int, input().split())) print(li2) if li2[1] == 0: #왼쪽으로 회전 for j in range(n): if j-li2[2] < 0: li1[li2[0]-1][j-li2[2]+n] = cpy[li2[0]-1][j] else: li1[li2[0]-1][j-li2[2]] = cpy[li2[0]-1][j] if li2[1] == 1: #오른쪽으로 회전 for j in range(n): if j+li2[2] < n: li1[li2[0]-1][j+li2[2]] = cpy[li2[0]-1][j] else: li1[li2[0]-1][(j+li2[2])%n] = cpy[li2[0]-1][j]#print(li1) for i in range(n): for j in range(s,e): tot += li1[i][j] if i < n//2: s+=1 e-=1 else: s-=1 e+=1print(tot) 다음과 같이 풀때, 1245번은 정답이 뜨는데 3번만 틀린ㄴ값으로 뜹니다..뭐가 틀린지 모르겠습니다..알려주세요..
-
미해결STM32 CAN 통신
WinIDT 콘솔에 프린트 출력 안됨
WinIDT COM9 열고 CAN1 클릭 했는데 printf문이 출력되지 않습니다. 빌드 및 코드 다운로드는 정상 작동합니다. Baud Rate는 115200 양쪽 다 동일한 것 확인하였고, LED On/Off 코드는 정상작동합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Item에서 Category가 Import되지 않아요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨스프링 시큐리티 완전 정복 [6.x 개정판]
(공유) 이제는 securityMatcher 지정 안 한 FilterChain 의 순서가 맨 앞에 있으면 에러를 뱉어냅니다.
요청 기반 권한 부여 - HttpSecurity.securityMatch 강의 (14분 25초) 를 듣고 코드를 똑같이 따라 치고 실행해보니 에러가 뜨면서 동작을 안 하더군요. spring boot 버전은 3.4.1 + spring security 6.4.2 로 테스트를 해봤습니다. 조사를 해보니 에러를 뱉는 건 스프링 시큐리티의 WebSecurity 클래스였고, 아래 빨간 박스 친 부분에서 에러를 뱉습니다. 이 코드는 securityMatcher 를 설정 안 한 SecurityFilterChain, 즉 anyRequestFilterChain 이 모든 FilterChain 들 보다 항상 뒤편에 있어야 되는 것을 보장하기 위한 유효성 검사를 위한 것입니다. 선생님이 강의를 찍던 당시와 달라진 내용이 아닐까 싶습니다. 아무튼 이를 우회해서 테스트를 할 수 있는데, 선생님이 작성하신 코드에서 딱 한줄만 추가해주면 됩니다. @Bean @Order(1) public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { // !!!!!!!!!!!!!!! 아래 한 줄 추가 !!!!!!!!!!!!!!! http.securityMatchers(matcher -> matcher.requestMatchers("/**")); http.authorizeHttpRequests(auth -> { auth.anyRequest().authenticated(); }) .formLogin(Customizer.withDefaults()); return http.build(); } @Bean public SecurityFilterChain securityFilterChain2(HttpSecurity http) throws Exception { http.securityMatchers(matchers -> matchers.requestMatchers("/api/**", "/oauth/**")); http.authorizeHttpRequests(auth -> { auth.anyRequest().permitAll(); }); return http.build(); } 이상으로 내용 공유를 마칩니다.
-
미해결React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지
input value props 를 설정하면 입력이 안되는 이유
export default function FormComponent() { return ( <form onSubmit={handleSubmit}> <input name="first" type="text" value="첫번째" /> <input name="second" type="text" value="두번째" /> <button type="submit">Submit 버튼</button> </form> ); }위와 같이 input 에 value props 를 설정하면 왜 타이핑이 안되는지 이해가 잘 안됩니다. 순수 HTML 에서는 input 요소의 value 속성은 초기값이고 변화된 현재값은 DOM 의 value 프로퍼티를 통해 가져올 수 있다고 알고있는데 React 에서는 뭐가 달라지길래 value props 를 설정만 하더라도 input 에 입력값이 변화되지 않는 것인지 알고 싶어요!
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
OneToMany속의 ManyToOne 조회시 질문
OneToMany 관계에서 페치조인을 하게되면 페이징이 불가하다고 하셨는데 OneToMany는 batchSize를 조절하여 해결한뒤OneToMany안의 ManyToOne 관계는 어떻게 페치조인 할수있을까요? 예를 들어서테이블 A, B, C가 있을경우A와 B는 OneToMany관계B와 C는 ManyToOne관계 class A { @OneToMany private List<B> b = new ArrayList<>(); }class B { @ManyToOne // Lazy private A a; @ManyToOne // Lazy private C c; } class C { } A를 조회하고 C까지 끌고와야하는경우A와 B는 OneToMany 관계이기 때문에 페치조인이 불가능하지만B와 C는 페치조인이 가능하다고 이해하였습니다BatchSize를 설정하여 A에서 B를 가져올시 IN 쿼리로 가져온뒤B에서 C를 페치 조인하는 방법은 없나요? 아니면 이런경우 특수하게 B에서 C를 Eager로 설정 해야할까요애초에 B를 통해서 A와 C를 가져와야할까요
-
해결됨개발자를 위한 쉬운 도커
강의계획 질문입니다.
안녕하세요 데브위키님.예전에 강의를 정말 잘 듣고 주말에 문득 생각이 나서 2회차로 다시 보고있는데다시 봐도 강의가 워낙 좋아서 문득 새로운 강의는 없는지 찾아봤습니다.도커 이후로 새로운 강의는 없더라구요ㅎㅎ혹시 새로운 강의 계획은 없으신지 있다면 어떤 강의를 준비하고 계시고 언제쯤 출시예정인지 궁금합니다!감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
sort함수 쓰려면 알고르즘헤더를 추가해야하는거 아닌가요?
강의에선 오류가 없지만 강의자료 다운받아보면 빌드가 되지 않습니다.. 이상하네요..
-
미해결피그마 시작하기
피그마 활용 클래스 > 4 컴포넌트 boolean
섹션 4. 피그마 활용 클래스 강의 중 4-4강에서 버튼을 만들어 하트 아이콘을 넣고 컴포넌트화 시킨 후하트 아이콘을 클릭하고 boolean 기능을 추가하는 부분이 현재 피그마 UI와 달라서 어떻게 만들고 적용하는 지 모르겠습니다.업데이트 되면서 패널 속성이 바뀐 것 같은데 어떻게 만들고 적용하면 되나요?
-
미해결초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
그래프 그리기 오류
그래프가 그려지지 않아요. 오류가 뜹니다.
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
강의 자료 내용 확인 부탁드립니다.
안녕하세요. 수강생 입니다. 좋은 강의 잘 수강하면서 열심히 공부하고 있습니다.노션 페이지 내용 관련으로 문의드립니다.[입문] 시작은 프리캠프 - 섹션 3 CSS의 기본과 싸이월드 실습 1CSS 사용방법 3가지 예시 이미지 중 해당 내용들에 대한 이미지가 이상해문의 남깁니다. 감사합니다.
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
아 정말 짜증나네
docker 처음 접해본 사람인데..왜 이렇게 설명을 무성의 하게하는건지 모르겠네요 대부분 사용자가 원도우 사용자일텐데원도우에서도 똑같다고 말하고 넘어가면 끝인가파일은 어디서 받아야한다고만 써놓고 깃도 들어가보니 다운도 안되고 내가 무식한건 알겠찌만..좀 돈받고 하는거면 좀 편하게 설명해줘야하는거 아닌가
-
미해결
docker 사용법및 설정
docker 사용법좀 자세히 알려주세요
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
Lora 기법 질문
Lora 기법으로 인해서 전체 모델의 56%의 파라미터만 fine tuning에 사용됐다고 하는데, 로직 내에서 fine tuning하겠다고 결정하는 기준이 있는건가요?
-
해결됨[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
타입 추론 시 가장 넓은 범위로 추론이 되는 건가요?
먼저 테스트 해 본 코드 올립니다.const obj = { a: '123', b: 'hello', c: 'world' } as { a: string, b: `hel${string}`, readonly c: 'world' }; type AType = typeof obj; const objA: AType = { a: '123', b: 'hello', c: 'world' } type BType = keyof typeof obj; const objBa: BType = 'a'; const objBb: BType = 'b'; const objBc: BType = 'c'; // CType이 string이 됩니다. type CType = typeof obj[keyof typeof obj];위 코드에서 CType에 마우스 커서를 올려보면 type CType = string 이라고 알려주는데 왜 그런지 몰라 여쭤봅니다.저는 obj 객체 안의 속성들 값의 타입인 string | `hel${string}` | 'world' 로 추론될 줄 알았습니다.이유가 `hel${string}` 타입과 'world' 타입보다 string 타입이 범위가 가장 넓기 때문에 변수를 CType으로 지정하면 string 과 차이가 없어서 그런 것일까요?
-
미해결처음 만난 리액트(React)
백틱
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 혹시 작은 따옴표와 백틱을 구분하여 사용해야 하나요?백틱을 써야하는데 작은 따옴표를 쓰면 오류가 나거나 그 반대 상황에서도 오류가 나는 경우가 있을까요?큰 따옴표도 궁금합니다!