[질문 내용] 안녕하세요 강사님!! MemberService에 MemberRepository와 LogRepository를 의존하는 걸 보면서 궁금증이 생겨서 질문 드립니다! 회사에서 일 할 때, 하나의 서비스에는 관련 레포지토리만 의존하고 필요하다면 다른 레포지토리는 직접 의존하지 말고 서비스를 통해서 해결하라는 말을 들어서 그렇게 코드를 짜왔습니다. 만약 다른 레포지토리를 의존해야 한다면 컨트롤러에서 하라고 들었던 것 같습니다. 예를 들면 MemberService에서는 MemberRepository만 의존하고 LogRepository의 메소드가 필요하다면 LogService를 의존해서 LogServerce.메소드 이런식으로 불러왔습니다. 혹시 이런 식으로 다른 레포지토리를 의존하지 말고 서비스를 의존해야 하는 이유가 무엇인지 이유를 알 수 있을까요??? 단순히 계층구조를 지키기 위해서 인가요???
안녕하세요 문제에서 벽돌정보 순서대로 벽돌을 쌓아야 한다고 생각하고 문제를 풀었습니다. "최대 부분 증가수열" 문제와 유사하게 판단하고 비교 조건만 밑면사이즈와 무게 2개를 비교하는 조건으로 풀었습니다. 근데, 강좌를 들어보니 벽돌 정보 순서와 벽돌을 쌓는 순서는 상관없다는 설명이 없어서 좀 헷갈립니다. 혹시 어느 부분이 그런 의미를 포함하고 있나요? 코딩 문제는 아니고 문해력 질문이긴 합니다만, 문제를 잘 읽어야 코딩도 제대로 할수 있기때문에 질문 드립니다. 특히 "각 벽돌은 입력되는 순서대로 1부터연속적 인 번호를 가진다." 라는 문구가 입력순서를 기준으로 벽돌을 쌓아야하는것으로 이해해서 문제 설명 부탁드립니다.
acceptex 함수를 사용하면 accept 쓰레드를 하나 만들어서 사용하는 거에 비해서 확실하게 성능 이득을 보는편인지 궁금합니다. 제 생각은 그렇게 차이가 심하게 날거라고 생각이 안 들거든요. 왜냐면, acceptex를 사용하면 그만큼 IOCP WorkThread 부담을 줄거라고 생각이 들고요, 그리고 소켓 풀로부터 어느 만큼 미리 만들어서 등록을 시켜줘야할지도 관건이 되겠고.. 결국 그 소켓 풀로 만드는 것도 풀이 비어 있으면 만드는 비용도 들어서 그렇게 큰 기대 효과를 못 볼거라고 생각이 들어서요. 그래서 결국 accept만 하는 스레드를 따로 빼서하는 것도 괜찮은 방법이라고 생각이 들거든요. 이 부분에 관해서 어떻게 생각을 하시는지 궁금합니다.
npm i @react-navigation/native npm i @react-navigation/native-stack 설치 후 에뮬레이터를 실행하니 다음과 같은 오류가 나왔습니다 우선 버전 문제인가 싶어서 제로초님 깃 세팅과 똑같이 맞춰 봤지만 해결하지 못했습니다. 다음은 package.json 사진입니다 다음은 메트로와 에뮬 사진과 텍스트입니다. transform[stderr]: Browserslist: caniuse-lite is outdated. Please run: transform[stderr]: npx browserslist@latest --update-db transform[stderr]: Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating BUNDLE ./index.js error: SyntaxError: C:\Users\82106\FoodDeliveryApp\node_modules\@react-navigation\native\node_modules\@react-navigation\core\src\types.tsx: Unexpected token, expected "?" (705:52) 703 | [RouteName in keyof ParamList]?: NonNullable< 704 | ParamList[RouteName] > 705 | > extends NavigatorScreenParams<infer T extends {}> | ^ 706 | ? string | PathConfig<T> 707 | : string | Omit<PathConfig<{}>, 'screens' | 'initialRouteName'>; 708 | }; 또한 일반적인 설치가 안되어서 --force로 설치 하였습니다 뭐가 문제일까요 ㅠㅠ
MemberMapper인터페이스의 public Member registerCheck(String memID); public Member getMember(String memID); MemberMapper.xml의 <select id="registerCheck" resultType="kr.board.entity.Member"> select * from mem_tbl where memID=#{memID} </select> <select id="getMember" resultType="kr.board.entity.Member"> select * from mem_tbl where memID=#{memID} </select> 요거 두개는 동일한게 맞을까요?
왜 SecondaryTable을 사용하는지 이해가 잘 안됩니다. 예시가 writer라는 엔티티 클래스에 엔티티가 아닌 클래스 2개 각각을 하나의 타입으로해서 writer라는 테이블의 속성으로 사용하는 것으로 이해되었습니다. 그럼 6강에서 배운것 처럼 그냥 WriterInfo와 Address 클래스는 @Embeddable 를 선언하고 writer클래스에서 @Embedded private Address addr; @Embedded private WriterInfo info; 이렇게 해서 사용해도 될거 같다고 생각합니다. 제가 제대로 이해하고 있는지가 궁금하고 혹시 이렇게 사용하지 않는 이유가 있는지 궁금합니다.
강사님 답변을 보면 처음에 int pos=1000;을 설정하고서 for반복문과 if구문을 이용해서 거리를 찾는데요. int[] answer = new int[s.length()]; int p =1000; for(int i = 0; i<s.length(); i++) { if(s.charAt(i)==t) { p=0; answer[i] = p; } else { p++ answer[i] =p; } 이렇게 돼있습니다. 그런데 else에서 pos값은 처음 선언했던 1000인데 ++를 하면 1001이 되는 것 아닌가요? 그리고 궁금한점이 또 있습니다. taechermode이런 문자가 있다고 하고 e와의 거리를 찾는다고 하면 answer[0]은 2가 나와야 하는데 저 식에서는 1이 나오지 않나요?(pos가 0이라고 가정할 때) 제가 잘못생각하는건지... 오류가 있다면 알려주세요
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 영상대로 따라하다가 도저히 해결을 못하겠어서 질문드립니다... 실행되다가 아래 오류 메세지가 나오면서 실행이 안되네요 ㅠㅠ 어떤 오류인지 모르겠습니다. 원래는 이클립스로 먼저 했었는데 똑같이 실행하다가 시작할 수 없다는 문구가 나오고 8080을 이미 사용중? 이라는 문구가 나왔네요 부탁드립니다. 아래는 인텔리제이 실행화면입니다.
정리차 여쭤봅니다. 브로드 캐스팅 범위를 IP 주소상 range가 잡히면 줄어든다 > 3계층 부터는 논리적(가상)으로 설명이 가능하니, 범위를 나누는 논리적인 방법이 3계층에 있다 그럼 이 기능이 서브넷 마크스를 통해 IP주소를 나누는게 되겠죠? 논리 = 가상으로도 표현함 H/W를 S/W으로 구현 할 수 있다는 말을 듣고 한방에 정리가 되었습니다.
안녕하세요! dbeaver에 postgres backup 파일을 연결시키는 과정에서 똑같이 따라했는데 아래 이미지 처럼 start button이 비활성화 되어서 클릭할 수가 없습니다 ㅠ 환경은 맥 m1 이고 postgres를 말씀해주신 방식이 윈도우같아서 brew 에서 설치했고 'minseo'라는 계정에서 superuser 롤 부여한 상태입니다. 감사합니다
[제로초 강좌 질문 필독 사항입니다] 질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다. 도움이 되는 질문을 하는 방법을 알려드립니다. https://www.youtube.com/watch?v=PUKOWrOuC0c 이미 ch3까지 강의들으며 폴더를 관리했는데, 이 폴더에 문제가 생겨서 삭제해버렸습니다. 그래서 앞에서 말씀해주신 환경설정(환경변수 등.. )을 따라 npm run android 를 하면 나오는 "Welcome to ReactNative"화면 까지 나오도록 설정은 완료했습니다. 이후, 정확하게 클론받은 폴더에서 ch3의 src폴더와 AppInner파일, App파일을 제가 처음부터 설정한 FoodDeliveryApp폴더에 넣어 사용하는데, 전부 라이브러리를 install 했음에도 이와 같은 에러가 뜹니다. 구글링 한 결과로는 노드 버전의 문제라는데.. 잘 집히지 가 않습니다 정확히 ch4부터 들어야 할 것 같은데 처음부터 강의를 다시 따라가는 수밖에 없을까요? ㅠㅠ
public void 최대점수구하기 (int L, int score, int time, ArrayList<Score> arr) { // c = 주어진 시간 (20분), n 은 주어진 문제의 갯수 if (time > maxTime ) return; if (L == quizNums ) { answer += Math. max (score ,arr.get(L).score); } else { 최대점수구하기(L + 1, score + arr.get(L).score, time + arr.get(L).time, arr); 최대점수구하기(L + 1, score, time, arr); } } 이렇게 2개의 배열을 넘겨주는 대신 객체를 리스트에 담아서 사용하는건 어떤가요?