inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

38강 질문

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

안녕하세요 강의 잘 듣고 있습니다. 강의를 듣다 질문이 있어서 글 남깁니다! profiles 설정을 할때 인텔리제이 무료 버전이라 add vm options 를 -Dspring.profiles.active=local 로 설정하면 local로 설정할 수 있다고해서 이런식으로 일단 profiles를 local로 설정했는데 홈페이지 실행 후 접속하니 mysql에서의 정보가 그대로 남아있습니다. local설정을 잘 했는데 h2에 연결이 안되는거 같은데 원인이 무었일까요? 그리고 h2사이트에 접속해 강의 내용대로 connect를 하니 접속이 안됩니다...

  • java
  • spring
  • aws
  • spring-boot
  • mysql
  • jpa
  • JPA
오늘내일 댓글 1 좋아요 1 조회수 447

크롤링 데이터 가공 후 입력창에 넣기

미해결

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

수업 잘 듣고 있습니다. 자동화를 하고 싶으서 예전 영상 보다가 최근에 다시 올라와서 보는 중 강의 발견하고 바로 수강해서 듣고 있습니다. 궁금한 것이 하나 있는데요. 셀레니움에서 하나의 윈도우 창의 특정 태그 값을 찾아서 다른 윈도우 창을 오픈 한 후 특정 필드에 값을 넣을 수 있나요?

  • 웹-크롤링
  • beautifulsoup
  • python
  • selenium
  • beautifulsoup
  • selenium
  • 웹-크롤링
ecomarine 댓글 1 좋아요 0 조회수 448

git 주소

해결됨

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)

강사님 이해안되서 git좀 참고하려고하는데 강의하신 자료랑 git주소좀 알려주세요 ..

  • 동시성
  • python
  • FastAPI
  • 동시성
gusdnr598 댓글 1 좋아요 0 조회수 412

DB 값 질문

해결됨

실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)

안녕하세요 코틀린강의부터 코프링까지 잘 듣고 있습니다. 바로 질문 드리자면,! 1.saveUserTest2라는 테스트케이스를 한 개 더 만들어서 모든 테스트를 진행 시킨다면, saveUserTest는 통과하지만 saveUserTest2는 DB데이터가 2개 가 있어서 통과되지 못 합니다. 이럴 때는 어떻게 해야 독립적으로 DB값을 가지게 할 수 있나요? @Transactional 쓰는 rollback된다고 얼핏 들은 거 같은데 잘 모르겠네요.. 2.실제 h2 DB에는 유저가 2명이 저장이 되어 있는데 테스트환경에서는 0명인 이유는 @SpringBootTest 어노테이션이 실제 실행환경과 완전히 독립된 환경을 만들어 주어서 그런 건가요? 감사드립니다.

  • refactoring
  • spring
  • spring-boot
  • 리팩토링
  • kotlin
  • java
차가운물 댓글 1 좋아요 1 조회수 485

Authorization Code 궁금증이 있습니다.

해결됨

스프링 시큐리티 OAuth2

안녕하세요 선생님 강의 잘 듣고 있습니다 Authorization Code 요청하기 강의를 듣고 궁금한점이 생겨서 질문 올립니다 이번 강의의 핵심은 임시코드 발급하기 였습니다 클라이언트가 keyCloak 와 연동해서 어떻게 redirect uri 를 만들고 어떻게 요청을 하고 인증이 완료 되는것도 같이 해보았습니다 다만 저는 좀 궁금한게 선생님이 총 2개의 로그인 방식을 보여주셨다고 생각합니다 이 링크를 클릭했을때의 방식 다른 방식은 세션을 완전히 제거한 이 화면에서 로그인 하는 방식을 보여주셨습니다 여기선 궁금한건 이번강의 주제는 임시코드를 발급받는 Filter 에 대해서 공부중인데 첫번째 스크린샷에서는 선생님이 말씀하신 대로 OAuth2AuthorizationRequestRedirectFilter 에서 잘 요청이 들어옵니다 requset 가 "/oauth2/authorization"; 들어오기 떄문인데 두번쨰 스크린샷에서는 전혀 이 필터를 태우지 않습니다 저는 임시코드 발급이라고 하길래 지금 할려는 스크린샷 1 , 2 두 행동 모두가 임시코드를 발급받기 위한 행동으로 알고 있습니다 그런데 첫번째 스크린샷은 OAuth2AuthorizationRequestRedirectFilter 필터를 태우고 두번째 스크린샷은 OAuth2LoginAuthenticationFilter 이 필터를 태우고 있습니다 이 앞의 configure 강의에서도 요청 순서 말씀하시면서 OAuth2AuthorizationRequestRedirectFilter 가 먼저 요청을 받아서 임시코드를 받아오고 그 다음 OAuth2LoginAuthenticationFilter 가 진행된다 라고 하셔서 제가 지금 혼동이 오는거 같습니다. 앞의 부분에서 제가 놓친 부분이 있을까요 선생님?

  • java
  • spring
  • spring-boot
  • oauth
