묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
38강 .yml
spring: config: activate: on-profile: local datasource: url: "jdbc:h2:mem:library;MODE=MYSQL;NON_KEYWORDS=USER" username: "sa" password: "" 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: datasource: url : "jdbc:mysql://localhost/library" username : "root" password : "비번" driver-class-name : com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: none properties: hibernate: show_sql: true format_sql: true dialect: org.hibernate.dialect.MySQL8Dialect 2024-08-18 22:03:44.064 INFO 4232 --- [ main] c.g.libraryapp.LibraryAppApplication : Starting LibraryAppApplication using Java 11.0.23 on SeungWon with PID 4232 (C:\Users\Administrator\Desktop\library-app\library-app\build\classes\java\main started by Administrator in C:\Users\Administrator\Desktop\library-app)2024-08-18 22:03:44.064 INFO 4232 --- [ main] c.g.libraryapp.LibraryAppApplication : The following 1 profile is active: "local"제대로 다 작성을 한거같ㅌ은데 로그에 local이라고 나오는데 도서관리 웹으로 가면 이전에 넣어둔 데이터도 그대로 있고, H2WebConsol은 화이트레벨이 뜹니다ㅜ 현재 인텔리제이 무료버전이라 프로파일 바꾸는건 구글랑해서 햤는데 뭐가 문제인가요?
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
EKS말고 쿠버에서도 실습문제 없을까요?
안녕하세요.EKS로 해당 강의 학습했습니다.헬름으로 배포하는 프로메테우스 스택을 가져오는 만큼ec2혹은 vm으로 구성한 쿠버네티스에서도 문제가 없을것이라 예상되지만 여쭤봅니다. 쿠버네티스나 K3S등의 경량 쿠버로 마스터노드와 클러스터를 구성하고 나서 해당 강의의 프로메테우스 스택 그리고 그 이후 오토스캐일링까지 실습이 가능할까 궁금함니다
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 연장 요청 드립니다.
지난 번에 수강 연장해주셨는데 9월 내에 수강 완료하도록 추가 연장해주시면 감사하겠습니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
codedeploy 배포 관련 질문
현재 appspec.yml을 보면 S3에 저장한 모든 파일을 destination에 저장하도록 되어있습니다.files: # S3에 저장한 파일들 중 destination(AWS EC2)으로 이동시킬 대상을 지정한다. # / 이라고 지정하면 S3에 저장한 전체 파일을 뜻한다. - source: / # EC2의 어떤 경로에 저장할 지 지정한다. destination: /home/ubuntu/spring-gift-point그런데 push를 여러개 진행하면 tar.gz파일도 여러개 생기게되는데 이러면 S3의 있는 모든 tar.gz파일을 가져오게되는건가요?deploy.yml에서 파일 압축을 할 때 yml 파일과 scripts폴더를 같이 압축하는 이유가 궁금합니다. 두 파일 모두 project.jar 파일에 들어있기 때문에 project.jar파일만 압축해도 상관없지않나요?- name: 압축하기 run: tar -czvf $GITHUB_SHA.tar.gz project.jar appspec.yml scriptscodedeploy를 활용한 무중단 배포나 로드 밸런싱 강의를 할 수 있다고 하셨는데 따로 강의를 내실 예정이 있으신지 궁금합니다!
-
미해결처음 만난 AWS
미니프로젝트
미니프로젝트 관련 질문인데 혹시 파일을 업로드하면 밑에란에 업로드가 되고있는 과정이 그림으로 보여줘야하는데 보여지지 않고 upload 파일에만 떠잇네요
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
CloudFront https적용
안녕하세요 강의 잘 보고있습니다! Cloudfront 배포를 생성하고 배포도메인으로 들어가보면 s3 웹페이지에 https가 잘 적용되었는데혹시 다음강의에서 추가적으로 도메인을 연결해서 https를 적용하는 이유가 있을까요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전 문제 풀이 3 - 5 질문
안녕하세요. 실전 문제풀이 3의 QUESTION 05번 질문이 있습니다. 해당 문제의 정답이 B인데 Redis용 Amazon ElastiCache가 문제의 "장바구니 데이터가 항상 보존되도록"을 만족할 수 있나요?? elastiCache가 메모리 기반이라 빠른 속도를 제공하지만 일시적인 데이터 저장용으로 알고 있어서 질문드립니다.
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
조언이 필요합니다 !
박재성강사님 안녕하세요 oz학생입니다 강사님이 그립습니다.. 질문 마음껏 할 수 있을 때 지금의 상황이었으면 좋았을텐데라는 생각이드네요!저는 프론트 공부중인 학생인데, 이번 프로젝트를 next.js로 개발하게되었고, elastic beanstalk와 docker, github-action으로 자동배포를 하고싶어서 밤새시도하였지만, 자동배포하여 환경이 작동하는것까지는 확인하였는데 502error에 막힌 상태입니다.아마 docker에 관한 서버관련 문제가 있는거같은데, docker에 대한 지식도 매우 부족한 상태라.. docker가 문제다라는 확신이 있는것도 아닙니다. 그래서 공부를 해야될거같은데 docker를 공부하면 좋을지, 아니면 박재성 강사님의 강의 중 next(백엔드) + CI+CD / EC2배포 강의가 있는것을 봐서 이 부분을 참고하면 좋을지 가늠이 안갑니다. 둘 다 공부하면 좋겠지만, 우선 순위로 알아가면 좋을 내용을 조언해주시면 감사하겠습니다..그리고 덕분에 개발에 흥미와 열정도 많이 불타고있습니다!
-
미해결백엔드 개발을 위한 필수 강의 - 스프링 부트3
프로젝트 생성 오류
STS를 설치하고 sbb 프로젝트를 만들고 나면 아래와 같은 오류가 발생합니다. ToolchainDownloadFailedException: No locally installed toolchains match and toolchain download repositories have not been configured. java.lang.reflect.InvocationTargetException file - Properties에 들어가서 해결하려고 했는데 Java Build Path 항목이 없어서 해결하지 못했고, 구글링으로도 해결이 안되는 상황입니다... 어떻게 해결할 수 있을까요?
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
비용 조회하는 방법
안녕하세요 강의 너무 잘 듣고 있습니다!다름이 아니라 RDS 강의를 모두 듣고 지금까지 쓴 비용이 궁금해져서 '[보충강의] 혹시나 비용 나가지 않는 지 체크하는 방법'을 보며 '결제 및 비용 관리 > 청구서' 에 들어가봤습니다. 근데 권한이 없다고 관리자에게 권한을 추가하도록 요청하라는 빨간 글씨만 뜨더라구요. 검색해보니까 IAM 계정은 결제 정보 메뉴에 접근 권한이 존재 하지 않아서 root계정으로 들어와서 권한을 줘야 볼수있다는데, 그럼 그냥 간단하게 요금을 확인하려면 root 계정으로 로그인해서 조회하면 IAM계정에서 결제했던 도메인이나 사용했던 서비스 비용을 똑같이 볼 수 있는거나 마찬가지인거죠??
-
해결됨Flutter로 웹 서비스 개발하기 (1) - Responsive Web
안녕하세요. 소스 문의입니다~
강의를 들었는데... github소스라든지 그런게 안보이든데...결제했는 사람조차도 소스 제공이 안되나용?답변 부탁드립니당~
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
26강 update method 에러 발생합니다
선생님이 해주신것과 똑같이 코드를 작성했는데 도서관리에서 사용자 이름을 수정하려고 하니 updateUser에서 optional 관련 에러가 발생합니다. Hibernate: select user0_.id as id1_0_0_, user0_.age as age2_0_0_, user0_.name as name3_0_0_ from user user0_ where user0_.id=?2024-08-14 18:42:17.084 ERROR 37216 --- [nio-8080-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException] with root causejava.lang.IllegalArgumentException: null at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na] at com.group.libraryapp.service.user.UserServiceV2.updateUser(UserServiceV2.java:34) ~[main/:na] at com.group.libraryapp.controller.user.UserController.updateUser(UserController.java:32) ~[main/:na]db도 한번 삭제 후 다시 실행했는데 같은 에러가 발생하네요.. 이유와 해결방법이 궁금합니다..!
-
미해결[2024 리뉴얼] 스스로 구축하는 AWS 클라우드 네트워크 - 기본편
targetgroup
로드밸런스 타겟그룹을 만들때 이런 에러가 뜨는데 레퍼런스를 찾아봐도 잘 없네요.. 시간이 안맞는거 같은데이건 어느 부분을 봐야할까요??
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
인스턴스 타겟그룹 등록 언헬시
인스턴스 만들때 라우팅 테이블 어떻게 설정 되어 있나요 nat랑 연결되어있나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
도애체 어디에서 오류가 난건지 모르겠습니다.
다음과 같이 코드를 했는데 24강까지 애플리케이션에서 잘 삭제되고, 잘 저장되었는데 25강이후 코드는 실행되는데 '나이'가 입력을 해도 00세로 나오고, 목록에서 삭제하려고하면 '서버내부 오류입니다'라고 뜹니다.아래 질문에서 쉬운거는 편집된게 있다고 하는데배우는단계에 있는 사람으로써는 그렇게 편집되면 많이 당황스럽네요...ㅜㅜㅜㅜㅜ어디서 틀렸나요?ㅜㅜUserResponsepackage com.group.libraryapp.dto.user.response; import com.group.libraryapp.domain.user.User; public class UserResponse { private long id; private String name; private Integer age; public UserResponse(long id, String name, Integer age) { this.id = id; this.name = name; this.age = age; } public UserResponse(User user) { this.id = user.getId(); this.name = user.getName(); } public UserResponse(long id, User user) { this.id = id; this.name = user.getName(); this.age = user.getAge(); } public long getId() { return id; } public String getName() { return name; } public Integer getAge() { return age; } }Userpackage com.group.libraryapp.domain.user; import javax.persistence.*; @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id = null; @Column(nullable = false, length = 20, name = "name") private String name; private Integer age; protected User() { } public User(String name, Integer age) { if (name == null || name.isBlank()) { throw new IllegalArgumentException(String.format("잘못된 name(%s)이 들어왔습니다.",name)); } this.name = name; this.age = age; } public String getName() { return name; } public Integer getAge() { return age; } //User class public Long getId() { return id; } public void updateName(String name) { this.name = name; } }UserRepositorypackage com.group.libraryapp.domain.user; import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepository<User, Long> { User findByName(String name); } UserControllerpackage com.group.libraryapp.controller.user; import com.group.libraryapp.dto.user.request.UserCreateRequest; import com.group.libraryapp.dto.user.request.UserUpdateRequest; import com.group.libraryapp.dto.user.response.UserResponse; import com.group.libraryapp.service.user.UserServiceV2; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController public class UserController { private final UserServiceV2 userServiceV2; public UserController(UserServiceV2 UserServiceV2) { this.userServiceV2 = UserServiceV2; } @PostMapping("/user") public void saveUser(@RequestBody UserCreateRequest request) { userServiceV2.saveUser(request); } @GetMapping("/user") public List<UserResponse> getUsers() { return userServiceV2.getUsers(); } @PutMapping("/user") public void updateUser (@RequestBody UserUpdateRequest request) { userServiceV2.updateUser(request); } @DeleteMapping("/user") public void deldteUser (@RequestParam String name) { userServiceV2.deleteUser(name); } } UserServiceV2package com.group.libraryapp.service.user; import com.group.libraryapp.domain.user.User; import com.group.libraryapp.domain.user.UserRepository; import com.group.libraryapp.dto.user.request.UserCreateRequest; import com.group.libraryapp.dto.user.request.UserUpdateRequest; import com.group.libraryapp.dto.user.response.UserResponse; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; @Service public class UserServiceV2 { private final UserRepository userRepository; public UserServiceV2(UserRepository userRepository) { this.userRepository = userRepository; } public void saveUser(UserCreateRequest request) { User u = userRepository.save(new User(request.getName(), request.getAge())); //System.out.println(u.getId()); } public List<UserResponse> getUsers() { return userRepository.findAll().stream() .map(UserResponse::new) .collect(Collectors.toList()); } public void updateUser(UserUpdateRequest request) { User user = userRepository.findById(request.getId()) .orElseThrow(IllegalArgumentException::new); user.updateName((request.getName())); userRepository.save(user); } public void deleteUser(String name) { User user = userRepository.findByName(name); if (user == null) { throw new IllegalArgumentException(); } userRepository.delete(user); } } UserCreateRequestpackage com.group.libraryapp.dto.user.request; public class UserCreateRequest { private String name; private Integer age; public String getName() { return name; } public Integer getAge() { return age; } }
-
미해결[2024 리뉴얼] 스스로 구축하는 AWS 클라우드 네트워크 - 기본편
sg
안녕하세요 강의 잘 보고 있습니다 선생님이 실습하신것 처럼 sg 인바운드 80열고 아웃바운드는 디폴트 nacl도 디폴트 그대로 사용하고 있는데(all port range)웹으로 public ip를 접속하면 접속이 되지 않는데.. 체크해야될 부분이 또 있을까요??
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
역할과 정책에 관한 질문
IAM 설정을 처음해보면서 역할과 정책에 대한 개념이 아직 제대로 이해되지 않은거 같아 질문드립니다.'다른 AWS 리소스에 접근하기 위해선 역할이나 사용자를 생성해 그 안에서 정책을 연결해서 권한을 부여해야한다.' 이렇게 이해했는데 맞을까요?ec2에서는 역할을 만들때 정책을 생성했는데 CodeDeploy에서는 정책을 설정하지 않아도 되는 이유가 궁금합니다.EC2 인스턴스는 역할 연결을 통해, github actions는 엑세스 키를 통해 권한을 부여받는다고 이해했는데 맞을까요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
도커 이미지 푸시까지는 성공하나, ssh에서 fail이 나옵니다.
강의 및 노션에 있는 부분을 최대한 응용해서, next.js app을 생성중입니다.ecr 저장소에서 도커 이미지가 확실히 푸시되었지만, ssh접속에서 에러가 발생했습니다.======CMD====== docker stop instagram-server || true docker rm instagram-server || true docker pull 767398114270.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server:latest docker run -d --name instagram-server -p 3000:3000 767398114270.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server:latest ======END====== err: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.44/containers/instagram-server/stop": dial unix /var/run/docker.sock: connect: permission denied err: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Delete "http://%2Fvar%2Frun%2Fdocker.sock/v1.44/containers/instagram-server": dial unix /var/run/docker.sock: connect: permission denied err: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.44/images/create?fromImage=767398114270.dkr.ecr.ap-northeast-2.amazonaws.com%2Finstagram-server&tag=latest": dial unix /var/run/docker.sock: connect: permission denied 2024/08/13 11:11:21 Process exited with status 1그래서 workflow를 수정했는데, 밑에 처럼 진행하니 정상처리가 되었습니다.- name: SSH로 EC2에 접속하기 uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.EC2_HOST }} # 인스턴스의 퍼블릭 IP 또는 DNS 이름 username: ${{ secrets.EC2_USERNAME }} # 일반적으로 'ubuntu' 또는 'ec2-user' key: ${{ secrets.EC2_PRIVATE_KEY }} # SSH 개인 키 script_stop: true script: | aws ecr get-login-password --region ap-northeast-2 | sudo docker login --username AWS --password-stdin ${{ steps.login-ecr.outputs.registry }} sudo docker stop instagram-server || true sudo docker rm instagram-server || true sudo docker pull ${{ steps.login-ecr.outputs.registry }}/instagram-server:latest sudo docker run -d --name instagram-server -p 3000:3000 ${{ steps.login-ecr.outputs.registry }}/instagram-server:latest혹시 제가 실수하거나 놓친 부분이있을까요??
-
해결됨Flutter로 웹 서비스 개발하기 (1) - Responsive Web
그리고 또 다른 질문~
이후의 강의 일정은 언제쯤 잡고 계신가요?플러터에서의 SEO강의 너무 듣고 싶어요.. ㅎㅎㅎ
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강신청 연장부탁드립니다
안녕하세요 수강신청 연장이 가능할까요?감사합니다.