자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
아 아까 MVC와 API의 차이에 대해 질문했었는데요... 제가 그럼 프론트엔드 기술 (react, vue 등)을 모르는데 혼자 화면까지 나오는 프로젝트를 진행하고 싶다면 SSR인 템플릿 엔진을 이용한 MVC패턴으로 개발하는 게 더 나을까요?? 그러기엔 템플릿 엔진을 사용하더라도 JS나 css는 기본적으로 할 줄 알아야 할 거 같은데 ㅜㅜ 혼자서는 무리겠죠??
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. https://docs.aws.amazon.com/ko_kr/general/latest/gr/rande.html#view-service-endpoints 이 엔드포인트는 VPC 엔드포인트와 같은건가요? 다른건가요?다르다면 이렇게 이해해도 될까요? 서비스엔드포인트-Custom vpc가 없는 서비스를 생성할때 디폴트로 생성되는 인터넷 기반의 서비스 진입지점 vpc엔드포인트-서비스 엔드포인트를 인터넷 통신없이 접속하기 위해 추가로 생성하는 서비스 진입지점. private ip를 갖는 eni와 연결.한 vpc 안에 여러 개의 엔드포인트(ex s3 sts kms sagemaker lambda apig/w등)를 생성하는 경우 여러개의 eni 필요함 만약에 vpc endpoint를 공통계정에 통합하면 어떻게 되는건가요? 공통계정의 vpc endpoint는 dns역할을 하고 세부 서비스는 각각의 상세 서비스로 가나요??ex endpoint *. vpce.kms.aws.amazon.com common account
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요 강사님!! 다름이 아니라 공부를 하다가 MVC와 API의 차이점(?)에 대해 알아보게 되었습니다! 그래서 내린 결론이 Spring MVC구조의 @Controller는 컨트롤러의 리턴값이 ViewResolver에 의해 해석되어서 특정 View가 html응답으로 전송된다. 반면 REST API구조의 @RestController에 의한 호출은 View를 리턴하는 것이 목적이 아닌, 데이터를 전송하는 것을 목적으로 응답이 전송되어 진다. 라고 내렸습니다. 첫번째로, 위에서 제가 내린 결론이 맞는 말인지와 두번째로, 그럼 MVC를 쓰는 경우와 API를 쓰는 경우가 언제인지가 궁금합니다. 제가 아직 개념이 부족해서 그런건지는 몰라도 MVC를 쓰면 프론트엔드의 역할이 없어지는게(?) 아닌가 하는 착각이 들어서... 답변 부탁드리겠습니다!!
import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] arr = new int[n][n]; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { arr[i][j] = sc.nextInt(); } } int m = sc.nextInt(); int[] moves = new int[m]; for(int i = 0; i < m; i++){ moves[i] = sc.nextInt(); } ArrayList<Stack<Integer>> board = new ArrayList<>(); for(int i = 0; i < n; i++) { Stack<Integer> temp = new Stack<>(); for(int j = 0; j < n; j++) { if(arr[n-1-j][i] == 0) break; temp.push(arr[n-1-j][i]); } board.add(temp); } Stack<Integer> basket = new Stack<>(); int result = 0; for(int i = 0; i < m; i++) { int num = moves[i]-1; Stack<Integer> stack = board.get(num); if(stack.empty()) continue; int popNum = stack.pop(); if(!basket.isEmpty() && basket.peek() == popNum) { basket.pop(); result += 2; } else { basket.push(popNum); } } System.out.print(result); } } 어느 부분에서 틀린지 모르겠습니다. 확인 해주시면 감사하겠습니다.ㅠㅠ
현재 프로젝트를 진행중인데, Access Token과 Refresh Token을 헤더에 담아 로컬스토리지에 저장하는 방법을 사용중입니다. 그런데 로컬 스토리지는 보안에 취약하다는 글을 보았습니다. 로컬 스토리지에 담아도 jwt 정책으로 대응이 가능하다는 글도 있었습니다. Access Token과 Refresh Token을 어디에 저장해야 할까요? 만약 로컬 스토리지나 쿠키에 저장한다면 어떻게 관리해야하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요? 프로젝션 쿼리에 new 명령어 관련 헷갈리는 부분이 있어서 질문 드립니다! try{ Member member = new Member(); member.setUsername("member1"); member.setAge(10); em.persist(member); em.flush(); em.clear(); List<MemberDTO> result = em.createQuery("SELECT new jpql.MemberDTO(m.username, m.age) FROM Member m", MemberDTO.class) .getResultList(); MemberDTO memberDTO = result.get(0); System.out.println("memberDTO = " + memberDTO.getAge()); System.out.println("memberDTO = " + memberDTO.getUsername()); tx.commit(); } 위와 같은 쿼리를 실행하게 되면 상위에서 생성한 member 객체에 있는 값을 result 로 복사하고 result 값을 memberDTO List의 인덱스 0으로 들어 간 값을 조회하라는 뜻이 맞는건가요..? 수업듣다가 제가 이해한게 맞는지 헷갈려서 질문 드립니다.. 답변 부탁드립니다!! 감사합니다.
서버 구성하기 미션을 진행중입니다. 서버 실행을 하고 curl http://localhost:8080 명령어에 의해서 응답까지는 옵니다. 외부망 보안그룹에서 다음과 같이 설정했습니다. 브라우저에서 요청이 가는지 확인하고 https의 443 포트는 tls 설정을 하지 않으면 접속이 안되는걸로 알고 있어서 브라우저에서 요청하기 위해서 80포트를 전체대역대에 대해서 열어줬습니다. 인터넷 게이트웨이도 생성이 되어있고, 외부망의 라우팅 테이블에서 인터넷게이트에 대해서 전체대역대로 설정이 되어있습니다. curl명령어를 통해서 요청을 보내봤는데 connection refuesed 가 뜹니다. 브라우저에서 http://3.36.115.136:80 으로 보내봤는데도 사이트에 연결할 수 없음 3.36.115.136 에서 연결을 거부했습니다. 와 같은 오류가 뜹니다. ping 체크 잘 되고 port 체크에서도 telnet: Unable to connect to remote host: Connection refused 와 같은 오류가 발생합니다. 어떤점을 더 체크해봐야할까요? 3tier 구성하기 강의를 들으면서 진행하다가 미션을 하지 않을것을 확인하고 중간에 미션을 진행하고 있는데 혹시 이점에서 문제가 있었을까요?
안녕하세요! 강의 너무 잘 듣고 있는 수강생입니다. 이전 동기화와 CPU의 관계 강의에서는 CPU가 두 개 이상의 명령어를 처리하면 원자성이 보장이 안된다고 설명을 하셨는데, SpinLock & Busy Waiting 강의에서 test_and_set(int *lock) 메서드는 CPU 하드웨어 계층에서 원자성이 보장된다는 게 이해가 잘 가지를 않습니다. test_and_set(int *lock) 이 메서드는 하나의 명령어만 처리하는 건가요??
[실습] 1. Route53에서 도메인 구매 카페24에서 이미 구매하 도메인이 있습니다. routes5를 시작하기를 누르면 도메인생성, 이전이 있는데, 이전이란 cafe24의 제 도메인을 routeS5로 이전하게 되면서 비용이 발생하는걸까요? 이미 타도메인으로 수업을 따라갈수 있는건지 궁금합니다.
중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
안녕하세요. 하루만에 또 질문이 생겼네요.. backend로 s3 bucket을 지정해 .tfstate 파일을 s3에서 관리하다가 destroy 명령어로 리소스를 제거하려고 할 때 다른 리소스는 모두 제거되지만 s3 bucket은 제거되지 않고 에러가 발생했습니다. 아래 이유들로 당연하다면 당연하지만 그래도 의견을 들어보고자 질문을 하게 되었습니다. ( 이번에도 마찬가지로 구글과 chatgpt를 이용해 찾아봤으나 chatgpt는 lifecycle 블록의 prevent_destory 속성을 이용하면 bucket내부의 파일도 삭제하고 bucket도 삭제해주는 것처럼 알려줘놓고 해보니 안되더라구요ㅜ 결제를 해야하나.. ) s3 bucket의 경우 bucket 내에 파일이 존재하면 삭제할 수 없다 삭제해야하는 파일은 .tfstate 파일인데 terraform을 이용해 생성한 리소스의 정보가 담겨있는 파일이라 해당 파일을 삭제하면 terraform이 인지하지 못해 결국 terraform 명령어를 이용해 s3 bucket을 삭제하지 못하게 된다. 즉, 위 2가지 이유로 인해 backend로 설정한 s3 bucket은 terraform destroy 명령어를 이용해 삭제하는 방법은 없고, 그외 다른 리소스만 destroy 명령어로 삭제하고, s3 bucket까지 삭제하려면 aws console에서 수동으로 .tfstate 파일은 삭제한 뒤 s3 bucket을 삭제해야한다는 결론을 내렸습니다. 해당 결론에 대한 선생님의 의견을 들어보고싶습니다. 답변 부탁드립니다. 감사합니다.
중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
안녕하세요. 중급강의를 듣고 실습하던 중 궁금한 사항이 생겨 chatgpt나 구글을 찾아봤지만 답을 찾지 못해 질문드립니다. terraform의 경우 명령어의 실행범위가 현재 위치한 디렉토리 내로 한정되어 각 디렉토리별로 terraform init 명령어를 입력해주어야 하는 것 같은데 이때 .terraform 디렉토리가 init 명령어를 실행하는 디렉토리마다 생성이됩니다. 그런데 이 .terraform 디렉토리의 크기가 aws 를 기준으로는 약 470mb정도가되어 실제로 사용할 때는 프로젝트별로 하나의 .terraform 디렉토리를 공유해서 사용한다던가 하는 효율적인 방법이 있을거라고 생각하는데 도저히 찾지못해 질문드립니다.