김동연 댓글 1 좋아요 0 조회수 419

[SOLVE] 고양이 프로젝트 로그인 API 프론트엔드 연결 문제

해결됨

탄탄한 백엔드 NestJS, 기초부터 심화까지

네트워크 소스 확인해보니, 같은 강의에서 수행된 Swagger에서 사용한 Header(Authorization)이 살아있고 이를 이용해 로그인 시도하는 것을 확인했습니다. swagger 로그인을 수행하신 분들은 기존 쿠키 삭제하고 다시 시도하시면 정상 로그인 됩니다. 안녕하세요 고양이 프로젝트 로그인 API 연결이 잘 안되어 질문드립니다. 포스트맨에서는 로그인이 정상적으로 수행됩니다. 그런데 프론트에서 로그인을 수행하면 다음과 같이 Unauthorized 에러가 발생합니다. 비밀번호를 다르게 입력해보니 이메일과 비밀번호를 확인하라는 에러가 뜨는걸로 봐서 뭔가 다른 문제가 있는것 같습니다. 아마 프론트 문제인것같은데 어떻게 해결해야할지 모르겠습니다... 도움주시면 감사하겠습니다.

  • node.js
  • nodejs
  • mongodb
  • nestjs
  • express
  • NestJS
  • ssr
  • ssr
말하는 감자 댓글 1 좋아요 0 조회수 520

실전예제 4 - 상속관계 매핑 11:05

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요. 실전예제 4 - 상속관계 매핑 11:05 부분에서 'json으로 말아넣는다'는 의미가 어떻게 넣는다는 의미인가요?

  • java
  • jpa
  • JPA
댓글 1 좋아요 2 조회수 536

현재 nodemon 커널 실행 nodemon yarn aaa 부분 수강중 입니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

윈도우 환경에서 yarn 이 에러가 나서 npm으로 진행중입니다~ "npm yarn 은 성능만 차이가 나고 명령어는 똑같다" 라고 알고 있는데, 명령어도 다른건가 라는 의문이 들어 질문 드립니다. npm의 경우는 pakage.js 에 아래와 같이 작성 후 npm aaa 로는 실행이 안되고, npm run aaa 로 만 실행이 되는데, yarn aaa 는 실행이 잘 되는듯 하네요 왜 그런 걸까요? run 이 생략된 걸까요? 웹펙 쪽을 먼저 학습하고 가야 할지... 수업 들으면서 모르는걸 다 질문드려도 될까요? package.json script:{ "aaa":"nodemon app.js" }

  • node.js
  • javascript
  • nodejs
  • docker
  • rest-api
  • rest-api
  • tdd
  • nestjs
  • express
  • NestJS
김주원 댓글 1 좋아요 0 조회수 301

서비스 운영 중에 @MappedSuperclass 확장 가능 여부

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요. @MappedSuperclass 어노테이션을 사용하는 BaseEntity 클래스는 아래와 같은 필드를 갖고 있습니다. CREATEDBY CREATEDDATE LASTMODIFIEDBY LASTMODIFIEDDATE 여기서 궁금한 점이 하나 생겼는데요. 만약 처음에 100개의 클래스 중 100개 클래스 모두가 BaseEntity 클래스를 상속받아서 공통 필드를 사용하고 있습니다. 그런데 운영중에 100개 중 50개의 클래스에서만 사용하는 공통 필드가 추가되면 이런 경우에는 어떻게 처리하면 좋을까요? 자바에서 상속은 1개만 할 수 있어서 고민이 됩니다. 50개의 클래스에 노가다로 필드를 입력해야 좋을지,,

  • java
  • jpa
  • JPA
kekekiki 댓글 1 좋아요 0 조회수 512

list.reverse() 출력에 대해서 질문있습니다.

해결됨

남박사의 파이썬 기초부터 실전 100% 활용

안녕하세요. 남박사님. list() 데이터 구조에서 reverse() 메서드의 결과값이 이해가 안되서 질문을 남기게 되었습니다. a=[4,5,6,1,2,3] a.sort() print(a) b=[4,5,6,1,2,3] b.reverse() print(b) [1, 2, 3, 4, 5, 6] [3, 2, 1, 6, 5, 4] sort()는 정방향 정렬, reverse()는 역방향 정렬이라고 배웠는데요. 역방향 정렬의 결과값이 제가 생각했을 때는 [6,5,4,3,2,1]로 출력되어야 할것 같은데 제 예상과는 반대로 [3,2,1,6,5,4]로 출력되고 있습니다. 왜 그런지 궁금합니다.

  • 웹-크롤링
  • 웹-크롤링
  • python
