묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
장고 개발 준비.
안녕하세요 강사님, 섹션 4 장고 개발 준비에서 .idea파일을 ignore에 적으라고 하셨는데, 제 맥북에는 .idea파일이 없는데 그럼 그냥 무시하고 진행하면 되는 걸까요? (이전단계는 강사님이 하신대로 똑같이 따라 했습니다.)
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
강의내용대로 따라했는데 localprpfile를 읽어들이지못하고있네요 이유가뭘까요??
spring: config: activate: on-profile: local datasource: url: "jdbc:h2:mem:library;MODE=MYSQL;NON_KEYWORDS=USER" username: "root" password: "1234" driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: show_sql: true format_sql: true dialect: org.hibernate.dialect.H2Dialect h2: console: enabled: true path: /h2-console --- spring: config: activate: on-profile: dev datasource: url: "jdbc:mysql://localhost/liberary" username: "root" password: "1234" driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: none properties: hibernate: format_sql: true use_sql_comments: true disable_sql_comments: org.hibernate.dialect.MySQL8Dialect yaml파일입니다 설정부분입니다콘솔입니다오류부분입니다2023-12-28 11:29:08.692 WARN 11440 --- [ main] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL "drop table if exists user CASCADE " via JDBC Statement
-
해결됨인프라공방 - 그럴듯한 서비스 만들기
brainbackdoor-management
brainbackdoor-management는 라우팅 테이블을 public-rt에 연결해야하나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
User이 계속 null으로 들어와서 오류가 나네요
강의내용그대로 입력하였는데 왜그럴까요 ㅠㅠ서비스부분public void loan(BookLoanReq req) { Book book = bookRepstory.findByName(req.getBookName()).orElseThrow(IllegalArgumentException::new); if (userLoanHistoryRep.existsByBookNameAndIsReturn(book.getName(), false)){ throw new IllegalArgumentException("대출중인 책입니다."); } User user=userRepstrory.findByName(req.getUserName()).orElseThrow(IllegalArgumentException::new); userLoanHistoryRep.save( new UserLoanHistory(user.getId(),book.getName(),false)); }public interface UserRepstrory extends JpaRepository<User,Long> { Optional<User> findByName(String name); }package com.group.libraryapp.domain.user; import javax.persistence.*; @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; public User(String name,Integer age) { if(name==null||name.isBlank()){ throw new IllegalArgumentException(String.format("널값")); } this.name = name; this.age = age; } @Column(name="age",length = 20) private Integer age; @Column(name="name",nullable = false) private String name; protected User(){ } public Long getId() { return id; } public Integer getAge() { return age; } public String getName() { return name; } public void update(String name){ this.name=name; } public User(Long id, Integer age, String name) { this.id = id; this.age = age; this.name = name; } } 마지막으로 오류코드올려드릴게요 ava.lang.IllegalArgumentException: null at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na] at com.group.libraryapp.service.book.BookService.loan(BookService.java:39) ~[main/:na] at com.group.libraryapp.controller.book.BookController.loan(BookController.java:29) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
오류발생코드질문드립니다
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bookService' defined in file [C:\Users\user\OneDrive\���� ȭ��\����ڷ�\Java_Spring_Library_Application new\library-app\library-app\build\classes\java\main\com\group\libraryapp\service\book\BookService.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userLoanHistoryRep' defined in com.group.libraryapp.repstory.user.userloan.UserLoanHistoryRep defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract boolean com.group.libraryapp.repstory.user.userloan.UserLoanHistoryRep.existIsBookNameAndIsReturn(java.lang.String,boolean); Reason: Failed to create query for method public abstract boolean com.group.libraryapp.repstory.user.userloan.UserLoanHistoryRep.existIsBookNameAndIsReturn(java.lang.String,boolean)! No property 'existIsBookName' found for type 'UserLoanHistory'; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract boolean com.group.libraryapp.repstory.user.userloan.UserLoanHistoryRep.existIsBookNameAndIsReturn(java.lang.String,boolean)! No property 'existIsBookName' found for type 'UserLoanHistory'요약해보면 자바의 DTO객채의 이름하고 mysql에있는 테이블의 이름과 일치 하지않아서오류가 발생하는듯하는듯한데 왜 오류가 발생할까요? 객채생성하고 테이블올려드릴게요
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
Mac
Mac으로 강의를 수강하고 있는데 강의를 끝까지 수강하는데 문제가 있을까요? 그리고 맥에서는 cmder이 실행이 안되는것 같습니다. 이 부분을 어떻게 해야 좋을까요? 감사합니다!
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장 부탁드립니다.
수강기간 연장 부탁드립니다. 시간이 너무빠르네요..ㅜ
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 기간 연장 요청드립니다.
회사 업무와 병행 하다 보니 시간이 부족한 것 같습니다..!죄송하지만 기간 연장 부탁 드리겠습니다..!
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
PM2 EADDRINUSE 에러
강의 보면서 PM2 배포를 따라해보았습니다. 5999번 포트를 사용했고, 몇 번 API 요청을 하면 EADDRINUSE 에러가 뜹니다. 0|index | Error: listen EADDRINUSE: address already in use :::5999 0|index | at Server.setupListenHandle [as listen2] (node:net:1872:16) 0|index | at listenInCluster (node:net:1920:12) 0|index | at Server.listen (node:net:2008:7) 0|index | at Function.listen (/home/ubuntu/hyerim-resume/server/nodemodules/express/lib/application.js:635:24) 0|index | at Object.<anonymous> (/home/ubuntu/hyerim-resume/server/index.js:6:11) 0|index | at Module._compile (node:internal/modules/cjs/loader:1376:14) 0|index | at Module._extensions..js (node:internal/modules/cjs/loader:1435:10) 0|index | at Module.load (node:internal/modules/cjs/loader:1207:32) 0|index | at Module._load (node:internal/modules/cjs/loader:1023:12) 0|index | at Object.<anonymous> (/home/ubuntu/.nvm/versions/node/v21.2.0/lib/node_modules/pm2/lib/ProcessContainerFork.js:33:23) { 0|index | code: 'EADDRINUSE', 0|index | errno: -98, 0|index | syscall: 'listen', 0|index | address: '::', 0|index | port: 5999 0|index | } 이 에러가 이미 사용중인 포트로 실행하려고 하는 문제라고 해서 매번 sudo lsof -i :5999, sudo kill -9 ~~ 로 서버를 껐다 키면 또 금방 해당 에러가 발생합니다. sudo lsof -i :5999 로 실행중인 프로세스를 확인하면 다음과 같습니다. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME node\x20/ 1396 root 25u IPv6 451174 0t0 TCP ip-172-31-39-74.ap-northeast-2.compute.internal:5999->121.143.65.200:56521 (ESTABLISHED) node\x20/ 1396 root 26u IPv6 20785 0t0 TCP *:5999 (LISTEN) node\x20/ 1396 root 30u IPv6 451237 0t0 TCP ip-172-31-39-74.ap-northeast-2.compute.internal:5999->121.143.65.200:56645 (ESTABLISHED) Mac M2 로 서버에 접근해서 PM2를 실행하는데, Mac에서 AirPlay 모드를 꺼야 한다는 Stack Overflow 내용도 보고 꺼봤지만 역시나 에러가 뜹니다. pm2 start index.js —watch 로 pm2 인스턴스를 실행했더니 몇번 재시작을 자동으로 해주는 것 같지만 결국 재시작이 너무 잦다며 더이상 재시작이 되지 않는 것 같아요. 해결 방법이 궁금합니다 ㅠㅠ 아래는 제 서버의 package.json, index.js입니다. Package.json{ "name": "server", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node index.js" }, "author": "", "license": "ISC", "dependencies": { "compression": "^1.7.4", "cors": "^2.8.5", "express": "^4.18.2", "jsonwebtoken": "^9.0.2", "method-override": "^3.0.0", "mysql2": "^3.6.3", "nodemon": "^3.0.1", "socket.io": "^4.7.2", "winston": "^3.11.0", "winston-daily-rotate-file": "^4.7.1" } } index.jsconst express = require("./config/express"); const { logger } = require("./config/winston"); //log const port = 5999; express().listen(port); logger.info(`API Server Start At Port ${port}`);
-
미해결지금 당장 데브옵스 AWS
Backend 로드밸런싱
백엔드 로드밸런싱에서 vpc 선택할때기본 vpc설정을 했습니다하지만 vpc를 생성하고 subnet 셋팅 nat , internet gate way , route table 등은 어떻게 설정하면 될까요 ??작업을할때 기본 vpc 사용하기보다 따로 vpc생성후 작업 많이 한다고 들었습니다
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
JPA을 사용하려면protected UserDto(){}을만들어줘야한다고 하셨는데 저는 protected UserDto(){}을 만들어주면 오류가 나네요 이유가 뭘까요? ;
(사진)
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
DB 테이블간 연결에 대한 질문입니다.
안녕하세요 태현님. 두가지 질문이 있습니다.1. 지금까지(34강) 강의를 따라 하고 MySQL 워크벤치에서 ERD를 확인해 보면테이블 간에 PK - FK로 연결이 안 되어있는데요연결을 안 해주어도 괜찮은 이유가 뭔지 궁금합니다.제가 NestJS나 Express.js 로 백엔드를 만들었을 때는 TypeORM, Prisma, Sequelize 같은 ORM을 이용했었는데그때는 코드단에서 테이블 간에 연결 처리 (PK - FK로 연결)을 해주면데이터베이스에서 확인을 해봤을 때이런 식으로 연결이 된 것을 확인할 수 있었거든요..혹시 제가 뭔가 잘못 알고 있는 걸까요?굳이 DB에서 실제로 연결을 안 해주어도 괜찮은 건가요??아니면 스프링 + JPA 조합의 특성인가요??2. 그리고 MySQL 워크벤치에서create table user_loan_history ( id bigint auto_increment, user_id bigint, book_name varchar(255), is_return tinyint(1), primary key (id) );이렇게 DB create 문을 작성해서 실행 시키지 않아도 서버를 실행시킬 때 자동으로 로컬 DB에 테이블을 생성해 주도록 하는 설정이 있는지 궁금합니다.
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
에러 발생 코드 관련 질문입니다.
//BookService @Service public class BookService { private final BookRepository bookRepository; private final UserLoanHistoryRepository userLoanHistoryRepository; private final UserRepository userRepository; public BookService( BookRepository bookRepository, UserLoanHistoryRepository userLoanHistoryRepository, UserRepository userRepository ) { this.bookRepository = bookRepository; this.userLoanHistoryRepository = userLoanHistoryRepository; this.userRepository = userRepository; } @Transactional public void saveBook(BookCreateRequest request) { bookRepository.save(new Book(request.getName())); } @Transactional public void loanBook(BookLoanRequest request) { // 1. 책 정보를 가져온다. Book book = bookRepository.findByName(request.getBookName()) .orElseThrow(IllegalArgumentException::new); // 2. 대출기록 정보를 확인해서 대출중인지 확인한다. // 3. 만약에 확인해는데 대출 중이라면 예외를 발생시킨다. if (userLoanHistoryRepository.existsByBookNameAndIsReturn(book.getName(), false)) { throw new IllegalArgumentException("이미 대출되어 있는 책입니다"); } // 4. 유저 정보를 가져온다. User user = userRepository.findByName(request.getUserName()) .orElseThrow(IllegalArgumentException::new); // 5. 유저 정보와 책 정보를 기반으로 UserLoanHistory를 저장 userLoanHistoryRepository.save(new UserLoanHistory(user.getId(), book.getName())); } } 북서비스 코드인데요// 1. 책 정보를 가져온다. Book book = bookRepository.findByName(request.getBookName()) .orElseThrow(IllegalArgumentException::new);이 부분에서 // 2. 대출기록 정보를 확인해서 대출중인지 확인한다. // 3. 만약에 확인해는데 대출 중이라면 예외를 발생시킨다. if (userLoanHistoryRepository.existsByBookNameAndIsReturn(book.getName(), false)) { throw new IllegalArgumentException("이미 대출되어 있는 책입니다"); } 이 부분 처럼 "존재하지 않는 책입니다" 라는 메세지를 터미널(콘솔인가요? 이거 찍히는 곳 명칭이 터미널인지 콘솔인지 모르겠네요) 에 찍어주려면 어떻게 해야하나요? 그리고 첫 번째 경우와 두 번째 경우에 에러를 발생시키는 방법이 다른 이유는 무엇인지 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
글동록하는부분에서 등록을 하고나면 나이부분에 값이 00세라고들어가네요 이유가뭘까요??
객채셍성하고 등록화면부분올려드렷어요
-
미해결지금 당장 데브옵스 AWS
Frontend 로드밸런싱
Frontend 로드 밸런싱 part 강의 부분에서Backend가 로드밸런서 도입하게 될때 , Url 이 변경되기 때문에 Frontend 에서는 axios.create base url 수정하고 다시 npm run build 하고 배포해야하는데이부분 밖에 없는거죠 ?
-
미해결지금 당장 데브옵스 AWS
프론트엔드빌드
dist 파일이 아니라 dist 폴더인거죠? 프론트엔드 빌드 보시면 dist 파일이라고 되어 있습니다.
-
해결됨AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 연장 부탁드립니다.
안녕하세요.강의 구매 후 이직 시기가 겹치면서 수강을 많이 못했는데, 수강 연장을 부탁드릴 수 있을까요?
-
미해결지금 당장 데브옵스 AWS
RDS 셋팅
해당 강의에서 RDS 프리티어 선택하셨는데, 실제 서비스 돌리실때는 어떻게 선택하시나요 ?? rds 두실때 arora 선택하신다고 하셨는데 아직 강의를 듣지 않았지만 rds 에서도 arora 를 하게 된다면 오토스케일링이 가능하다고 하셨습니다. 처음 데이터베이스를 선택하게되면 , 유형 변경이 어렵기에이럴땐 rds 오토스케일링이 엄청 큰 역할을 할것 같다 ??생각이 듭니다. 혹시 이런 이유때문에 디비 오토스케일링을 하시나요 ??
-
해결됨실전! GitHub Actions으로 CI/CD 시작하기
PR merge 시 test job 미실행 관련 문의
안녕하세요 이상원님 수강생입니다. 다른 분들은 이해하셨겠지만, Job 미실행 관련 의문이 생겨 문의드립니다.'시나리오1 워크플로우 구성하기 1,2'의 흐름과 코드를 보면 test,image-build,deploy job이 있습니다.이해한 내용으로는 test job은 말그대로 테스트를 위한 job(코드에 문제가 없는지 판단하는 job), image-build는 그 코드를 말아서 ECR로 올리는 과정 deploy는 실제 환경에 올리는 배포 과정으로 이해했습니다. 이때, test job과 image build job을 같은 job에 두고 같이 실행하면 안되는 지에 대해서 의문이 생겨 문의드립니다. 감사합니다.
-
미해결지금 당장 데브옵스 AWS
rds 스케일업
RDS Aurora는 첫 번째로 Auto Scaling 기능이 있으며, 두 번째로 무중단으로 스케일 업을 할 수 있습니다. 이 2가지는 서비스 운영에서 중요한 요소입니다. 라고 하셨는데 만약 postgresql 를 사용하고 있다면 다음 강의 진행하기 어려울까요 ?