inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

프론트와 백엔드가 있는경우 WAS역할

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

타임리프와 스프링으로 개인프로젝트할땐 WAS에서 동적 HTML생성(타임리프)해 웹에 보여지는 것으로 이해했습니다. 1. (리액트 뷰 등...)프론트분들과 협력할때 , 타임리프는 사용안할텐데, 개인프로젝트에서 수행했던 HTML동적생성은 백엔드서버에선 이뤄지지 않고 프론트서버에서 이뤄지는 것인가요?? 2. 프론트와 협력할때, 백엔드가 정적 리소스도 고민해야하는 경우가 있을까요?? 정적인 것이라면 고정적인 html코드일텐데 프론트쪽에서 고민하는게 낫지 않나 싶습니다. (프론트 서버에도 웹서버와 WAS같은 것이 있는거겠죠??)

  • MVC
  • spring
댓글 1 좋아요 1 조회수 439

5:48에 request, response 그냥 사용가능하다~ 질문있습니다

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

이전에 service 메소드 작성할떄 유사한 질문을 드렸었는데요 ( https://www.inflearn.com/questions/607828 ) 이 강의에서는 req, resp를 쓰면 오류가나고 request, response라고 써야 오류가 안나던데.. 왜 req, resp는 못쓰는걸까요?

  • MVC
  • spring
정아연 댓글 1 좋아요 0 조회수 280

Model 질문

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

강의 너무 잘 듣고 있습니다. 강의 듣던 중 궁금한 점이 있는데 Model의 생명 주기가 어떻게 되는지 검색을 해봐도 원하는 검색이 안나오네요. Model의 생명주기가 궁금합니다. 34번째줄 @RequestMappint("/save")를 호출할때 model이 없어 model.addAttribute("member", member);할 때 value가 넣어지는 거 같은데 model이 존재하고 key가 같다면 member가 덮어쓰기되는 식인가요?

  • spring
  • MVC
aws5624 댓글 1 좋아요 3 조회수 504

404에러 예외처리 하는 도중 에러가납니다

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

Exception in thread django-main-thread: Traceback (most recent call last): File "C:\Users\lee\.conda\envs\askcompany\lib\threading.py", line 973, in _bootstrap_inner self.run() File "C:\Users\lee\.conda\envs\askcompany\lib\threading.py", line 910, in run self._target(*self._args, **self._kwargs) File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\utils\autoreload.py", line 53, in wrapper fn(*args, **kwargs) File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\core\management\commands\runserver.py", line 117, in inner_run self.check(display_num_errors=True) File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\core\management\base.py", line 392, in check all_issues = self._run_checks( File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\core\management\base.py", line 382, in _run_checks return checks.run_checks(**kwargs) File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\core\checks\registry.py", line 72, in run_checks new_errors = check(app_configs=app_configs) File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\core\checks\urls.py", line 13, in check_url_config return check_resolver(resolver) File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\core\checks\urls.py", line 23, in check_resolver return check_method() File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\urls\resolvers.py", line 407, in check for pattern in self.url_patterns: File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\utils\functional.py", line 48, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\urls\resolvers.py", line 588, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\utils\functional.py", line 48, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\urls\resolvers.py", line 581, in urlconf_module return import_module(self.urlconf_name) File "C:\Users\lee\.conda\envs\askcompany\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "C:\Dev\askcompany\askcompany\urls.py", line 41, in <module> path('__debug__/', include('debug_toolbar.urls')), File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\urls\conf.py", line 34, in include urlconf_module = import_module(urlconf_module) File "C:\Users\lee\.conda\envs\askcompany\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\debug_toolbar\urls.py", line 5, in <module> urlpatterns = DebugToolbar.get_urls() File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\debug_toolbar\toolbar.py", line 145, in get_urls for panel_class in cls.get_panel_classes(): File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\debug_toolbar\toolbar.py", line 126, in get_panel_classes panel_classes = [ File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\debug_toolbar\toolbar.py", line 127, in <listcomp> import_string(panel_path) for panel_path in dt_settings.get_panels() File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\django\utils\module_loading.py", line 17, in import_string module = import_module(module_path) File "C:\Users\lee\.conda\envs\askcompany\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "C:\Users\lee\.conda\envs\askcompany\lib\site-packages\debug_toolbar\panels\settings.py", line 7, in <module> get_safe_settings = get_default_exception_reporter_filter().get_safe_settings AttributeError: 'SafeExceptionReporterFilter' object has no attribute 'get_safe_settings' 구글에 검색해봤는데 정확히 무슨 내용인지 모르겠네요...

  • django
  • react
  • docker
  • python
똘이77 댓글 3 좋아요 0 조회수 607

file.transferTo(new File(fullPath)) 코드가 이해가 안되요 ㅜ

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 강의를 듣다 궁금한점이 있어서 질문드립니다! file.transferTo(new File(fullPath)) 이렇게 해주면 fullPath 경로에 파일이 저장된다고 하셨는데 어떻게 파일이 저장되는 걸까요? @RequestParam MultipartFile file 이렇게 file을 처음에 컨트롤러에서 받는데 이 file 객체에 현재 첨부한 파일이 들어있는거고 file.transferTo()를 하면 ()안의 경로에 file 객체가 가지고 있는 파일이 저장이 되는거라고 생각하면 될까요? 그리고 new File() 이 무슨 역할을 하는지 혹시 알수있을까요?

  • spring
  • MVC
오늘내일 댓글 1 좋아요 2 조회수 2998

spring security 사용 vs interceptor 구현

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

작은 프로젝트 진행 시 spring security를 사용하곤 했는데요... 진리에 케바케이긴 하겠지만 보통 현업에서는 spring security를 이용하여 인증/인가를 구현하시는지 아니면 interceptor를 활용하여 인증/인가를 구현하시는지 궁금합니다.

  • spring
  • MVC
도도한 생쥐 댓글 1 좋아요 1 조회수 1628

mv.getModel() 질문이 있습니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

강의 너무 잘보고 있습니다. 여기서 Model추가 -v3에서 한 가지 부분이 이해가 안됩니다. ModelView클래스에는 model값을 넣어주기 위해 생성자에서도 값을 넣어주지않고 setter를 통해서도 넣어주지 않는데 아래 코드의 44번행 view.render(mv.getModel(), request, response);에서 mv.getModel()을 해서 request.setAttribute(key,value)부분에서 값이 들어가는게 이해가 안됩니다.

  • MVC
  • spring
댓글 1 좋아요 1 조회수 564

vscode로 진행하는데 오류가 발생합니다...

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 이번에 스프링부트를 공부해보려고 이사이트에 찾았습니다. vscode가 친숙해서 vscode로 개발을 진행하는데 자바파일 실행시 아래와 같은 오류가 계속 뜨게됩니다... 어떻게 해야 해결할 수 있을까요?

  • spring
  • java
  • MVC
  • spring-boot
댓글 1 좋아요 0 조회수 1611

4분 20초

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요 강의 4분 20초 부분 따라하고 있는데 오류가 발생합니다.

  • java
  • spring-boot
  • MVC
  • spring
곰젤리 댓글 1 좋아요 1 조회수 433

FrontControllerServletV1 생성자에 대해 질문드립니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

생성자가 언제 만들어지는지 궁금합니다. 특별히 new를 해준것도 아닌데 생성자가 어디 시점에서 실행이 되는지 궁금합니다. 또한 service라는 메소드는 urlPatterns에 있는 링크로 들어가면 자동으로 실행되는 method인가요?

  • spring
  • MVC
댓글 1 좋아요 2 조회수 346

이미지

미해결

윤재성의 만들면서 배우는 Spring MVC 5

resources폴더안에 이미지 폴더가 있으니까 경로를 ${root}resources/image/logo.png이렇게 해주어야 하는거 아닌가요ㅠㅠ?

  • MVC
  • java
  • XML
  • spring
댓글 1 좋아요 0 조회수 323

MemberServiceTest코드에서 AfterEach 질문

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. MemberServiceTest에서 memberRepository를 사용하여 afterEach메서드를 통해 초기화 시켜주는데 memberService 안의 memberRepository가 final 하기 때문에 건드리지 못해서 밖에서 memberRepository 오버로딩을 통해 초기화 해주는건가요?? 맞다면 final 키워드가 붙어있는 memberRepository를 밖에서 오버로딩할수 있는건가요? MemberService안에 있는 memberRepository는 private final인데 그 밖에서 선언한 memberRepository를 초기화해주는것으로 어떻게 초기화가 되는거인지 궁금합니다...!!

  • java
  • MVC
  • spring
  • spring-boot
lts0424 댓글 1 좋아요 0 조회수 154

project 폴더 설정 관련 질문

해결됨

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

안녕하세요, askcompany 프로젝트 폴더 설정하는 부분에서 몇가지 질문이 있습니다. 1. DEBUG 모드일때만 프로젝트 폴더의 urls.py에 media 관련 url을 추가해주는 이유가 있을까요? 해당 url은 어떤 역할을 하게 되는 것인가요? 2. 프로젝트 폴더의 urls.py에서 사용한 from django.conf import settings과 django github의 django.conf.global_settings.py의 차이가 궁금합니다. 3. 2번의 settings와 프로젝트 폴더에 자동으로 생성된 settings.py의 차이가 궁금합니다. 4. settings를 개발과 운영으로 나눴는데 그렇다면 settings/prod.py에 DEBUG=False와 같은 설정을 바꿔야 하는게 아닌지 궁금합니다. 감사합니다.

  • docker
  • react
  • django
  • python
zxpjh0323 댓글 1 좋아요 0 조회수 238

HelloBean에 빈 이름을 지정해야 하는 이유

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

안녕하세요 단순한 질문이긴 한데.. 제가 뭔가 착각하고 있나 싶어 질문 드립니다 ㅠ @Component 어노테이션을 붙이면 빈으로 등록이 되죠 그리고 등록될 때 이름을 지정하지 않으면 해당 클래스 이름의 첫글자를 소문자로 바꿔 등록된다고 이해하고 있는데요 강의 1분 24초에 HelloBean 이라는 클래스를 하나 만들어서 빈으로 등록해 사용하는데 이 때 @Component static class HelloBean{ } 이렇게만 등록해도 helloBean 이라는 이름으로 빈이 등록되 않나요? @Conponent("helloBean") 이라고 이름을 지정해 주어야만 정상적으로 코드가 동작하고 이름을 지정해 주지 않으면 빈을 찾을 수 없다는 에러가 발생하던데 결과적으로 빈의 이름을 지정하지 않아도 타임리프에서 사용된 빈의 이름과 일치할 텐데 빈 이름을 지정해야 코드가 정상적으로 동작하는 이유를 모르겠습니다..

  • MVC
  • spring
devmin 댓글 2 좋아요 6 조회수 726

colab face-recognition 에러

미해결

코랩에서 face recognition을 실행했을 때 원래는 사진이 잘 학습되었습니다. 그런데 어느순간부터 아래와 같은 에러가 발생하는데 어떻게 해결해야 할까요?

  • opencv
  • face_recognition
  • python
  • colab
yyjun0212 댓글 0 좋아요 0 조회수 410

Boston House 실습 표준화, 이상치제거 관련 질문입니다.

해결됨

[개정판] 파이썬 머신러닝 완벽 가이드

안녕하세요! ML공부하면서 강의 정말 많이 도움이 되고 있습니다^^ ㅇ skew를 사용한 왜곡도 제거부분에서(강의 8:00~10:00 부분) 1. skew 대신 standardscaler를 사용해 표준화 시키는 것은 단점이 있나요? (정규분포를 만들어주기 때문에 skew보다 더 정리를 잘해줄것 같은 생각이 듭니다.) 2. 또한 log를 씌워 정규분포와 비슷하게 만들어준다고 하셨는데, 이부분 또한 standardscaler를 적용하면 안되는 걸까요? ㅇ GrLivArea 이상치를 제거하는 부분에서(강의 14:00~18:00 부분) 1. 다른 이상치 제거방법(사분위수)을 써도 되는지? 2. 이상치 제거할 때 테스트 데이터에 이상치가 있는지 확인하고 제거하라고 하셨는데 학습검증단계에서 테스트 데이터를 참고해도 되는건가요? ㅇ 전처리 과정 순서를 기본전처리(null, 범주형 변환 등) &rarr; standardscaler &rarr; 이상치제거(IQR 등) &rarr; minmaxscaler 이렇게 기본틀로 잡고 머신러닝을 진행하고 있었는데 돌리는 모델이나 데이터별로 달라져야할까요? ㅇ 마지막으로, house price 타켓 컬럼을 log변환해서 학습을 진행을 하셨는데, 타겟값만 log를 씌워주고 다른 값들은 log를 안씌운 상태에서 학습을 하게되면 오류(수치상의 차이 기반)가 발생할 가능성은 없을까요? 질문이 난잡하긴 한데 간략하게나만 답변 주시면 감사하겠습니다! 감사합니다.

  • 통계
  • python
  • 머신러닝 배워볼래요?
윤석우 댓글 1 좋아요 0 조회수 344

자바17로 해도 되나요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

강좌에서는 자바 11로 하라고 하셨는데, 혹시 자바17로 해도 되는걸까요? Build.grade 의 sourceCompatibility 에 자바 17 버전이라고 돼있습니다 . Preference 의 gradle JVM 은 Project SDK corretto-17 Project settings 에서 SDK 는 corretto-17 Amazon Corretto version 17 입니다 . 그리고 혹시 JVM 에 원래 선택 돼있는 Project SDK corretto-17 말고 corretto-17 Amazon Corretto version 17.0.4 도 있는데 , 이걸로 바꿔야 하나도 궁금합니다 .

  • spring-boot
  • spring
  • java
  • MVC
bounjaeun 댓글 1 좋아요 0 조회수 1253

MVC2 타임 리프 입력 폼 처리에서 질문이 있습니다!

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 강사님 타임리프 부분이 가물가물해서 복습하고 있는 수강생입니다. 다름이 아니라 '타임리프 - 스프링 통합과 폼' 챕터 '입력 폼 처리' 강의에 질문이 있어서 글을 남깁니다. 지금 저는 JPA를 사용하면서 MVC 2 강의를 복습하고 있고, 기본 생성자의 접근 제한자를 모두 protected로 두고 사용하고 있습니다. 강의 내용 중, addForm을 Get으로 불러올 때, 빈 객체를 넘기셔서 일단 강의대로 적용하기 위해 public으로 접근 레벨을 변경하였으나, 여기서 문제가 발생하였습니다. 질문이 몇개 있어서 번호를 붙여서 질문하겠습니다!! 1. 기본 생성자를 사용하여 진행 시, save 및 update가 정상 작동하지 않습니다 (id를 제외한 모든 값이 null로 들어갑니다) 이 경우, 제가 생각하기에 flush가 동작하지 않아 그런 것 같은데, 정확한 버그 발생 이유와 해결 방안이 너무 궁금합니다!!ㅠㅠ 2. 결국 엔티티에서 빈 객체 생성자를 public으로 두고 싶지 않아, ItemDTO를 따로 만들어서 빈 객체를 생성하여 넘겨줬는데, 이렇게 해도 기능 자체는 정상 작동했습니다. 혹시 이 경우, 문제가 되는 점이 있을까요? (DTO => 엔티티 변환 과정 하나도 없이 그냥 ItemDTO만 전달했습니다) 바쁘실텐데 질문 읽어주셔서 감사합니다!! 또 항상 좋은 강의 제공해주셔서 강사님과 인프런 모든 분들에게 너무 감사드립니다!

  • 타임리프
  • MVC
  • spring
ywonp94 댓글 2 좋아요 0 조회수 286

Scraping code 관련 질문

해결됨

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ---------- ---------- # 감사의 인사 안녕하세요! 먼저 좋은 강의 만들어주셔서 감사합니다. 파이썬 문법을 기본적인 것을 떼고 프레임워크와 함께 무언가 만들어볼라고 하던 찰나 FastAPI와 함께 크롤링까지 학습할 수 있어서 좋은 강의인 것 같습니다 : ) 스크랩핑의 경우, json.load 관련하여 학습하다보니 serialize 개념에서 시작하여 json.dump와 json.loads 등등 과 parser 개념에 대해 학습할 수 있어서 너무 좋았습니다. 이것저것 학습하다보니 하루가 쑤욱 갔네요... ---------- ---------- # 질문 1 먼저 구글링을 하고 나서 질문드립니다. 1) 아래 코드에서 response 앞에 await이 올 수 있는 이유 async def fetch(session, url): print(f"{os.getpid()} | {threading.get_ident()} thread | url: {url}") async with session.get(url) as response: return await response.text 공식 문서에 따르면 await 뒤에는 코루틴, 태스크 또는 퓨처가 와야한다고 하는데, 위 코드에서 await이 올 수 있던 것은 여기서 response가 async with session.get(url)의 alias 여서 가능한건가요??? 만약 그렇다면 with문은 context manager인 걸로 알고 있습니다. 자원을 할당해주고 다 사용하면 반환하는 역할인 것으로요. 그러면 이 with문이 어째서 코루틴에 속하는지 잘 모르겠습니다. ------- # 질문 2 2) html.parser 이 질문은 제가 이해한 게 맞는 건지 여쭤보는 질문입니다. beautifulsoup(html, "html.parser") code 부분에서 html을 구문분석할 parser를 "html.parser"로 정한다는 의미인가요? 그리고, HTML parser란 HTML 코드를 읽고 취해서 DOM tree 구조를 생성하는 프로그램이라 이해하면 되나요?? 이 부분은 구글링하여 학습했으나, 강사님의 내포하는 지식과 일치하는지 확인받을려는 질문입니다. ------- # 질문 3 3) await을 넣는 위치 코루틴이란 진입점과 탈출점이 여러 개인 routine인 것으로 이해했고, 그 포인트들이 await과 return으로 만들어진다고 강의를 통해 이해했습니다. 그런데, 왜 이 위치에 await을 썼는가? 라는 의문에는 쉽게 답이 나오지 않는 것 같습니다. from bs4 import BeautifulSoup import asyncio import aiohttp async def fetch(session, url): async with session.get(url) as response: html = await response.text soup = BeautifulSoup(html, 'html.parser') cont_thumb = soup.find("div", "cont_thumb") for cont in cont_thumb: print(cont.find("p", "text_thumb")) 위 코드에서 await은 response.text 앞에 있는데요. await의 위치는 작성자가 임의로 위치할 수 있는 건인지, 아니면 별도로 제가 모르는 내용이 있는 건지 알고 싶습니다. ------- #질문 4 4) config.py의 get_secret() 질문 get_secret function 매개변수 3개를 key, default_value, json_path 를 입력하셨습니다. json_path의 경우, BASE_DIR를 전역변수로 입력하셨기 때문에 함수 인자로 입력하지 않아도 인식된다고 이해하면 될까요? 또한, EnvironmenError의 내용을 보면 이 Error 설명을 보면 Base class for I/O related Errors 나와있는데, 왜 I/O 관련 에러인지 모르겠습니다. 이 Error는 key에 대한 대체값인 default_value가 없는 경우 발생되는 걸로 이해했습니다. CPU가 이 값을 읽는건데 I/O 인가요? 그리고, get_secret() 같은 함수를 작성하실 때 어떠한 흐름으로 작성하시는지 궁금합니다. 작성을 하면서 수정하시는 건지, 아니면 처음부터 이 function은 이 역할을 하고, 이 역할을 위해서 별도의 function을 만들고 라는 방식으로 하시는 건지 입문자로서 궁금합니다. ------- # 질문 5 5) 마지막 질문입니다. 이건 학습 관련 질문입니다. 이번 강의를 마치고, 운영체제와 네트워크 공부를 다시 복습하고, 자료구조와 알고리즘 공부를 할려고 하는데, 프레임워크에 대해서 학습하고 싶습니다. FastAPI를 깊이 공부할지, 아니면 Django를 학습할지 고민입니다. 인프런의 Django 강의를 결제하여 듣고 있으나, 너무 꼼꼼하셔서 그런지 강의가 heavy하네요..ㅠㅠ 어떻게 학습하시는 걸 추천하시나요??? ------- ------- ------- ------- 질문 읽어주셔서 감사합니다.

  • python
  • FastAPI
  • 동시성
김제하 댓글 1 좋아요 1 조회수 227

memberService 오류가 안 나는데 상관없나요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

영상에서는 memberService 부분이 오류가 뜨는데 저는 처음 생성자를 만들 때부터 빨간 줄이 없습니다 제가 다른 부분에서 잘못 작성한게 있는건가요?

  • spring-boot
  • MVC
  • spring
  • java
21시 댓글 1 좋아요 5 조회수 463

인기 태그

인프런 TOP Writers

주간 인기글