Hyeongwon Yun 댓글 1 좋아요 1 조회수 458

퍼사드 패턴 코드 공유 드립니다!

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

퍼사드 패턴 관련하여 노션 코드는 강의 코드와 다르기때문에, 에러를 해결하지 못하신 분들을 위해서 코드 공유 드립니다. (에러메세지로 위치, 그 위치에 해당하는 강사님이 강의 진행시 적어주셨던 코드와 대조하여서 작성하였습니다) // index.js import { checkValidationPhone, getToken, sendTokenToSMS} from './phone.js' // requestAnimationFrame('./phone.js') console.log('안녕하세요~~'); function createTokenOfPhone(myphone) { // 1. 휴대폰번호 자릿수 맞는지 확인하기 const isValid = checkValidationPhone(myphone); if (isValid) { // 2. 핸드폰 토큰 6자리 만들기 const mytoken = getToken(); // 3. 핸드폰번호에 토큰 전송하기 sendTokenToSMS(myphone, mytoken); } } createTokenOfPhone('01012345678', 6); // phone.js export function checkValidationPhone(myphone) { if (myphone.length !== 10 && myphone.length !== 11) { console.log('에러 발생!!! 핸드폰 번호를 제대로 입력해 주세요!!!'); return false; } else { return true; } } export function getToken(count) { const mycount = 6 if (count === undefined|null) { console.log('에러 발생!!! 갯수를 제대로 입력해 주세요!!!'); return; } else if (mycount <= 0) { console.log('에러 발생!!! 갯수가 너무 적습니다!!!'); return; } else if (mycount > 10) { console.log('에러 발생!!! 갯수가 너무 많습니다!!!'); return; } const result = String(Math.floor(Math.random() * 10 ** count)).padStart(mycount,'0'); return result; // console.log(result) } export function sendTokenToSMS(fff, ggg) { console.log(fff + '번호로 인증번호' + ggg + '를 전송합니다!!'); }

  • rest-api
  • node.js
  • tdd
  • javascript
  • express
  • docker
  • nodejs
  • nestjs
  • NestJS
최다니엘 댓글 0 좋아요 4 조회수 503

스프링 부트 3.0 + Querydsl 설정 관련

미해결

실전! Querydsl

안녕하세요! 강의 잘 듣고 있습니다 감사합니다. 강의를 따라가다가 잘 안되는 부분이 있어서 질문글 하나 남겨봅니다. Gradle -> Tasks -> build -> clean Gradle -> Tasks -> other -> compileQuerydsl 실행 시에 정상적으로 Q타입 클래스가 생성이 됩니다. 그런데 이후에 테스트 코드를 돌려보면 이런 오류가 뜹니다. 이것저것 해보다가 build파일이 없는 상태에서(삭제 후에) 테스트를 돌리면 돌아가긴 합니다. 정상적으로 빌드해서 돌려보고 싶은데 설정을 어떻게 바꿔야 할까요? https://drive.google.com/file/d/1H7Sz9Z994odDceIhuTp9S4bpfvhDjxAr/view?usp=sharing 구글 드라이브 링크입니다.

  • jpa
  • JPA
  • java
댓글 2 좋아요 1 조회수 4409

