inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

4.alb 오류 (Call to function "element" failed: cannot use element function with an empty list.)

미해결

지금 당장 데브옵스 - 테라폼 X AWS

4.alb apply 할 경우 아래와 같이 오류가 발생 합니다. Call to function "element" failed: cannot use element function with an empty list. 관련해서 아래와 같이 수정 # 대상 등록 # https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group_attachment resource "aws_lb_target_group_attachment" "attachment" { count = length(data.aws_instances.tag.ids) target_group_arn = aws_lb_target_group.tg.arn target_id = element(data.aws_instances.tag.ids, count.index) port = 3000 //선택한 인스턴스를 위한 포트 }

  • aws
  • element
  • alb
Goboo 댓글 1 좋아요 1 조회수 321

전반적으로 다 좋은데요..

미해결

처음 만난 AWS

전반적으로 설명이 참 좋고 입문자들 보기에 좋긴한데, 람다 파트는 조금 너무하신 것 아닌가 생각이 듭니다.. 람다에 대한 설명은 앞서 해주시긴 했지만 그 내용에 대해 활용을 해봐야 의미가 있는데 그냥 간단하게 이미 짜여져있는 블루프린트 선택 후 기본 함수들 불러와진걸 Test - 짠 불러와졌네요, 람다를 삭제하겠습니다. 이런 식의 진행은 조금 힘이 빠지게 됩니다. 아주 간단한 함수라도 직접 작성해보며 이걸 어떨 때, 왜 사용하는지에 대해 조금 더 설명이 있었으면 좋지 않았을까 하는 아쉬움에 끄적여봅니다.

  • aws
  • lambda
  • amazon-web-services
  • cloud-computing
  • ec2
장재영 댓글 2 좋아요 1 조회수 396

실전 예제 4번 클립에서 마지막 부분에 하신 말씀 질문입니다!

해결됨

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

안녕하세요. 11:03 경에 "이런 것들 json으로 말아넣자"라고 말씀하신 부분이요. 조금 더 풀어서 설명해주실 수 있을까요? 당장 이 프로세스가 필요해서는 아니지만 개념적으로라도 알고 있으려고 합니다! "이런 데이터"에 관해서도 조금 더 풀어서 말씀해주실 수 있을까요? 어떤 성격의 데이터들은 테이블이 아니라 json으로 관리할 수 있다는 것인지 조금 더 구체적으로 알고 싶습니다. 감사합니다.

  • java
  • jpa
literate_t 댓글 2 좋아요 3 조회수 347

deploy.yml 실행이 안되네요.

미해결

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

test.yml 파일까지는 실행이 되는데 deploy.yml 은 실행이 안되네요. Action 에서 test 만 실행되고 deploy 은 실행이 안되는데, 별도로 어디 설정을 해줘야 하나요? 확인 부탁드릴게요...

  • aws
  • docker
  • ci/cd
  • aws-ecs
원데이 댓글 1 좋아요 0 조회수 257

다시 강의를 보니 드는생각..

미해결

스프링과 JPA 기반 웹 애플리케이션 개발

이메일 인증요청시간을 1시간으로 잡으셨는데 인증할때마다 마지막인증요청 시간을 업데이트 쳐줘야 하는거 아닌가요 ??? (/resend-confirm-email) 이 메서드를 실행 정상 했을때 마다

  • java
  • spring
  • spring-boot
  • jpa
  • thymeleaf
H K 댓글 2 좋아요 0 조회수 377

Editor....를 활용한 패턴에 질문있습니다.

미해결

호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)

