inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

세션 6부터 봐도 될까요?

미해결

AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)

안녕하세요 수업 잘 듣고 있습니다 JSON을 처음 접하게 되었는데 막히는게 너무 많이서 세션6 도커 부터 듣고 이후헤 AWS를 들어도 될까요? 세션4 중간 까지 했습니다 구글링해도 에러를 해결 하지를 못해서 시간을 너무 많이 잡아 먹습니다

  • aws
  • docker
  • ci/cd
  • aws-ecs
김주언 댓글 1 좋아요 0 조회수 334

EC2 로드 밸런서 HTTPS 트래픽 처리불능에 대해 질문합니다.

미해결

안녕하세요, 저는 지금 프론트엔드 개발자를 준비하고 있는 취업준비생입니다. 포트폴리오를 준비하면서 웹 풀스택 개인 프로젝트를 진행중입니다. AWS를 이용한 프로젝트 배포과정에서 적용한 HTTPS 트래픽 처리 과정에서, EC2 Load Balancer에서 HTTPS 트래픽을 처리하지 못하는 문제를 해결하지 못해 질문합니다. 현재 프로젝트 배포를 위해 사용하고 있는 AWS 서비스들은 아래와 같습니다. S3 EC2 (Load Balancer 포함) RDS Route 53 CloudFront 발생한 문제의 상세한 내용은 아래와 같습니다. 가상의 향수 쇼핑몰을 주제로 프로젝트를 만족스럽게 구현하였고, AWS를 이용하여 프론트엔드 / 백엔드 / 데이터베이스도 성공적으로 배포하였습니다. 그런데 회원 기능을 구현하면서 로그인 상태를 검증하고 지속할 방법으로 쿠키를 사용하였습니다. 문제는 기본적으로 사용되는 HTTP 프로토콜에서는 몇 가지 이유로 쿠키 사용이 불가능하여 배포 환경을 수정하면서 HTTPS를 사용해보기로 하였습니다. Route 53으로 도메인을 하나 구입하고, ACM으로 SSL 인증서를 발급받은 뒤. CloudFront를 이용해서 S3로 배포 중인 프론트엔드 파트를 구입한 도메인으로 연결함과 동시에 SSL 인증서를 적용하여 HTTPS를 사용하도록 설정했습니다. 그리고 EC2 환경에서도 HTTPS 사용이 가능하도록 Load Balancer를 설정, HTTP 리스너와 HTTPS 리스너를 설정하고 SSL 인증서를 적용한 뒤 EC2 인스턴스를 대상그룹으로 지정하여 백엔드로 들어오는 트래픽을 처리하도록 설정하였습니다. 그런데 이후 Load Balancer에서 헬스체크 테스트를 해보니, HTTP 트래픽은 백엔드에 잘 도달하여 응답까지 되는 반면 HTTPS 트래픽이 제대로 처리되고 있지 않는 결과를 확인 하였습니다. 백엔드 로그와 Load Balancer 엑세스 로그 등을 확인해보니 헬스체크 요청이 백엔드에 제대로 도달하고있지 못하는 것을 확인 하였습니다. 아래 항목들은 제가 문제를 해결하기 위해 수집한 정보들입니다. 1. 로그에서 elb_status_code가 "502"이고, target_status_code가 "-"인 것을 보아서는 로드 밸런서가 HTTP 502 오류를 반환하고 있으며, 이는 대상에서 적절한 응답을 받지 못하고 있는 것으로 보입니다. 2. 네트워크 탭에서 확인된 정보에 따르면, 클라이언트(브라우저)는 OPTIONS 메소드를 사용하여 사전 요청(이른바 "preflight" 요청)을 서버에 보내고 있지만 이 사전 요청에 대한 응답이 없거나, 응답이 잘못되었을 때 502 오류가 발생할 수 있다고 합니다. 아래 항목들은 제가 문제를 해결하기 위해 시도했던 방법들입니다. 1. Route 53 레코드 수정 : 프론트엔드에서 백엔드로 요청을 보내는 서브 도메인 app.essence-aura.com을 생성하고, 로드 밸런서 라우팅을 연결하였습니다. 메인 도메인 essence-aura.com에서는 S3로 배포 중인 프론트엔드 정적 파일에 접근하며, 프론트엔드 내부적으로는 서브 도메인 app.essence-aura.com에게 백엔드 요청을 보내게 됩니다. 2. ACM 인증서 검증: 발급된 SSL/TLS 인증서가 Load Balancer와 CloudFront에 제대로 적용되었고, 모든 서브도메인이 포함되어있으며 유효한 상태임을 확인하였습니다. 3. SSL/TLS 핸드셰이크 체크: Load Balancer 로그를 통해 SSL/TLS 핸드셰이크가 성공적으로 수행되고 있음을 확인했습니다. 4. 서버 시간 동기화: EC2 인스턴스의 시간이 NTP(chronyd)를 통해 정확히 동기화되어 UTC 기준으로 적용됨을 확인하였습니다. 5. 로드 밸런서 대상 그룹 설정: 로드 밸런서의 대상 그룹 설정을 HTTP와 HTTPS로 구성하였고, EC2 인스턴스에서 사용하는 포트인 3001 포트로 적용되고 있음을 확인했습니다. 6. EC2 인스턴스 포트 설정: 인스턴스 인바운드 규칙에 3001 포트가 허용중이며, SSH로 인스턴스에 접근하여 백엔드 서버가 포트 3001에서 수신 대기 중임을 확인했습니다. 7. 보안 그룹 및 네트워크 ACL 설정: EC2 인스턴스에서는 3001 포트를 허용하고 있으며, 네트워크 ACL 설정은 초기값 그대로 모든 트래픽을 허용하고 있는 상태임을 확인했습니다. 제 능력으로 가능한 선까지 문제 해결을 위해 노력했지만 며칠을 소모해보아도 문제가 해결되지 않아 질문해봅니다. EC2 Load Balancer에서 HTTPS 트래픽을 처리하지 못하는 이유가 무엇일까요?

  • aws