yarn init 에러 문의

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요 선생님 퍼샤드 패턴에서 58분쯤 보면 yarn init이라고 입력을 하시던데 저의 경우에는 에러가 뜹니다. ERROR: init is not COMMAND nor fully qualified CLASSNAME. Usage: yarn [OPTIONS] SUBCOMMAND [SUBCOMMAND OPTIONS] or yarn [OPTIONS] CLASSNAME [CLASSNAME OPTIONS] 왜 입력 값이 충족되지 않았다고 하는 걸까요? 참고로 제 node.js 버전은 18대입니다. 혹시몰라 전체적인 에러메세지 같이 첨부합니다! (base) ➜ 01-05-token-count-api-facade-import git:(master) ✗ yarn init ERROR: init is not COMMAND nor fully qualified CLASSNAME. Usage: yarn [OPTIONS] SUBCOMMAND [SUBCOMMAND OPTIONS] or yarn [OPTIONS] CLASSNAME [CLASSNAME OPTIONS] where CLASSNAME is a user-provided Java class OPTIONS is none or any of: --buildpaths attempt to add class files from build tree --config dir Hadoop config directory --daemon (start|status|stop) operate on a daemon --debug turn on shell script debug mode --help usage information --hostnames list[,of,host,names] hosts to use in worker mode --hosts filename list of hosts to use in worker mode --loglevel level set the log4j level for this command --workers turn on worker mode SUBCOMMAND is one of: Admin Commands: daemonlog get/set the log level for each daemon node prints node report(s) rmadmin admin tools scmadmin SharedCacheManager admin tools Client Commands: applicationattempt prints applicationattempt(s) report app|application prints application(s) report/kill application/manage long running application classpath prints the class path needed to get the hadoop jar and the required libraries cluster prints cluster information container prints container(s) report envvars display computed Hadoop environment variables fs2cs converts Fair Scheduler configuration to Capacity Scheduler (EXPERIMENTAL) jar <jar> run a jar file logs dump container logs nodeattributes node attributes cli client queue prints queue information schedulerconf Updates scheduler configuration timelinereader run the timeline reader server top view cluster information version print the version Daemon Commands: nodemanager run a nodemanager on each worker proxyserver run the web app proxy server registrydns run the registry DNS server resourcemanager run the ResourceManager router run the Router daemon sharedcachemanager run the SharedCacheManager daemon timelineserver run the timeline server SUBCOMMAND may print help when invoked w/o parameters or with -h. 구글링은 해봐도 못찾겠고, 그나마 힌트가 될만한건 이전에 hadoop 설치하면서 yarn이 같이 깔렸던 것 같은데, 그것과 충돌이 되서 그럴 수 있다는 정보까진 찾았습니다! brew uninstall hadoop 으로 하둡을 날려버렸더니 yarn 명령이 아예 작동이 안되는 것으로 봐서는 맞는 것 같습니다. brew install yarn으로 설치 다시 해줬더니 작동은 잘 됩니다! 선생님 이럴경우에 삭제 말고 따로 하둡과 충돌할 경우에 hadoop의 yarn과 node.js의 yarn을 별도로 관리하는 방법은 없을까요?

  • javascript
  • node.js
  • nodejs
  • docker
  • express
  • rest-api
  • nestjs
  • tdd
  • NestJS
최다니엘 댓글 1 좋아요 0 조회수 863

값 타입을 불변 객체로 만드는 것과 변경 감지랑은 관련 없는 걸까요?

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요, 값 타입을 불변 객체를 만들 때 궁금한 점이 생겨 질문드립니다. 상황을 가정해서 질문드리겠습니다. 상황 값 타입을 불변 객체로 만들어서 값을 수정하기 위해, 새로운 불변 객체를 만들어 엔티티의 필드값을 변경합니다. 질문 위 상황에서 "JPA 관점에서는 어쨌든 컬럼값이 변경되어야 하니까 변경 감지는 계속 일어나고 있다." 처럼 이해해도 괜찮을까요?

  • jpa
  • java
  • JPA
동해물과백두산이마르고닳도록 댓글 1 좋아요 0 조회수 437

[SOLVED] NestJS 프로젝트 생성 실패

미해결

탄탄한 백엔드 NestJS, 기초부터 심화까지