당연히 구글링 해보셨져? 원하는 결과를 못찾으셨나요? 어떤 검색어를 입력했는지 알려주세 문제가 발생한 코드(프로젝트)를 Github에 올리시고 링크를 알려주세요. Editor관련한 질문글들을 읽어보아도 제 머리로 이해가 안돼서 또 이렇게 Editor 질문 글을 하나 더 추가합니다... ㅠㅠ [해당 영상을 보지 않았더라면 짰을 코드] Post엔티티에 비즈니스 로직을 작성하고 단순하게 PostEdit을 전부 넘겨 비즈니스 로직 change를 호출하여 더티체킹으로 마무리! 이렇게 했을 경우, 파라미터 순서에 무관하게 PostEdit이라는 수정을 위한 Dto 객체를 단 하나만 넘겨 수정을 할 수 있다고 판단했습니다. 물론 위 비즈니스 로직은 null값에 대처는 못하겠지만요! 하지만, 프론트 개발자와 상의하여 '수정 시, 모든 데이터를 넘겨준다는 전제' 에서는 가장 간단한 방법이라고 생각했습니다! [Editor를 작성해보며 느낀 의문점] Post의 toEdit을 통해 기존 가지고 있던 데이터를 PostEditor에게 넘김으로써 Builder에서 null값에 대응할 수 있다는 점 이외에는 또 다른 장점을 이해하지 못하고 있습니다. Request의 title혹은 content가 null일 경우 이를 해결하기 위한 방법을 제시해주는 것 말고는 되려 관리해야 할 것들만 늘어난 느낌이 해소가 되지 않습니다 ㅠㅠ 그래서 제가 이해한 것 까지의 내용들이 잘 이해한 것인지 그리고 추가적으로 제가 이해하지 못한 것들을 이해하고 싶습니다! findById로 수정하려는 엔티티를 가져옵니다. toEdit()을 통해 현재 수정하고자 하는 엔티티의 필드들을 PostEditor에게 넘겨 빌더를 만듭니다. 이는 수정하려는 엔티티가 현재 가지고 있는 필드들을 핸들링 할 수 있도록 해줍니다. (가령, title혹은 content의 null 처리) 2번을 통해서 PostEditor가 현재 수정하려는 Post의 필드들을 주입 받았으면, Request로 받은 데이터를 통해 최종 build()를 해줍니다. 변경사항을 모두 적용한 postEditor를 Post의 변경비즈니스 메서드 edit(postEditor)를 통해 더티체킹으로 변경해줍니다. [최종적으로 든 생각] [Editor를 작성해보며 느낀 의문점] 에서 작성된 것들이 정확하다면,아예 첫 방법을 사용하되, 비즈니스 메서드에서 null 체크를 해주면 어떨까? 하는 생각이 들었습니다. 이런 방식으로 진행한다면 문제가 있을까요? 긴 글에 시간 내어주셔서 감사합니다 !

  • vue.js
  • aws
  • spring-boot
  • jpa
  • spring-security
임주혁 댓글 1 좋아요 0 조회수 511

JAVA Scanner

미해결

package bufferTest; import java.util.Scanner; public class BufferTest { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String a = scan.next(); String[] arr1 = {"a"}; System.out.println(System.identityHashCode(a)); System.out.println(System.identityHashCode(arr1[0])); } } 왜 arr[0]과 a의 주소 값이 다른가요..??? 답변 주시면 정말 감사하겠습니다!

  • java
  • scanner
김민식 댓글 1 좋아요 0 조회수 139

수업 자료 관련 문의

미해결

실리콘밸리 엔지니어와 함께하는 아마존 웹서비스(Core)편

선생님~ 안녕하세요, 강의 자료로 제공해주시는 PDF를 아이패드에 담아서 보고 있는데요, 강의마다 pdf가 첨부되어 있어서 60강이 넘는 pdf를 매 번 다운로드 받아야 하는 것이 너무 번거롭습니다. 혹시 처음부터 끝까지 하나로 합쳐진 통합본 pdf 제공 가능하실까요? 감사합니다!

  • aws
  • aws-rds
  • ec2
  • iam
  • s3
Summer Kim 댓글 1 좋아요 1 조회수 225

api

해결됨

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

api란 개념을 잘 모르겠습니다. 그냥 controller에서 mapping하는 것이 api 인가요? 1편에서 만들었던 @GetMapping("/members/new") public String createForm(Model model) {...} 이런 코드들도 각각 api라 하는 것인가요?

  • java
  • spring
  • spring-boot
  • jpa
에어 댓글 1 좋아요 1 조회수 408

혹시 수업 자료가 제공되나요?

미해결

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

지금 강의 수강중인데 express 소스 코드는 확인했는데 그 외 수업자료는 제공이 안될까요? 공부한 내용을 화면 캡쳐해서 정리하고 있거든요.

  • aws
  • docker
  • ci/cd
  • aws-ecs
원데이 댓글 1 좋아요 0 조회수 253

cerbot 자동 재인증

해결됨

인프라공방 - 그럴듯한 서비스 만들기