이유승 댓글 1 좋아요 0 조회수 349

CloudForamation 이후 AWS의 계정 정보 넣은 다음 asw ec2 describe-instance에서 문제가 발생을 합니다.

해결됨

CloudNet@ - Amazon EKS 기본 강의

[root@myeks-host ~]# aws ec2 describe-instances | jq An error occurred (UnauthorizedOperation) when calling the DescribeInstances operation: You are not authorized to perform this operation. User: arn:aws:iam::788105032848: user/cheonho.shin@ahnlab.com is not authorized to perform: ec2:DescribeInstances with an explicit deny in an identity-based policy

  • 네트워크
  • aws
  • kubernetes
  • amazon-eks
  • eks
Cheonho 댓글 2 좋아요 0 조회수 505

aws build 할때

미해결

지금 당장 데브옵스 AWS

aws build 하게 될때 지금은 트리거가 생겼는데 트리거는 안주시나요 ??

  • aws
SJ 댓글 1 좋아요 0 조회수 326

kafka를 왜 사용하는지가 잘 이해가 안가서 질문 남깁니다!

해결됨

실습으로 배우는 선착순 이벤트 시스템

안녕하세요! 강의 잘 듣고 있습니다. 감사합니다. https://www.inflearn.com/course/lecture?courseSlug=%EC%84%A0%EC%B0%A9%EC%88%9C-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%8B%A4%EC%8A%B5&unitId=156125&category=questionDetail&tab=community&q=1029856 해당 질문과 답변을 보고 추가 질문 드리려고 합니다. 제가 kafka나 redis, 분산서버 등에 대해 이해도가 낮은 점 양해 부탁드립니다! 1. Kafka 미사용시 주문생성/회원가입요청의 타임아웃 및 10분뒤 실행에 대한 해결책으로 Kafka 를 선택한 이유는 배압조절(back pressure) 때문입니다. 이렇게 말씀을 해주셨는데요, 답변에서 말씀하신 예시에서 처럼 10000개 요청이 있고, 카프카를 사용한다면, 요청 100개가 쌓일때마다 db에 insert를 하고, 다시 요청 100개가 쌓일때까지 기다렸다가 insert 하기를 반복한다는 것으로 이해하면 될까요? 2. 그게 맞다면, 강의에서 구현한 apply 메서드에서 100개의 요청이 왔는지 확인하지 않고, kafka를 사용해서 다른곳에 전달하여 처리하는 이유는 무엇인가요? 예시로 apply 메서드 안에서 redis의 incr 값을 체크하면 요청이 몇개가 쌓였는지 알 수 있을테고, 데이터를 임시저장하다가 100개마다 처리할 수 있을거란 생각이 들었습니다. kafka로 다른 모듈로 전달하는 것과의 차이점이 무엇인가 궁금합니다. 3. 실제로 consumer에서 100개의 작업이 완료되었는지는 일반적으로 어떻게 확인하는 걸까요? db에 저장하기 전에 100개의 데이터는 어디에 임시저장을 하나요?

  • java
  • docker
  • spring-boot
  • kafka
  • redis
dunow 댓글 1 좋아요 1 조회수 1749

