inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

GUI를 변형하여 네이버 쇼핑에서 가져오는것 성공했지만... 도와주세요

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

안녕하세요. 네이버 지식인 GUI 강의하신 내용 참고하여, 네이버 쇼핑을 GUI 로 만들어 보았습니다. 여러번 버버벅 거리면서 수정하여, GUI 에 제품명을 담고, 엑셀로도 제품명과 링크 저장하는데 까지 성공했습니다. 그런데, 네이버로 부터 ip 일시적 차단 경고 받았습니다. 사전에 ip 차단 염려하여 1 페이지만 크롤링했고, 코드에서는 2군데 time.sleep(2)도 두었는데도 , 네이버로 부터 경고 받았습니다. 그래서, 더 진행하다가 아예차단될까 두려워서 방법 문의 드립니다. 네이버 쇼핑 경고 ; 쇼핑 서비스 접속이 일시적으로 제한되었습니다. 네이버는 안정적인 쇼핑 서비스 제공하고자 시스템을 통해 아래와 같은 비정상적인 접근이 감지될 경우 해당 네트워크의 접속을 일시적으로 제한하고 있습니다. 상품 구매, 탐색과 무관한 외부 이벤트를 통한 접속 짧은 시간 내에 너무 많은 요청이 이루어진 IP VPN을 사용하여 접속한 IP 특정 확장 프로그램 이용 시 위와 같은 접근이 아님에도 접속이 제한된 경우,네이버앱을 업데이트 또는 원클릭 진단을 부탁드립니다. 해당 방법을 통해서도 접속이 불가한 경우 네이버쇼핑 고객센터로 문의 부탁드립니다. 적용된 코드 입니다; 차단 원인과 해결방법 도와주세요~~ 감사합니다 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from PySide6.QtWidgets import QApplication,QWidget from nShopping_c_ui import Ui_Form import requests import sys import time from bs4 import BeautifulSoup import pandas as pd from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC class MainWindow_c2(QWidget,Ui_Form): def __init__(self): super().__init__() self.setupUi(self) self.start_btn.clicked.connect(self.start) self.reset_btn.clicked.connect(self.reset) self.save_btn.clicked.connect(self.save) self.quit_btn.clicked.connect(self.quit) def start(self): input_keyword=self.keyword.text() input_page=int(self.page.text()) self.result=[] # 적재창고 건설 # 크롬 드라이버 생성 self.driver=webdriver.Chrome() for i in range(1, input_page+1): self.textBrowser.append(f'{i}페이지 크롤링...') self.driver.get(f"https://search.shopping.naver.com/search/all?adQuery={input_keyword}&origQuery={input_keyword}&pagingIndex={i}&pagingSize=40&productSet=total&query={input_keyword}&sort=rel&timestamp=&viewType=list") #스크롤 전 높이 확인 last_height=self.driver.execute_script("return document.body.scrollHeight") while True: #스크롤 끝까지 내리기 self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight)") #잠시대기 time.sleep(2) # 스크롤 후 높이 new_height=self.driver.execute_script("return document.body.scrollHeight") # 비교(if, break) if new_height==last_height: break # 스크롤 전 높이 업데이트 last_height=new_height html=self.driver.page_source soup=BeautifulSoup(html,'html.parser') #나무태그 찾기 items=soup.select(".product_item__MDtDF") for item in items: # 각 아이템에서 제목과 링크 추출 name=item.select_one(".product_title__Mmw2K>a").text link=item.select_one(".product_title__Mmw2K>a").attrs['href'] self.textBrowser.append(name) self.result.append([name, link]) QApplication.processEvents() time.sleep(2) self.textBrowser.append('크롤링 완료...') def reset(self): self.textBrowser.setText("") self.keyword.setText("") self.page.setText("") def save(self): input_keyword=self.keyword.text() df=pd.DataFrame(self.result,columns=['제목','링크']) df.to_excel(f'{input_keyword}_d.xlsx') def quit(self): self.driver.quit() # 크롬 드라이버 종료 sys.exit() app=QApplication() window=MainWindow_c2() window.show() sys.exit(app.exec())

  • python
  • 웹-크롤링
송내 댓글 2 좋아요 0 조회수 1351

자바 예외 처리3 - 체크 예외 질문

