묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 @Transactional 관련해서 질문이 있어요!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 좋은 강의 잘 보고 있습니다. 감사합니다다름이 아니라 선생님 강의 jpa로드맵과 스프링 완전 정복을 완강하고 토이 프로젝트 전에 리마인드 할겸 다시 보고 있는데요~지금 선생님께서는 서비스단 클래스 영역에서 트랜잭션을 걸어주고 계시는데 그럼 그 하위에 있는 로직 전체가 같은 커넥션을 사용하고 반환하는데 지금 이 예제에서 그 이점이 있을까요!?이유가 따로 있으시다면 궁금합니다. 저는 지금 서비스 클래스에서 로직 단위별로 트랜잭션을 걸어주고 있었는데 갑작스럽게 의문점이 생겨 질문드려요!~
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
도메인 모델과 테이블 설계 시 사용한 UML도구가 뭔지 궁금합니다!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 자료에서 도메인 모델, 엔티티 설계, 테이블 설계 다이어그램을 어떤 도구를 통해 작성하셨는지 궁금합니다!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
nestjs, graphql 강의중 resolver에서 service 클래스 메서드에 접근을 못 하는듯 합니다.(인젝트가 제대로 안된 듯 합니다.)
안녕하세요. 강사님."Nest.js - GraphQL 연결" 강의중 제목과 같이 resolver에서 service의 메서드로 접근을 못하는듯 합니다. 그럼 인젝트가 안된거 아닌가요? 해결책 문의 드립니다. "yarn start:dev" 오류없이 실행은 됩니다.app.module.ts, boards.module.ts, boards.resolver.ts boards.service.ts 코드 입니다.// app.module.ts import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo'; import { Module } from '@nestjs/common'; import { GraphQLModule } from '@nestjs/graphql'; import { BoardModule } from './apis/boards/boards.module'; @Module({ imports: [ BoardModule, GraphQLModule.forRoot<ApolloDriverConfig>({ driver: ApolloDriver, autoSchemaFile: 'src/commons/graphql/schema.gql', }), ], // controllers: [AppController], // providers: [AppService], }) export class AppModule {}// boards.module.ts import { Module } from '@nestjs/common'; import { BoardResolver } from './boards.resolver'; import { BoardService } from './boards.service'; @Module({ // imports: [], // controllers: [], providers: [BoardResolver, BoardService], }) export class BoardModule {}// boards.resolver.ts import { Query, Resolver } from '@nestjs/graphql'; import { BoardService } from './boards.service'; @Resolver() export class BoardResolver { constructor(private readonly boardService: BoardService) {} @Query(() => String) getString(): string { return this.boardService.serviceString(); } @Query(() => Number) getNumber(): number { return this.boardService.serviceNumber(); } @Query(() => Boolean) getOnlyResolver(): boolean { return true; } }// boards.service.ts import { Injectable } from '@nestjs/common'; @Injectable() export class BoardService { serviceString() { return 'Hello World!'; } serviceNumber(): number { return 100; } }"getOnlyResolver" 쿼리는 정상적입니다. Service까지 가지 않도록 테스트 했습니다."getString" 쿼리는 Service의 "serviceString()" 메서드로 접근 합니다. (오류 발생)"getNumber" 쿼리는 Service의 "serviceNumber()" 메서드로 접근 합니다. (오류 발생)"package.json" 정보 입니다.{ "name": "aaa", "version": "0.0.1", "description": "", "author": "", "private": true, "license": "UNLICENSED", "scripts": { "build": "nest build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "jest --config ./test/jest-e2e.json" }, "dependencies": { "@apollo/server": "^4.5.0", "@nestjs/apollo": "^11.0.4", "@nestjs/common": "^9.0.0", "@nestjs/core": "^9.0.0", "@nestjs/graphql": "^11.0.4", "@nestjs/platform-express": "^9.0.0", "graphql": "^16.6.0", "reflect-metadata": "^0.1.13", "rxjs": "^7.2.0" }, "devDependencies": { "@nestjs/cli": "^9.0.0", "@nestjs/schematics": "^9.0.0", "@nestjs/testing": "^9.0.0", "@types/express": "^4.17.13", "@types/jest": "29.2.4", "@types/node": "18.11.18", "@types/supertest": "^2.0.11", "@typescript-eslint/eslint-plugin": "^5.0.0", "@typescript-eslint/parser": "^5.0.0", "eslint": "^8.0.1", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^4.0.0", "jest": "29.3.1", "prettier": "^2.3.2", "source-map-support": "^0.5.20", "supertest": "^6.1.3", "ts-jest": "29.0.3", "ts-loader": "^9.2.3", "ts-node": "^10.0.0", "tsconfig-paths": "4.1.1", "typescript": "^4.7.4" } } 감사합니다.
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
undetected_chromedriver 사용시 widow-size 가 적용이 안됩니다.
5. bot detection 피하기 고급편에 나온 소스를 그대로 적용하였습니다.다른 부분은 문제가 없고, 에러 또한 없습니다.그런데 window-size 관련된 argument 값이 적용이 안됩니다.항상 큰 사이즈의 윈도우만 오픈되고 있습니다.python 버젼은 3.11.0 입니다.버젼을 다운그레이드 해야 할까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
타격시 소리를 추가한다고 한다면
안녕하세요. 만약에 타격시 소리를 추가한다고 한다면PlayerController 클래스의 OnHitEvent 메서드에서 Managers.Sound.Play를 호출해서 재생시키면 될것 같아요. 근데 또 특정 UI 가 켜지고 꺼질때나 플레이어가 죽을때 등등 많은 부분에서 사운드를 재생하는게 필요할텐데 그때마다 Managers를 호출해서 Sound를 재생시키면 안될것 같다는 느낌이 왠지 들어요. 너무 여러곳에서 Managers를 호출하면 코드가 꼬이지 않을까 하는 걱정이요. 그래서 InputManager를 구현한것 처럼 Action을 사용해서 다른곳에서 Sound 재생을 등록시키는게 더 나은 방법일까요..?GameScene이라는 곳에서 여러 Manager들을 호출해서 게임에 관련된 작업을 하는건 합리적으로 느껴지는데 다른곳에서도 Managers를 계속 호출하는게 괜찮은지 여쭤봅니당
-
해결됨스프링 배치
트랜잭션 경계 와 트랜잭션 begin에 대한 구분
안녕하세요 정수원 선생님 질문이 2개 있습니다.1) "Chunk Process 아키텍처" 첫번째 사진 설명부분 4:26쯤에 트랜잭션 경계와 실제 트랜잭션 begin을 구분하셨는데 이것이 무슨 차이인가요?아니면 어떻게 받아들여야하는것인가요? 2) 또한 코드를 디버깅 걸어서 따라가보니 TaskletStep#doInChunkContext 에서 new TransactionTemplate.execute() 에서 매 chunk마다 트랜잭션이 시작되는것은 확인하였는데 그림에 나온것 처럼 SImpleChunkProvider 다음과정에서 Transaction 시작하는곳을 찾지 못하겠습니다...
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
에러가 나서 해결은 하긴했는데 이유가 궁금해요(서버구동시 생성자 매개변수 bean 2개주입으로 인한 에러)
안녕하세요.제가 aop를 프로젝트 다 만들고나서 서버를 구동하니 에러가 좀나더라구요.우선 상황은MemoryMemberRepository 클래스파일에 @Repository 어노테이션이 추가되어 있는 상태였으며, TimeTraceAop 클래스 생성 후 강의보면서 강사님의 코드를 입력해서 추가, 이후 서버를 구동하니 에러가 나더라구요.아래는 에러메세지 입니다.Parameter 0 of constructor in hello.hellospring.SpringConfig required a single bean, but 2 were found:- memoryMemberRepository: defined in file [(생략)\hello\hellospring\repository\MemoryMemberRepository.class]- springDataJpaMemberRepository: defined in hello.hellospring.repository.SpringDataJpaMemberRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration 해당 에러문을 보고 MemoryMemberRepository클래서파일에 추가되어있는 @Repository 어노테이션을 제거 후 서버를 재구동하니 에러없이 정상적으로 프로젝트가 잘 돌아갔습니다. 제 SpringConfig파일에는 @Configurationpublic class SpringConfig {/** 2. 스프링 데이터 JPA 사용후 추가한 부분*/private final MemberRepository memberRepository; public SpringConfig(MemberRepository memberRepository) {this.memberRepository = memberRepository;} @Beanpublic MemberService memberService() {return new MemberService(memberRepository);}}이렇게만 코딩되어 있는데요.여기서 궁금한게 왜 SpringConfig생성자가 호출될때 매개변수로 2개가 들어간건지가 궁금합니다.원래는 SpringDataJpaMemberRepository 하나만 들어가야 하는거 같은데 어떻게 SpringDataJpaMemberRepository와 MemoryMemberRepository가 동시에 생성자의 매개변수로 들어가려 했는지.. @Repository가 어떤 영향을 주는걸까요?이전 jpa 강의를 들을때는 MemberRepository로 사용할 매개변수를 직접설정했는데 그 코드도 주석처리가 되어있습니다. 그래서 이해가 되지 않아 게시판이 질문남깁니다
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
{{{{index}}}} 의미가 궁금합니다.
초보라 궁금해서...ㅠㅠ[응용] 엑셀문서 값을 필드에 입력하기에서...hwp.PutFieldText(f"{field}{{{{{index}}}}}", value[idx]){{{{{index}}}}}에 대해서 설명해 주실 수 있을런지... {field}는 필드명을 가져오는건 알겠는데..{{{{index}}}}는 추정컨데 동일필드가 여러개 있을경우 페이지 기준으로 순서를 나타내는거 같은데..{}를 5중으로 적는게...원래 저렇게 그냥 쓰는건지...다른 어떤 의미가 있는건지요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
다대일 관계에서 일을 기준으로 페이징을 하려면 어떻게 해야하나요?
일대다 컬렉션 페치조인과 페이징은 기본적으로 양방향을 전제하고, 일을 기준으로 페이징을 하기 때문에 Batch Size 를 이용하는 것은 이해했습니다. Q. 그렇다면 컬렉션이 생기지 않는 다대일 단방향 매핑 구조에서 일 을 기준으로 페이징하려면 어떻게 해야할지 궁금합니다. 예를 들어 게시글(1) : 댓글 (N) 이고 댓글 -> 게시글 방향으로 다대일 단방향 매핑이라면, 게시글을 기준으로 페이징하고 싶을 때 어떻게 하면 될까요? 항상 영한님과 서포터님들께 감사드립니닷!!🙇♂️
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
cnt %= n을 추가함으로써 시간초과 -> 성공 으로 되는것이 이해가 어렵습니다...
안녕하세요. 선생님좋은 강의 잘 듣고있는 취준생입니다..1-O강의에 대해 질문이 있습니다.cnt %= n을 추가함으로서 시간초과를 해결하였는데 , 이유가 무엇인지 궁금합니다. 제 생각에는 이 코드를 추가하면 계산량이 많아져서 시간이 더 오래걸릴 것이라 생각했습니다. cnt의 값이 커지면 cnt*10 + 1을 하는 것이 더 오래걸려서 그런건가요?.. 알려주시면 감사하겠습니다!
-
미해결핸즈온 리액트 네이티브
9.9 오류가 뜨는데 뭐가 문제인지 모르겠습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강의의 내용을 벗어나는 질문 혹은 관련 없는 질문에 대해서는 답변하지 않습니다. (ex. 자바스크립트, 강의에서 사용하지 않는 라이브러리, 강의 내용과 다르게 진행한 프로젝트에 대한 질문)<질문 남기기 전에 스스로 해결하는 연습을 해보세요>- 스스로 문제를 해결하는 연습은 여러분의 실력향상에 큰 영향을 미칩니다. 1. 차분하게 여러분 코드의 오타 여부를 확인해 주세요. 2. 발생한 문제를 구글에서 검색해서 확인해 보세요. <잘 해결이 안 될 때에는, 질문을 남겨주세요>1. 코드에 질문이 있다면 코드를 깃헙(https://github.com/)에 올리고 주소 링크를 남겨주세요. 2. 문제 발생 상황 등, 내용을 자세히 작성해주세요.이렇게 오류가 뜨고 스크롤 다운을 계속 하면 끝이 없고 무한 반복으로 내려갑니다. 저의 깃헙 주소 남기겠습니다. https://github.com/JunseongKim0105/final-project.git
-
미해결남박사의 파이썬으로 실전 웹사이트 만들기
왜 list창으로 넘어가지 않나요?
로그인, 글쓰기 모두 이상 없는데... list 클릭 시 하기처럼 Error 가 발생합니다OS는 윈도우10 Mongodb 4.2.22 입니다파일 "D:\PM_WebService\venv\Lib\site-packages\flask\app.py", 2551 행, 안으로 __call__ def __call__(self, environ: dict, start_response: t.Callable) -> t.Any: """The WSGI server calls the Flask application object as the WSGI application. This calls :meth:`wsgi_app`, which can be wrapped to apply middleware. """ return self.wsgi_app(environ, start_response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^파일 "D:\PM_WebService\venv\Lib\site-packages\flask\app.py", 2531 행, 안으로 wsgi_app try: ctx.push() response = self.full_dispatch_request() except Exception as e: error = e response = self.handle_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^ except: # noqa: B001 error = sys.exc_info()[1] raise return response(environ, start_response) finally:파일 "D:\PM_WebService\venv\Lib\site-packages\flask\app.py", 2528 행, 안으로 wsgi_app ctx = self.request_context(environ) error: t.Optional[BaseException] = None try: try: ctx.push() response = self.full_dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ except Exception as e: error = e response = self.handle_exception(e) except: # noqa: B001 error = sys.exc_info()[1]파일 "D:\PM_WebService\venv\Lib\site-packages\flask\app.py", 1825 행, 안으로 full_dispatch_request request_started.send(self) rv = self.preprocess_request() if rv is None: rv = self.dispatch_request() except Exception as e: rv = self.handle_user_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ return self.finalize_request(rv) def finalize_request( self, rv: t.Union[ft.ResponseReturnValue, HTTPException],파일 "D:\PM_WebService\venv\Lib\site-packages\flask\app.py", 1823 행, 안으로 full_dispatch_request try: request_started.send(self) rv = self.preprocess_request() if rv is None: rv = self.dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^ except Exception as e: rv = self.handle_user_exception(e) return self.finalize_request(rv) def finalize_request(파일 "D:\PM_WebService\venv\Lib\site-packages\flask\app.py", 1799 행, 안으로 dispatch_request and req.method == "OPTIONS" ): return self.make_default_options_response() # otherwise dispatch to the handler for that endpoint view_args: t.Dict[str, t.Any] = req.view_args # type: ignore[assignment] return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ def full_dispatch_request(self) -> Response: """Dispatches the request and on top of that performs request pre and postprocessing as well as HTTP exception catching and error handling.파일 "D:\PM_WebService\run.py", 137 행, 안으로 lists query = {"$or": search_list} board = mongo.db.board datas = board.find(query).skip((page-1) * limit).limit(limit) tot_count = board.find(query).count() ^^^^^^^^^^^^^^^^^^^^^^^ last_page_num = math.ceil(tot_count / limit) block_size = 5 block_num = int((page-1) / block_size) block_start = int((block_size * block_num) + 1)
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청
권한 요청 드립니다.인프런 아이디 : cldud970@gmail.com인프런 이메일 : cldud970@gmail.com깃헙 아이디 : cldud970@naver.com깃헙 Username : Returnmakdo
-
해결됨웰컴 투 태블로 월드
상관관계와 분포 나타내는 차트 실습에서 측정값 컬럼이 없습니다
안녕하세요. 태블로 입문자로 태블로 퍼블릭을 통해 실습 및 강의 잘 진행하고 있습니다.차트 강의 중 상관관계와 분포 나타내는 차트 강의 중 측정값 컬럼을 바에 입력하는 내용이 있는데, 다운로드 받은 데이터에서 측정값 컬럼이 없는 상태더라고요.데이터는 superstore KR을 사용하고 있습니다. 감사합니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
context 질문 있습니다.
안녕하세요export const AuthProvider = ({ children }: { children: React.ReactNode }) => {}에서 ({ children }: { children: React.ReactNode }) 질문입니다.뒤에 타입 부분이 헷갈리는데, ({ children }: { children: React.ReactNode }) 하지 않고 ({ children }: React.Node} 이렇게 하면 왜 안되는건가요?
-
미해결
[프로그래머스 탐욕법 Lv.2 조이스틱] 왜 안 되는지 정말 모르겠네요
다른 분들 알고리즘과 크게 다를 것이 없는데도 안 되는 이유를 모르겠네요;;;알파벳 변경횟수 미리 구하고(왼쪽과 오른쪽 중 최소의 이동횟수) + (알파벳 변경 횟수)까지 더한 게 적은 쪽으로 이동시키는 건데점수가 55점이 나오는 거는 도통 이해가 안 되네요;;;아니면 dfs로 풀면 된다고도 하는데 그럼 Greedy 문제가 아니지 않나요???function solution(name) {// 알파벳과 A사이의 거리 모두 재기let array = [];for(let i=0; i<name.length; i++) {array.push(Math.min( name.charCodeAt(i) - 65, 91 - name.charCodeAt(i) ));}let here = 0, left = name.length-1, right = 1;// 왼쪽과 오른쪽 알파벳이 A라면 아닐때까지 이동while(array[right] === 0) right++;while(array[left] === 0) left--;let answer = array[here];while(left >= right) {// 왼쪽과 오른쪽 알파벳이 A라면 아닐때까지 이동while(array[right] === 0) right++;while(array[left] === 0) left--;// 왼쪽 알파벳 오른쪽 알파벳 중// 도달값 + 거리값이 작은 쪽으로 이동// 도달값은 오른쪽 방향 거리와 왼쪽 방향 거리 중 짧은 곳으로 정함let r = Math.min(Math.abs(right - here), array.length - Math.abs(right - here)) + array[right];let l = Math.min(Math.abs(left - here), array.length - Math.abs(left - here)) + array[left];if(r <= l) {let tmp = right;right++;here = tmp;answer += r;} else {let tmp = left;left--;here = tmp;answer += l;}}return answer;}
-
해결됨구글 애널리틱스 GA4 완전 정복 실무 마스터 클래스
구성 탭이 안보입니다
구성 탭이 안보이는데 어떻게 해야 하나요
-
미해결홍정모의 따라하며 배우는 C++
9: 40초경 내용 제가 생각한게 맞나요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.list[3] = 10; 은 주소값에 10이 들어가버리니깐 not ok 인거고 (*list)[3] = 10; 은 포인터 list를 *이 dereferencing 해주고 그 해준 어레이의 4번째 공간에 10 값을 대입하는것같은데 제가 맞게 이해한건가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
변경감지 질문입니다.
변경감지가 되어 .persist없이 update문이 발생하는건 객체가 영속성 컨테이너에서 관리되고 있을때 만 변경감지가 일어아는건가요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
시간복잡도 잘문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.2개의 스택으로 1개의 큐를 구현하는과정에서dequeue()를 할 때, 아웃스택이 비어있지않은 경우에는 O(1)을 갖고, 아웃스택이 비어있지 않은 경우에는 O(n)의 시간복잡도를 갖는건 이해했는데왜 결론적으로 O(1)의 시간복잡도를 갖는지 모르겠습니다.amortized의 정의도 함께 알려주시면 감사할것같습니다.