Elastic BeanStalk 실습 - 간단한 웹 어플리케이션 배포하기

미해결

AWS(Amazon Web Service) 중/상급자를 위한 강의

안녕하세요, 강사님 강의를 수강중에 강의 환경과 매우 달라서 실습을 진행하지 못 하는 경우가 계속 발생합니다. 강의 리뉴얼이 매우 필요해 보입니다... Elastic BeanStalk 실습 - 간단한 웹 어플리케이션 배포하기 이 강의 또한 실습을 진행이 불가능해보입니다..

  • aws
  • ci/cd
귀염둥이 댓글 2 좋아요 0 조회수 432

JPA에 관련해서 현업 관련 질문이 있습니다.

해결됨

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

간혹 유튜브 영상이나 ORM과 관련된 담론이 있는 글들을 보면 JPA의 속도 문제를 문제점으로 삼는 분들을 보았습니다. 그리고 JPA로는 한계가 오는 점들은 네이티브 쿼리를 사용해서 해결을 할 수 있다는 점, 그리고 태현님께서도 특정 상황에서는 JdbcTemplate을 사용해서 문제를 해결할 수 있다는 점을 강의에서 말씀 해주셨는데요. 하지만 그 '특정 상황'의 예시가 잘 떠오르지가 않는데 어떤 것이 있을까요? 배민의 영상에서도 동욱님은 JPA와 QueryDSL을 사용해서 몇 억건의 데이터도 잘 처리하셨고, 영한님께서도 책을 개정판을 내지 않는 이유로 이미 많이 성숙한 기술이라서 극적인 변화가 없는 기술이라고 하셨으며 어떤 유튜버분도 말씀하시길 'JPA라는 기술이 문제 자체를 일으킨다기 보단 개발자가 JPA에 대한 이해가 부족해서 문제가 발생한다.' 라고 하셔서 더 미궁속으로 빠집니다. 혹시 태현님께서도 이런 상황을 겪으신 적이 있으신지, 있다면 어떻게 해결하셨는지 궁금합니다!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
wisehero 댓글 1 좋아요 2 조회수 408

Health Check: Failed 이라뜹니다

미해결

AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)

도메인으로 접속하면 502으로 뜨고 IP로는 접속이 안됩니다

  • aws
  • docker
  • ci/cd
  • aws-ecs
김주언 댓글 1 좋아요 0 조회수 525

KMS 실습 - 2부

미해결

AWS(Amazon Web Service) 중/상급자를 위한 강의

s3 버킷을 만들때 퍼블릭으로 만드는 건가요? s3에 대한 정보가 없어서 어떻게 만들어야하는지 잘 모르겠습니다. 지식이 많이 부족해 질문을 많이 하게 되네요.. 죄송합니다 ㅠ

  • aws
  • ci/cd
귀염둥이 댓글 1 좋아요 0 조회수 247

Entity 설계 시 고민되는 부분 문의드립니다.(@Setter, @Builder 미사용 시 테스트 등)

해결됨

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

토이프로젝트나 회사에서 엔티티 설계 하면서 고민되는 부분이 있어서 문의드립니다. 엔티티에 @Setter 나 @Setter 가 포함된 @Data 애노테이션을 추가하지 않는 것이 좋다고 강의에서 들어서 설계 시 해당 부분을 제외하고 있습니다. @Entity @Getter @SuperBuilder @NoArgsConstructor(access = AccessLevel.PROTECTED) @Table(name = "book") public class Book extends BaseDateEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "book_id", updatable = false) private Long id; @Column(name = "title", length = 200, nullable = false) private String title; @Column(name = "author") private String author; @Column(name = "price") private int price; @Column(name = "publisher") private String publisher; @Column(name = "publish_at") private LocalDate publishAt; @Column(name = "isbn", nullable = false) private String isbn; @Column(name = "sort", nullable = false) private String sort; @Column(name = "image", columnDefinition = "TEXT") private String image; @Column(name = "link", columnDefinition = "TEXT") private String link; } @Builder는 엔티티 클래스에 붙이고 있는데, 이렇게 되면 사실 점층적 생성자가 있는것과 다를바 없이 객체를 생성할 수 있기 때문에 좋은 방법이 아닌거 같아 문의드립니다. 실무에서는 보통 어떤 식으로 사용하시는지 궁금하여 문의드립니다. 별도의 of, create 메서드를 static으로 만들어서 생성하기도 하는데요. 이렇게 되면 테스트 코드 작업 시 @BeforeEach로 초기 데이터를 추가하기 쉽지 않더라고요. 어느정도 수준으로 실무에서 사용하는 것이 적절할지 궁금합니다. public static Reservation create(String userName, String phoneNumber, Performance performance, PerformanceSeat performanceSeat) { return Reservation.builder() .userName(userName) .phoneNumber(phoneNumber) .title(performance.getTitle()) .round(performance.getRound()) .amount(performance.getPrice()) .status(ReservationStatus.APPLY) .performance(performance) .performanceSeat(performanceSeat) .build(); } [문의 내용 정리] Q1) JPA Entity 클래스에 @Builder 애노테이션을 추가하는 것은 좋지 않은 방식일까요? 그렇다면 어떻게 사용하는것이 적절할까요? Q2) @Builder 패턴, 기본 생성자, setter 제외한 경우 테스트 코드에서 @BeforeEach로 초기 데이터를 추가 시 어떻게 하는 것이 좋을까요?

  • java
  • jpa
