실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
안녕하세요 강사님! 그동안 테스트 코드를 작성할 땐 Assertj의 Assertions 클래스를 사용해왔는데, 강사님께서는 AssertionsForInterfaceTypes를 사용하시더라구요..!! AssertionsForInterfaceTypes를 특별히 사용하신 이유가 있을까 하여 질문 남겨드립니다. 코드를 살펴보니 Assertions.assertThat이 내부적으로 AssertionsForInterfaceTypes.assertThat을 호출하는 것 같아 보이는데.. 사실 공식문서도 찾아봤는데 이해가 잘 되지 않네요ㅜㅜ 1) AssertionsForInterfaceTypes.assertThat 2) Assertions.assertThat
안녕하세요? 강사님. 덕분에 Springboot 수월하게 학습하고 있습니다. 좋은 강의 항상 감사드립니다. 다름이 아니라 Transaction 적용구간에 대한 문의 드립니다. 아래 가상 소스를 예를 들면 방안1, 방안2 모두 문제점들이 있는데 실제 현업에서는 주로 어떠한 방법으로 해결하시는지 고견을 듣고 싶습니다. 물론, Controller 외부에서 별도 호출하는 방식으로 아래 문제를 피해갈 수 있을것 같지만, 서비스 관리 특성성 하나의 메서드로 관리하고 싶다는 전제 입니다. 방안1) 경우 메소드에 Transaction을 적용하면 순수 DB처리 이외도 처리도 포함되어 트랜잭션 처리이 짧을 수록 좋은데 길어질 수 있는 문제가 있습니다. 방안2) 경우 메소드를 쪼개어 순수DB 처리 메소드에만 Transaction을 적용할 수 있겠지만, external 메소드, 등록(), 의 경우 프록시 특성상 외부에서 내부 메서드 호출시 트랜잭션이 적용되지 않습니다. 방안1) BasicService { @Transactional public void 등록() { 1. 이미지 파일 저장 2. 이미지 파일 리사이징 3. ----트랜잭션 구간--- 3-1) 내용 등록 3-2) 업로드 파일 등록 } } 방안2) BasicService { public void 등록() { 파일업로드(); DB저장(); } public void 파일업로드() { 1. 이미지 파일 저장 2. 이미지 파일 리사이징 } @Transactional public void DB저장() { 3. ----트랜잭션 구간--- 3-1) 내용 등록 3-2) 업로드 파일 등록 } } 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.
안녕하세요 책을사서 공부를 하려다 가장 앞부분에서 막혀서 강의를 사고 보고 따라하는데도 막혀서 질문 드립니다 mlagents를 anaconda3를 통해서 다운받고 기본적인 설치를 끝내고 맨 먼저 알려주시는 mlagents-learn 명령어를 실행 시켰습니다 C:\Users\(사용자)\Downloads\ml-agents-release_17\ml-agents-release_17>mlagents-learn config\ppo\3DBall.yaml --env=C:\Users\(사용자)\unity\ml-Project\buildFile\3DBall\UnityEnvironment --run-id = 3DBallTrain 그리고 Traceback (most recent call last): File "C:\Users\Tech\anaconda3\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\Tech\anaconda3\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\Tech\anaconda3\Scripts\mlagents-learn.exe\__main__.py", line 4, in <module> from mlagents.trainers.learn import main File "C:\Users\Tech\anaconda3\lib\site-packages\mlagents\trainers\learn.py", line 2, in <module> from mlagents import torch_utils File "C:\Users\Tech\anaconda3\lib\site-packages\mlagents\torch_utils\__init__.py", line 1, in <module> from mlagents.torch_utils.torch import torch as torch # noqa File "C:\Users\Tech\anaconda3\lib\site-packages\mlagents\torch_utils\torch.py", line 6, in <module> from mlagents.trainers.settings import TorchSettings File "C:\Users\Tech\anaconda3\lib\site-packages\mlagents\trainers\settings.py", line 625, in <module> class TrainerSettings(ExportableSettings): File "C:\Users\Tech\anaconda3\lib\site-packages\mlagents\trainers\settings.py", line 648, in TrainerSettings cattr.register_structure_hook( File "C:\Users\Tech\anaconda3\lib\site-packages\cattrs\converters.py", line 252, in register_structure_hook self._structure_func.register_cls_list([(cl, func)]) File "C:\Users\Tech\anaconda3\lib\site-packages\cattr\dispatch.py", line 57, in register_cls_list self._single_dispatch.register(cls, handler) File "C:\Users\Tech\anaconda3\lib\functools.py", line 855, in register raise TypeError( TypeError: Invalid first argument to `register()`. typing.Dict[mlagents.trainers.settings.RewardSignalType, mlagents.trainers.settings.RewardSignalSettings] is not a class. 라고 에러가 뜨면서 실행이 안됩니다 제가 파이썬을 학교에서 배우고 처음 응용하는거라 뭐가 뭔지 잘 모르겠네요.. 오류코드 검색을 해봤을때 설정문제 인 것 같아 포멧도 진행해봤습니다 (파이썬 ai관련 설치되고 정리되지 않은게 많아 꼬였을거 같았습니다) 그런데도 오류 코드가 똑같이 나와 질문드립니다
평가 시점이라는 단어가 또 나왓는데요 ㅠ 이 말이 무슨 말인지 잘 모르겠어요 함수를 변수에 담아서 사용할 수 있는데 실행시점에 실행컨텍스트에서 코드평가가 이루어지며 렉시컬 환경 레코드에 기록된다는 말일까요? 제가 알고있는 js에서 평가라는건 실행컨텍스트에서 코드평가가 이루어진다는 것 밖에 없는데 잘 모르겟어요 ㅠㅠ 혼자서 고민해도 혼자서 끙끙대며 어떤 뜻인지 고민하고 있습니다 ㅠ ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 자문자답인데 해결했습니다 오픈채팅방에 물어보니 함수를 실행해서 값을 내는 시점이 평가시점 이라는 답을 들었습니다 실행시점을 말하는 것 같아요! 다른분들도 같은 고민이 있었다면 참고하세요
안녕하세요, 일치 연산자 부분에서 코드 2번이 이해가 가지 않아 질문 남깁니다. var vlaue; 에서 value의 값은 undefined, 값 타입은 NaN인데. 그렇다면 Undefined == null 은 NaN == 0 과 동일하게 해석하여 결과값이 false 아닌가요?
안녕하십니까 여러 layer 들을 통과한 이미지가 FC 레이어를 통해서 확률이 가장 높은 이미지가 결정이 되고 차이를 줄이기 위해서 업데이트를 하는 과정까지 이해가 됩니다. 여기서 질문입니다 그 차이를 결정하게 되는 이미지가 어떻게 설정이 되는 지가 궁금합니다. 제가 이해한바로는 트레이닝 이미지만 들어가는 것 처럼 보이는데 이러한 데이터가 어느정도의 차이가 난다라는 기준이 되는 'label' 의 값이 어떻게 설정되는지 모르겠습니다
검증 강의 중에 타임리프의 errors 문법을 활용해서 검증 실패에 대한 메시지를 전달하거나 이전에 입력받았던 값을 다시 화면에 출력해주는 과정을 직접 레거시 프로젝트에 적용해보려고 하는데여 실무에선 ajax를 활용해서 에러 메시지와 함께 데이터를 전달할 것 같은데 강사님께서 알려주신대로 forward 방식을 통해 다시 화면을 출력해주는 것과 ajax를 활용하는 건 그냥 사용자 편의성을 고려한 취향차이일 뿐일까요??
기존에 보냈던 Infura APi 관련 문제 해결하였습니다.! 다른분들이 참고하실수 있게 글을 남깁니다. 영상에 나오는 InFura Api는 Public 서비스가 일시적으로 중단되었습니다. 그렇기때문에 Dedicated GateWay를 (개인계정 개설후 ) 사용하셔야합니다.
#include <iostream> #include<string> #include<vector> using namespace std; class Date { int _month; int _day; int _year; public: void setDate(const int& month_input, const int& day_input, const int& year_input) { _month = month_input; _day = day_input; _year = year_input; } int getDay() { return _day; } }; int main() { Date today; today.setDate(8, 15, 2022); cout<<today.getDay()<<endl; return 0; } setDate()는 public으로 지정한 다음 main()에서 접근을 했는데, getDay()함수는 아무 접근 지정자도 표시를 안 했는데 바로 main()에서 접근할 수 있는 이유가 무엇인가요? 따로 지정하지 않으면 private이 된다고 했는데, getDay()는 바로 사용할 수 있는 이유가 궁금합니다.
안녕하세요? 강의를 열심히 듣고 있는 수강생 입니다. 궁금한게 하나있는데 로우폴리 헬리콥터 4 강의 4분 50초 쯤 보면 헬리콥터에 로테이션과 스케일을 둘다 적용시키는데 로테이션 기능을 추가하니 스케일 기능이 꺼졌고 강의 자료화면에 봐도 스케일 기능이 꺼져 보입니다. 이걸 그대로 나둬야 하나요 아님 스케일을 켜야 하나요?
W/System: Ignoring header X-Firebase-Locale because its value was null. 일단 가입 버튼을 누르면 위 오류가 나오면서 토스트메세지는 No는 잘뜨면서 ok는 안뜨고 한 10분뒤에 새로고침 하면 Authentication에 다는아닌데 어떤건 추가는 되어있더라구요 근데 안될때도 있고. 와이파이연결, 비밀번호 6자리 전부 해보았지만 로그에 계속 저렇게 찍히네요 혹시 다른원인 알고계신게 있으실까요?