WSL 환경에서 수강하시는 분들, tasks.json 파일에 내용이 기록이 안 되면 아래 문제로 보여집니다 https://github.com/cjo4m06/mcp-shrimp-task-manager/issues/61#issuecomment-3240079086 해결법은 딱히 없고 그냥 클로드한테 수동으로 내용 채워달라고 하는게 현재로서는 쓸만해보입니다.
안녕하세요. 게시판 관련 강의를 듣는 도중 궁금한 점이 있어 질문을 남깁니다. 강의에서는 Snowflake 기반 단순 정렬을 기준으로 커버링 인덱스를 설명해주셨는데요, 실무에서는 여러 정렬 조건과 필터, 검색 조건이 함께 붙는 경우가 많습니다. ✅ 이런 복합적인 조회 패턴에서도 커버링 인덱스를 중심으로 설계하는 것이 적절한지, 아니면 다른 전략을 어떻게 사용해야 하는지 궁금합니다.(설명이 길어질 경우 간단한 힌트라도 부탁드립니다.) 💥 걱정하는 부분 정렬되는 컬럼 전부에 대해 인덱스를 걸면 더 문제가 발생할 것 같아요. 검색 %검색어% 의 경우에는 결국엔 full_scan 이어서 성능 최적화가 불가능하다.
강의를 보다가 궁금한 부분들이 생겨 질문드립니다!! 1. RateLimit Boundary Burst 관련 RateLimit을 설명해주시는 부분을 보면서 한 가지 의문이 들었습니다. 예를 들어 1초에 100개로 제한을 두었을 때, 0.9초 시점에 100개 요청이 들어오고 1초가 되자마자 다시 100개가 들어온다면 실제로는 매우 짧은 시간 안에 200개의 요청이 처리될 수 있지 않을까 하는 생각이 들었습니다. 찾아보니 이러한 문제를 Boundary Burst 라고 부른다는 것을 알게 되었습니다. 이를 해결하기 위해: Sliding Window Sliding Window Counter Token Bucket Leaky Bucket 등의 방식이 있다는 것을 확인했습니다. 실무 관점에서는 이런 경계 구간 Burst 문제를 어떤 방식으로 해결하는지 궁금합니다. 2. Request Collapsing 관련 Request Collapsing을 설명해주신 부분을 보면서, 여러 요청을 하나로 모아서 처리하는 방식으로 Golang의 SingleFlight 패턴을 응용하는 방법도 가능하지 않을까 생각해보았습니다. 이와 관련해서 아래와 같은 예제 코드도 작성해 보았습니다. private final StringRedisTemplate redisTemplate; private final Map<String, CompletableFuture<?>> singleFlightMap = new ConcurrentHashMap<>(); @Override public <T> T fetch(String key, Duration ttl, Supplier<T> supplier, Class<T> clazz) { String cached = redisTemplate.opsForValue().get(key); if (cached != null) { return DataSerializer.deserializeOrNull(cached, clazz); } CompletableFuture<T> newFuture = new CompletableFuture<>(); CompletableFuture<T> existing = (CompletableFuture<T>) singleFlightMap.putIfAbsent(key, newFuture); if (existing != null) { // 다른 스레드가 실행 중 → 기다림 return existing.join(); } // 내가 실행자 (락 없이 실행) try { T result = refresh(key, ttl, supplier); newFuture.complete(result); return result; } catch (Throwable t) { newFuture.completeExceptionally(t); throw t; } finally { singleFlightMap.remove(key, newFuture); } } private <T> T refresh(String key, Duration ttl, Supplier<T> dataSourceSupplier) { T result = dataSourceSupplier.get(); put(key, ttl, result); return result; } 이 방식은 분산 락이나 폴링 방식 없이도 동일 인스턴스 내 요청을 모을 수 있다는 장점이 있다고 생각했습니다.물론 이 방법은 모든 분산 서버 간 요청을 하나로 모으는 것은 아니기 때문에 , 서버 인스턴스 수만큼은 요청이 발생할 수 있다는 한계가 있다고 생각합니다. 하지만 인스턴스 수가 많지 않다면, 분산 락으로 인한 오버헤드나 복잡성을 줄이면서도 어느 정도 트래픽을 제어할 수 있는 현실적인 선택지가 될 수 있지 않을까 하는 생각이 들었습니다. 실무 관점에서는 이런 방식에 대해 어떻게 평가하시는지 궁금합니다. 3. Write Through 방식에서의 장애 처리 Write Through 방식에서는 일반적으로: DB에 먼저 저장 동일 데이터를 Redis에도 저장 하는 구조로 이해하고 있습니다. 그런데 만약: DB에는 쓰기 성공 Redis에는 쓰기 실패 하는 상황이 발생한다면, 이 경우를 트랜잭션 실패로 간주해야 하는지 궁금합니다. Redis 장애로 인해 캐시 반영이 실패했을 때, 핵심 트랜잭션(DB 쓰기)까지 롤백해야 하는지 아니면 캐시는 보조 저장소로 보고 DB 성공을 기준으로 처리해야 하는지 두 저장소 간 원자성을 반드시 보장해야 하는 설계인지 실무에서는 어떤 기준으로 판단하는지 궁금합니다.
안녕하세요. 인프런 강의 자료를 통해 알게되어, '패스트 캠퍼스' 파이썬을 활용한 반도체 공정 데이터 분석 수업까지 수강한 반도체 장비회사에서 재직 중인 엔지니어입니다. 현재 저는 공정 데이터 분석을 진행함에 있어 엑셀을 사용하고 있지만, 방대한 데이터 양 때문에 해당 수업 내용을 실무에 적용하면 좋겠다는 생각이 들었습니다. 그래서 제 회사 컴퓨터에도 anaconda 프로그램을 설치하여 데이터 분석에 이용하고자 하는데, 강사님도 아시다시피 반도체 산업 회사들이 보안 등의 문제로 특정 프로그램을 설치하는데 제약이 있을건데, 실제 강사님께서 재직 중이시던 회사에서 anaconda 설치 후, 데이터 분석을 실무에 적용하셨는지, 그리고 해당 프로그램 설치 후 사용 시, 문제되는 부분은 없으셨는지 알고 싶습니다. 제가 회사에서 제공하는 프로그램 제외하고 별도의 툴을 설치해본 적이 없어 조심스러워서 질문드립니다. 강사님 덕분에 양질의 교육을 들을 수 있어서 감사합니다.
그냥 바로 /init 하는 것 vs. 프로젝트 분석 프롬프트 요청하기 -> /init 이 프로젝트가 어떤 프로젝트인지 전체적으로 분석해줘. 프로젝트의 목적, 주요 기능, 사용된 기술, 파일 구조를 자세히 설명해줘. 바로 /init 하는 것과 프롬프트로 요청 후에 /init 하는것에 차이가 있나요? 후자가 더 효과가 좋은건지 궁금합니다.
안녕하세요 🙂 토스트 버전은 "react-native-toast-message": "^2.3.3", 입니다. 저는 모달 위에 토스트가 뜨지 않고, 모달이 꺼지면 그 뒤에 토스트가 보입니다..! 찾아보니 ios와 aos는 모달 구현 방식에서 차이가 있다고 하더라구요..ㅠㅠ 맞다면 혹시 ios에서는 어떤 방식으로 모달위에 토스트를 띄우는지 알 수 있을까요?? 참고로 모달 내부 마지막요소에 Toast 컴포넌트를 추가했는데도 모달이 꺼지고나서야 보이네요..! 해결 했습니다..! fetch 이후에 뜨는 쪽만 제대로 돼있고, fetch 전에 띄우는 게 잘못 돼있어서 안떠보이는 거였습니다..;;ㅎㅎ 아래 질문만.. 답변 해주시면 감사하겠습니다.ㅎㅎ 🙏 그리고 게시글 포스팅 이후에 자동으로 게시글로 이동하는데, 토스트 누르면 게시글로 이동하게 하는 기능이 굳이 필요한 건지도 궁금합니다! 감사합니다.
skill 은 클로드가 프롬프트 문맥을 파악하여 자동으로 실행 시킨다는 내용을 여기에서도 보았고 다른 여러 영상 에서도 보았습니다. 그런데 정말로 자동으로 실행되는게 맞는지 문의 드립니다. 자동으로 실행 된다는 것은 프롬프트를 클로드가 확인 해서 알아서 필요한 스킬을 실행 시킨다는 의미 일텐데요. 제가 작업 하면서 스킬이 실제로 자동으로 알아서 실행되는 것을 거의 본 적이 없습니다. 프롬프트에서 꼭 스킬을 지정 해줘야지만 실행이 되었습니다. 웃기는 것은 작업을 중지 시키고, 이러한 프롬프트 에서는 XX 스킬을 사용 해야 하는 것이 아니냐고 물어보면.. '나의 실수 이다. 사용 했어야 한다. 할말이 없다' 라는 대답을 합니다. 그러고선 또 스킬을 사용해야 할 상황에서는 사용을 하지 않습니다. 그래서 프롬프트의 절반이 욕 입니다. 다른 커뮤니티 에서도 저 처럼 자동으로 실행 되는 경우가 없어서 스킬을 지정을 해서 사용 한다는 것을 봐서 저만 그런 것은 아닌 것 같습니다. 제가 뭔가 설정을 안한 건가요? 혹자는 스킬 작성 시 description 작성을 잘 해야 한다고 하던데, 그게 만일 기술 이라면 그것을 배워야 겠습니다만..그런 것을 알려주는 곳은 없는 것 같고요.. 컨텍스트 소모량만 뺸다면 커스텀커맨드랑 별반 차이 없는 상황 이라..참..애매 하네요.. 스킬을 자동 실행 되게끔 하려면 어떤 방법이 있는 걸까요?
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
- 친절하게 잘 알려주신 내용으로 크롤링 연습을 하고 있는데요, data= soup.select ('div.board-item-con') for item in data: research_date= item.select _one('span.meta-label')를 하게 되면 '사업구분'이라는 글자만 추출이 됩니다. 예를 들면, '채록시도' 항목에서 "충청북도"라는 데이터를 추출하고 싶은데, 이걸 어떻게 해야 할지 모르겠어요 ㅜㅜ 바쁘시겠지만 팁 좀 부탁 드립니다.
해당 1번 내용에서요 실무적으로 적용을 해본다면 prd generator로 최초 prd 생성 > development-planner로 로드맵 구현! 해당 로드맵으로 만족스러우면 진행 이 과정으로 이해했는데 이 문항대로면 로드맵 구현 후 PRD에 로드앱을 업데이트 한다는것인데 어떻게 해야할지 모르겠네요 아마 영상 속에 있을것 같은데 관련 내용이 어디에 있는지 알려주실 수 있을까요>? 두번째 질문입니다. 사이트 리뉴얼에 대한 계획을 짜다 보니 욕심이 생겨 Plan mode에서 PRD-generator 에이전트를 써놓고 계속 계획 수정을 하고 있습니다 반복해서 하다보니 5시간 리미트까지 걸릴 정도로 계획만 계속 수정 중인데요 설사 그렇더라도 짐코딩님 말씀처럼 마음에 들 때까지 계획을 계속 조금씩 수정하는 것은 옳은 방식일까요? 아니면 지금 이 행동이 투머치인것이 아닌가 궁금합니다