그냥 바로 /init 하는 것 vs. 프로젝트 분석 프롬프트 요청하기 -> /init 이 프로젝트가 어떤 프로젝트인지 전체적으로 분석해줘. 프로젝트의 목적, 주요 기능, 사용된 기술, 파일 구조를 자세히 설명해줘. 바로 /init 하는 것과 프롬프트로 요청 후에 /init 하는것에 차이가 있나요? 후자가 더 효과가 좋은건지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. Future 의 cancel 기능에 대해 실험하면서 해결하기 어려운 부분을 만나 질문드립니다. 📋 실험 내용 Callable 의 call 메서드 내부에서 I/O 와 같은 블로킹 작업 진행(or Interrupt 가 되지 않는 작업) Future 의 cancel 진행 스레드 호출 대상은 CancellationException 예외 발생 후 진행 ※ 스레드 풀 의 스레드는 계속 실행 중임을 확인 💥 문제 사항 이런 방식으로 로직이 지속 실행되면 스레드 풀의 스레드는 종료되지 않으면서 고갈되어 가고 결국엔 작업이 쌓이다가 에러를 뱉어내고 오작동 하게 될 것이라 추측됩니다. ❓ 질문 내용 Q. cancel 기능은 Interrupt 를 발생해주면서 작업을 중단합니다. 만약 I/O 작업 처럼 Interrupt 가 먹히지 않는 로직에서는 어떻게 스레드의 실행을 종료하고 스레드 풀로 반납할 수 있을까요? 💻 코드 public class FutureCancelMain { private static boolean mayInterrupIfRunning = true; public static void main(String[] args) { ExecutorService es = Executors.newFixedThreadPool(1); Future<String> future = es.submit(new MyTask()); log("Future.state: " + future.state()); sleep(3000); log("future.cancel(" + mayInterrupIfRunning + ") 호출"); boolean cancelResult = future.cancel(mayInterrupIfRunning); log("cancel(" + mayInterrupIfRunning + ") result: " + cancelResult); try { log("Future result: " + future.get()); } catch (CancellationException e) { log("Future는 이미 취소되었습니다."); } catch (ExecutionException | InterruptedException e) { e.printStackTrace(); } es.close(); } static class MyTask implements Callable<String> { @Override public String call(){ boolean flag = true; // Scanner scanner = new Scanner(System.in); while(flag) { log("무한 작업 중..."); } return "Completed"; } }
skill 은 클로드가 프롬프트 문맥을 파악하여 자동으로 실행 시킨다는 내용을 여기에서도 보았고 다른 여러 영상 에서도 보았습니다. 그런데 정말로 자동으로 실행되는게 맞는지 문의 드립니다. 자동으로 실행 된다는 것은 프롬프트를 클로드가 확인 해서 알아서 필요한 스킬을 실행 시킨다는 의미 일텐데요. 제가 작업 하면서 스킬이 실제로 자동으로 알아서 실행되는 것을 거의 본 적이 없습니다. 프롬프트에서 꼭 스킬을 지정 해줘야지만 실행이 되었습니다. 웃기는 것은 작업을 중지 시키고, 이러한 프롬프트 에서는 XX 스킬을 사용 해야 하는 것이 아니냐고 물어보면.. '나의 실수 이다. 사용 했어야 한다. 할말이 없다' 라는 대답을 합니다. 그러고선 또 스킬을 사용해야 할 상황에서는 사용을 하지 않습니다. 그래서 프롬프트의 절반이 욕 입니다. 다른 커뮤니티 에서도 저 처럼 자동으로 실행 되는 경우가 없어서 스킬을 지정을 해서 사용 한다는 것을 봐서 저만 그런 것은 아닌 것 같습니다. 제가 뭔가 설정을 안한 건가요? 혹자는 스킬 작성 시 description 작성을 잘 해야 한다고 하던데, 그게 만일 기술 이라면 그것을 배워야 겠습니다만..그런 것을 알려주는 곳은 없는 것 같고요.. 컨텍스트 소모량만 뺸다면 커스텀커맨드랑 별반 차이 없는 상황 이라..참..애매 하네요.. 스킬을 자동 실행 되게끔 하려면 어떤 방법이 있는 걸까요?
해당 1번 내용에서요 실무적으로 적용을 해본다면 prd generator로 최초 prd 생성 > development-planner로 로드맵 구현! 해당 로드맵으로 만족스러우면 진행 이 과정으로 이해했는데 이 문항대로면 로드맵 구현 후 PRD에 로드앱을 업데이트 한다는것인데 어떻게 해야할지 모르겠네요 아마 영상 속에 있을것 같은데 관련 내용이 어디에 있는지 알려주실 수 있을까요>? 두번째 질문입니다. 사이트 리뉴얼에 대한 계획을 짜다 보니 욕심이 생겨 Plan mode에서 PRD-generator 에이전트를 써놓고 계속 계획 수정을 하고 있습니다 반복해서 하다보니 5시간 리미트까지 걸릴 정도로 계획만 계속 수정 중인데요 설사 그렇더라도 짐코딩님 말씀처럼 마음에 들 때까지 계획을 계속 조금씩 수정하는 것은 옳은 방식일까요? 아니면 지금 이 행동이 투머치인것이 아닌가 궁금합니다
(AI 퀀트) 코드 한 줄 안 쓰고 주식 자동 분석 시스템 만들기 feat. Claude CLI
💡 수강생 안내 사항 (커뮤니티 가이드) 학습 관련 질문 : 구체적으로 적을수록 정확한 답변을 받을 수 있습니다. 작성 팁 : 마크다운과 단축키를 활용하면 글을 더 편리하게 작성할 수 있습니다. 사전 검색 : 질문을 남기기 전, 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해 보세요. 커뮤니티 매너 : 서로 예의를 지키며 존중하는 분위기를 함께 만들어가요. 서비스 문의 : 인프런 서비스 관련 문의는 1:1 문의하기 를 이용해 주세요. 정말 못찾겠습니다.
클로드 코드내에서 Bash(pwd) 가 오류가 발생합니다. ~/.claude/settings.json 과 프로젝트 내 settings.local.json을 모두 비워진 상태로 다시 calude 실행 후 해도 동일한 증상입니다. 어떤 이유때문인지 알수있을까요? gitbash, CMD, PowerShell 에서 모두 동작하지 않습니다. 터미널 자체에서는 정상적으로 pwd 명령어가 입력됩니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 스트림 강의를 보다가 질문 드립니다 웹 어플리케이션 기준으로 스트림은 보통 데이터를 처리하는데 쓰일 것 같은데요 많은양의 데이터라면 보통 디비단에서 최대한 필터링하고 걸러서 가져오는게 네트워크호출랴도 그렇고 이점이 많을것 같은데 그럼 스트림은 보통 언제쓰이나요? 데이터를 필터링하고 정렬하고 가공하는건 디비단에서 해서 가져오는게 더 효율이 좋다 했을 때 스트림으로 가공하는 데이터 수준은 디비단에서 다 할 수 있을 것 같아서요 같은 데이터를 가공하단 는게 필요하다고 해도 기존 sql 재사용 하고 스트림으로 재가공 하는것보다는 새로 sql문 날려서 가져오는게 더 낫지 않나요? 보통 웹 어플리케이션에서 어떤 상황에 쓰이는지 궁금합니다!
프로젝트 생성 시 위와 같이 선택 하시면 됩니다. (Create TypeScript project 체크 박스 꼭 선택 하세요.) Create 버튼 클릭 하시면 화면 하단 터미널에 설치 옵션을 물어보는 화면이 보이게 됩니다. 그런데, 강의 와는 다르게 터보팩 사용 여부는 물어보지 않아요. Next.js 13 이상 버전에는 터보팩이 이미 내장되어 있습니다. 이 부분은 무시하고 진행 하시면 됩니다. 설치 완료 후, package.json 파일에 아래와 같이 개발 스크립트 부분을 수정 하세요. --turbo 추가 하시면 됩니다. "scripts": { "dev": "next dev --turbo", "build": "next build", "start": "next start", "lint": "eslint" }, 실행은 상단 우측 보시면 아래와 같은게 보이실 겁니다. client-side 와 server-side 가 있는데 server-side 선택 하셔서 실행 하시면 됩니다. (안보이면 웹스톰 재시작 하세요. 지금 단계 에서 client-side 는 선택 하지 마세요. 이 강의를 계속 들어 보시면 저 두가지가 무슨 의미 인지 알게 됩니다.) 터보팩 적용 하여 올바르게 실행 되면 아래와 같이 보일 겁니다.
public int[] solution1(int[] weights) { int[] answer = new int[weights.length]; ArrayDeque<int[]> stack = new ArrayDeque<>(); for (int i = 0; i < weights.length; i++) { int weight = weights[i]; while (!stack.isEmpty() && stack.peek()[1] < weight) { var popped = stack.pop(); int poppedIndex = popped[0]; answer[poppedIndex] = i - poppedIndex; } stack.push(new int[] {i, weight}); } return answer; } 위와 같이 답변을 작성하였고, 강의에서 나오는 답과 변수명 정도 외에는 차이가 없어 보이는데, 시간 초과 오류가 발생합니다.