KT망을 사용 중일 경우 ts-jest가 설치되지 않는 문제가 있습니다. 해당 문제는 npm의 registry를 미러 서버로 설정한 뒤 nest new~ 를 통해 프로젝트를 생성하고, 다시 원 서버로 복구하시면 됩니다. npm config set registry https://registry.npmjs.cf/ nest new project npm config set registry https://registry.npmjs.org/ 안녕하세요 4번째 섹션의 첫 강의 NestJS 개발 환경 셋팅 을 보고 NestJS를 통한 Project를 생성하려 합니다. 사용중인 컴퓨터 환경은 다음과 같습니다. Apple Silicon M1 Max MacOS Ventura 13.2 Node: 16.16.0 Npm: 8.11.0 그런데 nest 문서에 나와있는 방법대로 프로젝트를 생성하면 에러가 발생합니다. > nest new project ⚡ We will scaffold your app in a few seconds.. ? Which package manager would you ❤️ to use? npm CREATE project/.eslintrc.js (663 bytes) CREATE project/.prettierrc (51 bytes) CREATE project/README.md (3340 bytes) CREATE project/nest-cli.json (171 bytes) CREATE project/package.json (1938 bytes) CREATE project/tsconfig.build.json (97 bytes) CREATE project/tsconfig.json (546 bytes) CREATE project/src/app.controller.spec.ts (617 bytes) CREATE project/src/app.controller.ts (274 bytes) CREATE project/src/app.module.ts (249 bytes) CREATE project/src/app.service.ts (142 bytes) CREATE project/src/main.ts (208 bytes) CREATE project/test/app.e2e-spec.ts (630 bytes) CREATE project/test/jest-e2e.json (183 bytes) ▹▹▹▹▸ Installation in progress... ☕ Failed to execute command: npm install --silent ✖ Installation in progress... ☕ 🙀 Packages installation failed! In case you don't see any errors above, consider manually running the failed command npm install to see more details on why it errored out. Thanks for installing Nest 🙏 Please consider donating to our open collective to help us maintain this package. 🍷 Donate: https://opencollective.com/nest 그래서 생성된 project 폴더로 이동하여 npm install --verbose를 통해 어디서 실패하는지 확인해 보았더니 다음과 같은 내용을 얻을 수 있었습니다. 로그가 너무 길어서, Error 부분만 넣겠습니다. npm timing idealTree:node_modules/windows-release/node_modules/execa Completed in 32ms npm http fetch GET 200 https://registry.npmjs.org/end-of-stream 28ms (cache revalidated) npm timing idealTree:node_modules/windows-release/node_modules/get-stream Completed in 28ms npm timing idealTree:node_modules/pump Completed in 1ms npm timing idealTree:node_modules/end-of-stream Completed in 0ms npm timing idealTree:node_modules/windows-release/node_modules/human-signals Completed in 0ms npm timing idealTree:node_modules/send/node_modules/debug/node_modules/ms Completed in 0ms npm timing idealTree:buildDeps Completed in 314816ms npm timing idealTree:fixDepFlags Completed in 3ms npm timing idealTree Completed in 314826ms npm timing command:install Completed in 314831ms npm verb type system npm verb stack FetchError: Invalid response body while trying to fetch https://registry.npmjs.org/ts-jest: aborted npm verb stack at ~/.nvm/versions/node/v16.16.0/lib/node_modules/npm/node_modules/minipass-fetch/lib/body.js:168:15 npm verb stack at runMicrotasks (<anonymous>) npm verb stack at processTicksAndRejections (node:internal/process/task_queues:96:5) npm verb stack at async RegistryFetcher.packument (~/.nvm/versions/node/v16.16.0/lib/node_modules/npm/node_modules/pacote/lib/registry.js:99:25) npm verb stack at async RegistryFetcher.manifest (~/.nvm/versions/node/v16.16.0/lib/node_modules/npm/node_modules/pacote/lib/registry.js:124:23) npm verb stack at async Arborist.[nodeFromEdge] (~/.nvm/versions/node/v16.16.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:1108:19) npm verb stack at async Arborist.[buildDepStep] (~/.nvm/versions/node/v16.16.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:976:11) npm verb stack at async Arborist.buildIdealTree (~/.nvm/versions/node/v16.16.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:218:7) npm verb stack at async Promise.all (index 1) npm verb stack at async Arborist.reify (~/.nvm/versions/node/v16.16.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:153:5) npm verb cwd ~/Playground/nodejs/inflearn/nestjs/section4/project npm verb Darwin 22.3.0 npm verb node v16.16.0 npm verb npm v8.11.0 npm ERR! code ECONNRESET npm ERR! errno ECONNRESET npm ERR! network Invalid response body while trying to fetch https://registry.npmjs.org/ts-jest: aborted npm ERR! network This is a problem related to network connectivity. npm ERR! network In most cases you are behind a proxy or have bad network settings. npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly. See: 'npm help config' npm verb exit 1 npm timing npm Completed in 314906ms npm verb unfinished npm timer reify 1676004665919 npm verb unfinished npm timer reify:loadTrees 1676004665923 npm verb code 1 npm ERR! A complete log of this run can be found in: npm ERR! ~/.npm/_logs/2023-02-10T04_51_05_846Z-debug-0.log NestJS에서 supertest 설치를 위해 jest 패키지를 설치하는 것 같은데, jest 패키지들이 정상적으로 (로그에 의하면 ts-jest) 설치되지 않습니다. 같은 에러를 겪은적 있으시거나, 해결법 아시는 분 도움 부탁드립니다. 감사합니다.

  • node.js
  • nodejs
  • nestjs
  • express
  • mongodb
  • NestJS
  • ssr
말하는 감자 댓글 3 좋아요 0 조회수 4992

h2 데이터베이스 생성 오류 질문

미해결

실전! 스프링 데이터 JPA

localhost로 바꾸고 jdbc:h2:~/datajpa 로 작성하고 해도 저렇게 뜨네요 권한도 755로 변경했습니다 어떻게 해야 할까요?

  • JPA
  • spring-boot
  • java
  • jpa
  • spring
민영 박 댓글 1 좋아요 0 조회수 608

주문 내역 조회 관련하여 질문드립니다

