묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 질문있습니다!
중첩 반복문으로 2개의 원소를 뽑는다고 했을 때 결국 이 알고리즘의 시간 복잡도는 n^2 이니까 최악의 경우 150,000 * 150,000 나오잖아요? 대략 2억개 넘는데 시간 초과가 안뜨는 이유가 궁금합니다 단순히 C++ 연산 속도가 빨라서 그런건지.. C# 이나 Java, Python 같은 언어로 하면 안 풀리는지.. 궁금합니다
-
미해결
많은 강의에서 오디오만 재생됩니다.
많은 강의 들에서 초반 일부 강의들만 정상적으로 작동되고동일하게 나머지 강의들에서는 오디오만 작동됩니다.인프런 강의 사이트 측에 문제가 있는 것으로 보입니다.빠른 학습을 위해 빠른 답변 부탁드리겠습니다. 수강 중인 강의 중 오디오만 재생되는 강의들김영한의 실전자바 - 기본편 (배열 도입 - 시작 ) 부터김영한의 실전 자바 - 중급 1편 ( toString() ) 부터김영한의 실전 자바 - 중급 2편 ( 제네릭 활용 예제 ) 부터스프링 핵심 원리 - 기본편 ( 좋은 객체 지향 설계의 5가지 원칙(SOLID) ) 부터
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
ref에 담기는 돔 요소가 어떤 돔 요소를 가리키는 걸까요?
7:45에서 ref={inputRef} 코드가 보이는데요, console에 출력되는 input요소가 단순 모양만 같은 <input... > 인것인지, 아니면 현재 페이지의 input 요소인건지 궁금합니다.만약 후자라면 똑같이 생긴 input 요소를 2개 만들어도 정확히 원하는 요소를 가리키겠지만, 전자라면 버그가 발생하지 않을까? 하는 생각이 들었어요. 그리고 만약 지금 name 말고 다른 input들도 유효성 검사를 하고 싶다면.. ref를 여러개 만들어야하나요?? 질문이 너무 뒤섞여있네요 하하
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
강의 영상은 안나오고 소리만 나옵니다.
주피터 노트북 사용과 활용법 강의에 화면이 안나오고 자막과 소리만 나오네요. 다른 강의들도 좀 그런것 같은데 왜이런걸까요~?
-
미해결자바스크립트로 알아보는 함수형 프로그래밍 (ES5)
FxTS를 이용한 함수형 프로그래밍에 대해 궁금한점이 있습니다.
강의의 내용과 FxTS를 보면 주로 iterable(generator)에 대해 다루는 것으로 이해가 됩니다.그런데 범용적인 프로그래밍에 있어 iterable에 대해서만 주로 다루는 FxTS는 기능이 부족하다는 생각이 듭니다. (예를들어 iterable이 아닌 일반 객체를 FxTS로 다루기 힘듭니다. 만약 억지로 객체를 length가 1인 iterable로 변환한다고 해도 체이닝 과정에서 결국 적절한 모나드가 없어 중간에 체이닝이 끊어지는 일이 쉽게 발생할 것 같습니다.) FxTS를 마치 RxJS와 같이 특정 문제에 대한 해결을 목적으로 만들었는지,그리고 실무에서 코드를 주로 함수형으로 작성한다면 FxTS만으로 하는지 아니면 다른 도구를 추가로 사용중인지도 궁금합니다. 좋은강의 감사드립니다.
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
USE EPlanHeap 구문 실행 오류
안녕하세요.예제 스크립트 실행 중 오류가 확인되어 문의드립니다. EPlan 테이블 생성 구문을 이용하여 Eplan 테이블은 정상적으로 생성된 듯 보이나, 예제 구문 중USE EPlanHeap 선택 시 EPlanHeap라는 테이블이 존재하지 않는다는 오류가 발생하고 있습니다 MSSql에는 테이블에 대한 Heap를 생성하는 별도의 구문이 존재하는 것이 맞을까요?EPlanHeap 테이블이 테이블 생성 구문이 정상적으로 실행되면 생성되는 테이블이 맞을까요?해당 테이블이 생성되었는지 확인할 수 있는 방법이 있을까요?확인 부탁드립니다. 감사합니다 :)
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
OneToOne Option OnDelete 작동
안녕하세요 코드팩토리님 NestJS에 관심이 생겨 최근 강의를 듣고 있습니다.OneToOne 에서 onDelete 설정을 했을 때 계속 profile이 null 값으로만 변경되는데 제 코드에 문제가 있는지 궁금합니다. 검토 한 번 부탁드려요. 감사합니다!!// user.entity.ts export class UserModel { // 자동으로 ID 생성 @PrimaryGeneratedColumn() id: number; @Column() email: string; @Column({ type: 'enum', enum: Role, default: Role.USER, }) role: Role; // 데이터가 생성되는 날짜와 시간이 자동으로 찍힌다. @CreateDateColumn() createdAt: Date; // 데이터가 업데이트되는 날짜와 시간이 자동으로 찍힌다. @UpdateDateColumn() updatedAt: Date; // 데이터가 업데이트 될 때마다 1씩 올라간다. // 처음 생성되면 값은 1이다. // save() 함수가 몇번 불렸는지 기억한다. @VersionColumn() version: number; @Column() @Generated('uuid') additionalId: string; ////////////// 이 부분 ///////////// @OneToOne(() => ProfileModel, (profile) => profile.user, { // find() 실행 할 때마다 항상 같이 가져올 relation을 정할 수 있다. eager: true, // 저장할 때 relation을 한번에 같이 저장 가능하게 한다. cascade: true, // null 값이 가능하게 한다. nullable: true, // on: ~했을 때 // 관계가 삭제 됐을 때 // no action => 아무것도 안함 // cascade => 참조하는 Row도 같이 삭제 // set null => 참조하는 Row에서 참조 id를 null로 변경 // set default => 기본 세팅으로 설정 (테이블의 기본 세팅) // restrict => 참조하고 있는 Row가 있는 경우 참조 당하는 Row 삭제 불가 onDelete: 'RESTRICT', }) profile: ProfileModel; ////////////// 이 부분 ///////////// @OneToMany(() => PostModel, (post) => post.author) posts: PostModel[]; } // app.controller.ts import { Controller, Delete, Get, Param, Patch, Post } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Role, UserModel } from './entity/user.entity'; import { Repository } from 'typeorm'; import { ProfileModel } from './entity/profile.entity'; import { PostModel } from './entity/post.entity'; import { TagModel } from './entity/tag.entity'; @Controller() export class AppController { constructor( @InjectRepository(UserModel) private readonly userRepository: Repository<UserModel>, @InjectRepository(ProfileModel) private readonly ProfileRepository: Repository<ProfileModel>, @InjectRepository(PostModel) private readonly PostRepository: Repository<PostModel>, @InjectRepository(TagModel) private readonly TagRepository: Repository<TagModel>, ) {} @Get('users') getUsers() { // OntToOne에 eager: true 설정을 하면 relations 옵션을 여기에서 넣어주지 않아도 된다. return this.userRepository.find({}); } @Delete('user/profile/:id') async deleteProfile(@Param('id') id: string) { await this.ProfileRepository.delete(+id); } @Post('user/profile') async createUserAndProfile() { const user = await this.userRepository.save({ email: 'asdf@naver.com', profile: { profileImg: 'asdf.jpg', }, }); // cascade: true 설정을 하면 relation을 한번에 같이 저장하게 되서 더 이상 두번 save 할 필요가 없음 // const profile = await this.ProfileRepository.save({ // profileImg: 'asdf.jpg', // user, // }); return user; } }
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
리액트와 next의 js번들시 질문
안녕하세요 강사님 좋은 강의 감사드립니다. 몇 가지 헷갈리는 점이 있어 질문드립니다. React (CSR)에서는 js Bundle시 요청 페이지 뿐만 아니라 모든 페이지의 자바스크립트 파일과 컴포넌트들을 불러오는 반면, Next (SSR)에서는 js Bundle시 모든 페이지가 아닌 요청페이지의 파일과 컴포넌트들을 불러온다.제가 이해한 게 맞을까요?2. 프리 페칭 시점은 js bundle후 -> 페이지에 접속한 후 -> "프리페칭" 이 시점이 맞을까요?(프리페칭 시점에 현재 페이지에서 이동할 수 있는 모든 페이지들의 자바스크립트를 사전에 불러온다.)3. next에서 js bundle시 요청페이지의 파일을 불러온다고 했는데, 요청페이지의 파일은 _app.tsx를 기준으로 하나요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
강의제목과 백준문제 제목 매칭표가 있을까요?
안녕하세요. 강사님~ 강의제목에 1-A 등으로 표시가 돼있어서 문제의 제목을 탐색하기가 어렵습니다.혹시 정리된 표가 있으시다면 공유부탁드려도 될까요?감사합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
이 문제 풀이 좀 보고싶은데 어디서 봐야할까요?
(기출)2022년 3회 코드해석 문제 25초 C언어 문제 해설 보고싶은데 어디서 볼 수 있을까요?
-
미해결자바 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를 가져와야할까요