묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
사진 업로드시 500에러..
가입후 사진업로드시 500에러가 나서 데이터이름이나 스펠링이 틀린부분이 있나 재 확인했스나 오타는 없었습니다.선생님께서는 해당오류가 안나는지 궁금합니다.
-
미해결
bitlife - Human life simulation game
In the BitLife Life Simulator, you will play a simulation game where you must make life-changing choices. For instance, you could wed the love of your life, start a family, and further your education. You can also choose options that, to be honest, will frighten your parents, but hey, maybe they'll be entertaining? You can start dating, start looking for adventure, start a prison riot, smuggle bags of drugs, or cheat on your significant other. You choose the narrative. Although there are many interactive story games available, this is the first text-based life simulator that can adequately simulate the story.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceINtegrationTest 가 Component가 아닌데 Autowired가 먹히는 이유가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]의존성 주입에 대해서Bean 에 등록된 싱글톤 클래스들 사이에서 자동으로 스프링이 의존관계를 넣어준다고 배웠는데,MemberServiceTestIntegration은 콤포넌트가 아닌데 어떻게 스프링이 의존성을 주입해 줄 수 있었는지 의아합니다. @SpringBootTest 어노테이션에 @Component가 있나 확인해봤으나 없더라구요.어째서 이러한 일이 발생한 것인 가에 대해서 의문을 가지고 있습니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
MulterError: Unexpected field 에러 질문
선생님 MulterError: Unexpected field라는 에러가 발생해서routes에서 이미지 업로드 할 때 upload.single('profile')으로 하고 프론트의 해당 input의 name도 'profile'로 맞췄는데도(해당 에러를 검색해보니까 인자와 인풋 네임을 맞추라고 해서요..) 같은 에러가 발생하는 이유가 뭔가요?일단 에러 코드의 전문은MulterError: Unexpected field at wrappedFileFilter (C:\Users\내컴\Desktop\passionary\back\node_modules\multer\index.js:40:19) at Multipart.<anonymous> (C:\Users\내컴\Desktop\passionary\back\node_modules\multer\lib\make-middleware.js:107:7) at Multipart.emit (node:events:390:28) at HeaderParser.cb (C:\Users\내컴\Desktop\passionary\back\node_modules\busboy\lib\types\multipart.js:358:14) at HeaderParser.push (C:\Users\내컴\Desktop\passionary\back\node_modules\busboy\lib\types\multipart.js:162:20) at SBMH.ssCb [as cb] (C:\Users\내컴\Desktop\passionary\back\nodemodules\busboy\lib\types\multipart.js:394:37) at feed (C:\Users\내컴\Desktop\passionary\back\node_modules\streamsearch\lib\sbmh.js:248:10) at SBMH.push (C:\Users\내컴\Desktop\passionary\back\node_modules\streamsearch\lib\sbmh.js:104:16) at Multipart._write (C:\Users\내컴\Desktop\passionary\back\node_modules\busboy\lib\types\multipart.js:567:19) at writeOrBuffer (node:internal/streams/writable:389:12)이렇습니다ㅠㅠ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Whitelabel Error Page
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]h2 db를 연결하고 회원목록 조회 나 회원가입에서 등록을 하면 이미지 와 같은 오류가 발생합니다. intelliJ에서 MEMBER 테이블을 찾을수 없다고 하는데 H2에는 MEMBER테이블이 있습니다. application.properties에도 3줄 잘 작성되어 있습니다.. 고칠려고 여러개의 글을 찾았는데 해결하지 못했습니다. 도와주세요!
-
미해결
1v1 Battle - play with friends
the year's most thrilling shooting game. An incredibly captivating online shooting game is 1v1 Battle. Spend some time playing with your friends; you'll find this to be a great game.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
Querydsl 강의와 연관된 질문
안녕하세요 영한님, 서포터즈님들저는 영한님 Querydsl 강의를 다 듣고 나서 현재 강의를 듣고 있는데, 현재 강의의 querydsl 의 클래스 의존관계와 Querydsl 강의의 클래스 의존관계가 달라 궁금한 점이 생겼습니다.기존 Querydsl 강의에서는 아래의 사진과 같은 클래스 의존관계로 만들었습니다.public interface ItemRepositoryV3 extends JpaRepository<Item, Long>, ItemRepositoryCustom { } public interface ItemRepositoryCustom { } public class ItemRepositoryImpl implements ItemRepositoryCustom { } @RequiredArgsConstructor @Service public class ItemServiceV3 { private final ItemRepositoryV3 itemRepositoryV3; }ItemServiceV3에서는 ItemRepositoryV3를 주입받는데 이때 구현체는 어떤 것인지 궁금해서 코드를 작성해보았습니다.@SpringBootTest class ItemServiceV3Test { @Autowired ItemServiceV3 itemServiceV3; @Autowired ItemRepositoryV3 itemRepositoryV3; @Autowired ItemRepositoryCustom itemRepositoryCustom; @Test void aa() throws Exception { System.out.println("itemServiceV3.getClass() = " + itemServiceV3.getClass()); System.out.println("itemRepositoryV3.getClass() = " + itemRepositoryV3.getClass()); System.out.println("itemRepositoryCustom.getClass() = " + itemRepositoryCustom.getClass()); System.out.println("ProxyUtils.getUserClass(itemRepositoryV3) = " + ProxyUtils.getUserClass(itemRepositoryV3)); System.out.println("ProxyUtils.getUserClass(itemRepositoryCustom) = " + ProxyUtils.getUserClass(itemRepositoryCustom)); } }itemServiceV3.getClass() = class hello.itemservice.repository.v3.ItemServiceV3itemRepositoryV3.getClass() = class com.sun.proxy.$Proxy106itemRepositoryCustom.getClass() = class com.sun.proxy.$Proxy106ProxyUtils.getUserClass(itemRepositoryV3) = class org.springframework.data.jpa.repository.support.SimpleJpaRepositoryProxyUtils.getUserClass(itemRepositoryCustom) = class org.springframework.data.jpa.repository.support.SimpleJpaRepository 그래서 위와 같은 결과를 얻을 수 있었는데요여기서 궁금한 점이 ItemRepositoryCustom 인터페이스는 아무런 제스처도 취하지 않았는데 왜 프록시 클래스가 만들어진건지 모르겠습니다..,,제가 Querydsl 강의에서 놓친 부분이 있다면 어느 부분인지 말씀해주시면 감사하겠습니다.긴 글 읽어주셔서 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
단순 run 할때 intellij 가 꺼집니다.
단순히 run 만 했을뿐인데 intellij 가 툭하고 꺼져버립니다. 세팅에 대해선 건드린점이 없구요...왜그런걸까요 ?
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
활용 앱71강 질문
강의를 보고 커스텀 델리게이트를 사용하는 코드로 변경을 한 뒤 실행을 하였습니다. 회원 목록을 추가하고 save 버튼을 누르면 메인 화면 조커 밑에 새로운 회원 목록이 생겨야 하는데 생기지가 않습니다.. 다만 새로 다시 추가를 눌렀을 때 멤버번호가 올라가는 것으로 봐서는 배열에는 추가가 된 거 같은데 어느 부분이 빠져서 메인 페이지에 추가가 안 될까요 ㅠㅠ
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
인텔리J 플러그인이 궁금합니다
강의 중간 중간에 호돌맨님께서 빌드 후 테스트 하고나면 캡쳐화면처럼 방금 전에 수행한 후 line by line 으로 각 변수의 사이즈, 값, 타입들이 나오더라고요.신기한 플러그인 같은데 혹시 어떤 플러그인일까요??감사합니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
volume 관련 질문
PV-PVC 관련하여 몇 가지 문의 드립니다. PV 와 PVC 생성 시 엑세스 모드가 서로 다른상태라면 PV와 PVC가 연결이 안되는 것인가요?PVC 생성 시 별도이 PV의 이름을 지정하지 않는것으로 보아 엑세스 모드와 용량으로 판별하여 PV와 연결이 되게 되나요? 만약 엑세스모드와 용량이 같은 여러 PV가 존재한다면 PVC는 생성 시 어떤 기준으로 PV와 연결되게 되나요?실습은 PV를 특정 노드에서 만들었기 때문에 해당 노드에서 생성된 Pod만 연결이 가능하고 다른 노드에서 생성된 pod는 pvc 연결이 불가능한 부분이 맞나요? 아니면 pvc 연결이기 때문에 다른 노드에서 생성된 pod도 볼륨 지정이 가능한가요?노드에서 pv를 만든것이 아닌 클라우드스토리지(ex : Azure에 Blob 또는 AWS에 S3)로 만들 경우 Pod에 노드 위치와 상관없이 볼륨 연결이 가능할까요?쿠버네티스가 처음이라.. 질문이 많네요. 전문가가 보아 이상한 질문일 수도 있지만 답변 부탁 드립니다.
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
토픽 생성시 파티션이 배치되는 방법
안녕하세요 강의 잘보고있습니다."토픽 생성시 파티션이 배치되는 방법" 설명중파티션이 5개인 토픽을 생성했을 경우 0번 브로커부터 시작하여 round-robin방식으로 리더 파티션들이 생성되어 네트워크 통신을 골고루 가능하는 부분에서 프로듀서와 컨슈머는 리더 브로커만 통신하는데 파티션이 0번부터 2번까지 골고루 생성되면 컨슈머는 리더 브로커뿐만 아니라 팔로우 브로커와도 통신을 하게되는게 아닌가요?!
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
useCreateIndex 지원하지 않음. 옵션에서 빼세용
useCreateIndex 지원하지 않음. 옵션에서 빼세용
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
WinSCP 로그인 설정 관련해서
선생님 안녕하세요. windSCP 로그인 설정 관련해서 오류가 발생하여 문의 드립니다. 4분 29분에 나오는 다운로드받은 키파일을 업로드하려고 했더니, 아래와 같은 에러메시지가 나옵니다.어떻게 해결할 수 있을까요? < 경고 >개인키 파일 '~~ .pem'가 존재하지 않거나 열수 없습니다. 시스템 오류입니다. 오류코드: 5액세스가 거부되었습니다
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
Functional API
Functional API 이용해서 model.summary 보려니까 boundmethod model 이라고 뜨는데 요약보려면 어떻게해야하나요?
-
미해결빠르게 git - 핵심만 골라 배우는 Git/Github
git checkout 과 git switch/restore
안녕하세요.git checkout이 git switch, git restore로 대체된 것으로 나오는데, 어떤 상황에서 git switch나 git restore를 써야하는지 그 차이에 대해서 설명을 해주실 수 있을까요?#차이점1checkout: Switch branches or restore working tree filesswitch: Switch branchesrestore: Restore working tree files #차이점2switch --- local 에 있는 브랜치로만 이동 가능checkout --- remote에 있는 브랜치로도 이동 가능 #referencehttps://git-scm.com/docs/git-checkouthttps://git-scm.com/docs/git-switchhttps://git-scm.com/docs/git-restore 감사합니다.
-
미해결실전! Querydsl
querydsl Mssql 연동
현업에서 사용하기위해mssql이랑 querydsl을 같이 설정하려고 하는데mssql querydsl 따로 프로젝트 만들어서 세팅하면 정상동작하는데요 합쳤을때 compileQuerydsl을 실행하면 에러가 나는데 왜 그런지 모르겠습니다.Unable to load class 'com.mysema.codegen.model.Type'.오류메시지입니다.plugins { id 'org.springframework.boot' version '2.7.5' id 'io.spring.dependency-management' version '1.0.15.RELEASE' //querydsl 추가 id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10' id 'java' } group = 'stury' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } querydsl.extendsFrom compileClasspath } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.h2database:h2:2.1.214' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //배포용 implementation 'org.springframework.boot:spring-boot-starter-data-jdbc' runtimeOnly 'com.mysql:mysql-connector-j' implementation group: 'com.microsoft.sqlserver', name: 'mssql-jdbc', version: '11.2.1.jre8' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.1' //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa' implementation 'com.querydsl:querydsl-apt' // annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } //querydsl 추가 시작 def querydslDir = "$buildDir/generated/querydsl" querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } compileQuerydsl{ options.annotationProcessorPath = configurations.querydsl } //Querydsl 추가, 자동 생성된 Q클래스 gradle clean으로 제거 clean { delete file('src/main/generated') } //querydsl 추가 끝
-
미해결스프링 시큐리티
쓰레드 생명 주기?
안녕하세요.강사님의 시큐리티 강의를 재밌게 듣고 있는 수강생입니다.이게 맞게 질문드리는건진 모르겠는데,쓰레드 로컬의 생명주기는 어떻게 되는걸까요? 몇가지 질문을 드리자면..제가 스프링을 학습해보면서 사용자가 서버에 접속하면 서블릿 컨테이너의 쓰레드 풀에서 쓰레드 하나를 할당받아 사용하는 걸로 알고 있는데, 시큐리티에서 사용되는 쓰레드가 풀에서 받은 쓰레드랑 동일한 것일까요?클라이언트는 인증이 완료되고, DispatcherServlet까지 거쳐 정상적인 응답을 받으면 쓰레드를 반환하지 않는지요? 쓰레드를 반환하면 컨텍스트 정보가 다 날라갈 것이라 생각했는데, 시간 지나도 로그인 유지가 잘 되는거 같아 의아합니다.톰캣의 쓰레드 풀 설정을 보통 몇십개에서 몇백개 사이로 하던데, 동시 접속자 수가 많아져 쓰레드 개수가 부족하면 인증 정보가 SecurityContext에 어떻게 관리될지가 궁금합니다.제가 아는 정보가 좀 짬뽕되어 맞게 질문드리는 건진 모르겠으니 강사님의 소중한 고견 좀 부탁드리겠습니다. 감사합니다!
-
미해결스프링 시큐리티
인자를 두개 넘기게 할수 있는 방법있을까요??
[spring][spring security] 기존에는1)Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken); ------> 2) public class CustomAuthenticationProvider implements AuthenticationProvider authenticate(authenticationToken) 메소드 ------> 3)public class PrincipalDetailService implements UserDetailsService 1)을 호출하면 2)클래스와 3) 클래스가 사용됩니다.------------------------------------------------------------------------저는 여기서 !!!! 인자를 2개 넘기고 싶습니다.1)Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken, "인자 추가")------> 2) public class CustomAuthenticationProvider implements AuthenticationProvider의 authenticate (authenticationToken, "인자 추가") 메소드 하면 에러가 납니다. 이미 security가 지원하는 AuthenticationProvider을 받아서 쓰는 거라 인자 추가가 안되는 것 같습니다... 스 할 수 있는 방법이나 아이디어가 있으실까요?? 어떤 아이디어도 좋습니다 !참고로) AuthenticationProvider는 읽기 전용이라 수정이 안되기도 하고, spring이 제가 만든 AuthenticationProvider 사용하지 않습니다...!
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
엔티티의 필드가 많을 때 업데이트 방법?
API 개발 기본 - 회원 수정 API해당 강의 시리즈를 들으며 전 강의부터 생겼던 궁금한 사항에 대해 질문을 드립니다. 예제의 경우는 최대한 간단하게 간소화시킨 엔티티를 예시로 들었지만, 필드가 많은 엔티티의 경우에는 어떤 방식으로 업데이트를 하는지 감이 잡히질 않네요. // java @RequestMapping(value = "/v1/edit/{memberId}", method = RequestMethod.PUT) public EditMemberResponse editMemberV1(@PathVariable Long memberId, @RequestBody @Valid EditMemberRequest request) { memberService.update(memberId, request.getName()); ... return new EditMemberResponse(member); }강의 내용 중 위와 같이 업데이트 파라미터에 DTO 필드를 받아 업데이트 하도록 서비스를 작성하셨는데, 단순히 이름만 있는 엔티티 클래스가 아닌 필드가 굉장히 많은 엔티티의 경우에는 어떤식으로 업데이트 처리하는 것이 효율적일지 궁금해서 질문을 드립니다. @Entity public class Temp { @Id @GeneratedValue private Long id; private String field01; private String field02; // ...무수히 많은 필드들 private String field66; private String field67; } 예를들어, 위와 같은 Temp 클래스의 경우를 업데이트 하기 위해 앞서 설명한 방식으로 업데이트 기능을 서비스계층에 구현한다면 아래와 같이 실질적으로 사용이 불가능할정도로 가독성과 생산성이 떨어졌습니다.// java tempService.update( editTempRequest.getField01(), editTempRequest.getField02(), editTempRequest.getField03(), editTempRequest.getField04(), ..., editTempRequest.getField67() ); 아래와 같이 서비스 계층에 EditTempRequest DTO 계층 클래스를 직접 넘기는 방법도 생각을 해보았습니다만, 서비스 계층에서 DTO 클래스를 이용하기 위해 컨트롤러 계층에서 이너 클래스로 선언된 DTO를 별도의 public 클래스로 선언해주어야 되므로 별도의 자바 파일과 패키지를 구성하게 되어 불필요한 복잡도가 증가하는 문제가 발생했습니다. 또한, 단순히 요청, 응답을 위해 데이터를 담는 목적으로 사용되어야 하는 DTO 클래스의 역할과 책임이 확장되는 문제도 생겼습니다.// java import com.wahhahaha.controller.dto.editTempRequest; ... tempService.update( editTempRequest ); 클라이언트 측에서 수정 API를 호출하기 전에 조회 API를 우선 호출하여 각 필드 정보를 가진 상태로 전체 필드를 이용한다면 merge 업데이트로 쉽게 해결이 가능하겠다라는 생각을 해보긴 했지만 merge는 가급적 이용하지 않는 편이 좋다는 전 강의 내용이 있어 혼란스럽네요.