혹시 cerbot으로 인증을 주기적으로 갱신하는 것 과 관련된 내용을 추천해주실만한 글이나? 블로그가 있을까요? 지금 강의에서는 domain인증 방식 certonly -d 'yourdomain.com' 을 사용중인데, 이 방식이 일정 주기 단위로? 갱신하기는 불편한것 같아서요?? 질문 1) 도메인 인증 방식도 cron을 통해 주기적 자동 갱신이 가능한가요? (txt 레코드를 등록해줘야 해서 불가능하다 개인적으로 생각) 질문 2) 관련 도움 받을만한 좋은 글이 있을까요? 여러 글을 찾아서 보고 있는데... 블로그 글들이 너무 재각각이라... 혼돈의 카오스? 랄까요... 이게 생각처럼 쉽게 되지 않아서 질문글 남겨봅니다 ㅠ,ㅠ

  • 네트워크
  • aws
zbqmgldjfh 댓글 1 좋아요 1 조회수 373

api에 대해서

미해결

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

지난 강의 JPA 활용 1편을 듣고왔는데요, API를 개발하는 이유와 의미가 무엇인가요?

  • java
  • spring
  • spring-boot
  • jpa
댓글 1 좋아요 0 조회수 281

수강 연장 부탁드립니다.

미해결

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

안녕하세요 현재 수강 완료를 했으나 부족한 부분을 좀 더 보충해서 듣고 싶어 수강 연장 부탁 드립니다.

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

강의자료

해결됨

인프라공방 - 그럴듯한 서비스 만들기

안녕하세요 강의자료를 다운받으려 하는데 압축파일에 문제가 있는 것 같아요 파일 확인 부탁드립니다. !!!

  • 네트워크
  • linux
  • aws
  • mysql
  • spring-boot
hy20 댓글 3 좋아요 0 조회수 503

Jpa 데이터베이스 매칭 관련 질문입니다.

해결됨

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

안녕하세요 강사님. 인프런 스터디 과제 7일차 문제 1번 jpa 코드로 변환하던 중 warehousingDate 컬럼 부분에서 문제가 발생하였습니다. Fruits의 테이블 컬럼 이름은 warehousingDate 입니다. { "name":"바나나", "warehousingDate":"2024-02-25", "price":7000 } jpa 코드로 바꾼 후 위에처럼 post 하였더니 아래와 같은 결과가 나왔습니다. Unknown column warehousing_date in field list라고 에러가 뜹니다. 처음에는 @Column(name="warehousing_date") 을 붙이지 않아서 에러가 나는 줄 알고 @Column(name="warehousing_date") 을 붙이고도 진행하였더니 똑같은 에러가 발생하였습니다. 그래서 Fruits 앤티티 warehousingDate 변수명을 warehousing_date로도 변경을 해봤더니 똑같은 에러가 발생하였습니다. Fruits 엔티티는 아래와 같습니다. @Entity public class Fruits { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @Column(name="warehousing_date") private LocalDate warehousingDate; private long price; @Column(nullable = true) private boolean sales; public Fruits() { } public Fruits(String name, LocalDate warehousingDate, long price, boolean sales) { this.name = name; this.warehousingDate = warehousingDate; this.price = price; this.sales = sales; } public String getName() { return name; } public void setName(String name) { this.name = name; } public LocalDate getWarehousingDate() { return warehousingDate; } public void setWarehousingDate(LocalDate warehousingDate) { this.warehousingDate = warehousingDate; } public long getPrice() { return price; } public void setPrice(long price) { this.price = price; } public boolean isSales() { return sales; } public void setSales(boolean sales) { this.sales = sales; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } } 컨트롤러 코드는 아래와 같습니다. @PostMapping("/api/v1/fruit") public void fruitInformation(@RequestBody FruitCreateRequest information){ fruitService.saveInformation(information); } 서비스 코드는 아래와 같습니다. private final FruitJpaRepository fruitRepository; public FruitService(FruitJpaRepository fruitRepository) { this.fruitRepository = fruitRepository; } public void saveInformation(FruitCreateRequest request){ fruitRepository.save(new Fruits(request.getName(),request.getWarehousingDate(), request.getPrice(), request.getSales())); } RequestDto 코드는 아래와 같습니다. public class FruitCreateRequest { private String name; private LocalDate warehousingDate; private long price; private boolean sales; @JsonIgnore private Long id; public String getName() { return name; } public void setName(String name) { this.name = name; } public LocalDate getWarehousingDate() { return warehousingDate; } public void setWarehousingDate(LocalDate warehousingDate) { this.warehousingDate = warehousingDate; } public long getPrice() { return price; } public void setPrice(long price) { this.price = price; } public void setSales(boolean sales) { this.sales = sales; } public void setId(Long id) { this.id = id; } public Long getId() { return id; } public void setId(long id) { this.id = id; } public boolean getSales(){ return sales; } } 혹여나 제가 놓친 부분이 없는 지 확인해 주시면 감사하겠습니다. 그리고 fruits 컬럼명은 warehousingDate 라 적었는 데 hibernate는 warehousing_date과 매칭할려는지 알고싶습니다. 질문이 서투른 점 양해바랍니다..

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
공간뿌웅이 댓글 2 좋아요 0 조회수 420