해결됨

김영한의 실전 자바 - 중급 1편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 영상 에서 try-catch문과 throws으로, 예외를 잡는 것과, 던지는 것을 보았습니다. 현실적 으로는, 이 두 가지 사항이 잘 이해가 가는데, ex) 들수 있는 물건 - try-catch 무거운 물건을 들때 도움을 요청 - throws try-catch : 사람의 힘이나 기계의 힘으로 충분이 해결 가능 throws : 사람의 힘으로 안됨- > 기계의 힘으로도 안됨 -> 포기 코드적 으로는 어떨 때에는 try-cath로 잡고, 어떨 때에는 throws로 던져야 하는지 모르겠습니다. 혹 자바 예외 처리 실습 부분에서 이런 부분을 가르쳐 주시나요? 아니라면 어떨 때 던지고, 어떨 때 던져야 하는지 가르쳐 주시면 감사하겠습니다. 답변 부탁 드립니다.

  • java
  • 객체지향
생각하는자 댓글 1 좋아요 0 조회수 201

scikit learn 1.0.2 version 다운로드 진행 오류

미해결

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

안녕하세요! 항상 수고많으십니다. 다름이 아니라 scikit learn 1.0.2 version을 다운로드 할때 아래의 오류가 발생하는데 해결법이 있을까요? 감사합니다. (base) C:\Windows\system32>pip install scikit-learn==1.0.2 Collecting scikit-learn==1.0.2 Using cached scikit-learn-1.0.2.tar.gz (6.7 MB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [33 lines of output] Traceback (most recent call last): File "C:\Users\Admin\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module> main() File "C:\Users\Admin\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Admin\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 112, in get_requires_for_build_wheel backend = build backend() ^^^^^^^^^^^^^^^^ File "C:\Users\Admin\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 77, in build backend obj = import_module(mod_path) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Admin\anaconda3\Lib\importlib\__init__.py", line 90, in import_module return bootstrap. gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in gcd import File "<frozen importlib._bootstrap>", line 1360, in find and_load File "<frozen importlib._bootstrap>", line 1310, in find and_load_unlocked File "<frozen importlib._bootstrap>", line 488, in call with_frames_removed File "<frozen importlib._bootstrap>", line 1387, in gcd import File "<frozen importlib._bootstrap>", line 1360, in find and_load File "<frozen importlib._bootstrap>", line 1331, in find and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in load unlocked File "<frozen importlib._bootstrap_external>", line 995, in exec_module File "<frozen importlib._bootstrap>", line 488, in call with_frames_removed File "C:\Users\Admin\AppData\Local\Temp\pip-build-env-7t2zd14d\overlay\Lib\site-packages\setuptools\__init__.py", line 16, in <module> import setuptools.version File "C:\Users\Admin\AppData\Local\Temp\pip-build-env-7t2zd14d\overlay\Lib\site-packages\setuptools\version.py", line 1, in <module> import pkg_resources File "C:\Users\Admin\AppData\Local\Temp\pip-build-env-7t2zd14d\overlay\Lib\site-packages\pkg_resources\__init__.py", line 2172, in <module> register_finder(pkgutil.ImpImporter, find_on_path) ^^^^^^^^^^^^^^^^^^^ AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'? [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. (base) C:\Windows\system32>

  • python
  • 머신러닝
  • 통계
JUNWON 댓글 2 좋아요 0 조회수 557

강의에 있는 c++ 자료는 공개 예정이 없나요?

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

c++로 코딩 테스트를 준비해야 되는데, 파이썬이라도 괜찮다고 생각해 결제하긴 했지만, 동영상에 c++ 자료가 보여서 혹시 질문 드립니다! 현재 노션에는 싹 빠져있는 것 같아서요 따로 공개는 되지 않나요?

  • python
  • 코딩-테스트
  • 알고리즘
lee 댓글 1 좋아요 0 조회수 128

공간 복잡도 1mb = 100만개 질문 드립니다!

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

제가 알기로는 int 자료형이 4바이트로 알고 있는데 보통 1바이트라고 하셔서 제가 오개념을 알고 있는 것 같은데 아무리 생각해도 맞지 않는 것 같아서 질문 드립니다! int 자료형인데 왜 1바이트인지 궁금합니다!

  • python
  • 코딩-테스트
  • 알고리즘
lee 댓글 1 좋아요 0 조회수 133

강의자료 중에 누락된 부분이 있습니다

해결됨

쉽게 설명하는 AWS 기초 강의

4.amazon_vpc_11.vpc_비용.pdf 이부분의 파일이 바로앞 10.설계.pdf자료로 중복해서 들어와있습니다 확인부탁드립니다. 감사합니다

  • aws
  • aws-vpc
  • aws-rds
  • aws-ec2
  • aws-s3
eun 댓글 1 좋아요 0 조회수 190

수강 연장 부탁드리겠습니다 !! ㅠㅠ

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

안녕하세요! AWS 자격증을목표로 입문했는데요.. 업무강도가 너무많아져서 병행을못하고있습니다. 연장부탁드리겠습니다. 감사합니다.

  • 네트워크
  • aws
김민우 댓글 1 좋아요 0 조회수 122

printf 출력 값 띄어쓰기 문의

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

영상 대략 28분 30초 부분 출력값을 보면, 'apple banana cherry'이렇게 printf 후에 한칸씩 띄어쓰기가 되어있는데, printf 이후에 무조건 띄어쓰기 한칸을 해줘야하는 건가요?

  • python
  • java
  • c
  • 정보처리기사
꿈나무 댓글 1 좋아요 0 조회수 588

주피터 노트북 결과가 안나옵니다.

미해결

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

css selector 사용해서 크롤링하기 1 강의도중에 아래와같이 작성후 run 실행시켜도 결과가 안나오고 아무런 반응이없습니다. 에러도 안뜨고 보시다싶이 다른셀 실행되는것도 없는데 이런문제는 어덯게 해결하나요?

  • python
  • 웹-크롤링
yswo2100 댓글 1 좋아요 0 조회수 347

id값을 얻어오는 시점

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] ID 값은 em.persist(member) 가 호출되어 엔티티가 영속성 컨텍스트에 등록되는 시점에 부여되는 것이 맞는 것인지 아니면 DB를 거쳐서 저장되면서 값이 부여되는 것인지 궁금합니다. @PersistenceContext private EntityManager em; public Long save(Member member){ em.persist(member); return member.getId(); } 이 코드를 보면 persist(영속성 엔티티에서 관리될 때)때 id값이 정해지는 것이 맞는 것 같은데 둘 중 무엇이 맞는 개념인가요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
염경호 댓글 1 좋아요 0 조회수 187

