[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
도원님 안녕하세요. 강의를 통해 API 개발하는데 많은 도움을 받고있습니다. 개발중 궁금한게 생겨서 질문드립니다. 한 api가 클라이언트에 응답하는데 필요한 모든 데이터를 처리하는데 시간이 많이 소요돼서 사용자 입장에서 품질이 떨어진다고 생각돼서 개선을 하고싶은데요 제가 하고싶은 방향은 응답 dto에서 처리가 빨리 끝나는 값은 넣고 나머지는 빈상태로 클라이언트에 우선 응답을 내려주고, 서버는 뒷단에서 나머지 필요한 작업을 한뒤 최종 데이터를 내려주고싶습니다. 제 경우 응답 dto의 특정 필드를 처리하는데 시간이 많이 소요되나, 중요 데이터는 아니라 이런 방향으로 하려고 합니다. 이렇게 개발하려면 어떤 개발 패턴이나 기술을 사용해야하는지 모르겠어서 질문드립니다. 키워드를 알려주시면 구글링해서 좀 찾아보고싶습니다. 아니면 이런 경우 실무에서 많이 사용되는 다른 방향이 있을까요? 답변 부탁드립니다. 감사합니다.
안녕하세요 권철민 강사님. 열심히 수강하고 있는 수강생입니다. 다름이 아니라 EfficientNet B7 학습 중 질문이 생겨서 이렇게 문의드립니다. 제가 이해하기론 기존까지 Deep Learning 학습할 때 이미지 픽셀의 범위는 -1 ~ 1 혹은 0~1 사이로 scaling 한 다음에 학습을 진행하였는데, 이 모델에서는 픽셀 값이 scaling이 아예 미적용된 것 같습니다. 저번 강의에서 keras가 tensorflow 2.3? 2.4? 버전에서 병합되면서 그 이후로 preprocess _input을 적용해도 스케일링이 잘 안된다고 하셨는데 그 이유 때문인가요? 이렇게 scaling이 적용이 안될 경우에 scaling 적용 없이 학습을 진행해도 무방한 건가요? 무방한 것이 아니라면 torch style의 scaling이라도 해서 학습을 해야되는 건지 궁금합니다. 항상 감사드립니다 강사님!!
Q1. 제로초님 가위바위보편에서는 interval의 초기값과 타입에 null이 없어서 제가 이렇게 넣어줬는데 강의코드에서 빠진 부분이 맞을까요?? -------------------------------------------------------- Q2. 이벤트에서의 함수에 타입을 부여할때 onClick의 이벤트가 발생한다고 했을때 위와같이 따로 인자가 없거나 아래와 같이 이미 인자에 대한 타입이 정해졌다면 onClick 했을때의 React . MouseEvent 와 같은 이벤트 타입을 따로 어딘가에 부여할 필요는 없는 건가요??
로컬에서 먼저 master로 사용하다가 github 리포지토리를 main으로 만들었는데 git branch -u origin/main master 이렇게 tracking을 하려고 해도 자꾸 원격에 master 브랜치가 새로 생성되어 버리네요 원격과 로컬 브랜치는 항상 같은 이름으로만 push되나요? 저는 (원격)---------------------(로컬) A 브랜치 a 브랜치 B 브랜치 b 브랜치 이렇게 있을때 서로 tracking을 바꿔가면서 push하거나 pull 할 수 있을거라 생각했는데.. 아닌가요?
안녕하세요. 이번 강의를 보며 질문드리고싶은게 두가지가 있습니다 1. sysctl을 통해 설졍값을 변경하는 과정에서 일반 사용자 계정으로 sysctl 명령어를 입력하니 permission denied가 떠서 sudo를 통해 실행을 하셨는데요 이렇게 실제로 명령어를 날려서 permission denied가 뜬 후에 말고 해당 명령어 또는 툴을 실행하기 전에 root권한이 필요한지 확인하는 명령어가 있을까요? 2. 모든 명령어를 sudo를 붙인다고 관리자권한으로 실행할수있을것같지 않은데요, 현재 사용자가 sudo를 통해 관리자권한으로 실행가능한 명령어 목록을 조회할수 있을까요? 감사합니다.
안녕하세요 Yolo 및 Maskrcnn 을 통해 영상을 이미지로 추출을 하려고합니다. 초기 영상 frame을 통해 FPS를 변경을 하려고 합니다. 예를 들면 영상의 초기 FPS가 22FPS로 설정이 되어있는 상태에서 40FPS 또는 10 FPS로 변경 후 영상 이미지를 jpg로 추출이 가능 할까요 ? 방법이 있으시면 가이드 부탁드립니다.
안녕하세요! gradle에서 databinding을 적용할 때 까지는 에러가 뜨지 않다가 activity_main.xml 파일에서 전체 코드를 <layout>으로 감싼 후에 다음과 같은 에러가 발생합니다. 계속 구글링 하면서 이것저것 해봤지만 해결되지 않아 질문 남겨요! 감사합니다. (현재 자바 버전은 16.0.2 입니다.)
질문이 몇개 있어서 정리해 보겠습니다. 리눅스 운영체제가 아닌 운영체제 위에 도커를 설치하게 되면, 하이퍼 바이저를 활성화 해서 컨테이너를 실행 한다고 배웠는데요. 1. 하이퍼바이저를 설치한적이 없는데 어떻게 동작하게 되는건가요..? 하이퍼바이저라는게 os에서 지원하는건가요? 2. 도커 다운로드 버전에 따라서 리눅스 버전이 아니라면 도커 설치 파일에 하이퍼 바이저와 리눅스 커널이 포함되어있는건가요?? 여기까지 질문입니다. 좋은 강의 내주셔서 감사합니다. 많은 도움이 되고 있습니다 !
안녕하세요 강사님. 캐글 예제 진행 중 ROC-AUC 스코어 오류가 생겨서 질문드립니다. 우선 진행 과정에서 train.csv 파일을 split해 X, y_train과 X, y_valid로 나누었고 eval_set로 X, y_valid를 사용하였으며 test.csv 파일은 X_test, sample_submission.cvs 파일은 y_test 로 사용하여 진행했습니다. (실제 컴피티션에서는 이렇게 진행하는 것인가 하여 이렇게 진행해봤는데 방법이 맞는지는 모르겠습니다. 이 부분도 맞는 지 답변해주시면 감사하겠습니다) XGBoost.fit을 통해 학습 후 X_test에 predict 한 뒤 ROC-AUC 스코어를 구하는 과정에서 Only one class present in y_true. ROC AUC score is not defined in that case. 라는 에러가 계속 발생합니다ㅠㅠ y_test 데이터를 value_counts로 확인하니 레이블값이 0으로만 차있던데 이것이 오류의 이유인가 싶습니다. 만약 이게 원인이라면 y_test가 하나의 값으로만 차있으면 ROC 스코어를 구할 수 없는 것인가요?
안녕하십니까. 강의를 듣고 있는 수강생입니다. 현재 [섹션 2. 쿼리 금기사항]의[조건절 상수화 이슈]의 데모실행 중 [2) Index열 조건에 사용자 정의 함수]를 기동 중에 OPTION 실행이 불가한 문제와 OPTION을 실행하지 않을 시의 실행계획이 다른 문제가 발생하여 궁금해서 연락 드렸습니다. 이하 옵션 실행 불가 화면의 캡쳐입니다. 이하 옵션을 실행하지 않고 쿼리만 실행 했을 시에 발생하는 실행계획 내용입니다. 혹시 해당문제의 발생이유를 알 수 있을지 확인 부탁드립니다. 이상입니다.
현재 MVC 2편 오류코드 메시지 처리를 듣고있는데 html 파일에서 th:field="*{itemName}"을 하면 얘가 많은 것을 해줘서 th:errors="*{itemName}" 을 하면 에러가 나면 그에 맞는 css가 동작을 하잖아요 근데 타임리프말고 jsp를 쓴다던지 자바스크립트, 리액트를 쓴다면 th~~~ 이런식으로 못하는거 아니에요? 자바스크립트랑 리액트를 아직 제대로 배우질 않아서 ㅜㅜ 그래서 질문은 예를들어 html 파일안에 자바스크립트랑 타임리프랑 둘이 동시에 쓸 수 있나요? 팀 프로젝트할때 html(프론트)을 js, ajax 등을 써서 만들어 온 사람이 있으면 그 html에다 <html xmlns=th ~~~ >해서 타임리프 먹일 수 있나요?
안녕하세요 항상 좋은 답변 감사드립니다! 이번에는 @Transactional을 두 번 사용했을 때의 동작 방식에 대해 궁금해서 글을 적게 되었습니다. 다음 테스트 코드에서, 테스트코드 전체 클래스에 @Transactional이 붙어있습니다. @Test // @Rollback(value = false) public void 회원가입 () throws Exception { //given Member member = new Member() ; member.setName( "kim" ) ; //when Long saveId = memberService .join(member) ; //then em .flush() ; assertEquals (member , memberRepository .findMember(saveId)) ; // JPA 는 같은 트랜잭션 안에서 PK 값이 같으면 , 같은 영속성 컨텍스트에서 같이 관리된다 . 딱 하나로만 괸리가 된다 . } 그리고 이 테스트 코드 내의 join() 메서드도 @Transactional이 있는 것으로 보입니다. @Transactional public Long join (Member member) { validateDuplicatedMember(member) ; memberRepository .save(member) ; return member.getId() ; } Transactional은 tx.begin() , tx.commit()을 자동화해주는 코드로 이해를 하고 있는데.. 이게 두 가지가 반복되면... tx.commit(), begin()이 각각 두 번씩 일어나게 되면서... 같은 트랜잭션인지 굉장히 애매할 것 같습니다.. 혹시 이런 경우에는 트랜잭션이 어떤 것이 선택되고, 어떻게 선택되는지를 알려주실 수 있으실까요? 항상 감사드립니다!