wony 댓글 1 좋아요 3 조회수 957

X-RAY 실습

미해결

AWS(Amazon Web Service) 중/상급자를 위한 강의

안녕하세요 강사님 강의 너무 잘 수강하고 있습니다. 다른 강의와는 다르게 X-Ray 실습은 많이 변화가 되어 따라가기가 무척 힘이드네요. 괜찮으시다면 이 부분 설명 등 추가해주시면 수업을 따라가기 좋을 것 같습니다. 부탁드립니다.

  • aws
  • ci/cd
귀염둥이 댓글 1 좋아요 0 조회수 311

13강 yml 파일에서

미해결

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

yml파일 작성할 때 driver-class-name이 Cannot resolve class 가 cj부터 Driver까지 뜨네요. build.gradle의 의존성은 다음과 같구요, 아래 질문들 보고 Ctrl Shift N 해봤을 때 Driver.java 파일도 잘 있는데 이것 때문에 서버 실행이 안됩니다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-jdbc' testImplementation 'org.springframework.boot:spring-boot-starter-test' runtimeOnly 'mysql:mysql-connector-java:8.3.0' }

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
5hseok 댓글 2 좋아요 0 조회수 479

다형성 재정의에 질문이 있습니다.

해결됨

김영한의 실전 자바 - 기본편

[질문 내용] Dog dog = new Dog(); 위의 코드는 Dog 내부에 extends로 Animal이 있기에 Dog 클래스는 Animal 이라는 부모가 있는걸 알 수 있습니다. 하지만 Animal dog = new Dog(); Animal 타입으로 Dog를 생성하면 힙메모리에는 Dog와 Animal이 하나의 영역에 생기지만 Animal 타입으로 선언하였기 때문에 힙메모리에서 Animal 부분을 먼저 바라볼 것으로 생각하는데 어떻게 Animal에서 자식 요소가 있는걸 알고 오버라이딩된 메서드가 우선적으로 처리되는건지 궁금합니다. annotation의 영향인가요? ======= 추가 질문! Animal dog = new Dog(); 위 코드와 같이 선언하면 자바에서는 자동으로 업캐스팅이 이뤄지는것 이라고 이해해도 될까요? Animal dog = (Animal) new Dog(); 위와 같이 자바에서 자동으로 형 변환을 시켜준다고 생각하면 되는건가요?!

  • java
  • 객체지향
index 댓글 1 좋아요 0 조회수 308

synchronized 사용 시 쓰레드 질문

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

synchronized를 사용하면 1개의 쓰레드만 이용한다고 말씀해주셨는데 startTransaction(); stockService.decrease(id, quantity); endTransation(); 에서 왜 다른 쓰레드가 먼저 호출되는 상황이 발생하는건가요? 이 부분이 이해가 잘 안됩니다

  • java
  • spring
  • 동시성
강프로그래머 댓글 2 좋아요 1 조회수 547

배포용 workflow만들기 deploy.yml 에러 질문입니다

미해결

AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)

해당 강좌에서 secrets key도 github에정상 등록했으나 github action시 SSH and deploy 동작에서 아래와 같은 에러가 발생합니다 deploy.yml

  • aws
  • docker
  • ci/cd
  • aws-ecs
soonggi99 댓글 1 좋아요 0 조회수 379

