학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 상품 수정 강의를 수강하다가 0분 30초경에 editForm메서드를 만드실때 PathVariable 어노테이션을 써야한다고 말씀하시는데 메소드마다 PathVariable을 쓰거나, RequestParam을쓰거나, ModelAttribute를 쓰는 기준점이 궁금합니다
이렇게 풀어도 정답 다 통과되던데 반례가 있을까요 ? import sys import string as t sys.stdin = open("input.txt", "r") a = [list(map(int, input().split())) for _ in range(9)] True_flag = True nums = [i for i in range(1, 10)] for y in range(0, 9, 3): for x in range(0, 9, 3): res = [] res.extend(a[y : y + 3][0][x : x + 3]) res.extend(a[y : y + 3][1][x : x + 3]) res.extend(a[y : y + 3][2][x : x + 3]) if len(nums) != len(set(res)): True_flag = False break if True_flag: print("YES") else: print("NO")
쉽게 시작하는 쿠버네티스를 완강하고 그림으로 배우는 쿠버네티스를 수강하고 있습니다. 요번 사이버 먼데이에 cka 할인 쿠폰이 나오면 cka 도전을 위해 열공 중입니다. 매번 강의 내용 실습을 위해 VM을 On/Off 하고있는데 엔지니어 특성상 이것도 귀찮네요. vagrant halt 를 이용하여 한번에 vm을 Off 하는 방법을 찾았는데 한번에 On 하는 방법은 이리저리 해도 안되더라구요. vagrant up을 다시 하면 프로비저닝을 다시 하려고 해서 시간도 많이 걸리는 것도 같아서요. 그래서 찾은 방법을 공유 드립니다. 아래 내용을 배치 파일로 vmon.bat, vmoff.bat 생성후 실행해주는 방법을 찾았습니다. 버츄얼 박스도 따로 실행할 필요없이 실행되서 깔끔하네요. VM ON "C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm "m-k8s-1.22(github_SysNet4Admin)" --type headless "C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm "w1-k8s-1.22(github_SysNet4Admin)" --type headless "C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm "w2-k8s-1.22(github_SysNet4Admin)" --type headless "C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" startvm "w3-k8s-1.22(github_SysNet4Admin)" --type headless VM OFF "C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm "m-k8s-1.22(github_SysNet4Admin)" poweroff "C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm "w1-k8s-1.22(github_SysNet4Admin)" poweroff "C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm "w2-k8s-1.22(github_SysNet4Admin)" poweroff "C:\Program Files\Oracle\VirtualBox\vboxmanage.exe" controlvm "w3-k8s-1.22(github_SysNet4Admin)" poweroff 혹시 좀더 우아한 방법이 있으시면 알려주세요.
몽구스 연결하고, 실행하면, 연결성공 메시지까지 뜨는데, 접속하면 room.find is not a function이 출력됩니다. const Room = require('../schemas/room")을 const {Room}이나 const {Room, roomSchema}로 바꾸는 걸 해봐도 해결되진 않습니다. 제 생각으로는 schemas/room 과 controller의 index가 제대로 연결되지 않는것으로 보이는데 어떻게 접근하면 좋을까요?
백엔드를 npm run start로 했을 시 로그인이 안되는 문제가 있습니다. 프론트,백엔드 https적용되어있고 같은 도메인을 쓰고있습니다. app.js에 cookie.secure를 주석처리하면 로그인이 됩니다. 질문드린 이유는 지금 제 프론트 <-> 백엔드가 https 통신이 아닌 것인지 맞다면 왜 cookie.secure를 true로 했을 때 왜 쿠키가 설정이 안되는 것인지 알고싶습니다. -시도한 방법 - domain에 상위도메인 넣어보았는데도 안됩니다 ㅠ 저와 비슷한 상황을 겪은 분의 질문을 보던 중 궁금한 게 있어서 이것도 적어봅니다. https://www.inflearn.com/questions/342672/express-aws-%EB%B0%B0%ED%8F%AC-%ED%9B%84-%EC%84%B8%EC%85%98-%EC%BF%A0%ED%82%A4 여기서 cors는 어떻게 하란걸까요? -아래는 제 상황을 파악하시는데 도움이 될만한 내용을 적어봤습니다.- 아래는 프론트에서 login 요청시 morgan 로그입니다. 프론트 url입니다 => https가 적용되어있습니다. 아래는 백엔드 url을 인터넷주소창에 쳤을 때입니다. 아래는 프론트에서 백엔드로 login 요청했을 때 요청헤더입니다. 아래는 백엔드서버 nginx 설정입니다. Route53 호스팅 영역 설정입니다. app으로 시작하는게 백엔드입니다. (CNAME이런건 그림판으로 지웠습니다.) 가비아에도 서브도메인으로 등록했습니다.
안녕하세요 강의를 수강하다 제가 잘못 이해하고 있는 부분이 있는 것 같아서 질문드리게 되었습니다. 다음은 "간단한 주문 조회 V2: 엔티티를 DTO로 변환" 강의에서 35초에 해당하는 화면을 캡처한 부분입니다. orderRepository는 @PersistenceContext 처리된 EntityManager를 가지고 있는데 이 때 Transaction의 범위가 어디까지인지를 잘 모르겠습니다. 추측으로는 List<Order> all가 준영속상태로 반환될 것으로 예상했는데 order가 membe프록시 객체를 가지고 있다가 Lazy 강제 초기화가 가능한 것을 보면 영속성 컨텍스트가 여전히 존재하는 상태인 것 같습니다. Transaction의 범위가 어디까지인지 궁금합니다. 감사합니다.
윈도우 환경입니다. C:\terraform\terraform.exe 테라폼 파일은 위 폴더에있습니다. 위 사진처럼 해당 폴더에 Terraform 폴더를 만들고 해당 폴더에 main.tf 파일을 생성했습니다. main.tf파일내용은 provider "aws" { region = "ap-northeast-2" } 입니다. terraform init 명령어를 치면 아래와같은메시지가 나옵니다. C:\terraform>terraform init Terraform initialized in an empty directory! The directory has no Terraform configuration files. You may begin working with Terraform immediately by creating Terraform configuration files. 위 내용을 구글링해보면 테라폼 프로젝트가 아닌곳에서 커멘드를 치면 위와같은에러가난다고 하는데 테라폼 프로젝트가 해당 디렉토리가 맞습니다.. (스크린샷 참조) 어디가 잘못된것일까요 편집기에도 인식을 못했는지 색상이 변화가 없습니다(글씨)
binggo.me 라는 도메인으로 작업하는 중인데요, 리액트 라우트는 아래와 같이 작성이 되어있습니다. return ( <BrowserRouter> <Routes> <Route element={<App />}> <Route path="/" element={<Navigate replace={true} to="/home" />} /> <Route path="home" element={<UserHomePage />} /> <Route path="challenge/new" element={<MakeChallengePage />} /> <Route path="bingos/:bingoId" element={<BingoPage />} /> <Route path="challenge/:challengeId" element={<ChallengePage />} /> </Route> <Route path="*" element={<NotFoundPage />} /> </Routes> </BrowserRouter> ); '/'로 접근하면 '/home'로 리디렉션은 잘 되는데, '/home'로 바로 접근할 때 로컬에서는 잘 되고 프로덕션에서는 에러가 뜨네요. 다른 페이지들도 마찬가지로 접근이 안됩니다. 에러 내용은 아래와 같은데 NotFoundError: Not Found at /home/ubuntu/local/bingo/bingo/server/app.js:45:8 at Layer.handle [as handle_request] (/home/ubuntu/local/bingo/bingo/server/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/home/ubuntu/local/bingo/bingo/server/node_modules/express/lib/router/index.js:317:13) at /home/ubuntu/local/bingo/bingo/server/node_modules/express/lib/router/index.js:284:7 at Function.process_params (/home/ubuntu/local/bingo/bingo/server/node_modules/express/lib/router/index.js:335:12) at next (/home/ubuntu/local/bingo/bingo/server/node_modules/express/lib/router/index.js:275:10) at SendStream.error (/home/ubuntu/local/bingo/bingo/server/node_modules/serve-static/index.js:121:7) at SendStream.emit (node:events:513:28) at SendStream.error (/home/ubuntu/local/bingo/bingo/server/node_modules/send/index.js:270:17) at SendStream.onStatError (/home/ubuntu/local/bingo/bingo/server/node_modules/send/index.js:421:12) app.js 45번째 라인은 접근할 수 없는 경로에서 404를 뱉게하는 부분인 것 같습니다. app.use(function (req, res, next) { next(createError(404)); }); 근데 또 db랑 연결해둔 api부분은 잘 접근이 되어요. 잘은 모르지만 서버쪽의 app.js파일에서 라우팅을 한 경우에는 잘 되고(/api 경로로 수업때 해주신 것 처럼 라우팅 해뒀습니다), 프론트쪽 작업에서 해둔 라우팅이 로컬에서는 잘 먹고, 프로덕션에서는 안먹고 있는 것 같아요. 혹시 이 문제의 해결 방법이 있을까요? 해결하기 위해서 더 필요한 정보가 있으시다면 말씀주시면 감사하겠습니다!
1. 무엇을 하고 싶으신가요? 영상 01:57분에 나오는 Terraform 디렉토리는 직접 만드신건가요? 제가 직접 만드니 아이콘이 생기지 않습니다. 영상을 계속 하나씩 따라하다가 01:57분에 모르는폴더가 갑자기 생기고 main.tf에 코드를 넣으니 영상처럼 나오지않네요 2. 언제, 어떤 오류가 발생하시나요? 저는 윈도우 환경에서 하고있습니다. terraform.rc 파일내에 plugin_cache_dir = "/Users/incle/AppData/Roaming/terraform.d/plugin_cache" 를 셋팅하였습니다. 이후 terraform init 을 명령어에 치면 셋팅은 완료되었으나 영상에서럼 폴더가 생성되지 않습니다. 답답하네요 3. 어떤 시도를 해보셨나요? 4. 작성한 코드를 공유해주세요.
안녕하세요 DTO를 직접 반환하지 않고 Result로 감싸서 반환하는 것을 구현하는 도중 궁금한 점이 생겼습니다. 일단 코드는 다음과 같습니다. /** * DTO를 감싸서 반환하는 클래스 * 반환에 성공하면 status에는 "success", data에는 DTO, error에는 null이 담긴다 * 예외가 발생하면 status에는 "fail", data에는 null, error에는 errorCode가 담긴다 */ @NoArgsConstructor @Getter public class Result<T> { private String status; private T data; private ErrorDTO error; public Result(String status, T data, ErrorDTO error) { this.status = status; this.data = data; this.error = error; } } @PostMapping("/save") public ResponseEntity<Result<UserDTO>> save(@RequestBody @Validated UserDTO userDTO, BindingResult bindingResult) { if (bindingResult.hasErrors()) { for (ObjectError error : bindingResult.getAllErrors()) { return ResponseEntity.ok().body(ResultUtils.fail(error.getCode(), error.getDefaultMessage())); } } UserDTO savedUserDTO = userService.save(userDTO); return ResponseEntity.ok().body(ResultUtils.success(savedUserDTO)); } public class ResultUtils { private static final String SUCCESS = "success"; private static final String FAIL = "fail"; public static <T> Result<T> success(T data) { return new Result<>(SUCCESS, data, null); } // 이 메서드의 제너릭 표기도 어떻게 해야할지...? public static Result fail(String errorCode, String message) { return new Result(FAIL, null, new ErrorDTO(errorCode, message)); } } 이렇듯 예외가 발생한 경우에 data에는 null을 담아서 반환하고 싶으면, 예외 발생 여부에 따라 Result<T>의 T가 userDTO이기도 하고 null의 2가지...? 인 느낌이 드는데 그럼 public ResponseEntity<Result<UserDTO>> save 처럼 메서드 선언부에서 Result의 제너릭을 표기하는 의미가 있을까요? Result로 적는 것이 좋을지 그래도 userDTO를 명시해 줘야할지가 궁금합니다. 추가로 userDTO 단건일시에는 제너릭이 그다지 복잡하지 않지만 만약 DTO에 페이징 기능을 더하여 반환하고자 한다면 Result<Page<UserDTO>> 처럼 제너릭 안에 제너릭이 있게 될텐데 이러한 경우에도 그냥 제너릭을 생략하는 것이 좋을지 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 로그아웃을 하면 개발자 도구에서 네트워크 탭에 헤더에는 Max-Age = 0 이라고 표기가 되는데, 애플리케이션 탭에는 쿠키가 제거되지 않고 Expires에 세션이라고 뜹니다. 크롬 브라우저 설정도 찾아봤는데 해결이 되지 않습니다. 무엇이 문제인가요?