C# ASP.NET 백엔드 서버를 리눅스로 배포하려고 합니다 :)

해결됨

비전공자도 이해할 수 있는 CI/CD 입문·실전

박재성 선생님 안녕하세요! C# ASP.NET 백엔드 서버 를 리눅스 로 배포하려고 하는데요. 이에 대하여 접근 방식(힌트)을 여쭤볼 수 있을까요~? Spring Boot와 Nest.js를 너무나 잘 설명해주셔서 혹시 선생님께는 처음 접하는 프레임워크(C# ASP.NET )에 대하여 어떻게 접근하실지 궁금하여 질문을 남겼습니다! 좋은 강의에 다시 한번 감사드립니다!!

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
  • .net
  • C#
긍정긍정열매 댓글 1 좋아요 0 조회수 304

낙관적락 vs 네임드락

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

낙관적락과 다르게 네임드락은 재시도 로직이 필요 없나요? 낙관적락은 충돌이 빈번하다면 재시도 로직으로 인해 비관적락보다 성능이 떨어질 수 있는데, 네임드락은 어떤가요?

  • java
  • spring
  • 동시성
gelab 댓글 2 좋아요 0 조회수 403

Spring Authorization Server 활용 sso 구축

미해결

스프링 시큐리티 OAuth2

Oauth를 활용해 자체 sso 서버를 구축하려고 하는데 궁금한 게 있어 문의 드립니다. 먼저 구축할 예정인 환경은 아래와 같습니다. 로그인 프론트 Authorization과 로그인을 함께 처리할 백엔드 authorization code 요청 시 로그인 여부를 확인해야 하는데 로그인 정보가 jwt 토큰으로 cookie에 담겨있다면, OAuth2AuthorizationEndpointFilter에서 확인을 해야하는지 OAuth2AuthorizationCodeRequestAuthenticationConverter에서 확인을 해야하는지 궁금합니다.

  • java
  • spring
  • spring-boot
  • oauth
