묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Vue.js + TypeScript 완벽 가이드
비동기 처리 + 클린코드
안녕하세요 캡틴판교님 제가 비동기처리에 관해서 공부중인데 질문드리고 싶습니다. 본 강의를 완강했지만, 지금 드리는 질문은 본강의와는 내용이 멀지만 캡틴판교님께 질문드릴 다른 방법이 없어 여기서 조심스럽게 작성합니다. 캡틴판교님의 블로그 "비동기 처리 시리즈 3편" 글 모두 읽고 직접 테스트하고, 구글링하면서 이해하려고 했는데 풀리지않는 의문점이 생겼습니다. 일단 제가 비동기 처리를 이해한 바로는 동기식 처리는 해당 코드의 실행이 끝나야(요청의 응답이 있어야) 다음 코드를 실행하고 비동기식 처리는 해당 코드의 실행이 끝나지 않아도(요청의 응답이 아직 안와도) 다음 코드를 실행하는 것으로 이해했습니다. 그리고 자바스크립트는 기본적으로 동기식으로 수행하는데 이를 비동기식 처리가 필요한 부분에 async를 쓰고 그 안에 await를 이용하여 작성하는 것입니다. 그런데 여기서 궁금증이 생겨 테스트를 하게되었습니다. 1. 기본 동기식 작성 function fetchUser() { var url = "https://jsonplaceholder.typicode.com/users/1"; return fetch(url).then(function (response) { return response.json(); }); } function fetchTodo() { var url = "https://jsonplaceholder.typicode.com/todos/1"; return fetch(url).then(function (response) { return response.json(); }); } function logTodoTitle() { console.log("START"); var user = fetchUser(); console.log("fetchUser DONE", user.id); if (user.id === 1) { var todo = fetchTodo(); console.log(todo.title); // delectus aut autem } console.log("END"); } logTodoTitle(); // START // fetchUser DONE undefined // END 2. async만 사용하여 작성 function fetchUser() { var url = "https://jsonplaceholder.typicode.com/users/1"; return fetch(url).then(function (response) { return response.json(); }); } function fetchTodo() { var url = "https://jsonplaceholder.typicode.com/todos/1"; return fetch(url).then(function (response) { return response.json(); }); } async function logTodoTitle() { console.log("START"); var user = fetchUser(); console.log("fetchUser DONE", user.id); if (user.id === 1) { var todo = fetchTodo(); console.log(todo.title); // delectus aut autem } console.log("END"); } logTodoTitle(); // START // fetchUser DONE undefined // END 3. async + await 사용하여 작성 function fetchUser() { var url = "https://jsonplaceholder.typicode.com/users/1"; return fetch(url).then(function (response) { return response.json(); }); } function fetchTodo() { var url = "https://jsonplaceholder.typicode.com/todos/1"; return fetch(url).then(function (response) { return response.json(); }); } async function logTodoTitle() { console.log("START"); var user = await fetchUser(); console.log("fetchUser DONE", user.id); if (user.id === 1) { var todo = await fetchTodo(); console.log(todo.title); // delectus aut autem } console.log("END"); } logTodoTitle(); // START // fetchUser DONE 1 // delectus aut autem // END 여기서 왜 1.동기식 처리가 왜 2.async만 작성한 코드의 결과와 같은 지 이해가 되지 않습니다 이러한 부분에 관하여 캡틴판교님의 의견을 듣고 싶은 마음이 가득합니다. 행여나 제가 어리석게 잘못 알고 있는 내용이나 문제점이 있다면 소중한 가르침을 부탁드립니다. 마지막으로 프로젝트를 하고 나면 코드가 직관적이지 않고 기능만 실행하기 위해 짜여진 코드 같아 고민이 있습니다. 그래서 로버트 C.마틴의 클린코드 책을 읽고 적용해볼까 고민을 해보았지만, 진유림님의 실무에서 바로 쓰는 Frontend Clean Code 를 보고 프론트엔드에 좀 더 적합한 학습 방법이 있지 않을까 싶어 더 찾아보았더니 캡틴판교님의 멀티캠퍼스에서 활동하신것 보고 (현재는 영상을 볼수없고 공고만 다른곳에서 발견) 캡틴판교님이 생각하시는 프론트엔드 클린코드는 어떤것이고 어떻게 학습하면 좋을 지 궁금하여 질문을 드립니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
에러 발생 후 두번째로 에러 페이지 요청 시
1. 첫번째 요청 후 404 상태코드로 WAS 옴 2. WAS가 에러페이지 재 호출 3. 에러 페이지 반환 2번 과정에서 Dispatcher Type 이 ERROR로 호출되는데요, 2번 호출은 엄밀히 따지면 정상 호출이지 않습니까? 그럼 2번 호출 시 상태 코드 200 으로 반환될텐데, 실제로는 1번 호출에 대한 상태코드가 나옵니다. 2번 호출에서 Request에 1번 호출에 대한 상태코드를 저장하고 있다가 response에 이 상태코드를 다시 넣고 WAS로 보내는 건가요 ?
-
미해결초보를 위한 도커 안내서
docker version 질문
docker를 설치해서 docker version을 명령 프롬프트에 치면 client는 아래와 같이 cloud integration 이라고 나옵니다. 이렇게 해도 괜찮은 건가요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
구구단
구구단 작성시 콘솔 라인에서 $ 표시는 어떤 기능을 하는건가요? { } 기호 없이는 i 나 j 를 반환 할 수 없는건가요? 너무 초보적인 질문일지는 모르겠지만 부탁드립니다 감사합니다
-
미해결나만의 포트폴리오 웹페이지 만들기
awesome font에서
안녕하세요 지금 수강중인데요 awesome font 사이트에서 코드가 지금 안나오는 상황인데 어떻게 하는것인가요
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
수강평 공개로 돌려놓으시죠? 별점 1점 준건 비공개 처리합니까?
로그아웃해서 보니까 제 수강평만 안보이네요? 공개로 돌려놓으시죠 이딴식으로 평점관리 해오시는겁니까? 강의 듣지도 못했는데 기간만료되서 빡치는데 이것도 빡치게하시네요?
-
미해결Vue.js - Django 연동 웹 프로그래밍 (실전편)
"path('blog/', include ('blog.urls')), " 중 include 이름이 확인 안된다네요
mysite 디렉토리 안에 있는 urls 설정하는 것 중에 path('blog/', include ('blog.urls')), 이부분을 똑같이 입력해서 실행 시켜봤지만 include 가 확인 이 안돼서 실행 이 안된다 하네요 어떻게 해야 하죠?
-
미해결만들어 가면서 배우는 JAVA 플레이그라운드
Calendar cal = new Calendar(); 에러 질문
Calendar cal = new Calendar(); 부분에서 에러가 발생합니다 Calendar cannot be resolved to a type라고 뜹니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
구글 이미지 크롤링 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님, 해당 오류확인 부탁드립니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberController의 생성자가 불러지는 타이밍
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]MemberController의 생성자가 DI 방식으로 작성되었다고 말씀하시면서 외부에서 이를 불러주는 거라고 수업중에 말씀해주셨는데요. 그러면 이 강의에서 MemberController가 외부에서 불러지는 타이밍은 언제가 되는것인가요? 다른 코드들을 살펴봐도 MemberController를 호출하는 경우가 없습니다. 예를들어 MemeberController(new MemberService()) 이런식으로라도 되어 있어야하는 것 아닌가요?
-
미해결8명의 비전공자는 어떻게 개발자로 취업했을까
학원 수강에 대한 몇가지 질문
1. 국비지원을 다니려고 했으나 학원에 다니게 되었는데 학원에서는 하루 2시간 수업이지만 제가 하는 역량에 따라서 취업할때까지 6개월에서 1년이 될 수 있다고 합니다. 단 학원 수업 2시간만으로 6개월 1년만에 취업이 가능할지 엘런님께 자문구하고 싶어서 문의드려봅니다. 학원 커리큘럼 첨부를 하고 싶은데 첨부하기가 애매하네요 ㅠ c언어 파이썬 1개월-2개월 자바 안드로이드 1개월-2개월 자바 파이선 c c++ 1개월-2개월 개별 프로젝트 1개월에서 -6개월이라로 합니다 2. 그리고 웹개발 쪽은 포토폴리오를 준비안시켜주고 코딩테스트를 우선적으로 보며 학원에서도 코딩테스트를 우선적으로 준비시켜준다는데 이거 괜찮은걸까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
시뮬이 멈추질않아요
시뮬이 멈추지않고 계속진행됩니다..
-
미해결따라하면서 배우는 고박사의 유니티 기초
게임 오브젝트 물리와 충돌에서 오브젝트 색이 표현 안되요.
코드도 제대로 입력한 것 같고 인스펙터에는 색이 변경되었다고 뜨는데 실제로 화면에는 아무것도 안뜨네요.. ㅠㅠ 이거 왜 이러는 걸까요?! 보시면 알겠지만 이미지 넣어서 해봤는데 접촉 시 빨간색으로 박스 색이 변하게끔 해 봤어요. 근데 접촉하면 코드는 적용되서 SpriteRenderer가 빨간 색이 된 것 같은데 이상하게 화면에는 표시가 안되요.. 이유가 뭘까요?
-
미해결우디의 프리미어 프로 강좌
8강에서 파일가져오기
8강에서 쿠바사진 파일로 가져오면 좋다고 하셔서 파일로 가져오고 싶은데 더블클릭 후 파일을 누르고 열기 누르면 계속 파일 속으로 들어가서 사진을 선택하게 나오는데 파일을 한꺼번에 어떻게 가져와야 할까요?
-
미해결Vue.js 시작하기 - Age of Vue.js
싱글 파일 컴포넌트 템플릿 관련 문의
강사님 안녕하세요. 초급 강좌를 잘 듣고있는 수강생입니다. 프로젝트 생성 도구 - Vue CLI '싱글 파일 컴포넌트 소개 및 여태까지 배운 내용 적용하는 방법' 강의에서 vetur 플러그인 설치를 통해 버전에 따라 scf, vu 명령어를 통해 기본 템플릿 적용이 가능하다고 말씀주셨습니다. 제 vsCode에서는 아래오 같이 나오고 싱글파일컴포넌트관련 템플릿이 나오지 않아 질문드립니다. 확인 부탁드립니다. vetur 버전의 경우 0.35 사용중 입니다. 감사합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
get id, name
MemberList.html에서 member의 id와 name을 가져올 때 getId(), getName()으로 접근하지 않고 member.id와 member.name으로 바로 접근이 가능한 것인가요?? private으로 선언했는데도 바로 접근이 가능한 이유가 무엇인지 궁금합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
1분 34초 질문입니다!
UI부분이 어려워서 다시 듣고있는데요 1:34 에서 UnityEngine.Object[] objects = null; 라고 objects 리스트를 따로 만든 ㄴ 이유는 무엇인가요?? 강의 코드 43번째 줄에서 if문 안에서 Bind에서 만든 Objects리스트를 사용을 하는데 왜 또 위에다가 objects라는 동일한 이름의 리스트를 만들고, 만들 수 있는 이유를 모르겠습니다.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
(공유) 리액트 v6부터는 route가 바뀌어서 중첩라우터 이렇게 적용하셔야합니다
App 파트에서 workspace다음 와일드카드/* 를 표시해주셔야 합니다 workspace 안에서는 path에 /workspace/:workspace를 쓰면 App에서 workspace/:workspace/* 가 있어서 두개가 중복되기때문에 바로 /channel/:channel 로 path를 작성하시면 됩니다.
-
미해결스파크 머신러닝 완벽 가이드 - Part 1
Pyspark에서 Column 타입 지정하는 방법과 Spark 버전 차이 질문
안녕하세요! 우선 질 좋은 강의에 감사인사 드립니다. 강사님 강의 시리즈를 쭈욱 들어왔고 이번 강의도 수강하게 되었습니다! 두 가지 질문이 있는데요! Q1. 다름이 아니라, 강의 초반부에 Spark의 DataFrame에서 Column 타입을 지정하는 방법으로서 크게 3가지 방법이 존재한다고 하셨는데요! 1. data_sdf['column_name'] 2. data_sdf.column_name 3. col('column_name') 이 중 Spark 커뮤니티에서 가장 권고하는 표현법이 있을까요? 3가지를 이거저거 섞어쓰다가 Spark에 익숙해져 습관이 생겨버리면 나중에 코드 가독성에 문제가 생길 것 같기도 해서요.. 판다스에 이미 익숙해져있어서 저 3가지를 머릿속에 한 번에 넣으려니 자꾸 헷갈리기도 하구요..! 아니면 그냥 3가지 모두에 익숙해지되, 나중에 저만의 코드를 작성할 때는 3가지 방법 중 한 가지 방법으로 통일해서만 작성하면 될까요? Q2. 몇 개월 전에 Spark 완벽 가이드라는 오렐리에서 제작한 책을 좀 공부하면서 Pyspark 문법을 따라치면서 얕게 공부한 적이 있는데요! 해당 책이 Spark2.0 기준으로 작성되었는데, 현재 실습에서 Spark 버전을 보니 3.0대 버전이더라구요! 2.0에서 3.0으로 업데이트되면서 문법적으로, 시스템적으로 차이가 많아졌나요? 예전에 사둔 책을 버리자니.. 두꺼워서 아깝기도 해서요..!
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
형 변환에서 오류가 발생합니다.
안녕하세요. 수업을 듣는 와중에 출력이 안되서 질문드립니다. 형 변환 부분에서 TypeError: 'int' object is not callable 라고 뜹니다. idle에서는 출력이 잘되는데 어떻게 해야 atom에서 출력이 되게 할 수 있을까요? 파이썬은 3.10버전을 사용하고 있습니다.