학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. fail(); 부분에서 오류가 뜨고 이텔릭체로 바뀌지 않습니다. 왜 그런가요? package hello.hello_spring.service; import hello.hello_spring.domain.Member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*; class MemberServiceTest { MemberService memberService = new MemberService(); // 테스트케이스에서는 메서드명 한글로 적어도 된다 @Test void 회원가입() { // given Member member = new Member(); member.setName("hello"); // when long saveId = memberService.join(member); // then(검증) Member findMember = memberService.findOne(saveId).get(); assertThat(member.getName()).isEqualTo(findMember.getName()); } @Test // 예외처리(테스트케이스에서는 정상적으로 작동하는거도 좋지만 예외 처리가 더 중요하다) public void 중복_회원_예외() { // given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); // when memberService.join(member1); try { memberService.join(member2); fail(); } catch (IllegalStateException e) { } // then } @Test void findMembers() { } @Test void findOne() { } }
GET /insecure_website/index.php?page=view&idx=14%20and%20length((select+jumin+customer_info+where+id='admin'))=14 그 이전까지는 잘되었는데 이부분 부터 계속 안됩니다. 어디가 문제일까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 리팩토링 10. 함수를 명령으로 바꾸기 강의에서 6:00 부분에서 설명하시는게 전략패턴 말씀하시는 것 같은데 GoF의디자인 패턴 강의에서 설명해주신 것일까요?? 아직 디자인 패턴 강의는 들어보지 않아서 강사님께서 기억나시냐고 물어보시는게 어떤 부분인지 궁금해서 질문드립니다.
강사님~ 너무 재밌게 강의를 듣고 있습니다. 궁금한게 하나 있는데 섹션 6번에서 '스파크 이펙트 표현' 강의를 완강 후 'Audio 기초 사용법' 강의로 넘어갔는데 오디오 파일이 없어서... 혹시 오디오 리소스는 어디서 다운 받을 수 있을까요? 혹시나 제가 수업자료를 놓친건가 싶어서 앞 강의를 다시 돌려봤는데 어디서 받아야하는지 잘 모르겠습니다.
문제상황: 수정을 위해 체크박스를 체크해도 아무 변화도 생기지 않는 상황 reducer 내용 const reducer = (state, action) => { switch(action.type){ case 'CREATE': return [action.data,...state]; case 'UPDATE': return state.map((item) => { console.log(action, item.id, item.isDone) return item.id === action.targetId ? {...item, isDone: !item.isDone} : item }) case 'DELETE': return state.filter((item) => item.targetId !== action.targetId) default: state } } const onUpdate = (targetId) => { dispatch({ type:"UPDATE", targetId }) } 예상 문제: console.log(action.targetId, item.id, item.isDone)을 해본결과 action.targetId가 내가 원하는 id값만 가져오는것이 아닌 저렇게 객체 전체를 가져오기 때문에 action.targetId와 item.id가 일치하지 않아 체크가 되지않는 현상인것 같습니다. 어디를 보면 좋을지 및 무엇을 수정해야하는지 알려주시면 감사하겠습니다.
안녕하세요, 마지막 강의에서 궁금한 점이 있어 질문을 드리게 되었습니다. OTA에서도 다운로드 순서를 말씀주셨는데, OTA 과정에서도 ECU Reset을 수행한다면, 해당 동작은 차량 시동을 끈(MCU off?) 후에 진행하게 되는 것인가요? 이중 메모리 구조를 이용할 때가 차량 주행 중에 SW Update 하기 위해서로 이해했는데, 그렇다면 SW Reprogramming 과정에서 ECU Reset은 주행 중에 가능한 것인가요? SW Update 이후의 A,B Swap을 MCU에서 수행한다고 이해했습니다. 해당 기능은 MCU가 Off(시동 OFF?) 후에 Swap이 진행되고, 다시 On(시동) 시키면, 새롭게 업데이트 된 SW가 담긴 메모리가 활성화 되는 것 일까요? 기본적인 유선 통신 (SW Update)에서는 차량 정지 시에 진행한다고 들었는데, 시동 OFF/On 두 상태에서 SW Update가 가능한 것인가요? 마지막 부분까지 강의를 수강했는데, 지식을 쌓는데 큰 도움이 되었던 유익한 강의였습니다! 욕심이지만,, 또 가능한 다른 강의도 open 하셔서 더 많은 부분을 배워갔으면 좋겠습니다! 감사드립니다!
안녕하세요 강사님. 🙂 질문 내용 3.3 강의를 듣던 중 chatGPT 말고 upstage로 구성하는 방법은 없을까? 하고 스스로 방법을 찾아봤습니다. https://github.com/openai/tiktoken/blob/main/tiktoken/model.py 현재 tiktoken에서 제공되는 model 중 upstage의 solar 모델이 없는 것 같습니다. upstage 로 RAG를 구성하는 방법도 배울 수 있을까요..?
4.0 기준으로 학습하고 있습니다. input.css 파일을 아래와 같이 작성하면 자동으로 Montserrat 폰트 즉 첫번째 줄 폰트가 적용되는건가요? 메인 폰트 적용 방법을 모르겠습니다. @theme { --font-mont: "Montserrat", "sans-serif"; --font-noto: "Noto Sans KR", "Arial", "sans-serif"; /* Color */ --color-deepgreen:#6ab04c; --color-deeporange:#f0932b; }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요 영한님 강의를 보고 사이드 프로젝트를 하며 성장 하고 있습니다. 관련된 내용을 찾아 보다가 인사이트를 얻기 어려워 조언을 얻고자 질문을 남깁니다. 테스트에 트랜잭션이 걸려있고, ExecutorService submit을 통해 단순히 데이터를 저장 할때 PessimisticLockingFailureException 예외가 발생 합니다. 테스트 트랜잭션이 락을 가지고 있고 커밋 되지 않아서 문제가 발생 한다고 하는데 멀티 스레드는 트랜잭션 전파와 연관이 없기 때문에 별도의 물리 트랜잭션이라고 생각 하고 있습니다. 하지만 왜 이런 예외가 발생 하는지 모르겠습니다 ㅠㅠ 힌트라도 알려 주시면 감사합니다 @Transactional @DisplayName("멀티 스레드에서 모임을 저장 한다.") @Test void saveEventWhenMultiThread() throws InterruptedException { //given ExecutorService executorService = Executors.newFixedThreadPool(2); int taskCount = 3; CountDownLatch countDownLatch = new CountDownLatch(taskCount); //when //then for(int i = 0; i < taskCount; i++) { int testNum = i; executorService.execute(() -> { try { eventRepository.save(createEvent("멀티 테스트" + testNum , "테스트 모임", 30)); } finally { countDownLatch.countDown(); } }); } countDownLatch.await(); executorService.shutdown(); } Exception in thread "pool-2-thread-2" Exception in thread "pool-2-thread-1" org.springframework.dao.PessimisticLockingFailureException:
안녕하세요. 선생님 강의 잘 듣고 있습니다. NAT Gateway NAT 수업 듣다가 궁금증이 생겨 질문 드립니다. 순간적인 요청이 많아 졌을 때 (정상적으로 응답 되지 않아 오랜 시간 물고 있는 요청이 많은 경우) NAT table에 External port 수가 제한 된 다던지 row 수가 제한되는 경우가 있을까요?? 위 같은 그림에서 1번은 외부 웹 서버로 통신, 2 ~ 4 는 내부 다른 VPC에 있는 웹 서버로 요청 할 때 1번 -> 외부 웹 서버 요청 지연이 발생 될 때 2 ~ 4 의 내부 웹 서버(멀쩡한 상태) 요청도 같이 지연되는 현상이 발생 된다면 어떤 부분을 확인 해 볼 수 있을까요? (2 ~ 4 -> 내부 웹서버 요청도 NAT Gateway 를 통해 나간다고 하면 해당 현상이 발생 할 수 있을까요??)
당연히 구글링 해보셨져? 원하는 결과를 못찾으셨나요? 어떤 검색어를 입력했는지 알려주세 문제가 발생한 코드(프로젝트)를 Github에 올리시고 링크를 알려주세요. location.href = /api/logout 를 통해 스프링 시큐리티로 logout 보내고 세션 삭제한 뒤 브라우저를 보면 login?logout이 찍힌걸 확인 할 수 있는데 login으로 어디서 보내준건지 헷갈립니다..
선생님 안녕하세요! 2-a 의 입력 조건이 다음과 같은데 , 첫 째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. const int max_n = 104; 라고 100 대신 설정하는지 이유가 궁금합니다!
안녕하세요. Weekly retention을 구하고자 아래와 같이 쿼리를 작성했습니다. WITH base AS (SELECT DISTINCT user_id, event_name, DATETIME(TIMESTAMP_MICROS(event_timestamp),'Asia/Seoul') AS event_datetime, DATE(DATETIME(TIMESTAMP_MICROS(event_timestamp),'Asia/Seoul')) AS event_date, user_pseudo_id FROM `advanced.app_logs` WHERE event_date BETWEEN "2022-08-01" AND "2022-11-03" ), first_week_and_diff AS ( SELECT *, DATE_DIFF(event_week, first_week, WEEK) AS diff_of_week FROM ( SELECT DISTINCT user_pseudo_id, DATE_TRUNC(MIN(event_date) OVER(PARTITION BY user_pseudo_id), WEEK(MONDAY)) AS first_week, DATE_TRUNC(event_date, WEEK(MONDAY)) AS event_week FROM base ) ), user_cnt AS ( SELECT diff_of_week, COUNT(DISTINCT user_pseudo_id) AS user_cnt FROM first_week_and_diff GROUP BY diff_of_week ) SELECT *, ROUND(SAFE_DIVIDE(user_cnt, first_week_user_cnt), 2) AS retention_rate FROM ( SELECT diff_of_week, user_cnt, FIRST_VALUE(user_cnt) OVER(ORDER BY diff_of_week ASC) AS first_week_user_cnt FROM user_cnt ); 이렇게 쿼리 작성을 하니 오류가 발생했고 user_cnt AS ( SELECT diff_of_week, COUNT(DISTINCT user_pseudo_id) AS user_cnt FROM first_week_and_diff GROUP BY diff_of_week ) 이 부분에서 테이블 이름을 user_counts로 수정하니 제대로 동작함을 확인했습니다. 왜 이름 때문에 오류가 발생하는 것인지 궁금합니다.
gradlew build 이후 compose up 했을 때 mysql만 올라오고 spring boot서버는 안올라오는 상황입니다. gui db로 접속하려고 하니 밑의 그림과 같이 뜹니다. 제가 직접 컨테이너에 접근하여 접속한 결과 다음과 같이 똑같은 id,pw로 로그인이 되는데 왜 gui환경에서만 로그인이 안되는 걸까요? root계정으로 접속 후 저 계정에 대한 비밀번호를 변경해보았습니다. root계정 접속 후 저 계정에 대한 모든 권한을 부여하였습니다. 차이점 application.yml파일에서 username: root로 실행하면 스프링부트도 잘 올라오는데 username:xoxoxmin1268 이런식으로 제 아이디를 넣으면 다음과 같은 로그 뜹니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 관심사의 분리 강의에서 test 코드를 한번에 돌렸는데 WARNING: A Java agent has been loaded dynamically (/Users/songhyunsoo/.gradle/caches/modules-2/files-2.1/net.bytebuddy/byte-buddy-agent/1.15.11/a38b16385e867f59a641330f0362ebe742788ed8/byte-buddy-agent-1.15.11.jar) WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information WARNING: Dynamic loading of agents will be disallowed by default in a future release OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 위와 같은 오류가 발생하였습니다. CoreApplicationTests 코드를 실행했을 때 생기는 오류인것같습니다. 분명 그 전까지는 문제없이 test 코드가 잘 돌아갔었는데 어떤 문제인지 구글링으로 잘 해결되지 않아 질문 올립니다. openjdk 21.0.5 Gradle 8.12.1 현재 위와 같은 버전 사용 중 입니다. mac os 사용중입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 좋은 객체 지향 설계의 5가지 원칙(SOLID)에서 7:39초 부분인데요, MemberService에 MemberRepository m;으로 변수를 선언해놓고 setMemberRepository(m) 메서드를 만들어서 main 메서드 등 외부에서 구현클래스를 할당해주면 MemberService 즉, 클라이언트 코드를 변경하지 않아도 되기 때문에 OCP 원칙을 지킬 수 있는 것 아닌가요? 지킬 수 없다는 것이 잘 이해가 안됩니다. 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.