묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
맥 사용자가 아닌 윈도우 사용자 분들은 docker redis 설치 어떻게 하셨나요?
docker desktop , mysql은 별개로 설치 되어 있긴 한데docker desktop으로도 mysql redis 설치가능한건가요??ㅠㅠ
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
RedissonClient null
TC에 문제가 있어 디버깅을 해보니RedissonClient가 null이네요.기본 url에 port인데 왜 이럴까요? ㅠㅠ
-
미해결운영체제 공룡책 강의
ubuntu 에러가 뜹니다.
WslRegisterDistribution failed with error: 0x80370102Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.For information please visit https://aka.ms/enablevirtualization이 에러가 뜨고 윈도우에 설치시 발생하는 오류(wslregisterdistribution failed with error: 0x80370102) 해결 (codeit.kr) 이 페이지에서 하라는대로 다 하고 bios 모드에서도 svm을 enabled 로 설정해주엇는데도 계속 같은 에러가 반복됩니다. 어떻게 해결할 수 있나요
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
테스트 실패 후 tryLock waitTime 설정 변경 뒤 테스트 성공에 대한 질문
waitTime을 10초로 설정했어도 leaseTime이 1이기 때문에 테스트는 성공했어야 할 것 같은데 왜 실패하나요?그리고 waitTime을 10초에서 15초로 변경하면 왜 성공하나요?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
동시성 제어 방법 채택 순서
안녕하세요강의를 듣던 중 궁금함이 생겨서 질문드립니다.msa 환경에서, 레디스를 사용할 수 있는 상황이라면 레디스를 사용하는 것이 제일 좋은 방법인가요? 아니면 db락을 사용하는 것이 더 좋을 수도 있나요? 만약 db락을 사용하는 것이 더 좋을 수도 있다면, 그 상황은 어떤 상황이 있을까요?
-
미해결운영체제 공룡책 강의
멀티 프로세싱 vs 멀티 프로그래밍
멀티 프로세싱과 멀티 프로그래밍의 개념이 헷갈리네요..구글링을 통해 다수의 글을 확인했을 때, 수업 내용에서 말한 하나의 CPU에서 시분할을 통해 여러 프로세스의 실행하는 것을 멀티 프로그래밍이라 정의했습니다. 또한 멀티 프로세싱은 여러 개의 cpu가 서로 협력하여 여러 프로세스를 실행한다고 정의되어 있습니다. 수업 내용 그대로 이해하면 될 지 모호하네요.
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
session 을 닫아야 하는 이유
session 은 왜 닫아야 하나요? 파이썬 코루틴 활용 강의에서 with requests.Session() as session: session.get(url) 을 통해 session 을 열고 닫아야 한다고 하셨는데, 왜 session 을 닫아야 하는지 궁금합니다.
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
계속해서 데이터가 줄지 않고 100개로 나옵니다.
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended2023-08-02T14:04:15.469+09:00 DEBUG 24388 --- [ main] org.hibernate.SQL : insert into stock (product_id,quantity) values (?,?)Hibernate: insert into stock (product_id,quantity) values (?,?)2023-08-02T14:04:15.723+09:00 DEBUG 24388 --- [ main] org.hibernate.SQL : select s1_0.id,s1_0.product_id,s1_0.quantity from stock s1_0 where s1_0.id=?Hibernate: select s1_0.id,s1_0.product_id,s1_0.quantity from stock s1_0 where s1_0.id=?2023-08-02T14:04:15.788+09:00 DEBUG 24388 --- [ main] org.hibernate.SQL : select s1_0.id,s1_0.product_id,s1_0.quantity from stock s1_0Hibernate: select s1_0.id,s1_0.product_id,s1_0.quantity from stock s1_02023-08-02T14:04:15.802+09:00 DEBUG 24388 --- [ main] org.hibernate.SQL : delete from stock where id=?Hibernate: delete from stock where id=? org.opentest4j.AssertionFailedError: Expected :0Actual :100 이유가 뭔지 잘 모르겠습니다. 코드도 아무리 봐도 같습니다 ㅠㅠ
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
facade 패턴 적용 및 service 에서 락 재흭득 처리 후 문제 질문
facade 패턴 적용에 대한 질문 강의를 듣고 facade 패턴에 대해서 조금 공부해봤습니다.강의에서 facade 패턴을 적용한 이유가 락 흭득 관련한 반복 로직을 service 레이어에서 분리하기 위함이라고 이해했습니다. 현재 service 레이어에는 메서드가 하나라서 facade 에 메서드가 하나인 것인가? 라는 생각이 들었습니다.1. 락 처리(동시성 문제 처리)를 하는 메서드만 facade 로 분리를 해주는 것인가요? 2. 아니면 service 레이어에 있는 모든 메서드에 대해서 facade 패턴으로 분리한 클래스에 메서드 호출을 넣어야하는 것인가요?만약 1번이 맞다면 컨트롤러에서 일반 service layer 와 facade 둘다 컨트롤러에서 의존성을 갖고 있도록 해야할텐데 이는 컨트롤러에에서 락처리를 하는 facade.decrease 와 stockService.decrease 둘다 참조 가능한 것이 이상하다는 생각이 들었습니다.---이와 별개로 facade 를 적용하지않고 service 에서 decrease 에 대해 락 흭득 재흭득 처리를 하면 단순하게 아래 처럼 처리 할 수 있다고 생각했습니다..그랬더니 동시성 문제가 해결되지 않고 테스트를 돌려보니 51 만큼만 감소가 이루어 지더라구요... 이유가 뭔지 궁금합니다.@Service public class OptimisticLockStockService { private final StockRepository stockRepository; public OptimisticLockStockService(StockRepository stockRepository) { this.stockRepository = stockRepository; } @Transactional public void decrease(Long id, Long quantity) throws InterruptedException { while (true) { try { Stock stock = stockRepository.findByIdWithOptimisticLock(id); stock.decrease(quantity); stockRepository.saveAndFlush(stock); } catch (Exception e) { Thread.sleep(50); } } } }
-
해결됨파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
sec3-2. robots.txt에 관한 질문입니다.
안녕하세요. 선생님. 각 웹사이트에서 크롤링에 대한 가능범위를 robots.txt에서 확인할 수 있다고 하셨습니다. robots.txt에 대한 부분을 확인할 수 있는 경우도 있지만 사실 robots.txt에 대해 명시하지 않는 사이트들도 많아서, 이런 경우에는 해당 웹사이트가 크롤링에 대해 어떤 스탠스를 취하고 있는지 어려운 경우가 있습니다.CU편의점 웹사이트는 Request Blocked 메시지를 띄운다던가, 어떤 웹사이트는 400번 에러를 내며 크롤링 가능범위를 보여주지 않습니다.이런 경우에는 웹사이트가 어떤 스탠스를 갖고 있다고 판단하면 될까요? 또한, 블로그와 같은 개인적인 공간에 특정 웹사이트를 크롤링하는 코드를 올리는 것은 문제의 소지가 있을까요?강의 감사히 듣고 있습니다. 감사합니다.
-
해결됨재고시스템으로 알아보는 동시성이슈 해결방법
레디스 설정이 추가적으로 필요없는건가요?
도커를 통해 레디스 설치후 라이브러리 설정 외에 별로의 URL이나 주소를 매핑하지 않았는데 어떻게 자동으로 연결되는 걸까요 ?
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
프로젝트 관련질문
현재 몽고디비에 데이터가 잘들어가는지 확인하기 위해서 odmantic을 설치한 이후로 오류가 떴고이러한 오류가떴고 확인 해보니from odmantic import AIOEngine 문제라는 판단으로 pip install --upgrade odamantic을 했지만 별 효과가 없어서 문의하게되었습니다. 추가적으로 하다보니 init.py 이했을떄는 문제없고 mongodb.connect할 때 문제인데 mongodb의 연결문제라고 생각중입니다 Process SpawnProcess-1: Traceback (most recent call last): File "C:\Users\hs091\anaconda3\lib\multiprocessing\process.py", line 315, in _bootstrap self.run() File "C:\Users\hs091\anaconda3\lib\multiprocessing\process.py", line 108, in run self._target(*self._args, **self._kwargs) File "C:\Users\hs091\anaconda3\lib\site-packages\uvicorn\_subprocess.py", line 76, in subprocess_started target(sockets=sockets) File "C:\Users\hs091\anaconda3\lib\site-packages\uvicorn\server.py", line 61, in run return asyncio.run(self.serve(sockets=sockets)) File "C:\Users\hs091\anaconda3\lib\asyncio\runners.py", line 44, in run return loop.run_until_complete(main) File "C:\Users\hs091\anaconda3\lib\asyncio\base_events.py", line 642, in run_until_complete return future.result() File "C:\Users\hs091\anaconda3\lib\site-packages\uvicorn\server.py", line 68, in serve config.load() File "C:\Users\hs091\anaconda3\lib\site-packages\uvicorn\config.py", line 467, in load self.loaded_app = import_from_string(self.app) File "C:\Users\hs091\anaconda3\lib\site-packages\uvicorn\importer.py", line 21, in import_from_string module = importlib.import_module(module_str) File "C:\Users\hs091\anaconda3\lib\importlib\__init__.py", line 127, in import_module return bootstrap.gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in gcdimport File "<frozen importlib._bootstrap>", line 1007, in findand_load File "<frozen importlib._bootstrap>", line 986, in findand_load_unlocked File "<frozen importlib._bootstrap>", line 680, in loadunlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in callwith_frames_removed File "C:\Users\hs091\studyDs\teaching-async-python-main\6-실전-프로젝트-콜렉터스\app\main.py", line 5, in <module> from app.models import mongodb File "C:\Users\hs091\studyDs\teaching-async-python-main\6-실전-프로젝트-콜렉터스\app\models\__init__.py", line 2, in <module> from odmantic import AIOEngine File "C:\Users\hs091\anaconda3\lib\site-packages\odmantic\__init__.py", line 1, in <module> from .bson import ObjectId File "C:\Users\hs091\anaconda3\lib\site-packages\odmantic\bson.py", line 11, in <module> from pydantic.datetime_parse import parse_datetime File "C:\Users\hs091\anaconda3\lib\site-packages\pydantic\_migration.py", line 295, in wrapper raise PydanticImportError(f'`{import_path}` has been removed in V2.') pydantic.errors.PydanticImportError: pydantic.datetime_parse:parse_datetime has been removed in V2. For further information visit https://errors.pydantic.dev/2.1.1/u/import-error
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
프로젝트 부분에 대한 질문
현재 혼자 처음시작부터 따라하는 부분으로써 두가지의 오류가 있었고 init.py에서는 이부분에서 config에서 가져오는 MONGO_DB_NAME의 문제가있는데 config나 secrets에서 철자 틀린건 없었습니다 오류내용은 line too long (81 > 79 characters)Flake8(E501) 이오류인데 flake의 잘못인가요??main.py 에서 그냥 import 오류인 app.models.mongodb' imported but unusedFlake8(F401) 똑같은 문제인것같습니다
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
몽고디비 설치에 따른 GUI변경
GUI가 변한 것으로 인해 잘되어가는지 몰라서 한번 확인이가능할까요??
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
레디스 라이브러리 장단점에 대해서 혼동이 있어서 질문드립니다.
강의 내용에 따르면 Redisson 을 사용하면 락 흭득 재시도를 기본으로 구성한다는 말씀을 해주셨습니다.RedissonLockStockFacade 예제를 보면decrease 메서드 내부에서 getLock 으로 락을 흭득하고 lock.tryLock() 호출을 통해 락을 잡는 다는 것으로 이해하였습니다.이 때 락 흭득 재시도를 lock.tryLock() 내부에서 이루어 지는 건가요??또한 lettuce 사용 시 락 흭득 재시도를 하는 과정은 while(!redisLockRepository.lock(key)) 를 통해서 스핀락 형태로 이루어지는건가요?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
OptimisticLockStockService 에 @트랜잭션을 사용하지 않는경우
OptimisticLockStockService 에 decrease 메서드에 @트랜잭션을 사용하지 않는 경우 테스트 코드가 멈추지 않는 문제가 있었습니다.이런 경우 왜 그런건가요??
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
강의자료
강의자료 다운로드는 어디서 받나요??
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
flask 설치에 따라서
pip install flask를 했는데설치 하는 도중에 마지막에 WARNING: You are using pip version 21.2.3; however, version 23.2.1 is available.You should consider upgrading via the 'C:\Users\hs091\FastAPI\venv\Scripts\python.exe -m pip install --upgrade pip' command.이러한 오류가떴었고 pip install --upgrade pip를 했지만 이겄도한 pip help install 이러한 오류가뜨게됩니다 방안이있을까요?
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
앞부분에 (base)나 (venv)자체가 뜨지가 않습니다.
window 에서하는 중인데 비주얼스튜디오코드를 설치를 햇는데 아예 (base)라는 부분이 뜨지가 않습니다. hello.py를 하면 잘나오는 부분은 있습니다. 또한 .\venv\Scripts\activate.bat 명령어를 치면 기존 터미널에 있던 문자들이 알아서 clear가 되지만 가상환경인지 잘모르는 부분이됩니다.
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
Redis 추후 공부 법
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의 잘 들었습니다!동시성 문제 해결방법으로도 그렇고,캐싱 용도로도 Redis를 활용하고 싶은데요,혹시 추천해주실 수 있는 Redis 공부 방법이 있으신지 질문 드리고 싶습니다! 감사합니다!