묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
프로세스의 상태가 변경되는 경우에 Post 사용
안녕하세요 좋은 영상 항상 잘 보고 있습니다.궁금한 점이 있습니다.프로세스의 상태가 변경되는 경우 등에 post를 사용한다고 했습니다.주문에서 결제완료 -> 배달시작 -> 배달완료 등그런데 이런 과정에서 만약 requestBody에 내용이 필요없는 경우에(프로세스의 상태를 변경하는 경우에 그럴 경우 낮지만)도 만약 의미적으로 프로세스의 상태가 변경되는 경우라면 post를 사용하는 것이 맞을까요? 현업에서, 호출하는 동기화 api 를 batch로 작업한 적이 있었는데요. 주기적으로 엑셀을 읽어서 내용들을 DB에 동기화하는 작업이었습니다. 그런데 해당하는 Api를 호출할 때는 requestBody가 필요한 것이 아니었으므로 post로 만들었었는데요, 강의를 다시 들으면서 궁금해서 여쭤봅니다. requestBody 의 유무 등이 중요한 것이 아니라 의미적으로 다가가는 것이 더 맞겠죠?
-
미해결스프링 핵심 원리 - 기본편
setter주입
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]간단하게 질문드리겠습니다. Component scan을 사용하며 setter주입 시 @autowired 애너테이션을 붙여주면 자동 주입이 되는 걸로 알고 있습니다. 그런데 만약 Configuration으로 수동 빈 등록을 하면, 의존관계는 Configuration애너테이션이 붙은 설정 앱에서 setXX메서드로 직접 의존관계를 등록해주면 되는건가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 번외편: AWS로 시작하는 서버 운영
AccountServer 게시파일을 EC2에서 실행했을 때 접속이 되지 않습니다.
안녕하세요? 시리즈 동안 개발한 서버 중 AccountServer먼저 EC2에서 구동을 시도 중입니다.EC2에 비주얼스튜디오는 설치하지 않았고 개인 데스크탑에서 게시를 하여 S3을 통해 EC2에서 실행하고자 합니다.먼저 launchSettings.json을 이렇게 설정하였습니다.제 EC2의 Private IP의 두 개의 포트로 설정했습니다. 이 상태로 게시 후 해당 EC에서 실행하면 아래와 같이 localhost:5000 으로 Listening 중으로 작동합니다. 해당 EC2의 탄력적IP 로 클라이언트에서 접속을 시도해도 반응이 없습니다(일단 뭐라도 신호가 오면 콘솔에 메시지 띄우도록 해뒀습니다.).인스턴스의 인바운드 규칙은 모든 트래픽을 열어둔 상태입니다. 질문. EC2에 비주얼 스튜디오를 설치하지 않고 게시한 파일로 웹서버를 실행했을 때 추가로 설정해야하는 요소들이 있나요?
-
미해결지옥에서 온 Git
리셋 노노 리쎗!! ㅇㅇ
다른발음 다 좋으신데왜 유독 리셋만.. 정직해요 ㅠㅠ 리쎗!! 으로 강하게 해주세요 ㅋ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
생성오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 안내에 따라 파일을 다운로드 받고 진행했는데 만들자마자 오류가 났습니다 제가 무엇을 잘못한 걸까요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
[4장] Vitis Run as Hardware 연결 거부 문제
안녕하세요. 현재 FPGA 강의 진행중에 문제가 생겨서혼자 해결해보려 이것저것 시도하다가 해결이 안되어서 질문 글을 올리게 되었습니다.Hello_Matbi_World 강의 막바지에 Build Project후 Run as Hardware를 진행하였을 때 다음과 같은 오류가 발생하며 진행이 되질 않고 있습니다.방화벽을 끄면 해결된다는 얘기가 있어서 다 끄고도 진행해보았는데 해결이 되질 않아서 조언을 얻고자 글을 올려봅니다.추가++) 현재 툴은 2022.2 버전 사용 중입니다.보드 또한 zybo z7-20을 똑같이 사용 중입니다.4장에서 해당 부분 이전까지는 맛비님과 모두 동일하게 진행하였고, 문제 또한 없었습니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
@Aspect 와 @Transactional
강의를 듣던중 궁금한 부분이 생겨 질문남깁니다@Transactional 어노테이션을 표기함으로써 해당 클래스의 프록시가 생성되고, AOP 또한 pointcut에 해당하는 클래스의 프록시를 생성해주는 것으로 알고 있습니다.여기서 궁금한 점이 있습니다.만약 @Transactional 과 aop 설정을 같은 메서드에 걸어준다면 어떤 형태로 프록시가 생성되는 걸까요?먼저 @Transactional 관련 프록시가 생성된다음, aop에서 앞서 만들어진 프록시를 대상으로 새로운 프록시를 또 만들어 컨테이너에 넣어주는 것 일까요?질문드린 것과 같이 생각하며 공부하던 중,@Transactional(readonly = true)를 적용하면 aop 코드에서 트랜잭션 관련 설정을 하지 않았음에도 해당 트랜잭션이 그대로 이어져 aop에서도 readonly 가 true 설정되어 있음을 확인하였고, 이러한 상황이 이해가 가지 않아 질문드리게 되었습니다.
-
해결됨토비의 스프링 부트 - 이해와 원리
코틀린 AnnotationConfigWebApplicationContext 관련 이슈
AnnotationConfigWebApplicationContext 익명함수가 잘 만들어지시나요?저 같은 경우에 어떤 문제인지 모르겠는데 익명함수를 만들면 setClassLoader() 메소드를 오버라이딩하라는 컴파일 에러를 만나게 됩니다.찾아본 결과 부모 클래스인 DefaultResourceLoader 에서 해당 메소드를 이미 구현하고 있는데 왜 다시 구현하라는지 모르겠습니다.심지어 아래와 같이 overriding 해도 에러가 발생합니다. fun main(args: Array<String>) { val applicationContext = object : AnnotationConfigWebApplicationContext() { @Override override fun onRefresh() { super.onRefresh() val tomcatWebServerFactory = TomcatServletWebServerFactory() val webServer = tomcatWebServerFactory.getWebServer({ servletContext -> servletContext.addServlet("dispatcherServlet", object : DispatcherServlet(this) { }).addMapping("/*") }) webServer.start() } @Override override fun setClassLoader(classLoader: ClassLoader) { super.setClassLoader(classLoader) } } applicationContext.apply { refresh() } } 이런 에러가 발생합니다. fun setClassLoader(classLoader: ClassLoader): Unit defined in tobyspring.helloboot.main.<no name provided> fun setClassLoader(classLoader: ClassLoader?): Unit defined in tobyspring.helloboot.main.<no name provided> 해결하신분이 계시다면 꼭 부탁 드리겠습니다..!
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
ArgumentResolver,returnValueResolver 이해한게 맞을까요?
코드를 복습하다가 공통점과강사님께서 설명하는 부분이 제가 이해한게 맞는지 확인하고 싶어서 문의를 남겨요public class ControllerV4HandlerAdapter implements MyHandlerAdapter { @Override public ModelView handler(HttpServletRequest request,HttpServletResponse response,Object Hnadler){ ControllerV4 controller = (ControllerV4) handler; //createParamMap,model ==> ArgumentResolver 역할 Map<String,String> paramMap = createParamMap(request); Map<String,Object> model = new HashMap<>(); String viewName = controller.process(paramMap); //아래 로직이 ==> returnValueResolver ModelView mv = new ModelView(viewName); mv.setModel(model) return mv; } }이렇게 이해해도 될까요 ??
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
로그인 폼을 만들고 로컬 스토리지에 jwt저장하기 강의에서 질문입니다!
import React, { useState } from "react"; import { Card, Button, Form, Input, notification } from "antd"; import { useHistory } from "react-router-dom"; import Axios from "axios"; import { SmileOutlined, FrownOutlined } from "@ant-design/icons"; import useLocalStorage from "utils/useLocalStorage"; export default function Login() { const history = useHistory(); const [jwtAccessToken, setJwtAccessToken] = useLocalStorage( "jwtAccessToken", "" ); console.log("loaded Token: ", jwtAccessToken); // 왜 이게 두번이나 출력되는 것이지? const onFinish = (values) => { async function fn() { const { username, password } = values; const data = { username, password }; try { //응답을 꼭 받아야 한다. 토큰을 받아야 하니까 const response = await Axios.post( "http://127.0.0.1:8000/accounts/token/", data, { headers: { "Content-Type": "application/json" } } ); // const { data: token } = response; 이런 방식은 아래랑 다르다 response에서 data을 꺼내서 이름을 token이라 짓는 것 // const token = response.data 와 일치하며 밑에 녀석은 // const jwtAccessToken = response.data.access 과 일치한다 const { data: { access: jwtAccessToken }, } = response; setJwtAccessToken(jwtAccessToken); notification.open({ message: "로그인 성공!", icon: <SmileOutlined style={{ color: "#108ee9" }} />, }); // history.push("/accounts/login"); //TODO: 이동주소 } catch (error) { console.log(error); if (error.response) { notification.open({ message: "로그인 실패!", icon: <FrownOutlined style={{ color: "#ff3333" }} />, description: "아이디/암호를 확인해 주세요.", onClick: () => { console.log("Notification Clicked!"); }, }); } } } fn(); }; return ( <Card title="login"> <Form labelCol={{ span: 8 }} //부트스트랩은 한 행이 12 컬럼인데 antd는 24컬럼임 wrapperCol={{ span: 16 }} style={{ maxWidth: 600 }} onFinish={onFinish} autoComplete="off" > <Form.Item label="Username" name="username" rules={[{ required: true, message: "Please input your username!" }]} //rules을 통해 유효성검사로직이 들어가 잇다 > <Input /> </Form.Item> <Form.Item label="Password" name="password" rules={[ { required: true, message: "Please input your password!" }, { min: 5, message: "5자리 이상 해주세요" }, // 한글자 한글자 들어갈때마다 검사해준다. ]} > <Input.Password /> </Form.Item> {/* //8칸 이동하고 16칸을 쓰겠다 */} <Form.Item wrapperCol={{ offset: 8, span: 16 }}> <Button type="primary" htmlType="submit"> Submit </Button> </Form.Item> </Form> </Card> ); } 안녕하세요 강사님!! 위에서 15번째 줄에 있는 console.log("loaded Token: ", jwtAccessToken);이 부분이 페이지의 콘솔창에서 두번이나 나타납니다... 왜 그런지 알 수 있을까요?? 새로고침을 했을때도 두번 나타나고 submit을 했을 때도 2번 출력됩니다.아 ! 그리고 simplejwt토큰을 사용중 입니다!
-
미해결[Pytorch] 파이토치를 활용한 딥러닝 모델 구축
파이토치 device (gpu / cpu) 관련 질문드립니다.
파이토치를 처음 배우는 학생입니다.처음 텐서를 만들 때 cpu와 gpu 중 원하는 곳에 텐서를 저장할 수 있다고 배웠습니다.이때 기본적으로 torch.tensor로 텐서를 만들면 cpu로 가는지, 아니면 cpu / gpu 그 어느것도 아닌 기본형으로 만들어지는지 궁금합니다. 또 이와 관련하여 텐서를 출력했을 때 <device = 'cuda:0'>이런 게 안 뜨면 cpu에 저장되어 있다고 보면 되는건가요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
getVideoFileCount 변수 선언하는 이유
안녕하세요 선생님🙇♀️클래스_메소드 강의를 보다 궁금한 점이 생겨 질문 남깁니다.BlockBox 클래스에 두 메소드를 넣었고, 04_Method클래스에 두 메소드를 활용한 문장이 있었는데요.insertMemoryCard()는 그대로 사용했지만, getVideoFileCount()는 다시 변수로 선언한 이유가 무엇인가요?감사합니다.void inserMemoryCard(int capacity) { System.out.println("메모리 카드가 삽입되었습니다."); System.out.println("용량은 " + capacity + "GB 입니다."); }void getVideoFileCount(int type) { if ( type == 1) { return 9; } else if ( type == 2) { return 1; } return 10; } b1.insertMemoryCard(256);int fileCount = b1.getVideoFileCount(1);
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
정적 배포 관련
동적배포 이전 수업인 https적용까지 강의에서 알려주신 그대로 수행해왔지만, 가비아에서 구매한 도메인(저의 경우 chihyun-deploy.shop)이 웹사이트 입력시 nxdomain이 계속 나오더라구요.dig 명령어로 검색시에 ns서버도 정상적으로 출력이 되는것을 확인했는데, 가비아상에서 dns 설정도 필요한가요..?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
격자탐색 문제에서 BFS 시간복잡도 질문드립니다.
안녕하세요!강의 잘 듣고 있습니다.문제를 풀다가 시간복잡도 계산에서 궁금한 점이 있어서 질문드립니다.구체적으로,백준 보물섬 문제와 같은 격자탐색 문제에서격자의 가로가 W, 세로가 H라고 할 때 BFS 시간복잡도를 대략 O(W*H)라고 생각하면 될까요?감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
정말 감사히 듣고 있습니다..!! 질문이 몇가지 있습니다..!
강의 너무 잘 듣고 있습니다. MMO RPG를 너무 만들어보고 싶었는데.. 이런 귀한 내용들을 자세히 설명해주시는 분이 있다니.. 정말 큰 도움이 됩니다 다름아니라 해당 강의를 듣다가 문득 궁금해지는 점이 있어 실례안된다면 간략하게라도 의견을 듣고싶어 여쭙게 되었습니다...! 질문은 2개 입니다..!(현재 저는 4챕터까지만 듣고 질문을 드리는 상태임을 미리 말씀드립니다)MMO RPG 서버는 scale out 을 어떻게 할까?? 에 대한 궁금증 입니다.스케일 아웃의 방법을 보통 어떻게 하게 되는지 궁금해져서 여쭤봅니다(제가 부족한지 검색을해도 구체적인 방법들이 잘 안나오는 것 같아서.. 간단하게라도 보통 어떻게하는지 궁금하네요..) 만약 1,2,3,4,5,6,7... 100 맵이 있다고 가정하고, 1번맵에만 유저들이 정말 많아서 하나의 서버로 감당이 부담스럽다고 했을때, 1번 맵을 위해 2개 3개의 서버를 투입하는것이 가능할까요..?왠지 강의를 들었을땐 1번맵의 서비스를 1개의 서버로 밖에 못하지 않을까.. 싶은데.. 우선 제가 생각해본 방식은.. 아래와 같습니다- 1번맵의 경우에는 send할 내용들을 한 서버의 메모리에 두는게 아니라 레디스라는 메모리DB에 저장을 한다- 3개 혹은 4개정도 되는서버가 이 레디스를 바라보고 데이터를 가져와서 연결된 클라이언트들에게 데이터를 전송흠.. 그런데 이렇게하면 속도가 충분히(?) 빠를지에 대한 의문이 들어서 보통의 MMO RPG 서버들에서 이런식으로 scale out을 하는게 맞는방식인지 감이 오지않아 질문 드립니다.MMO RPG 서버는 만약 로직을 수정한다고 한다면 서버점검같은걸 하지 않고 해당로직을 수정해서 배포가 가능할까요??강의내용에서는 서버의 메모리에 유저들의 정보를 다 갖고있어야할 것 같고... 그렇게 되면 중간에 로직을 수정해서 새로운 서버를 띄우고 기존서버를 죽이게되면.. 해당 서버에 접속해있던 유저들이 다 튕기게 되지 않을까 싶어서요. 유저들이 인지하지 않게 편안하게 서버내용을 바꾸는것이 MMO RPG 서버에서 가능할까요..? 끝까지 읽어주셔서 감사드립니다. 강의 정말 잘 듣고 있습니다!!
-
미해결데이터 분석 SQL Fundamentals
anayltic sql, 조인, 서브쿼리 셋중 어떤걸 쓰던 상관이 없나요?
강사님, 서브쿼리 실습 -01에서 다루셨던것 처럼위의 3가지 방법(anayltic sql, 조인, 서브쿼리)은 다르지만 결국 같은 값이 나옵니다.제 생각에는 가장 가독성이 좋은건 where절 서브쿼리 인거 같고, 조인은 불필요한 행까지 다 가져오므로 무거워 질거 같고, 개인적으로 analytic sql 사용시 가장 직관적으로 느껴지기에 이해하기 쉬워서 많이 쓰고 있습니다.모로 가도 서울만 가면 되긴 하지만, ㅎㅎ 강사님께서 추천해주신다면 어떤걸 쓰는게 현실 업무 혹은 협업 과정에서 좋을까가 궁금해서 질문 드려봅니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-O go 함수 질문 드립니다.
안녕하세요 강사님풀이 해주신 코드 기준 go 함수의 이중 for loop 에서, 변수 i 가 가로선의 index 를 나타내는 것으로 이해하고있는데for loop 에서 변수 i 의 시작이 왜 here 부터 시작해야하는지 이해가 잘 되지 않아서요.cnt = 0 에서 가로선 1개를 놓고, cnt = 1 에서 또 가로선을 1개 더 놓게 되는 상황에서cnt = 0 에서 놓았던 가로선 보다 같거나 아래 위치에 가로선을 놓아야한다는 조건이 어떻게 도출된 것인지 궁금합니다.(가로선을 놓을 때 접하거나 연속되지 않아야 한다는 조건은이중 for loop 안에 if 문에서 걸러지는 것으로 이해하고 있습니다) (변수 i 의 시작을 0 으로 고정하면 시간 초과가 되는 것은 확인했습니다..)
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
전처리4 영상 2분15초 ~20초
def country_name_convert 질문입니다.1.영상에는 이런식으로 되어있는데, 아래예제처럼 하면 안되는건가요, 그리고 첫번째 사진 코드에서 마지막에 return row['Country_Region']을 안하니까 2개의 행만 나오던데 3번째 줄을 한거랑 2번째줄 까지만 한건 무슨 차이인가요?2.예제처럼 하니까 오류가 생성됩니다. 위의 두코드가 어떤 차이인지 쉽게 설명해줄수 있으신가요?? 왜 안되는지
-
미해결프로젝트로 배우는 React.js
toastSlice를 store에등록할 때 질문있습니다.
안녕하세요~ 강의 71강 5분 20초쯤toastSlice에서 export default toastSlice.reducer; 로 내보냈는데요.이걸 store에 등록할때, import toastReducer from './toastSlice' toastSlice가 아닌 toastReducer로 이름이 변경된것인가요? 강의처럼 이름을 마음대로 변경해서 가져오고 경로만 맞으면 되는건가여?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
setState 사용 차이
강의 잘 보고 있습니다.강의가 너무 좋아서 책도 함께 구매하려고 합니다.좋은 강의 감사합니다. 다름이 아니고 질문이 하나 있어 이렇게 글남깁니다. 플루터에서 setState는 화면을 갱신하는 용도로 사용하고 있다고 알고 있습니다.만약에 a= 10이라고 설정한다고 가정하면setState(() { a = 10; });a = 10; setState( () { } ) 1번 로직과 2번 로직이 내부에서 어떤 차이점이 있을까요?테스트 해본결과 1번, 2번 모두 정상 작동하더라구요 -----------------------------------------------공부하다 추가 질문이 있어 문의 드립니다.플루터에서 네임드 라우팅을 materialApp에 설정할때 특정 페이지에 필수 파라미터가 존재하면 어떤식으로 등록을 해야 할까요?예 )가정 : Two 페이지는 str값을 필수 파라미터로 받고 있습니다. routes: {"/": (context) => One(),"/two": (context) => Two(str : ??), },이게 안되면 아래와 같은 방법으로 파라미터를 설정해야 하는지 궁금합니다!var two = Two();two.str = "asdf";Navigator.of(context).push(MaterialPageRoute(builder: (_) => two));