큰돌님 코드중에 int& ret = dp[here][visited]; if(ret != -1) return ret; 이 부분이 결국 메모이제이션으로 해석되었는데요. 강의중 {a,b,c} -> d 로 가려고 할때 {a,b,c}의 순서는 상관없다고 말씀해주신게 ret = min(ret, tst(i, visited | (1<<i)) + dist[here][i]) 이 부분을 거치면서 {a,b,c} -> d로 가기 전 이미 최소 경로로 갱신된 상태이기 때문인가요? 즉, 실제로 a->b->c->d와 b->c->a->d의 경로비용은 다르지만 위의 코드로 인해서 이미 최소비용 경로로 {a,b,c} 가 끝난 상황. 이라고 해석하면 될까요?
제가 알고 있는 바로는 https://에서 //도 \/\/로 표기해야 하는 것으로 알고 있습니다. GA4에서는 첫단에 사용되는 https://의 특수 문자 처리는 하지 않는 것인지요? 강좌 "4가지 조회방식_2_탐색리포트와 정규식의 활용" 마지막 부분의 예시 영상에서 사용 방식에 대해 혼란이 있어 문의 드립니다.
mvc2편 마지막 강의에서 아래 컨드롤러를 추가했다고 화면에 이미지 파일이 나타나는 이유를 정확히 모르겠습니다. /images/{filename} 디렉토리가 호출된 적이 없잔아요? @ResponseBody @GetMapping("/images/{filename}") public Resource downloadImage(@PathVariable String filename) throws MalformedURLException { return new UrlResource("file:" + fileStore.getFullPath(filename)); }
안녕하세요 빅분기 기출 3회 작업형2 문제를 풀던중 데이터 분리와 원핫인코딩을 안하고 LabelEncoder와 랜덤 포레스트를 사용해서 문제를 풀어보았는데 마지막 csv 제출에서 데이터길이가 차이 나서 만들어지지 않는다고 뜨네요 어디를 잡아야하는지 몰라 문의드려요 🥲 올려주신 데이터가 아닌 다른 문제집에 있는데이터를 활용했는데 길이 차이가 나더라구여..
모든 인스턴스를 삭제 후 생성되기까지 기다렸는데 이와 같은 에러가 발생하면서 로드밸런스의 dns주소에 접속할 수 없다는 알람이 나왔습니다(gateway 502에러, Error establishing a database connection) 하라는데로 똑같이 했는데 무엇이 문제였을까요? 전부지우고 처음부터 다시 하였는데 ec2 인스턴스가 삭제후 2개 생겼는데 한개만 생기고 로드밸런스에서 대상 그룹을 변경해주니 접속이 되더라구요 자동으로 대상그룹이 반영이 안될까요? ec2 인스턴스는 왜 1개만 생성되는걸까요...
nginx+https 적용후 www.zoommeetinggo.p-e.kr 입력시 서비스 화면이 아닌 Welcome to nginx 화면으로 이동하게 되었습니다. (https 가 적용된 https://www.zoommeetinggo.p-e.kr 으로 이동) - sudo vim /etc/nginx/nginx.conf 코드 수정 # 443 포트로 접근시 ssl을 적용한 뒤 3000포트로 요청을 전달해주도록 하는 설정 server { server_name 13.125.232.127 www.zoommeetinggo.p-e.kr ; listen 80; location / { proxy_set_header HOST $host; proxy_pass http://127.0.0.1:3000 ; proxy_redirect off; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/ www.zoommeetinggo.p-e.kr/fullchain.pem ; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/ www.zoommeetinggo.p-e.kr/privkey.pem ; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } # 80 포트로 접근시 443 포트로 리다이렉트 시켜주는 설정 server { if ($host = www.zoommeetinggo.p-e.kr ) { return 301 https://$host$request_uri ; } # managed by Certbot server_name www.zoommeetinggo.p-e.kr ; listen 80; return 404; # managed by Certbot } /////////////////////////////////////////////////////////////////////// - sudo vim cd /etc/nginx/sites-available/default 코드 수정 server { listen 80; listen [::]:80; root /var/www/html index index.html index.htm index.nginx-debian.html; server_name www.zoommeetinggo.p-e.kr ; location / { proxy_pass http://localhost:3000 ; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } } 코드 수정후 http://13.125.232.127 연결시 http://13.125.232.127:3000 리다이렉트 하여 서비스 화면을 보여줍니다. (http) http://www.zoommeetinggo.p-e.kr:3000 연결시 서비스 화면 보여줍니다, (http) https://www.zoommeetinggo.p-e.kr 연결시 nginx 화면으로 이동됩니다. 무엇을 놓치고 있는지 잘 모르겠어서 질문드립니다. ( https://www.zoommeetinggo.p-e.kr/ 연결시 https://www.zoommeetinggo.p-e.kr:3000 포트로 연결 되게 하고 싶습니다.)
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] OrderServiceV1, OrderControllerV1, OrderRepositoryV1, AppV1Config 각각 @Service @Controller @Repository @Configuration 이렇게 각각 어노테이션만으로 스프링 빈 자동 등록이 되는걸로 알고있는데, (혹시나 제가 미처 고려하지 못한 이유가 있다면) 수동등록을 선택하신 이유를 알고 싶습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 현재 스프링mvc와 jpa를 활용해서 게시판 프로젝트를 만들고있습니다. 로그인 처리는 세션으로 구현했습니다. 한 유저가 로그인을 해서 게시글을 작성했을때, 그 게시글은 작성한 해당 유저만이 수정 및 삭제를 할수있게 구현을 하는 중입니다. @GetMapping("/{boardId}/edit") public String editForm(@PathVariable("boardId") Long boardId, Model model, HttpServletRequest request, HttpServletResponse response) throws IOException { Optional<Board> findBoardOptional = boardRepository.findByIdJoinFetchMember(boardId); if (findBoardOptional.isEmpty()) { response.sendError(HttpServletResponse.SC_NOT_FOUND); return null; } MemberSessionDto memberSessionDto = getMemberSessionDto(request); Board findBoard = findBoardOptional.get(); if (!memberSessionDto.getId().equals(findBoard.getMember().getId())) { response.sendError(HttpServletResponse.SC_FORBIDDEN); return null; } model.addAttribute("board", findBoard); return "boards/editForm"; } 현재 이런식으로 해당 게시글의 번호(boardId)로 해당 게시글이 있는지 먼저 검증을 한 후, 세션에 담아둔 유저의 정보를 가져와 해당 게시글을 작성한 유저의 id와 세션의 유저 정보의 id를 비교를 해서 다 검증이 끝나면은 로직이 정상 수행이 되게 만들었는데 막상 이렇게 만드니 수정 페이지이동, 수정, 삭제 에서도 검증하는 로직이 계속 중복됩니다. @PostMapping("/{boardId}/delete") public String deleteBoard(@PathVariable("boardId") Long boardId, HttpServletRequest request, HttpServletResponse response) throws IOException { Optional<Board> findBoardOptional = boardRepository.findByIdJoinFetchMember(boardId); if (findBoardOptional.isEmpty()) { response.sendError(HttpServletResponse.SC_NOT_FOUND); return null; } MemberSessionDto memberSessionDto = getMemberSessionDto(request); Board findBoard = findBoardOptional.get(); if (!memberSessionDto.getId().equals(findBoard.getMember().getId())) { response.sendError(HttpServletResponse.SC_FORBIDDEN); return null; } boardRepository.deleteById(boardId); return "redirect:/boards"; } 이렇게 똑같이 중복이 됩니다. 이렇게 구현을 하는게 맞는건지, 혹은 더 추천하는 방법이 잇는지, 실무에서는 어떻게 검증을 하는지 여쭈어보고싶습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 문자를 a로 치환하고 숫자만 뽑으려고 하는데 a의 개수가 달라서 에러가 뜹니다. 방법이 없을까요?? import java.io.*; import java.util.*; public class Main { public static void main(String[] argvs) { Scanner sc = new Scanner(System.in); String s=sc.next(); String str = s.replaceAll("[^0-9]","a"); //a로 치환 int answer= 0; System.out.print(str); } }
*************************** APPLICATION FAILED TO START *************************** Description: Parameter 4 of constructor in io.springbatch.batch.job.api.SendJobConfiguration required a single bean, but 4 were found: - apiMasterStep: defined by method 'apiMasterStep' in class path resource [io/springbatch/batch/job/api/ApiStepConfiguration.class] - apiSlaveStep: defined by method 'apiSlaveStep' in class path resource [io/springbatch/batch/job/api/ApiStepConfiguration.class] - jobStep: defined by method 'jobStep' in class path resource [io/springbatch/batch/job/api/SendChildJobConfiguration.class] - fileStep: defined by method 'fileStep' in class path resource [io/springbatch/batch/job/file/FileJobConfiguration.class] Action: Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed Process finished with exit code 1 이런 에러가 발생하는데 어케 해결해야 될까요? ㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. A_i의 정의가 i번째의 사람이 모자를 받는다는 건데 A_1에서 (N-1)!을 설명하실 때 첫번째 사람이 자기 모자를 받았을 때의 전체 경우의 수라고 얘기하셨는데 2번째 사람의 N-1에서는 2번째 사람의 자기 모자를 받을 경우의 수도 포함인거 아닌가요? 그렇게 된다면 1번째 사람 2번째 사람 둘다 자기의 모자를 받으니 정의에 어긋나기때문에 이때는 N-2가 되야하는거 아닐까요?
[강의명 : (실습) 새로운 AMI 생성] rds와 데이터 베이스 연동시에 새로운 AMI를 생성하는데 왜 생성해야하는걸까요? 저는 AMI를 처음 EC2를 생성시에 필요한 이미지 파일이라고 이해했는데.... EC2에서 이미지 생성이 필요한 때가 언제인가요?? 이 강의에서 새로운 이미지 생성을 안하면 안되는건가요? AMI에 대해 제대로 이해 못한것 같습니다... [강의명 : (실습) 새로운 시작 템플릿 생성] 여기서 시작 템플릿을 다시 생성하는데 기존 auto scaling 할 당시에 만들었던 템플릿 사용하면 안되는건가요? 기존탬플릿을 수정하면 오토스케일링 그룹에서 새로운 템플릿으로 안바꿔줘도 되지 않을까요...?
어떤 클래스명이 어떤 css에 해당하는지를 일부내용들은 암기하고 사용하시는건지 궁금합니다! 그냥 사용하다보면 저절로 외워지는건가요?그리고 강의내용과는 별개로 현업에서 디자인같은 부분은 피그마를 많이 사용하는듯 하는데 피그마로 디자인한것을 코드로 변환하는 과정이 어떻게 이루어지나요?피그마 자체기능으로 html코드로 변환한다음에 이걸 잘 가공?해서 프론트코드로 만들어내는건지 아니면 그냥 피그마 이미지만 보고 클론코딩하는것처럼 코드를 작성하는건지 궁금합니다