해결됨

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 다른건 다 잘 동작하는데 주문 내역 조회를 하면 Whitelabel Error Page This application has no configured error view, so you are seeing this as a fallback. Thu Feb 09 17:10:38 KST 2023 [80f6a090-2] There was an unexpected error (type=Internal Server Error, status=500). An error happened during template parsing (template: "class path resource [templates/order/orderList.html]") org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/order/orderList.html]") at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse( AbstractMarkupTemplateParser.java:241 ) Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below: Error has been observed at the following site(s): checkpoint ⇢ Handler jpaBook.jpaShop.controller.OrderController#orderList(OrderSearch, Model) [DispatcherHandler] checkpoint ⇢ HTTP GET "/orders" [ExceptionHandlingWebHandler] Original Stack Trace: at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse( AbstractMarkupTemplateParser.java:241 ) at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone( AbstractMarkupTemplateParser.java:100 ) at org.thymeleaf.engine.TemplateManager.parseAndProcess( TemplateManager.java:666 ) at org.thymeleaf.TemplateEngine.process( TemplateEngine.java:1103 ) at org.thymeleaf.TemplateEngine.process( TemplateEngine.java:1077 ) at org.thymeleaf.spring6.SpringWebFluxTemplateEngine.lambda$createFullStream$0( SpringWebFluxTemplateEngine.java:198 ) at reactor.core.publisher.MonoCreate.subscribe( MonoCreate.java:58 ) at reactor.core.publisher.InternalMonoOperator.subscribe( InternalMonoOperator.java:64 ) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext( MonoFlatMap.java:165 ) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete( MonoIgnoreThen.java:292 ) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext( MonoIgnoreThen.java:187 ) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext( MonoIgnoreThen.java:236 ) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete( MonoIgnoreThen.java:203 ) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete( MonoPeekTerminal.java:299 ) at reactor.core.publisher.MonoWhen$WhenCoordinator.signal( MonoWhen.java:211 ) at reactor.core.publisher.MonoWhen$WhenInner.onComplete( MonoWhen.java:427 ) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete( MonoPeekTerminal.java:299 ) at reactor.core.publisher.Operators$MonoSubscriber.complete( Operators.java:1840 ) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached( MonoCacheTime.java:337 ) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext( MonoCacheTime.java:354 ) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext( FluxPeek.java:200 ) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext( FluxSwitchIfEmpty.java:74 ) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext( MonoPeekTerminal.java:180 ) at reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run( MonoPublishOn.java:181 ) at reactor.core.scheduler.SchedulerTask.call ( SchedulerTask.java:68 ) at reactor.core.scheduler.SchedulerTask.call ( SchedulerTask.java:28 ) at java.base/java.util.concurrent.FutureTask.run( FutureTask.java:264 ) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run( ScheduledThreadPoolExecutor.java:304 ) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1136 ) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:635 ) at java.base/java.lang.Thread.run( Thread.java:833 ) Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: " item.member.name " (template: "order/orderList" - line 45, col 21) at org.attoparser.MarkupParser.parseDocument( MarkupParser.java:393 ) at org.attoparser.MarkupParser.parse( MarkupParser.java:257 ) at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse( AbstractMarkupTemplateParser.java:230 ) at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone( AbstractMarkupTemplateParser.java:100 ) at org.thymeleaf.engine.TemplateManager.parseAndProcess( TemplateManager.java:666 ) at org.thymeleaf.TemplateEngine.process( TemplateEngine.java:1103 ) at org.thymeleaf.TemplateEngine.process( TemplateEngine.java:1077 ) at org.thymeleaf.spring6.SpringWebFluxTemplateEngine.lambda$createFullStream$0( SpringWebFluxTemplateEngine.java:198 ) at reactor.core.publisher.MonoCreate.subscribe( MonoCreate.java:58 ) at reactor.core.publisher.InternalMonoOperator.subscribe( InternalMonoOperator.java:64 ) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext( MonoFlatMap.java:165 ) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete( MonoIgnoreThen.java:292 ) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext( MonoIgnoreThen.java:187 ) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext( MonoIgnoreThen.java:236 ) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete( MonoIgnoreThen.java:203 ) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete( MonoPeekTerminal.java:299 ) at reactor.core.publisher.MonoWhen$WhenCoordinator.signal( MonoWhen.java:211 ) at reactor.core.publisher.MonoWhen$WhenInner.onComplete( MonoWhen.java:427 ) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete( MonoPeekTerminal.java:299 ) at reactor.core.publisher.Operators$MonoSubscriber.complete( Operators.java:1840 ) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached( MonoCacheTime.java:337 ) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext( MonoCacheTime.java:354 ) at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext( FluxPeek.java:200 ) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext( FluxSwitchIfEmpty.java:74 ) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext( MonoPeekTerminal.java:180 ) at reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run( MonoPublishOn.java:181 ) at reactor.core.scheduler.SchedulerTask.call ( SchedulerTask.java:68 ) at reactor.core.scheduler.SchedulerTask.call ( SchedulerTask.java:28 ) at java.base/java.util.concurrent.FutureTask.run( FutureTask.java:264 ) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run( ScheduledThreadPoolExecutor.java:304 ) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1136 ) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:635 ) at java.base/java.lang.Thread.run( Thread.java:833 ) Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: " item.member.name " (template: "order/orderList" - line 45, col 21) at org.thymeleaf.spring6.expression.SPELVariableExpressionEvaluator.evaluate( SPELVariableExpressionEvaluator.java:292 ) at org.thymeleaf.standard.expression.VariableExpression.executeVariableExpression( VariableExpression.java:166 ) at org.thymeleaf.standard.expression.SimpleExpression.executeSimple( SimpleExpression.java:66 ) at org.thymeleaf.standard.expression.Expression.execute( Expression.java:109 ) at org.thymeleaf.standard.expression.Expression.execute( Expression.java:138 ) at org.thymeleaf.standard.processor.AbstractStandardExpressionAttributeTagProcessor.doProcess( AbstractStandardExpressionAttributeTagProcessor.java:144 ) at org.thymeleaf.processor.element.AbstractAttributeTagProcessor.doProcess( AbstractAttributeTagProcessor.java:74 ) at org.thymeleaf.processor.element.AbstractElementTagProcessor.process( AbstractElementTagProcessor.java:95 ) at org.thymeleaf.util.ProcessorConfigurationUtils$ElementTagProcessorWrapper.process( ProcessorConfigurationUtils.java:633 ) at org.thymeleaf.engine.ProcessorTemplateHandler.handleOpenElement( ProcessorTemplateHandler.java:1314 ) at org.thymeleaf.engine.OpenElementTag.beHandled( OpenElementTag.java:205 ) at org.thymeleaf.engine.Model.process( Model.java:282 ) at org.thymeleaf.engine.Model.process( Model.java:290 ) at org.thymeleaf.engine.IteratedGatheringModelProcessable.processIterationModel( IteratedGatheringModelProcessable.java:368 ) at org.thymeleaf.engine.IteratedGatheringModelProcessable.process( IteratedGatheringModelProcessable.java:222 ) at org.thymeleaf.engine.ProcessorTemplateHandler.handleCloseElement( ProcessorTemplateHandler.java:1640 ) at org.thymeleaf.engine.TemplateHandlerAdapterMarkupHandler.handleCloseElementEnd( TemplateHandlerAdapterMarkupHandler.java:388 ) at org.thymeleaf.templateparser.markup.InlinedOutputExpressionMarkupHandler$InlineMarkupAdapterPreProcessorHandler.handleCloseElementEnd( InlinedOutputExpressionMarkupHandler.java:322 ) at org.thymeleaf.standard.inline.OutputExpressionInlinePreProcessorHandler.handleCloseElementEnd( OutputExpressionInlinePreProcessorHandler.java:220 ) at org.thymeleaf.templateparser.markup.InlinedOutputExpressionMarkupHandler.handleCloseElementEnd( InlinedOutputExpressionMarkupHandler.java:164 ) at org.attoparser.HtmlElement.handleCloseElementEnd( HtmlElement.java:169 ) at org.attoparser.HtmlMarkupHandler.handleCloseElementEnd( HtmlMarkupHandler.java:412 ) at org.attoparser.MarkupEventProcessorHandler.handleCloseElementEnd( MarkupEventProcessorHandler.java:473 ) at org.attoparser.ParsingElementMarkupUtil.parseCloseElement( ParsingElementMarkupUtil.java:201 ) at org.attoparser.MarkupParser.parseBuffer( MarkupParser.java:725 ) at org.attoparser.MarkupParser.parseDocument( MarkupParser.java:301 ) ... 32 more Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1021E: A problem occurred whilst attempting to access the property 'name': 'Unable to access property 'name' through getter method' at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty( PropertyOrFieldReference.java:209 ) at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal( PropertyOrFieldReference.java:104 ) at org.springframework.expression.spel.ast.PropertyOrFieldReference$AccessorLValue.getValue( PropertyOrFieldReference.java:405 ) at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal( CompoundExpression.java:92 ) at org.springframework.expression.spel.ast.SpelNodeImpl.getValue( SpelNodeImpl.java:112 ) at org.springframework.expression.spel.standard.SpelExpression.getValue( SpelExpression.java:338 ) at org.thymeleaf.spring6.expression.SPELVariableExpressionEvaluator.evaluate( SPELVariableExpressionEvaluator.java:265 ) ... 57 more Caused by: org.springframework.expression.AccessException: Unable to access property 'name' through getter method at org.springframework.expression.spel.support .ReflectivePropertyAccessor$OptimalPropertyAccessor.read( ReflectivePropertyAccessor.java:685 ) at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty( PropertyOrFieldReference.java:204 ) ... 63 more Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke( DirectMethodHandleAccessor.java:119 ) at java.base/java.lang.reflect.Method.invoke( Method.java:577 ) at org.springframework.expression.spel.support .ReflectivePropertyAccessor$OptimalPropertyAccessor.read( ReflectivePropertyAccessor.java:681 ) ... 64 more Caused by: org.hibernate.LazyInitializationException: could not initialize proxy [jpaBook.jpaShop.domain.Member#1] - no Session at org.hibernate.proxy.AbstractLazyInitializer.initialize( AbstractLazyInitializer.java:164 ) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation( AbstractLazyInitializer.java:309 ) at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor.intercept( ByteBuddyInterceptor.java:44 ) at org.hibernate.proxy.ProxyConfiguration$InterceptorDispatcher.intercept( ProxyConfiguration.java:102 ) at jpaBook.jpaShop.domain.Member$HibernateProxy$qF4ptgCa.getName(Unknown Source) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke( DirectMethodHandleAccessor.java:104 ) ... 66 more 이러한 오류가 뜹니다. orderList.html 에서 item.member.name 에 접근하려다가 오류가 나는 것 같은데 잘 모르겠어서 질문드립니다.

  • spring-boot
  • JPA
  • java
  • jpa
  • spring