amazon EKS 원클릭 배포 및 기본 스토리지 실습 문의.

미해결

CloudNet@ - Amazon EKS 기본 강의

https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-2#/stacks/new?stackName=myeks&templateURL=https:%2F%2Finflearnaeb.s3.ap-northeast-2.amazonaws.com%2Feks-oneclick2.yaml 해당 파일을 다운로드 받아 region만 수정하여 CloudForatmation을 실행하면 다음과 같은 Stack만 생성되고 다른 stack이 생성되지 않습니다. 앞선 실습에선 node도 생성이 되고 했는데요...지금은 저것만 생성이 되고 다른건 생성이 안됩니다.

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

실전문제풀이3 - Q15

미해결

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

안녕하세요, 문제를 푸는중에 질문이 있어서 글 올립니다! AWS Aurora도 RDS와 같이 Auto Scaling 하지 않나요? 설명에 Aurora가 제공하는 서비스가 아니라고 하셔서 문의드립니다 🙂

  • 네트워크
  • aws
hm981219 댓글 2 좋아요 0 조회수 367

수장 연장 부탁드립니다.

미해결

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

안녕하세요. 좋은 강의 감사드립니다. 사정이 있어 기간 내에 수강 완료를 못할 거 같습니다. 혹시 수장 연장 부탁드려도 될까요? 감사합니다.

  • 네트워크
  • aws
지동근 댓글 2 좋아요 0 조회수 226

entity 객체에 기본생성자를 넣어주는 이유

해결됨

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

안녕하세요 User객체에 기본생성자를 넣어야 작동하는 이유가 궁금합니다 혹시 필드에 아무값도 넣지않을때를 대비해서 기본생성자를 사용하는건가요?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
자바마스터하자 댓글 1 좋아요 2 조회수 381

버튼 클릭 시 페이지가 로드되지 않는 문제 해결 방법 질문

미해결

