묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
배포 에러 질문입니다.
최근 소스 코드 자료 (21/12/28) 다운받아서 보고있는데,강의 목록 중에 [AWS 업데이트) 일래스틱 빈스톡 플랫폼 브랜치] 와 약간 달라서 질문드립니다. Dockerrun.aws.json에 명시되어 있는 설정들을 docker-compose.yml으로 옮기는 과정에서version: '3' services: nginx: restart: always image: xxx/docker-nginx ports: - "80:80"여기서 mem_limit과 links 부분이 다운받은 소스코드 자료에는 없는데,(version 2.4 도..)어떤 자료가 맞는 것인지 질문드립니다..---그리고 travis ci는 정상적으로 동작하는데,Elastic Beanstalk 환경에서는 상태가 '심각'으로 나옵니다..EB에서 환경으로 이동시, 502 Bad Gateway ...nginx_1 | 2023/01/01 07:37:50 [error] 28#28: *16 connect() failed (113: No route to host) while connecting to upstream, .... frontend/DockerfileFROM node:16-alpine as builder WORKDIR /app COPY ./package.json ./ RUN npm install COPY . . RUN npm run build FROM nginx EXPOSE 3000 COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf COPY --from=builder /app/build /usr/share/nginx/htmlfrontend/nginx/default.confserver { listen 3000; location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ /index.html } }nginx/default.confupstream frontend { server frontend:3000; } upstream backend { server backend:5000; } server { listen 80; location / { proxy_pass http://frontend; } location /api { proxy_pass http://backend; } location /sockjs-node { proxy_pass http://frontend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } } 답변 부탁드립니다.
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
enum에 대해서 궁금한점이 있습니다.
ENUM 과배열이랑 비슷해보이는데ENUM과 배열과의 다른점이 무엇인가요?
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
메소드의 사용 이유
안녕하세요 선생님 강의 잘 보고 있습니다.질문 할 것은 간단한데요 메소드를 사용하는 이유는 코드의 중복을 막기 위해서 이 한 가지 때문에 사용한다고 봐도 되는 걸까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
네이버 이미지 크롤링 무한 스크롤 처리. 밑으로 안 내려갑니다.
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyautogui import os # 검색어 입력. keyword = keyword = pyautogui.prompt("검색어를 입력해주세요.") # 저장 폴더 중복 검사 pd_exists = os.path.exists(f'{keyword}') # 조건에 따른 저장 폴더 생성법 ① if True == pd_exists: pass else: os.mkdir(f'{keyword}') # 조건에 따른 저장 폴더 생성법 ② # if not pd_exists: # os.mkdir(f'{keyword}') # 크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager # 브라우저 자동 꺼짐 방지하기 chrome_options = Options() chrome_options.add_experimental_option("detach", True) # 불필요한 에러 메세지 안보이게 하기 chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) # 크롬드라이버매니저를 통해서 최신 크롬드라이버를 자동으로 설치하고, # service 객체를 만들어 변수에 저장. service = Service(executable_path=ChromeDriverManager().install()) # 크롬 열고, 화면 최대화 browser = webdriver.Chrome(service=service, options=chrome_options) browser.maximize_window() # 검색어 입력했을때, 네이버 이미지 탭 결과 리스트창 browser.get(f"https://search.naver.com/search.naver?where=image&query={keyword}") # 웹페이지가 로딩 될 때까지 10초 기다림. 뜨면 바로 10초 안채워도 넘어감. browser.implicitly_wait(10) # 무한 스크롤 처리 # 스크롤 내리기 전 위치 before_h = browser.execute_script("return window.scrollY") # 무한스크롤 while True: #맨 아래로 스크롤 내리기 browser.find_element(By.CSS_SELECTOR, "body.wrap-new.api_animation.tabsch.tabsch_image").send_keys(Keys.END) # 스크롤 사이 페이지 로딩 시간 time.sleep(3) # 스크롤 후 높이 after_h = browser.execute_script("return window.scrollY") if after_h == before_h: break before_h = after_h전에 수업때 만들었던 무한스크롤 파일에선 잘 동작하는데 네이버 이미지 크롤링에서 시도하면 작동이 안됩니다. ㅠㅠ find_element(By. TAG_NAME, "body").send_keys(Keys.END)로 해도 스크롤이 밑으로 안 내려갑니다.새해 복 많이 받으세요!
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
강사님 req.header.cookie에 언제 쿠키를 담아줬는지 궁금합니다.
export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { try { const cookie = req.headers.cookie; console.log(req.headers.cookie); // 쿠키가 없다면 에러를 보냄 if (!cookie) throw new Error('Missing auth token cookie'); // 쿠키가 있다면 그 쿠키를 이용해서 백엔드에서 인증 처리하기 await axios.get('/auth/me', { headers: { cookie } }); return { props: {} }; } catch (error) { // 백엔드에서 요청에서 던져준 쿠키를 이용해 인증 처리할 때 에러가 나면 // login 페이지로 이동 res.writeHead(307, { Location: '/login' }).end(); return { props: {} }; } }; axios.get에 파라미터로 헤더.쿠키 로 넣어준걸까요?근데 순서대로 코드가 동작하게되면 if문에 걸려서 영원히 쿠키가 없어 페이지가 로그인페이지로 이동될텐데 제가 잘못생각한걸까요?두번쨰로 리턴 props:{}로 해주신 이유에대해서 궁금합니다. 다른식으로 그냥 return; 이렇게 작성하고 끝내도 괜찮을까요?
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
`` $ 기능
안녕하세요, 강의 / 코드 중에 `` 내부에 정의하거나 ${} 이런 식으로 값을 넣어주는 경우들이 보이는데요어떤 경우에 `` 혹은 $ 를 사용하는 걸까요?
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
메모리 관련하여 질문드립니다
(강의에서 캡처해온 사진인데 문제되면 삭제하겠습니다)안녕하세요 선생님~~^^강의를 듣고 메모리 관련하여 정보를 찾아보다가 바이트 어드레싱과 워드 어드레싱에 대해 알게 되었는데요,위 사진에서는 16바이트가 한 행을 이루어 0x00...B1070부터 시작하여 0x10 = 16단위로 증가하고 있는데, 그렇다면 저 한 행은 하나의 워드가 되는 거고, 맨 왼쪽 위의 0x54는 1바이트로서 0x00...B1070의 주소를 가지고, 또 그 옆의 0x45는 0x00...B1071의 주소를 가진다고 이해하면 되나요?그리고, 저렇게 주소를 나눴다는 것은 메모리에서 cpu로 데이터가 이동할 때 1바이트씩 이동할 수도 있고, 1워드씩 움직일 수도 있다는 뜻인가요? 만약 그렇다면, 32비트 정수형의 경우 4바이트를 모아서 조립하거나 1워드에서 절반만 떼어서 가져가는 등의 작업이 필요할 것 같은데 이러한 부분들은 어떻게 처리되는지 궁금합니다.항상 좋은 강의와 답변 감사드리고, 새해 복 많이 받으시길 바랍니다~~
-
미해결Node.js로 웹 크롤링하기
3-3 퍼페티어 스크린샷 기능 중 클립 소개에서 궁금한 사항
3-3 퍼페티어 스크린샷 기능 중 클립 소개에서 궁금한 사항입니다.크롤링할때 같은 동작을 하더라도 키워드마다 배치가 조금씩 다르기 때문에 좌표로 스크린샷하는것은 사실상 불가능합니다.그렇다고 전체페이지를 하는것도 리스크가 심합니다.딱 원하는 구간에 대한 스크린샷이 중요한데,결론은원하는 태그, 원하는 엘리먼트 딱 그부분예) div#id / 이런식으로 이구간만 찍고 싶은데 이부분 소개가 없어서요 이게 정말 꿀기능일 텐데 퍼페티어로 가능할지 아니면 다른 것으로라도 가능할지 궁금해요
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
multi app부분 dev 환경 질문입니다.
안녕하세요.docker-multi-app 에서 docker-compose-dev.yml 파일을 이용해서로컬환경에서 화면을 띄워보고 있는데요..const mysql = require("mysql"); const pool = mysql.createPool({ connectionLimit: 10, host: process.env.MYSQL_HOST, user: process.env.MYSQL_USER, password: process.env.MYSQL_ROOT_PASSWORD, database: process.env.MYSQL_DATABASE, port: process.env.MYSQL_PORT }); exports.pool = pool;backend/db.js 에서 위처럼 하면 로컬 화면에서 db 연결이 안되는 것 같습니다..const pool = mysql.createPool({ connectionLimit: 10, host: 'mysql', user: 'root', password: '1234', database: 'myapp' . . . . .직접 적어주면 잘 동작합니다. backend: build: dockerfile: Dockerfile.dev context: ./backend container_name: app_backend volumes: - /app/node_modules - ./backend:/app mysql: build: ./mysql restart: unless-stopped container_name: app_mysql ports: - "3306:3306" volumes: - ./mysql/mysql_data:/var/lib/mysql - ./mysql/sqls/:/docker-entrypoint-initdb.d/ environment: MYSQL_ROOT_PASSWORD: 1234 MYSQL_DATABASE: myapp MYSQL_HOST: mysql MYSQL_USER: root # MYSQL_PORT: 3306docker-compose-dev.yml 파일을 위처럼 작성하고,docker compose -f docker-compose-dev.yml up --build . . . . .db.js파일에서 docker-compose-dev.yml의 로컬db서버 환경변수를 가져올거라 생각했는데..왜 직접 적어줄때만 되고, ... 환경변수? process.env.xxx는 안되는 걸까요? docker-compose-dev.yml 파일로 개발환경을 셋팅해서 정상적인 동작을 보려면 mysql.createPool({ connectionLimit: 10, host: 'mysql', user: 'root', password: '1234', database: 'myapp' 이렇게 직접 적어줘야만 하는 것인지.. 다른 방법이 있는지..답변 부탁드립니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
강사님 몽고디비처럼
제가 사이트에 등록한 데이터들을 볼 수 있는 방법은 없을까요?
-
미해결[핵집] 2025 빅데이터 분석기사(필기)_과목 1~2
강의 수업자료 한번에 받고싶습니다.
빅데이터 분석기사(필기) 과목 1~2와 3~4를 모두 구매했습니다.1~4까지 수업자료를 한번에 메일(cute501h@naver.com)로 보내주시면 감사하겠습니다.
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
mock postService#write
안녕하세요 호돌맨님 강의 듣던 도중 mock 으로도 할 수 있다해서 고민해보는중 잘 모르겠어서 질문을 올립니다.public void write(PostCreate postCreate) { Post post = Post.builder() .title(postCreate.getTitle()) .content(postCreate.getContent()) .build(); postRepository.save(post); }위와 같은 write 메소드를 검증하려면 test 코드에서posRepostiroy를 mock으로 주입받고 postService.write(postCreate)를 호출시 postRepository.save를 호출할때 어떤 일을 하게 될것이냐 를 stubbing 하려고 하는데 실제 h2 메모리 db에 저장을 해야, 제대로 저장이 되었다는 것을 아래 처럼 검증할 수 있을 것 같은데 Assertions.assertEquals(1L, postRepository.count());위 write 메소드의 경우 아무것도 return 하지 않으니 save 메소드 stubbing을 어찌 해야할지 모르겠습니다... 아니면 접근 자체가 틀렸을까요? 실제 외부와 연동이 잘되는지 확인하는것이니 mock 쓰겠다는 생각 자체가 에러인것인가요? 감사합니다.
-
미해결[리뉴얼] 타입스크립트 올인원 : Part2. 실전 분석편
안녕하세요 제로초님 질문 있습니다.
import axios from 'axios';이렇게 똑같이 했는데 옆에 빨간 문구로모듈 '"c:Users/tjdckd?OneDrive/\~~/ts-all-in-one/axios"'에는 기본 내보내기가 없습니다. 라고 뜨고axios에 커서를 올렸는데 axios가 선언은 되어있지만 해당 값이 읽히지는 않았습니다 라고 뜹니다. 어떻게 해결해야 되나요?구글에 검색을 해봤는데 제가 잘 못 찾는건지 해결을 못하고 있습니다..
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료가 보이지 않습니다
혹시 rladnjsqls21@gmail.com으로 강의 자료좀 보내주실수 있나여??? 강의자료가 보이지가 않네요
-
해결됨프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
아톰 서비스 종료
안녕하세요, 22년 12월 15일 부 아톰이 서비스가 종료되어 패키지 등을 설치할 수 없는데, 혹시 학습에 제한이 있을까 해서 문의드립니다. 패키지 미 설치에 따라 제한 없는지?다른 대체 프로그램이 있는지?
-
미해결초보를 위한 도커 안내서
git 자료 업데이트 요청드립니다.
올려주신 chatapp 프론트 엔드의 migrations yaml 파일을 hasura cli migrations v3 에 맞게 수정해주실 수 있나요?git에 올려주신 migrations 파일 내용이 현재 hasura 버전과는 호환이 안되어서 테이블 생성이 안됩니다.우선 저는, hasura 이미지 버전 "hasura/graphql-engine:v1.3.4-beta.3.cli-migrations" 으로 바꾸는 방법으로 해결을 하긴했는데요, 바람직한 방법은 아니라고 생각해요.올려주신 chatapp 프론트 엔드의 migrations yaml 파일을 hasura cli migrations v3 에 맞게 수정해주실 수 있나요?시간을 들여서 수강자가 고치면 되긴하나 강의의 의도와는 멀어지기도 하고, 바꿔서 하는 것 조차 강의의 의도라고 하신다면, 최소한의 답안 정도는 있어야 한다고 생각해요.
-
미해결WPF (.NET Core, C#, 자막제공)
소스코드 제공해주세요
mvvm으로 리스트뷰에 오브젝트컬렉션뷰 속성으로 바인딩을 해도 죽어도 리스트에 자료가 안뜹니다 소스코드좀 제공해주세요 DB랑요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-S if 구문 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.이 부분에서 전부 If로만 되어있는데, if로만 되어있으면 plus가 있으면 앞에서 다 처리하지 않나요? plus가 뒤에 있을 때도 있는데, 그 때는 어떻게 되는지 궁금합니다.
-
미해결피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z
그리드 질문
그리드 만들 때 center, count. gutter 같은 것들을 어떤 기준으로 만드시는 건가요? 처음이라 감이 잘 안 와요.이전 영상에서 양 옆에 여백이 20은 되어야 한다고 하셨는데 그리드 만들 때도 동일한 건가요?
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
Raycaster 질문입니다.
- 질문에 대한 답변은 강의자가 하는 경우도 있고, 수강생 여러분들이 해주시는 경우도 있습니다. 같이 도와가며 공부해요! :)- 작성하신 소스코드 자체의 오류보다는, 개념이나 원리가 이해되지 않는 부분을 질문해주시는게 좋습니다. 그대로 따라했는데 소스코드에서 버그가 나는 경우는 99%가 오타에 의한거라서, 완성된 소스랑 찬찬히 비교해보시면 직접 찾으실 수 있을 거예요. 개발자도구 console에 오류로 표시된 부분만 완성 코드에서 복사->붙여넣기를 해보시는 것도 방법입니다.- 먼저 유사한 질문이 있었는지 검색해보세요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요!Raycaster 사용해서 클릭 이벤트를 넣어보려고 강의 코드를 참고해서 구현하고 있습니다.제가 개발한 코드는 카메라가 (0,2,0)에 있고 원점에 있는 오브젝트를 바라보고 있습니다.이런 상황에서도 raycaster를 만들 때 mouse를 vector2로 선언하고 강의 자료와 같이 x, y 좌표를 넣어주면 되는 건가요?혹시 다르게 넣어줘야 한다면 어떻게 넣어주면 될까요?좋은 강의 덕분에 사이드프로젝트 잘 진행하고 있습니다. 감사합니다.