18:14초에 save함수에 사용되는 error, loading을 구조 분해 할당 시 객체에 값을 바로 할당해서 반응형을 잃게 된다고 지적해주셨는데요. useAxios.js에 반환 값이 ref로 반환해서 돼야 하는 것 아닌가요? 그런데 저장 버튼이 안 바뀌는 것을 보니 안되는 것 같긴한데,,, 왜그럴까요? 코드 ({ loading, error } = useAxios(url, config, options));
export const API_URL = process.env.NODE_ENV === "Production" ? "https://bum2-market-server.herokuapp.com" : "http://localhost:8080"; 그냥 export const API_URL = "https://bum2-market-server.herokuapp.com" 이렇게 만 넣으면 화면이 출력이 되는데 뒤에 localhost:8080 만 붙히면 저런 오류가 나옵니다..
큰돌님 안녕하세요. 두수의 합 문제에서 right를 n - 1부터 시작해서 푸셨는데요. right를 0부터 시작해서 풀면 안되나요? 저는 두가지 방법으로 풀어봤는데요. right를 0부터 시작할 경우, 반례로 5 , 7 , 9 이 부분에서 계속 순환되는 문제가 발생하더라고요. 제가 잘못 푼거일까요?
#include<iostream> #include<map> #include<unordered_map> using namespace std; map<string, int> m1; unordered_map<string, int> m2; int main(){ m1["3rd"] = 1; m1["2nd"] = 2; m1["1st"] = 3; for(auto e : m1){ cout << e.first << ":" << e.second << "\n"; } m2["3rd"] = 1; m2["2nd"] = 2; m2["1st"] = 3; for(auto e : m2){ cout << e.first << ":" << e.second << "\n"; } return 0; } 위 코드의 결과는 아래와 같습니다. //map 1st:3 2nd:2 3rd:1 //unordered_map 1st:3 2nd:2 3rd:1 Q1. unordered_map의 경우 셋팅한 순서대로 출력될 것을 예상했지만 key를 기준으로 정렬된 순서대로 출력을 하고 있습니다. 제가 잘 이해를 못하고 unordered_map을 사용하고 있는 건가요? Q2. map(unordered_map)에 추가한 여러 entry(key-value)들을 정렬조건에 맞게 출력하는 방법이 궁금합니다. vector는 algorithm헤더의 sort함수에 커스텀cmp함수를 넣는 방식으로 잘 이해하고 있습니다.
현재 플로터를 얼마 시작하지 않은 초보입니다 현재 플로터에서 웹 뷰를 통해 로컬호스트에 있는 자바스크립트와 HTML을 불러와서 핸드폰 화면에 HTML을 올리려고 하는데 자바스크립트와HTML을 플로터에 어떻게 추가하고 호환을 해야되는지 모르겠습니다. assets파일에 자바스크립트 파일과 HTML 파일을 올리고 pubspec.yaml파일에 추가한후 pubget을 실행하니 오류가 떴습니다.
안녕하세요. 강의 열심히 듣고 있는 주니어 개발자입니다. 강의 내용 똑같이 수행했으나 시퀀스 값이 다른 점이 있어 문의드립니다. (33:05) 부분에서 시퀀스 전략 속성값 initialValue=1, allocationSize=50 으로 설정했을시 persist 이전에 초기값이 -49라고 나오지만 제 환경에서는 초기값이 1로 나옵니다. H2 DB 2.1.214, Hibernate 5.6.10을 사용중인데 혹시 버전이 달라서 그런걸까요? 로그에는 시퀀스에 대한 call next value를 호출하지 않으며 제 생각에도 initialValue=1 로 명시되어 있기 때문에 초기값이 1인게 정상인 것 같은데 제가 놓치는 부분이 있는지 문의드립니다. 위 질문의 연장선으로 persist 1번 수행시 call next value 수행 결과는 아래와 같은데요. DB 시퀀스 자체의 increment값이 50이어서 51이 되는것은 이해하였습니다. JPA에서 51번째 데이터까지는 DB 시퀀스를 참조하지 않고 메모리에서 꺼내와야하는데 persist로 객체를 2번 저장시 아래와 같이 call next value가 2번 호출이 되고 시퀀스 값은 101이 됩니다. (33:43) 여기서 2번 호출 되는 이유가 JPA 애플리케이션에서 사용하는 allocationSize가 50이기 때문에 추후 자신이 사용할 메모리 시퀀스값을 선점하기 위해서라고 이해했는데요. (DB에는 51로 증가시켜놓고, 2부터 51까지 사용하기 위함) 이렇게 되면 제 경우에는 2를 사용하기 위해서 시퀀스 값을 101로 올려놓는 이상한 동작을 하는 것인데 이해가 가지 않습니다. 또한 위와 같이 52번째 객체 저장시 call next value가 한번 더 수행되어 시퀀스 값은 151이 됩니다. 의도한대로 작동은 하지만 시퀀스가 한단계씩 밀려서 작동한다는 것이 이해가 가지 않습니다.
안녕하세요. 기선님 테스트 코드 작성은 처음이라 강의를 들으며 해보고 있는 수강생 입니다 ! 다름이 아니라 throw 부분에 ioException이나 sqlException을 실행시키고 싶은데 에러엔 org.mockito.exceptions.base.MockitoException: Checked exception is invalid for this method! 이렇게만 뜨더라구요 근데 runtime 익셉션은 정상적으로 실행되는 걸 보면서 thenthrow는 unchecked 익셉션만 가능한건지 궁금증이 생겼습니다. 혹시 ioException이나 sqlException 처럼 checked 익셉션을 실행하고 싶으면 어떻게 하면 좋을까요? 사정상 코드의 내용을 상세히 첨부할 수 없지만 대략적으로 올려봅니다 @DisplayName("3. 실패 : DB insert 오류") public void 실패_DB_insert_오류() { //given //특정 객체 생성 when(특정 서비스).thenThrow(new sqlException()); //then - 실패 결과 assertThrows(sqlException.class, () -> { log.info("!! DB insert 오류 !! "); //when - 프로세스가 진행 }); // verify를 통해 해당 프로세스 최소 1번 호출 되었는지 확인 verify(kosService,atLeastOnce()).특정 서비스); }
강의에서 C# 파일로부터 코드를 레이저페이지로 가져오는 방법에 대해 2가지로 설명해 주셨는데 종속성 주입의 이유로 두번째 방법이 좋다고 해주셨습니다. 검색을 통해 종속성 주입에 대한 내용은 학습하였는데 어떻게 종속성 주입이 되는지 확실하지가 않아 문의드립니다. 예를들어 Test 클래스의 자식클래스를 만들게 된다면 첫번째 방법에서는 "Test test = new Test()" 를 했기때문에 저 코드가 적힌 모든 부분을 바꾸어주어야하지만 두번째 방법으로는 Program.cs에서 AddScoped<Test> 부분만 바꾸어주면 되기에 종속성이 줄어든다고 이해하면 될까요??
안녕하세요 제로초님 강의 잘 듣고있습니다. 현재 강의를 들으면서 깃허브에 올라온 클래스방식으로 시퀄라이즈 모델을 작성하고있는데 아래 코드부분은 해당 강의에서 설명이 안되있어서 어떤 역활을 하는지 궁금해서 질문드립니다. 이후에 강의에서 설명된 내용이면 사과드리겠습니다 ㅜㅜ Object.keys(db).forEach(modelName => { db[modelName].init(sequelize); });
13페이지에서 s 라는 명령어를 구동시키라고 교안에 나와있는데,,,, 뭔가 너무 생소하네요..! 혹시 brew install gcc 이후에 과정을 조금더 자세히 알 수 있을까요?(s라는 명령어를 맥 터미널에서 그냥 s, gcc s 이렇게 쳐봤는데 역시나 되질 않아서 질문으로 남깁니다!! 어디에서 어떻게 명령어를 쳐야할까요?) 찾아보니 아래와 같은 글도 있길래 혹시 교안에 누락사항 있는것은 아닌지 확인 부탁드립니다! 안녕하세요! 강의 교안에 따라 설정 중 추가되면 좋을 항목이 있어서 강의 교안에서는 cd /usr/local/include mkdir bits vi stdc++.h 로 설명을 주셨는데, 디렉토리 생성 후 stdc++.h 파일이 bits 디렉토리 내에 위치해야 하는듯 하더라구요! 때문에 헤더파일 생성 시 'vi bits/stdc++.h' 명령어가 강의 교안에 수정되어 포함되어 있더라면 다른 분들이 설정하실 때 좀더 명확한것 같아 문의글 남겨놓습니다! :) 좋은 강의 제공해주셔서 감사합니다!
미인증 사용자 요청시에 sendRedirect로 requestURI를 넘겨주면 여기서 postmapping으로 받아서 redirect처리를 해주는 것으로 강의에서 배웠습니다. 여기서 궁금한 점은 왜 getmapping controller가 실행이 되는 게 아니라 postmapping controller가 실행이 되는 건가요?? 지금까지는 "redirect:/items/{itemId}"; 이런식으로 redirect를 해서 getmapping controller가 처리를 해주지 않았나요?? 쿼리파라미터로 오는 것(url로 데이터가 넘어오는 것)은 getmapping controller가 처리해주어야하는 것 아닌가요??
설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
안녕 하세요? 강의 자료를 다운 받으려고, "FPGA 자료 다운로드.txt" 다운 받았으나 제 컴퓨터(영문 윈도우즈 11)에서는 폰트가 깨져서 내용을 볼 수가 없습니다. 다행히 실습자료는 다운 받았습니다만, 강의 자료는 못 받고 있습니다. 자료를 받을 수 있도록 알려 주시면 고맙겠습니다. 감사 합니다.
@Slf4j @Repository public class OrderRepository { public String save(String itemId) { log.info("[orderRepository] 실행"); //저장 로직 if (itemId.equals("ex")) { throw new IllegalStateException("예외 발생!"); } return "ok"; } } @AfterReturning(value = "hello.aop.order.aop.Pointcuts.allOrder()", returning = "result") public void doReturn2(JoinPoint joinPoint, Integer result) { log.info("[return] {} return = {}", joinPoint.getSignature(), result); } @AfterReturning 에 result 타입은 Integer 이기 때문에 OrderRepository 의 반환 타입과 매칭되지 않아 해당 기능이 실행되지 않는다고 하셨는데 해당 로직은 포인트컷에서 필터링되는것이 아니라 어드바이스 로직에서 필터링 되는건가요? 프록시가 생성된것 보니 포인트컷이 아니라 해당 어드바이스에서 실행된것 확인했습니다.