yjlee341 댓글 1 좋아요 0 조회수 441

파트7의 게임서버를 AWS에 올리는 법 문의 드립니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 번외편: AWS로 시작하는 서버 운영

루키스님 안녕하세요? 이 강의 활용해서 파트7의 서버를 AWS에 올리는 연습을 해보려고 하는데 잘 안돼서 문의 드립니다. 일단 환경은 아래와 같이 만들었습니다 로컬 컴퓨터에서 52.1.1.1로 핑까지는 잘 뚫리는데, 게임 서버의 아래 코드가 private IP를 들고 있는 상태로 서버가 구동이 되는 것을 확인하였습니다. // 서버 Program.cs string host = Dns.GetHostName(); IPHostEntry ipHost = Dns.GetHostEntry(host); // ipHost.AddressList는 총 두개의 IP를 가지고 있음 // 1번은 Ipv6 16진수 Ip // 2번은 Ipv4 172.1.1.1 IPAddress ipAddr = ipHost.AddressList[0]; IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777); 첫 번째 시도는 ipHost.AddressList[1];로 바꿔보았는데 클라이언트 접속이 안됐습니다. // private IPv4인 172.1.1.1로 리스닝.. => 클라이언트가 못 찾음 IPAddress ipAddr = ipHost.AddressList[1]; 두 번째 시도는 ipAddr를 public IP로 하드코딩 하는거였는데 없는 Ip라면서 크래쉬 나는 것을 확인했습니다. // 서버가 52.1.1.1 못 찾겠다고 크래쉬 string ipAddressString = "52.1.1.1"; IPAddress ipAddress = IPAddress.Parse(ipAddressString); IPEndPoint endPoint = new IPEndPoint(ipAddress, 7777); 그래서 좀 찾아보니까 아래처럼 하니까 이건 또 접속이 되는 것을 확인했습니다. // 서버<--> 클라이언트 접속 성공 // 0.0.0.0으로 리스닝 되고 크래쉬도 안남 IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, port); 그러면 드리고 싶은 질문이 제가 성공했던 IPAddress.Any 방식으로 리스닝 해도 괜찮을까요? (AWS로 뭔가 서비스하는 수준으로 하고 싶다고 하면) IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, port); 강의에서 쓰셨던 아래 코드 방식을 유지할 할 수 있는 방식이 있을까요? 제가 public IP/private IP 사용 간에 놓친 부분이 있는지 궁금합니다. IPAddress ipAddr = ipHost.AddressList[0]; // 또는 IPAddress ipAddr = ipHost.AddressList[1]; // 또는 string ipAddressString = "52.1.1.1"; IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777);

  • linux
  • aws
mhyim 댓글 1 좋아요 0 조회수 201

spring sync connection reset

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) Spring 환경설정 질문 입니다. 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네, 기존 Q&A에 없는 것 같습니다. 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 안녕하세요. 초보 spring 입문자 입니다. 강의 1. 프로젝트 환경설정 단계 질문입니다. 강사님께서 말씀하신 스프링부트 스타터 사이트로 부터 해당 hello-spring 프로젝트 생성을 했습니다. 이후 Intellij에서 project로 열면 spring library를 받아와야 할텐데 받질 못하고 있습니다. load Gradle project 를 누르면 hello-project:failed > Connection reset 알람이 뜨네요. 참고로 회사 사무실 PC 환경에서 발생하는 이슈이고, 자택에서 사용시에는 잘 됩니다. 회사 방화벽 문제 일까요 ? 감사합니다.

  • java
  • spring
  • spring-boot
  • sync
  • connectionreset
유니와규니 댓글 3 좋아요 0 조회수 413

docker-compose 가 Docker Desktop 에서 빠진건가요? command not found 라고 뜨네요

미해결

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

m1 pro 사용 중이고 docker desktop 설치되어 있습니다. 찾아보니 docker desktop 설치 시 docker compose 도 같이 설치된다고 하던데.. 커맨드 자체가 없는거보니 뭔가 바뀐것 같네요. 아래처럼 수동으로 설치도 잘 안돼서 진행을 못하고 있습니다..

  • aws
  • docker
  • github
  • ci/cd
  • travis-ci
  • 데이터-엔지니어링