nhkwak71 댓글 1 좋아요 1 조회수 846

강의자료 다운로드 관련

미해결

따라하며 배우는 NestJS

안녕하세요! 강의 잘 듣고 있는 수강생입니다. 강의자료 다운 받으면 pdf, xml 모두 폴더가 비어 있습니다. (DS_store 파일만 있어서요..) 혹시 제가 모르는 부분이 있으면 알려주시면 감사하겠습니다!

  • postgresql
  • jwt
  • nestjs
  • NestJS
  • typeorm
  • TypeORM
pluler 댓글 1 좋아요 0 조회수 579

동적배열 8:23

미해결

코딩테스트 [ ALL IN ONE ]

안녕하세요. 그림부분에서 이해가 가지않아 질문 드립니다. a =[1,2,3] 으로 초기화를하면 array는 0,1,2 즉 배열 그림이 3칸([][][])만 있어야 하는게 아닌가요? 하지만 강의의 그림에서는 [1][2][3][][] 으로 0,1,2,3,4 까지 그려져 있습니다. (size가 3인데 말이죠) a.append(4) 를 했을때, 동적배열은 array로 구현이 돼어있기때문에 random access 가 가능하여 마지막 index를 찾을 수 있다고 하셨는데, 선언및 초기화 a = [1,2,3] // 그림 -> [1][2][3] 접근 a[0] // O(1) 수정 a[1] = 9 // 그림 [1],[9],[3] 추가 a.append(4) // 이때 Resizing 이 일어나 /* 그림 [1][9][3] // 값을 옮긴 후 삭제 [1][9][3][4][][] // 복잡도 O(n) */ 의 모양이 돼야하는게 아닌가요? 즉, 궁굼한 점은 선언 및 초기화 할때 배열의 size 는 3인데그림의 배열 size는 [][][][][] 5칸이냐는 것입니다.

  • python
  • 알고리즘
  • 코테 준비 같이 해요!
  • algorithm
아요 댓글 1 좋아요 1 조회수 383

비즈니스 메서드 질문입니다.

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요 비즈니스 메서드에 관해 궁금한 게 생겨서 질문드립니다. 강의 중에 엔티티를 변경할 때는 Setter대신 비즈니스 메서드를 별도 작성하여 제공하라고 해주셨는데 1) 등록이나 수정(save, update) 같은 것을 할 때 domain 쪽에 비즈니스 메서드를 작성하라는 뜻이 맞나요? 2) 구글링을 해보니 빌더 패턴, 정적펙토리 메소드 라는 기술도 존재하던데 비즈니스 메서드를 포함한 3가지는 궁극적으로 하는일이 비슷하다고 생각하는데 다른가요?

  • spring-boot
  • 웹앱
  • 웹앱
  • spring
  • java
  • jpa
  • JPA
gnstjrdlsla 댓글 1 좋아요 0 조회수 747

인기 태그

인프런 TOP Writers

주간 인기글