cascade, 연관관계 사용 기준 질문.

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 강의 잘 듣고 있습니다. cascade,연관 관계를 사용하는 기준이 궁금해서 질문 글을 작성합니다. 1.cascade 질문 제가 이해한 바로는 엔티티를 영속성 컨텍스트 관리를 받기 위해 persist 등록하는 것이며 각 엔티티는 따로따로 persist를 해야 되는데 cascade를 사용하면 하나의 엔티티를 persist할 때 그와 연관된 엔티티를 같이 해주는 것으로 이해했습니다. Order 코드에서 OrderItem과 Delivery에 cascade가 적용됐는데 Member에는 적용을 안 하는 것 같더라고요. 왜 Member는 안 하는지 궁금합니다. 연관 관계 질문 order와 연관된 엔티티 간에 연관관계 메소드를 통해 한쪽에서 서로 등록해주는 것은 이해가 가는데 Item과 Category간에는 어느 쪽에도 연관 관계 메소드가 없는 이유가 궁금합니다. Item과 Category 이 둘은 약간 상수? 느낌이라서 연관 관계를 지을 필요가 없는 것일까요? 답변 주시면 정말 감사하겠습니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
  • 연관관계
  • cascade
알알이 댓글 1 좋아요 1 조회수 476

수강연장 부탁드립니다.

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

안녕하세요 강의를 잘 수강했고 시험을 쳤는데 떨어져서 다시 공부하려고 합니다..! 수강연장 부탁드립니다!

  • 네트워크
  • aws
kyj2933827 댓글 1 좋아요 0 조회수 239

수강 기간 연장 부탁드려요 ㅠㅠ

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

죄송합니다만 수강신청 연장 부탁드리겠습니다..

  • 네트워크
  • aws
나영문 댓글 1 좋아요 0 조회수 164

34강 orphanRemoval 관련 질문입니다!

해결됨

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

orphanRemoval 을 걸지 않았을 경우 책6을 삭제했으나, userLoanHistories를 조회해보면 여전히 책6이 존재한다. orphanRemoval = true 을 걸었을 경우 클린 코드를 삭제했더니 조회시 사라졌다 어째서 orphanRemoval 을 걸어주지 않으면 데이터베이스에 반영이 되지 않는건가요? @Transactional 어노테이션으로 인해 트랜잭션이 시작될 때, 영속성 컨텍스트가 시작되고, 영속성 컨텍스트의 4대 특징 중 하나인 생성/수정 감지로 인해 user 객체의 userLoanHistories 의 값에 변경사항( removeOneHistory )이 발생하여 자동저장이 될거라고 생각했는데 말이죠.. 실제 데이터베이스상에선 userLoanHistories 는 user테이블의 필드가 아니기 때문에, 영속성 컨텍스트가 관리하는 field 에 포함이 되지않는데 orphanRemoval = true 를 걸어주면 비로소 자신이 관리하는 field로 인식하는걸까요? 원리가 너무 궁금해요.. 내용추가1) 바로 다음 강의인 책 대출 리팩토링에선 orphanRemoval 같은 옵션을 주지 않고도 new userLoanHistory 를 add한 내용대로 저장이 되는데, 어째서 userLoanHistory 를 remove하는것은 orphanRemoval 옵션이 없으면 데이터의 변경이 일어나지않는지 궁금합니다.. 제 생각에는 User 에서 userLoanHistories.add 를 하든 userLoanHistories.remove 를 하든 둘 다 User 와 UserLoanHistory 와의 연관관계를 이용한 데이터를 변경하기위한 접근같은데 .. add는 되는데 remove는 안되는게 살짝 이해하기 어렵습니다 ㅠ 내용추가2) returnBook 과 loanBook , removeOneHistory 의 차이점이 뭘까 고민해봤는데 returnBook 과 loanBook 은 UserLoanHistory 라는 Entity에 접근하는 과정 (loanBook은 Entity객체생성, returnBook은 Entity의 property 수정)이 존재하고, removeOneHistory 는 Entity에 직접 접근하는게 아니라 단순히 List에 대한 변경일뿐이고, Entity에 대한 직접적인 수정이나 생성이 이뤄진것이 아니므로 데이터베이스의 변경이 일어나지 않았다. 이렇게 이해했는데 제가 이해한 내용이 맞을까요? 생각을 정리하다보니 질문이 길어진 점 죄송합니다 ㅠ

  • java
  • spring
  • spring-boot
  • jpa
영후이 댓글 1 좋아요 1 조회수 383

섹션6의 3번째 강의 faker파일이 어디있나요?

미해결

mongoDB 기초부터 실무까지(feat. Node.js)

전 강의에 올려놓으셨다고 하셨는데 Mongoose v6 업데이트 관련 공지만 있고 faker 관련 코드를 못 찾겠어서 질문 남깁니다.

  • javascript
  • node.js
  • aws
  • mongodb
  • rest-api
  • dbms/rdbms
  • 데이터-엔지니어링
댓글 1 좋아요 0 조회수 341

인기 태그

인프런 TOP Writers

주간 인기글