ewgregerg c 댓글 1 좋아요 0 조회수 304

anconda 에서 LightGBM 3.3.2 이 Setup 후 OpenMP 라이브러리에 의존하는데, 해당 라이브러리가 MacOS에 설치되지 않았기 때문에 발생하는 문제

미해결

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

안녕하세요 강사님 강의 모두 결제해서 듣고 있는 13년차 직장인 겸 학생입니다. MAC OS 아나콘다 환경에서 현재 4.4.5가 기본으로 깔리는데 처음문제는 early_stopping_rounds=50 였습니다. 그래서 3.3.2로 버전을 맞춰서 import lightgbm 하는데 문제가 생겨서 몇시간동안 헤매대가 결국 해결책을 찾아서 공유합니다. 1. . MacOS에서 OpenMP를 설치하고 LightGBM이 이를 참조할 수 있도록 설정해야 합니다. 1. Homebrew 설치 먼저 Homebrew가 설치되어 있는지 확인하세요. Homebrew는 Mac에서 패키지를 관리하는 도구입니다. Homebrew가 설치되지 않았다면, 아래 명령어로 설치할 수 있습니다 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh )" 2. libomp 설치 libomp 는 OpenMP 라이브러리입니다. Homebrew를 통해 쉽게 설치할 수 있습니다. brew install libomp 이 명령어는 libomp 를 설치하여, LightGBM이 OpenMP에 접근할 수 있게 만듭니다. 3. Anaconda 환경에서 환경 변수 설정 설치된 libomp 경로를 Anaconda 환경에서 참조하도록 설정해야 합니다. ~/.bash_profile 또는 ~/.zshrc 파일에 다음을 추가하세요. export PATH="/usr/local/opt/libomp/bin:$PATH" export LDFLAGS="-L/usr/local/opt/libomp/lib" export CPPFLAGS="-I/usr/local/opt/libomp/include" **팁Homebrew를 통해 설치된 libomp 의 경로를 확인하려면 다음 명령어를 터미널에 입력하세요: brew --prefix libomp 그 후 터미널에서 다음 명령어를 실행해 환경 변수를 적용하세요: source ~/.bash_profile # 또는 ~/.zshrc 4. LightGBM 재설치 pip uninstall lightgbm pip install lightgbm==3.3.2 ~ 끝 ~ 강사님 항상 업데이트 잘해주셔서 저도 도움이 되고자 올립니다.

  • python
  • 머신러닝
  • 통계
  • lightgbm
  • macos
sungho kang 댓글 1 좋아요 1 조회수 194

객체 생성과 메서드 호출에 대한 메모리 관점 흐름에 대해 질문 있습니다.

미해결

김영한의 실전 자바 - 기본편

메서드 프레임은 메서드 영역에 있는 메서드 코드를 기반으로 생성되나요? 객체 생성과 메서드 호출에 대한 메모리 관점 흐름을 정리 해봤는데 맞게 정리한건지 궁금합니다. "객체 생성시 힙 영역에 객체 저장 -> 메서드 호출시 메서드 영역에 있는 호출한 메서드 코드를 찾음 -> 찾은 메서드 코드로 스택 영역에 메서드 프레임을 생성함" 힙 영역에서 메서드 영역에 있는 본인의 메서드 코드를 어떻게 찾는지 궁금합니다.

  • java
  • 객체지향
감바스 댓글 1 좋아요 0 조회수 186

this에 대해 질문 있습니다.

해결됨

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

객체를 생성하는 순간 힙 영역에 객체가 저장(필드값)된다고 알고 있습니다. 메서드를 호출하기 위해서는 우선 객체를 생성한 후에 메서드를 호출해야 한다고 생각합니다. 궁금한 부분은 언제 메서드 프레임의 this에 값이 저장 되는지 궁금합니다. 메서드 호출 할때 힙 영역에 저장되어 있는 객체의 주소값이 this로 저장이 되는건가요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
감바스 댓글 1 좋아요 0 조회수 252

인기 태그

인프런 TOP Writers

주간 인기글