묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
app.js 실행순서
app.js 실행순서여러개의 라우터 app.get()이 있고미들웨어,listen이 있을경우1.listen 실행2.미들웨어 실행(next가 있어야 라우터가 실행된다)3.이때 라우터는 클라이언트가 전송한 주소를 위에서 부터 밑으로 확인해서 적합한 라우터 실행이런 순서라면 listen이 젤위에 있어야하는거 아닌가요?
-
미해결
EC2 로드 밸런서 HTTPS 트래픽 처리불능에 대해 질문합니다.
안녕하세요, 저는 지금 프론트엔드 개발자를 준비하고 있는 취업준비생입니다.포트폴리오를 준비하면서 웹 풀스택 개인 프로젝트를 진행중입니다. AWS를 이용한 프로젝트 배포과정에서 적용한 HTTPS 트래픽 처리 과정에서, EC2 Load Balancer에서 HTTPS 트래픽을 처리하지 못하는 문제를 해결하지 못해 질문합니다. 현재 프로젝트 배포를 위해 사용하고 있는 AWS 서비스들은 아래와 같습니다.S3EC2 (Load Balancer 포함)RDSRoute 53CloudFront 발생한 문제의 상세한 내용은 아래와 같습니다. 가상의 향수 쇼핑몰을 주제로 프로젝트를 만족스럽게 구현하였고, 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 트래픽을 처리하지 못하는 이유가 무엇일까요?
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 공유가 중단된것 같아요
안녕하세요 공유되었던 노션 페이지가 현재 접근할 수 없다 표시되어서 문의드립니다. 혹시 재공유 가능할까요?? 주소는 annie45671@gmail.com 입니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
컨트롤러 매핑이 안됩니다 ㅠㅠ
강의를 다듣고 혼자서 게시판을 구현하기 위해 작업중인데요 회원가입 기능을 만들기 위해서 index.html 화면에서 회원가입 버튼을 누르면 회원가입 뷰로 이동하게 할려고 했는데 컨트롤러가 매핑이 안되어 뷰가 보이지 않습니다. 어떻게 해결해야 할까요? https://drive.google.com/drive/folders/1qfnBICO1XDiGDS_BTleEBumPHN2bnJi6?usp=drive_link
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
데이터 세트에 대한 기능 부분 질문입니다.
안녕하세요.. 데이터세트에 대한 질문이 있습니다.강의에서 train, validation으로 테이터 세트를 나누어서 진행하는 부분에서, 훈련용 데이터세트는 당연히 훈련 전용일것이고,Validation의 경우 epoch 를 반복하면서 모델 검정 간격을 정해주면 그때 사용 하는것 같은데.. 여기서 질문이 있습니다.Validation에서 객체를 잘못 구분할 경우 이것이 피드백이 되어 모델 훈련에 반영이 되는것인지요? 아니면 단순하게 mAP, mAR 만 확인하는 것인지요?만약 mAP, mAR 을 확인하는 것이라면 시간을 절약하기 위해서 validation 데이터 세트에 대한 검정간격을 자주 하지 않아도 되지 않을까 싶은데 이러한 판단이 맞는 것인지 궁급합니다.만약 반대로 validation. 데이터 세트에 대한 검정자체가 모델 훈련에 직접적으로 피이드백을 해서 훈련 결과에 개선효과가 있다면 검정을 자주 하는 것이 좋은것인지요??이와는 별개로 GPU 성능에 따라서 동일한 데이터세트와 동일한 조건에 대한 학습 결과가 달라질수 있는지요??? 만약 그렇다면 GPU 성능을 높이고 batch size를 많이 할수록 학습 결과가 개선이 되는 것으로 이해하는 것이 맞는지요??항상 좋은 강의 고맙습니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
연속부분수열
import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main { public int solution(int n, int m, int arr[]) { int answer = 0; int sum = 0; int lt = 0; int rt = 1; // 초기 합 설정 sum += arr[lt] + arr[rt]; while (rt < n - 1) { if (sum < m) { sum += arr[++rt]; } else if (sum == m) { answer++; sum -= arr[lt++]; } else { sum -= arr[lt++]; } } // while문에서 rt가 마지막 인덱스일 때 합은 검증을 못해서 검증 로직 추가 if (sum == m) answer++; return answer; } public static void main(String[] args) { Main T = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int arr[] = new int[n]; for (int i = 0; i < n; i++) { arr[i] = sc.nextInt(); } System.out.println(T.solution(n, m, arr)); } }이 코드가 효율적인 코드인지 궁금해서 질문드립니다!!
-
미해결
getid()오류
// Member.java package hello.core.member; public class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade) { this.id = id; this.name = name; this.grade = grade; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Grade getGrade() { return grade; } public void setGrade(Grade grade) { this.grade = grade; } }멤버 클래스코드이고package hello.core.member; import java.lang.reflect.Member; import java.util.HashMap; import java.util.Map; public class MemoryMemberRepository implements MemberRepository{ private static Map<Long, Member> store =new HashMap<>(); @Override public void save(Member member) { store.put(member.getId() ,member); } @Override public Member findByID(Long memberId) { return store.get(memberId); } }레파지토리 코드인데 getId부분에 오류가 뜹니다
-
미해결MSSQL Server 2016 기반의 데이터베이스 입문에서 활용까지 Part.1
pubs 다운로드 링크 문의 드립니다.
pubs 다운로드 링크가 유실되었는데 다른 질문의 답변의 블로그에도 삭제된 게시물이라고 뜹니다. 데이터를 다운받으려하는데 어떻게 해야할지 질문 드립니다.
-
미해결Next + React Query로 SNS 서비스 만들기
page.tsx params 확인 방법
page.tsx에서 props로 받은 params 또는 searchParams를 console.log()로 확인해보고 싶은데 찍히지가 않아서요.원래 그런건가요...?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
hasIpAddress 설정 403
왜 게이트웨이로 접근이 안될가요?hasipaddress값에 제 컴 아이피를 적고http://220.86.33.96:9295/welcome > 접근가능한데 http://220.86.33.96:8000/user-service/welcome > 접근불가떠요..이해가안됩니다 게이트웨이서버건 유저 서버건모두 제 컴퓨터고 제 서버 아이피가 220.86.33.96인데..hasIpAddress값을 127.0.0.1로 주고 접근하면 모든곳에서 접근이 됩니다..
-
미해결홍정모의 따라하며 배우는 C언어
오류
수업에 나온 것과 똑같이 코딩을 했는데 오류가 다음과 같이 뜨는데 해결이 되질 않습니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
placeholder에 국제화 적용해보기
placeholder에 국제화를 적용하려면 다음과 같이 하면 되는 걸까요? <기존><수정>message.properties에 위의 값 추가
-
미해결
npm, node-gyp 오류 원인을 도대체 모르겠습니다..
안녕하세요. 개츠비 스타터 템플릿 받는 도중에 아래와 같은 오류가 계속 발생하는데 원인을 정말 모르겠습니다.. 일단 제가 해본 것은 node 버전, node-sass 버전 호환 확인 (node : v20.11.1, dart sass : 1.71.0)npm-cache verify노드 재설치도 해보고 이 방법 저 방법 해보고 있는데 정말 원인을 모르겠습니다ㅠ혹시 알려주실 분 계실까요?ㅠㅠ C:\Users\SEC>npx gatsby new gatsby-starter-ghost https://github.com/TryGhost/gatsby-starter-ghost info Creating new site from git: https://github.com/TryGhost/gatsby-starter-ghost.git Cloning into 'gatsby-starter-ghost'... remote: Enumerating objects: 80, done. remote: Counting objects: 100% (80/80), done. remote: Compressing objects: 100% (65/65), done. remote: Total 80 (delta 5), reused 45 (delta 4), pack-reused 0 Receiving objects: 100% (80/80), 303.50 KiB | 2.20 MiB/s, done. success Created starter directory layout info Installing packages... npm ERR! code 1 npm ERR! path C:\Users\SEC\gatsby-starter-ghost\node_modules\@parcel\watcher npm ERR! command failed npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuild npm ERR! gyp: binding.gyp not found (cwd: C:\Users\SEC\gatsby-starter-ghost\node_modules\@parcel\watcher) while trying to load binding.gyp npm ERR! gyp ERR! configure error npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1 npm ERR! gyp ERR! stack at ChildProcess.<anonymous> (C:\Users\SEC\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\configure.js:271:18) npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:518:28) npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:294:12) npm ERR! gyp ERR! System Windows_NT 10.0.22621 npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\SEC\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" npm ERR! gyp ERR! cwd C:\Users\SEC\gatsby-starter-ghost\node_modules\@parcel\watcher npm ERR! gyp ERR! node -v v20.11.1 npm ERR! gyp ERR! node-gyp -v v10.0.1 npm ERR! gyp ERR! not ok npm ERR! A complete log of this run can be found in: C:\Users\SEC\AppData\Local\npm-cache\_logs\2024-02-16T05_22_06_366Z ERROR UNKNOWN Command failed with exit code 1: npm install --loglevel error --color always --legacy-peer-deps --no-audit Error: Command failed with exit code 1: npm install --loglevel error --color always --legacy-peer-deps --no-audit - error.js:60 makeError [npm]/[gatsby-cli]/[execa]/lib/error.js:60:11 - index.js:118 handlePromise [npm]/[gatsby-cli]/[execa]/index.js:118:26 - task_queues:95 processTicksAndRejections node:internal/process/task_queues:95:5 - init-starter.js:108 install [npm]/[gatsby-cli]/lib/init-starter.js:108:7 - init-starter.js:163 clone [npm]/[gatsby-cli]/lib/init-starter.js:163:3 - init-starter.js:285 initStarter [npm]/[gatsby-cli]/lib/init-starter.js:285:5 - create-cli.js:405 [npm]/[gatsby-cli]/lib/create-cli.js:405:9
-
미해결Next + React Query로 SNS 서비스 만들기
react-intersection-observer 무한스크롤페이지 중복호출문제
안녕하세요 제로초님 강의 잘 보고 있습니다.다름아니라 무한스크롤 부분 구현중(개인 프로젝트에 해당 부분만 먼저 적용중이라 jsonplaceholder API로 호출하고 있습니다) fetchNextPage가 2번씩호출이 되어서 delay도 조정해보았는데 계속 2번씩호출이 되서 로직에 혹시 문제가 있는지 봐주실수 있을지부탁드립니다.0. 콘솔에 확인한 결과처음 화면에 ref가 렌더되고 그 이후 data fetching이 완료되어 isFetcing이 false가 되었는데, data를 map으로 div로 뿌리는 렌더링 과정에 시간이 소모되어 inView는 true && isFetching도 false가 되어서 div가 화면에 나타나고 ref div를 가리기 전에 data fetching을 한번씩 더 하고 있는 상황입니다.감사합니다
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
혼자 풀어봤는데요...
function solution(n, arr) { // 소수를 판별하는 함수 function isPrime(num) { if (num === 1) return false; if (num === 2) return true; for (let i = 2; i <= Math.sqrt(num); i++) { if (num % i === 0) return false; } return true; } const answer = arr.filter((num) => { let reverseNum = Number(String(num).split('').reverse().join('')); if (isPrime(reverseNum)) { console.log(reverseNum); return reverseNum; } }); return answer; } const n = 9; const arr = [32, 55, 62, 20, 250, 370, 200, 30, 100]; console.log(solution(n, arr));filter 내의 조건문에서 isPrime 함수에서 판별하고 true인 것을 콘솔에 출력해보면23, 2, 73, 2, 3 이렇게 나오는데밑에 return reverseNum;을 하고 나서 answer을 보면[ 32, 20, 370, 200, 30 ] 이렇게 출력되는데 왜 숫자가 다르게 나오는 건가요?
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
master init error
안녕하세요. 열심히 열공 하고 있습니다.저는 컴퓨터 환경이 우분투 데스크탑 서버 22.04 두대우분투 라이브 서버 두대 이렇게 운영중에 있습니다.kubernetes master init 에러 각 각 4대의 공유기로 따로 사설 Ip로 나가고 있습니다.몇가지 궁금한 점 1. 4대의 pc가 내부 ip로 연결이 안 되어 있습니다.(랜 카드을 두개 설치해서 각각 내부 ip로 연결이 되어야 하는지 궁금합니다.)2. Docker 서비스를 stop에서 사용해야 하는지 아니면 별개로 그냥 사용해도 되는지 궁금합니다.3. 우분투 데스크탑 서버 22.04 두대에 설치을 하면 똑같은 kubernetes master init 에러 error execution phase addon/coredns: couldn't retrieve DNS addon deployments: Get "https://192.168.0.4:6443/apis/apps/v1/namespaces/kube-system/deployments?labelSelector=k8s-app%3Dkube-dns": net/http: request canceled (Client.Timeout exceeded while awaiting headers)To see the stack trace of this error execute with --v=5 or higher이 메세지가 출력됩니다.4. kubeadm reset도 여러번 해봤습니다.5. 공유기 포트포워딩 8080, 6443, 모든 포트 개방 DMZ도 활성화 했습니다.
-
해결됨15일간의 빅데이터 파일럿 프로젝트
고사양 server03 이미지
안녕하세요고사양 pc에서는 server01, 02, 03 이 필요한 것으로 알고 있는데 혹시 server03은 어디서 받을 수 있을까요? 섹션 1~2에 업로드된 첨부파일 확인했는데 server03 이미지를 찾지 못하여 문의 드립니다!
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
uc를사용할때 유저 에이전트 변경이 불가능합니다.
undetected chromedriver 를 사용할때UA_Data = make_user_agent(UA, True) self.driver.execute_cdp_cmd("Network.setUserAgentOverride", UA_Data)를 이용하여도 userAgentData의 변경이 되지 않습니다.버전의 문제일까요?
-
해결됨개발자를 위한 쉬운 도커
Dockerfile과 docker-compose.yml 파일
안녕하세요docker-compose.yml를 사용할 때사용자가 애플리케이션에서 변경한 내용을 다시 build 해야되는 경우가 아니면dockerfile은 없어도 되는 게 맞는걸까요??
-
미해결스프링 시큐리티
msa 구성시 SecurityContext 활용
안녕하세요! 현재 학습차 msa 구성으로 회원 가입/로그인/인증 부분을 만들어 보고 있습니다.auth-micro-service에서 인증하고 gateway 계층으로 인증 객체를 전송해서 SecurityContext에 인증 객체를 저장하려고 했는데 잘 안되고 문제가 발생합니다... 아무리 관련 내용을 검색해봐도 제가 부족한 탓인지 파악이 잘 안됩니다...일반적으로 msa에서 로그인한 회원 식별을 spring-security를 통해서 어떤 방식으로 구현하나요??현재 eureka-server, gateway-server, user-service, auth-service로 구성되어 있고, JWT를 통해 인증하고 있습니다! 회원 가입과 로그인 + 로그인시 AccessToken과 RefreshToken발급까진 했습니다. 로그인 인증은 UserDetailsService 의 loadUserByUsername(username: String) 을 사용하고 있습니다.