[Redisson을 활용하여 재고로직 작성하기] 강의 수강 후 궁금한 점이 있어 질문드립니다. 100개의 스레드가 동시에 재고 감소를 시도하면, 모든 스레드가 동시에 trylock으로 락 획득을 요청하는 건가요? 그렇다면 waitTime이 15초 leaseTime이 1초인 경우, 16번째 스레드부턴 락을 획득할 수 없을 거라고 예상했는데 테스트는 통과하여 질문드립니다. stockService.decrease 작업이 1초보다 덜 걸려서 이게 가능한 건가요?
현재 실제 ios 기기에서 테스트 중입니다. 2일 전에 푸시 알림 기능 구현 후 푸시 알림이 잘 오는 것 까지 모두 확인했습니다. 이후 스플래시 화면 포함한 몇 가지 기능 구현 후 배포 전에 다시 푸시 알림 기능을 다시 테스트해봤는데 No APNS token specified before fetching FCM Token 이라는 에러가 뜹니다. 혹시 어디서 잘못됐는지 알 수 있을까요?
기존코드 def two_sum(nums, target): memo = {} for v in nums: memo[v] = 1 for v in nums: needed_number = target - v if needed_number in memo: return True return False 기존 코드에서 첫번째 for문은 O(n)이고 두번째 for문은 O(1)이 n번 실행되니까 최종적으로는 O(n)이 되어서 해당 알고리즘의 시간복잡도는 O(n)이되는데 처음에 문제를 설명해주실때의 순서대로라면 4를 먼저넣고 target이 14니까 10이 있는지 확인해보고 없으니까 1을 넣고 13이없는지 확인해보고 없으니까 9를 넣고 5가 없으니까 7을 넣고 7이 없으니까 5를 넣고 9가 있으니까 true를 반환 이라고 생각을 했고 그렇게 로직을 짜면 아래와 같은 코드가 될것같습니다(제가 파이썬을 잘 몰라서 정확한지는 모르겠네요 ㅠㅠ) def two_sum(nums, target): memo = {} for v in nums: memo[v] = 1 needed_number = target - v if needed_number in memo: return True return False 해당 코드에서는 첫번째 for문 내부의 시간복잡도가 전부다 O(1)이고 그걸 n번 반복하는것이니 O(n)이라는 최종적인 시간복잡도라고 생각을 하는게 맞을까요?? 만약에 아래에 짠 로직이 올바른 로직이라면 위에 로직은 n번 연산하면서 dictionary에 넣고 후에 요소를 돌면서 답을 찾고 아래로직은(코드가 맞다면) dictionary를 다 넣지 않더라도 중간에 값이 나오면 중간에 연산을 끝낼 수 있으니까 조금더 효율적이라고 생각을 했습니다 제가 생각한 방식이 맞는지 그리고 이런 작은(?)효율성이 코딩테스트에서 의미있게 다가올지가 궁금합니다!
안녕하세요 선생님. 혹시 Modal 창으로 포트폴리오를 보여 줄 시, 창크기를 줄여서 반응형이 구현된다는 걸 보여 줄 수 있는 방법이 있을까요? (모달창의 창크기가 조절이 되게끔 하는 방법) 수업시간에 지나갔는지 기억이 잘 안나네요 ㅎㅎ; 혹시나 불가능하다면, 어쩔 수 없이 링크버튼이 연결된 버튼을 따로 주는 방법이 좋을까요? 항상 감사드립니다.
안녕하세요 강사님, 좋은 강의에 항상 감사드리고 있습니다! 다른게 아니라, 강의 중 suspend function은 일시 중단 되었다가 재개될 수도 있고 / 그렇지 않을 수도 있다고 설명 주셨습니다. 그렇다면 실제로 suspend function이 일시 중단되어야 하는지 여부는 어떻게 결정되나요? 단순히 suspend function 내부에서 또 다른 suspend function을 호출하기만 하면 무조건 일시 중단 되는 것인지, 아니면 Node.js 진영의 libuv 라이브러리처럼 비동기적으로 처리되어야 하는 IO 작업을 내부적으로 인지하는 방식이 별도로 구현되어 있는지 궁금합니다!
동의를 받는 방법 강의 3분15초에서 설명하시는 행정규칙(개인정보 처리 방법에 관한 고시)에서 개정 전 내용으로 설명해주시는 것 같아서 혼란이 있을 것 같습니다. 현재 제가 확인해볼 때는 아래 내용으로 확인됩니다. 제4조(서면 동의 시 중요한 내용의 표시 방법) 법 제22조제2항 에서 "보호위원회가 고시로 정하는 방법"이란 다음 각 호의 방법을 통해 종이 인쇄물, 컴퓨터 표시화면 등 서면 동의를 요구하는 매체의 특성과 정보주체의 이용환경 등을 고려하여 정보주체가 쉽게 알아볼 수 있도록 표시하는 방법을 말한다. 1. 글씨의 크기, 색깔, 굵기 또는 밑줄 등을 통하여 그 내용이 명확히 표시되도록 할 것 2. 동의 사항이 많아 중요한 내용이 명확히 구분되기 어려운 경우에는 중요한 내용이 쉽게 확인될 수 있도록 그 밖의 내용과 별도로 구분하여 표시할 것 강의에서는 최소 9포인트 이상으로서 다른 내용보다 20퍼센트 이상 크게하여 알아보기 쉽게 하라는 내용으로 강의를 진행하시는 것 같습니다. 개정된 내용으로 반영이 되면 학습하는데 혼선을 줄일 수 있을 것 같습니다
안녕하세요? 게이트웨이 개념을 익히고 NAT 게이트웨이도 알게 되었는데요 두 개의 개념이 혼동이 옵니다.. 게이트웨이는 통상적인 역할을 하는 큰 개념이고, NAT 게이트웨이는 그중에 복수의 호스트(ex.인터넷 공유기)를 대상으로 NAT 기술을 사용한 게이트웨이로 이해하면 될까요?
안녕하세요. 강의 잘 듣고있습니다. 강의 내용에 관한 질문은 아니구요. 커리큘럼 중, '섹션5. 파일 및 이미지 업로드 (S3)'의 '[실습] 1.S3 버킷 생성하기' 강의가 있는데, 영상이 3초로 이상 편집된 것 같습니다. 저만 그렇게 보이는 것인지 모르겠지만 확인 부탁드립니다.
안녕하세요? 강사님께서 영상에서는 deque 자료형으로 바로바로 pop 하는 방식으로 코드를 짜셨는데요 강의 내용: arr.sort() arr = deque(arr) cnt = 0 while arr: if len(arr)==1: cnt += 1 break if arr[0]+arr[-1] > limit: arr.pop() cnt += 1 else: arr.popleft() arr.pop() cnt += 1 print(cnt) 그런데 비슷하다고 생각한 인덱스 이동 방식은 오답인 거 같습니다 arr.sort() lt = 0 rt = n - 1 while lt <= rt: if len(arr) == 1: cnt += 1 break sum = arr[lt] + arr[rt] if sum <= limit: cnt += 1 lt += 1 rt -= 1 else: cnt += 1 rt -= 1 # 맨 끝 가장 큰 수 pop print(cnt) 테스트 케이스는 강사님께서 댓글에 알려주신 8 149 71 72 73 74 75 76 77 78 149 로 돌려보니, 강의 내용은 5가 나오고 두번째 방식은 4가 나오네요? 근데 제가 이해가 딸려서 그런지 인덱스 이동하는 방식과 pop 방식의 차이가 잘 머리로 들어오지 않습니다..
복습하면서 궁금한 점이 있는데요 강의 예제에서는 Person을 GameUtility라는 플러그인 모듈에서 만들어서 주 게임 모듈인 UnrealBuildSystem에서 사용하기 위해 UnrealBuildSystem.Build .cs 파일에 GameUtility모듈을 추가하고 Student.h에서 Person을 상속 받아서 사용하던데 모듈에 있는 클래스를 사용하기 위해서는 꼭 저렇게 상속받아서만 사용할 수 있는건가요? 예를 들어 지난 강의와 응용해서 저는 GameInstance 클래스를 주 게임 모듈에 만들고 Student를 플러그인 모듈로 만들어서 사용하고 싶은데 이 경우 GameInstance 헤더 파일에 Student 헤더 파일을 추가하고 GameInstance 클래스에서 Student 클래스를 상속받아야만 하는건가요?
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
디파인 하신 부분 파라미터로 대체해도 될것같은데 디파인 하신 이유가 궁금합니다 설계스타일이신가요?? ================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ==================