개요 로그인 성공 후 인덱스 페이지로 넘어갑니다. 인덱스 페이지에는 "테스트 버튼" 이라는 버튼을 클릭하면, test 로드하는 api 를 호출하도록 했습니다. 그러나 api 요청만 진행되고, 페이지는 바뀌지 않습니다. 개발자도구 메시지에 해당 페이지의 html 코드만 출력됩니다. 참고자료 index.html <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>인덱스 페이지</title> <script src="https://code.jquery.com/jquery-3.7.0.min.js" integrity="sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g=" crossorigin="anonymous"></script> </head> <body> <h1>환영합니다!</h1> <p>성공적으로 로그인하셨습니다.</p> <button id="logoutButton">로그아웃</button> <button id="testButton">테스트 버튼</button> <script> $(document).ready(function() { // 로그아웃 버튼 이벤트 $('#logoutButton').click(function() { // 로컬 스토리지에서 토큰 제거 localStorage.removeItem('accessToken'); // 로그인 페이지로 리다이렉션 window.location.href = '/login'; }); // 테스트 버튼 이벤트 $('#testButton').click(function() { // 로컬 스토리지에서 토큰 가져오기 const token = localStorage.getItem('accessToken'); if (token) { $.ajax({ url: '/api/test', // 요청할 서버의 URL type: 'GET', // HTTP 메서드 beforeSend: function(xhr) { // 요청 헤더에 토큰 추가 xhr.setRequestHeader('Authorization', token); }, success: function(data) { // 요청 성공 시 로직 console.log("테스트 요청 성공:", data); alert("테스트 요청 성공"); }, error: function(xhr, status, error) { // 요청 실패 시 로직 console.error("테스트 요청 실패:", xhr.responseText); alert("테스트 요청 실패"); } }); } else { alert("토큰이 없습니다. 다시 로그인해주세요."); } }); }); </script> </body> </html> 보이는 것처럼 로컬 스토리지에서 토큰을 가져온 후 요청 헤더에 다시 담아서 전송합니다. JwtAuthorizationFilter @Override protected void doFilterInternal(HttpServletRequest req, HttpServletResponse res, FilterChain filterChain) throws ServletException, IOException { // 헤더에서 토큰 추출 log.info("헤더에서 토큰 추출"); String tokenValue = jwtUtil.getJwtFromHeader(req); log.info("토큰 : " + tokenValue); if (StringUtils.hasText(tokenValue)) { // 토큰 유효성 검사 if (!jwtUtil.validateToken(tokenValue)) { log.info("Token Error"); return; } Claims info = jwtUtil.getUserInfoFromToken(tokenValue); try { setAuthentication(info.getSubject()); } catch (Exception e) { log.error(e.getMessage()); return; } } else { log.info("토큰이 없습니다."); } filterChain.doFilter(req, res); } // 인증 처리 public void setAuthentication(String loginId) { log.info("인증 성공"); SecurityContext context = SecurityContextHolder.createEmptyContext(); Authentication authentication = createAuthentication(loginId); context.setAuthentication(authentication); SecurityContextHolder.setContext(context); } // 인증 객체 생성 private Authentication createAuthentication(String loginId) { log.info("인증 객체 생성"); UserDetails userDetails = userDetailsService.loadUserByUsername(loginId); return new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities()); } 이렇게 JwtAuthorizationFilter 가 있을 때 헤더에서 토큰이 추출되는 거까지 로그에 다 출력되고, 인증 객체까지 생성되는 걸 확인했습니다. Console 2024-02-26T14:31:24.699+09:00 INFO 59767 --- [nio-8081-exec-3] JWT 검증 및 인가 : 토큰 : eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0NiIsImF1dGgiOiJPV05FUiIsImlhdCI6MTcwODkyNDY0NiwiZXhwIjoxNzA4OTI4MjQ2fQ.TLjHCc1_ZtTbzGb-2c0ueLmxgCyxQf1rUQs4DkqMv_c 2024-02-26T14:31:24.706+09:00 INFO 59767 --- [nio-8081-exec-3] JWT 검증 및 인가 : 인증 성공 2024-02-26T14:31:24.706+09:00 INFO 59767 --- [nio-8081-exec-3] JWT 검증 및 인가 : 인증 객체 생성 Hibernate: /* <criteria> */ select u1_0.id, u1_0.email, u1_0.login_id, u1_0.password, u1_0.role from users u1_0 where u1_0.login_id=? 2024-02-26T14:31:24.722+09:00 INFO 59767 --- [nio-8081-exec-3] TestController : test controller 로그를 보면 test controller 를 호출하는 거까지 확인할 수 있었습니다. 그러나 페이지는 로드되지 않고, 메시지에 html 코드만 출력이 됩니다. 자료 Test.html <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <script src="https://code.jquery.com/jquery-3.7.0.min.js" integrity="sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g=" crossorigin="anonymous"></script> <title>Test Page</title> </head> <body> <h1>This is a test page.</h1> </body> </html> 정리 로그인 성공 후 인덱스 페이지로 넘어감 해당 인덱스 페이지에서 test 페이지로 넘어가고자 함 인가 필터 모두 거치고, 토큰 값이 전달되는 거까지 확인했음 test controller 까지 요청되지만, 정작 페이지는 불러와지지 않음 대체 제가 뭘 놓친 걸까요 ㅠㅠㅠㅠ 이거때문에 며칠 동안 머리 싸매고 있습니다,,, 제발 도와주세요,,,

  • java
  • spring
  • jwt
  • secuity
  • javascript
  • mvc
오세창 댓글 1 좋아요 0 조회수 587

인기 태그

인프런 TOP Writers

주간 인기글