묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
front 부분 여러가지 질문
nodebird react에서 front부분까지만 들은 상태입니다.redux 의 실행 흐름이dispatch(액션) -> 미들웨어(redux-saga) -> 리듀서 -> 스토어이러한 방식으로 알고 있는데언뜻 보면 미들웨어가 먼저 실행되니 success or failure가 먼저 실행될것 같은데saga함수에 딜레이를 안주더라도 실행은 request가 무조건 먼저 되는것 같습니다.왜 이렇게 실행이 되는건가요? 미들웨어와 리듀서가 비동기적으로 실행되는건가요?Success or failure가 먼저 실행되는 케이스가 있나요? 각 기능들에 대한 상태관리를 request, success, failure 3가지의 액션타입으로 관리하는 이유가 뭔가요? 공식문서에는 이렇게 나와있긴 한데 https://lunit.gitbook.io/redux-in-korean/advanced/asyncactions" 하나의 액션 타입에 표지를 두고 사용하건, 여러 액션 타입을 사용하건 여러분에게 달렸습니다. 여러분이 팀과 함께 정할 규칙일 뿐입니다. 여러 타입을 쓰면 실수는 줄겠지만, 여러분이 redux-actions와 같은 헬퍼 라이브러리를 써서 액션 생산자와 리듀서를 만든다면 이게 별 문제가 되지 않을 수도 있습니다. " 제로초님 입장에서는 어떻게 생각하시나요? 또 실무에서는 하나의 액션으로 처리하는지 아니면 강좌처럼 세가지의 액션으로 나누어서 처리하는지 궁금합니다. request에 대한 로직을 하나 보면case LOG_IN_REQUEST: draft.loginLoading = true; draft.logInError = null; draft.logInDone = false; // Done을 왜 굳이 초기화 해야하지?logInDone 같은 경우는 request 이전에도 이미 false라고 생각하는데 따로 초기화를 명시해주는 이유가 있나요? 프론트엔드를 구현할때 처음에 데이터 구조 잡을 때 아직 정해진거 없으면 전체 데이터베이스 구조를 제가 정하고 들어가야 하는건가요?전체 테이블 구조를 관계설정까지 다 잡고 들어가야 하는건지, 아니면 내가 구현하는 기능에 대한 테이블 구조만 하나씩 잡고 들어가면 되는건지 궁금합니다. 사실 이 강좌를 듣기 전에는 프론트엔드 부분 데이터를 구현할 때백엔드로 요청을 보내고, 그 응답으로 데이터를 건네받아서, 해당 데이터를 가지고 프론트에 직접 값을 표시하는 방식으로 웹이 돌아가겠지, 라고 생각을 했습니다.(프론트엔드에서 API 요청 -> 백엔드에서 데이터처리, 응답 -> 응답에서 받은 데이터로 뷰 가공 및 출력)그런데 강좌에서는 벡엔드에서의 처리와 별개로, 프론트에서의 데이터는 프론트에서의 로직만으로 처리하도록 구현하셨는데요. 이렇게 하는 이유가 있으신가요? 프론트를 처음 구현할때 처음에 데이터 구조 잡을 때 아직 정해진거 없으면 먼저 전체 데이터베이스 구조를 제가 정하고 들어가야 하는건가요?전체 테이블 구조를 관계설정까지 다 잡고 들어가야 하는건지, 아니면 내가 구현하는 기능에 대한 테이블 구조만 하나씩 잡고 들어가면 되는건지 궁금합니다. redux saga 함수 로직보면 백엔드API요청 후에 put 연산 success or failure 로직으로 나뉘는데원래 try catch 문 안쓰면 axios.post().then(() => put(action)).catch(e => put(action)) 이런식으로 쓰는 로직이랑 같은건가요?
-
미해결크롤링으로 웹, 텔레그램봇, REST API, 모바일 앱 만들기
텔레그램 봇 만들기 파트에서 에러가 발생합니다.
안녕하세요, 강사님.강의 잘 듣고 있습니다:)현재 크롤링 후 텔레그램을 통해 메세지를 보내고, 장고에 연결하는 부분을 학습하고 있습니다.강의 영상에서는 별도의 동기/비동기 처리 없이 진행이 가능했는데그대로 따라하였더니 coroutine 'bot.sendMessage' was never awaited 에러가 발생하여강의에서 작성한 for문을 async def test(): 로 함수로 감싼 뒤 스크립트 하단에asyncio.run(test()) 함수를 실행시키니 에러가 발생하지 않고 텔레그램으로 메세지가 보내지더라구요.그런데, 해당 스크립트를 django에 연결하기 위해선 def run 함수를 통해 진행해야하는데,함수 형태가 조금 변경돼서 그런지 위와 같이 async, asyncio, await 등을 사용해봐도에러가 발생하여 진행이 되지 않고있습니다..어떻게 하면 좋을까요?? 코드 및 에러 첨부드립니다.from asyncore import loop from datetime import time from bs4 import BeautifulSoup import requests import telegram import asyncio from hotdeal.models import Deal async def test(): response = requests.get('https://www.ppomppu.co.kr/zboard/zboard.php?id=ppomppu') soup = BeautifulSoup(response.text, "html.parser") BOT_TOKEN = 'TOKEN' bot = telegram.Bot(token=BOT_TOKEN) for item in soup.find_all("tr", {'class': ["list1", "list0"]}): try: image = item.find("img", class_="thumb_border").get("src")[2:] title = item.find("font", class_="list_title").text.strip() link = item.find("font", class_="list_title").parent.get("href") link = "https://www.ppomppu.co.kr/zboard/" + link reply_count = int(item.find("span", class_="list_comment2").text) up_count = item.find_all("td")[-2].text up_count = up_count.split("-")[0].strip() up_count = int(up_count) if up_count >= 5: if Deal.objects.filter(link__iexact=link).count() == 0: Deal(image_url = image, title = title, link = link, reply_count = reply_count, up_count = up_count).save() await bot.sendMessage(-1001897599228, '{} {}'.format(title, link)) except Exception as e: print(e) def run(): asyncio.run(test())에러 메세지입니다.invalid literal for int() with base 10: '' 'NoneType' object has no attribute 'text' invalid literal for int() with base 10: '' 'NoneType' object has no attribute 'text' invalid literal for int() with base 10: '' 'NoneType' object has no attribute 'text' invalid literal for int() with base 10: '' You cannot call this from an async context - use a thread or sync_to_async. 'NoneType' object has no attribute 'text' invalid literal for int() with base 10: '' 'NoneType' object has no attribute 'text' You cannot call this from an async context - use a thread or sync_to_async. 'NoneType' object has no attribute 'text' You cannot call this from an async context - use a thread or sync_to_async. You cannot call this from an async context - use a thread or sync_to_async. You cannot call this from an async context - use a thread or sync_to_async. You cannot call this from an async context - use a thread or sync_to_async. You cannot call this from an async context - use a thread or sync_to_async. You cannot call this from an async context - use a thread or sync_to_async. 'NoneType' object has no attribute 'text' 'NoneType' object has no attribute 'text' invalid literal for int() with base 10: '' 'NoneType' object has no attribute 'text' invalid literal for int() with base 10: ''
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
클래스와 배열 부분에서
배열만드는법은String[] 배열이름 = new String 클래스 만드는법은Blackbox 클래스명 = new Blackblox () 이런식으로 만드는데 맨앞과 맨뒤에 같은걸쓰는 이유가 있을까요? 예를들어 맨뒤가 배열에 어떤걸 전달한다 이런뜻인가요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
배포 오류관련
위의 질문 글들을 참조하면서 해결을 해보려했는데 아직 해결이 안되서요 에러는 계속 502에러가 뜨고 엘라스틱 빈스톡에 배포할 때 계속 터집니다. 혹시 최근 수정된 코드라던지 해결방법을 아시면 댓글좀 부탁드리겠습니다.
-
미해결[리뉴얼] 처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)
안녕하세요 터미널 창에서 이상한 화면 질문드립니다!
안녕하세요 데이브님!강의 너무 잘 듣고 있습니다. 다름이 아니라 약간의 문제가 있는데요 ㅜ터미널 창에서 aws 서버에 접속하고 is 구문을 칠시 굉장히 이상한 화면이 뜹니다...글씨랑 색깔이 막 바뀌면서 애니메이션 같은 게 나타나는데요,,, 제가 studio 3t에서 서버가 잘 연결이 안되는 과정에 있어서 해결을 해보려고 여러 사이트에서 온갖 코드들을 실행해보면서 인스톨도 많이 했었는데요 그 과정 중에 이런 현상을 발견했습니다,, 좀 당황스럽고 소름끼치는 화면이라서 해킹 당한건가 싶기도 하고,, 혹시 데이브님은 이게 어떤 것인지 아실까요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
'{:4}' '{:4d}' 실행값 차이가 없는데 d넣어야하는건가요?
%d의 활용에서 format형식 쓸때 중괄호에서 d의유무 '{:4}' '{:4d}' 실행값 차이가 없는데 d넣어야하는건가요?
-
해결됨스프링 핵심 원리 - 기본편
DL이 뭔가요 찾아봐도 모르겠어요ㅠㅠ
옛날에 했던 질문인데 다시 읽어봐도 이해가 안돼서 재질문 드립니다 죄송합니다 ㅠㅠ1. 위에서 빨간 밑줄을 DL이라고 하셨는데 그럼2. 이것도 DL인가요?3. 1번하고 2번하고 무슨 차인지 모르겠어요 ㅠㅠ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
제로초님 github에있는 최신코드랑 여기 리뉴얼한 코드랑 다른가요?
따라치기는 너무 무리일꺼같아서 제로초님 github에있는 react_nodebird master(default) pull 해서 그거랑 동영상 보면서 공부하고있는데요.코드가 리뉴얼강의 찍기 전에 올리신것인지, 제로초님이 강의하면서 적어주신 코드랑 그 깃허브에 저장되어있는 코드랑 좀 많이 달라서 문의드립니다.예를들면 LoginForm.js 에는LoginForm.propTypes = { setIsLoggedIn: PropTypes.func.isRequired, };이부분이 안들어가는데 여기 동영상 보면 이 코드를 적으시더라구요그리고 github 에있는건 인라인으로 css로 적용해주시는데, 새로운 강의에서는 리렌더링을 방지하기위해서 라고 하시면서 styled-components를 적용하시던데, 혹시 제가 최신으로 올리신 github를 못찾고있는것인가 해서 여쭤봅니다.!!혹시나 리뉴얼된 코드 올려주신게 있다면 경로를 여쭤봐도될까요?!
-
미해결Autodesk Maya 3D 그래픽의 입문 Part.1
Render the current frame을 선택하면 arnold render로 바로 넣어가고 구안에 있는 것들이 안 보입니다
Render the current frame을 선택하면 arnold render로 바로 넣어가고 구안에 있는 것들이 안 보입니다
-
미해결스프링부트 시큐리티 & JWT 강의
시큐리티 페이스북 작동이 안되는 것 같아요
깃허브에 올려주신 파일에서 client-id,client-secret 정도만 제가 동일하게 생성해서 실행해봤는데 위와 같은 에러가 발생하네요..
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
main이나 endl 부분이 주황색으로 표시된건 어떻게 하나요
main이나 endl 부분이 주황색으로 표시된건 어떻게 하나요
-
미해결스프링 핵심 원리 - 기본편
Autowired 왜 쓰냐고 물어보면 이렇게 대답해도 괜찮을까요?
설정정보 파일에서 수동으로 @Bean을 등록하고 의존관계 주입까지 설정 하는 방법은 수동등록해야 할 @Bean의 개수가 많아지면 관리가 번거롭고 오류가 발생할 확률이 커져서 @ComponentScan과@Component를 이용해서 Bean을 자동 등록 하는 방법이 생겼는데 이렇게 되면 기존의 의존관계를 수동으로 설정하는 방법을 사용할 수 없어서 @Autowired라는 애너태이션을 사용해서 컨테이너에 등록된 Bean을 끌어와서 의존관계 주입을 해줍니다.
-
미해결
알고리즘 강의 중에 실전식으로 된 거 있나요?
알고리즘 강의를 찾고 있는데 너무 강의가 많아서 뭐를 들어야 할 지 모르겠네요.유튜브로 잠깐 보고 있는데 너무 어려워서요.언어는 파이썬입니다.아 그리고 컴퓨터에 오래 앉아 있으면 의자가 너무 불편한데 의자 뭐 쓰세요? 의자 추천도 좀 해주세요..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
터미널 실행
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]-------터미널실행이 안되는데 사용법을 천천히 알려주실분 없나요??ㅜㅜ
-
미해결Vue.js 시작하기 - Age of Vue.js
학생 할인 코드 게시물에 댓글에는 답장이 없으셔서 ㅠㅠ
학생 할인 코드를 받으려고 하는데요. 학생증 사진과 내용을 넣고 쿠폰 받는 페이지로 넘어가면 쿠폰 코드 오류라고 뜹니다... 돌아버리겠습니다. 어차피 vue js 다 들을거라서 중급도 수강하려 하는데 방법이 없나요? 그리고 또 궁금한 것은 강의마다 쿠폰 발급이 가능한가요? 수업과 관련 없는 내용이지만 답변 부탁드리겠습니다..
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
JdbcTemplate 동적쿼리 관련
JdbcTemplate 동적쿼리 문제 강의를 듣다보니조건이 여러개인경우 조건값의 유무에 따라 where, and를 넣어야 하는 상황을 고려해야 한다고 강사님이 말씀해 주셨습니다.검색조건이 없는 문장을"select id, item_name, price, quantity from item where(1=1)"위와 같이 작성하고조건의 값이 있는지 여부만 판단하여 동적쿼리를 작성하면 되지 않을까요?예제인 findAll()의 조건 상품명, 최대가격이면 2번만 판단하면 될 것 같습니다.감사합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
연결을 유지하는 모델 질문입니다
안녕하세요이번 강의 20초쯤에 강사님께서 TCP/IP연결은 기본적으로 연결유지가 된다고 하셨는데 1.이 연결 유지가 된다고 하는게 3 Way Handshake를 계속 유지하고 있다는 뜻인가요? 2.HTTP는 기본이 연결을 유지하지 않는 모델이라고 <비연결성> ppt에 써져있는데 다음 페이지인 <비연결성 한계와 극복>에서 지금은 HTTP 지속 연결이라고 써있습니다. 이건 말그대로 이제 HTTP가 서버 자원 소모에도 불구하고 연결을 유지하는 모델로 바뀌었다는 뜻인가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
ETag에 대해 질문드립니다.
[질문 내용]7분 50초 강의 내용을 보면, 캐시 제어 로직을 서버에서 완전히 관리한다고 하셨는데 이 말이 무슨 의미인지 헷갈려서 질문드립니다. Etag값을 지정할때, 서버에서 임의로 고유한 이름 같은것으로 지정하기때문에 그런건가요? 근데 그렇다고 하기엔 Last-Modified값으로 날짜를 적을때 서버에서 날짜를 지정하기때문에 캐시 제어로직을 서버에서 관리하는거 아닌가요 ? 캐시 제어 로직을 서버에서 관리한다는 말의 자세한 설명 부탁드립니다.
-
미해결파이썬 플라스크(Flask) 기반 웹 개발 및 업무 자동화 서비스 활용
연습문제 풀이 질문입니다.
구구단 출력 문제인데 질문이 있습니다.main.pyfrom flask import Flask from flask import render_template from flask import redirect from flask import request from flask import url_for app = Flask(__name__) @app.route("/") @app.route("/<int:num>", methods=['POST', 'GET']) def gugudan(num=None): if request.method == 'GET': return render_template('index.html', gugudan=None) else: temp = request.form['input'] return render_template('index.html', gugudan=temp) if __name__ == "__main__": app.run(debug=True) index.html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="{{ url_for('static', filename='file.css') }}"> </head> <body> <form action="/" method="POST"> <p><input type="text"/ id="input" value="name"><input type="submit"></button></p> <form> {% if gugudan == None%} <p>Have to Type number</p> {% else %} <p>숫자가 입력되었습니다</p> {% endif %} </body> </html> 위와 같이 main.py에서 method 타입을 2가지로 나눠서 한번에 처리도 가능할거라 생각했는데, method not allowed가 나오네요.혹시 무엇이 문제일까요?
-
미해결
스프링 개발 시 파일 구조를 어떻게 해야할지 모르겠어요
안녕하세요제가 질문드리고 싶은 내용을 구체적으로 어떻게 말해야할지 모르겠어서 우선 제 경우부터 말씀드릴께요제가 경험해본 파일 구조는 다음과 같습니다.HTML -> Controller -> Service -> ServiceImpl -> DAO -> Mapper(Mybatis)이걸 화면 1개(즉, HTML 1개)에 각각 Controller, Service, ServierImpl, DAO, Mapper를 다 만들더라구요 <<< 보통은 어떻게 만드는지 궁금합니다. >>>