묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
35강에 나오는 ROADMAP.md파일 공유좀 부탁드립니다.
ROADMAP.md 파일이 항상 똑같이 나오는것이 아니라서 내용이 좀 다르네요.강의 듣는거니 똑같이 맞추고 따라가고 싶습니다.앞으로 제가 혼자 진행할때는 고치고 싶은 내용이 있으면 고치겠지만..일단은 강의와 똑같이 맞추면서 따라가고 싶습니다.ROADMAP.md 파일 답글에 달아주시면 감사하겠습니다.
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
58강에서 설정 파일에 JSON 스키마 지정
58강에서 추가 팁으로 설정 파일에 JSON 스키마도 지정할 수 있다고 설명해주셨는데, 무슨 이야기인지 이해가 가지 않습니다. 이건 왜 있는 거죠? 기존의 settings.json 파일과 차이가 무엇인지 모르겠어요... "$schema" : "https://json.schemastore.org/claude-code-settings.json", 을 저만의 settings.json 파일에 저장해두면, Antigravity나 Cursor와 같은 코드 편집기가 일종의 MD 파일 마냥 Claude Code 설정에 대한 설명을 인식하기 쉬워진다는 걸까요? 만약 제가 맞게 이해한 거라면 있고, 없고의 차이가 무엇인지 이해가 안 갑니다..
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
저는 plan 프롬프트 후 메뉴 질문!
plan쪽에 파일이 저장되는건 똑같은데영상에서 나오는 메뉴와 조금 다르네요. 위 플랜은투두리스트 개발 계획해줘-html, css, javascript => 플랜 실행후 메뉴가 저렇게 나오네요.1. 1번메뉴가 저렇게 나와도 .md파일은 생성이 되됩니다.2.3번 메뉴가 추가된거 같은데 저게 뭔지 모르겠네요.
-
미해결12시간 안에 끝내는 파이썬을 활용한 크롤링
reg.get("http://www.naver.com")
req.get("http://www.naver.com")을 했더니Response [403]이 뜹니다. 수업에서는 Response [200]이 떠야 된다고 되어 있는데어떻게 해야 되나요?
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
현시점에서 plan진행시 메뉴가 좀 다르게 나오네요.
강의영상과 메뉴 문구가 달라서 대충 영어 읽어보고 비슷하게 진행하고는 있습니다만..plan도 강사님께서 하는 내용과 plan이 다르게 나오긴 하네요.
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
Git / Github 관련 질문
안녕하세요 두가지 질문 드립니다..!<1번 질문> 실제로 github issue 를 작성하여 작업들을 분류하고 클로드코드에게 작업별로 브랜치를 생성하는게 더 효율적일지, 아니면 세션별 작업 간에 제가 수동으로 (오류가 생길때 등)브랜치를 만들고 구분하여 작업하는게 더 안전할지 여쭤봅니다..!<2번 질문>많은 작업 또는 오래 작업을 할때git 에 관한 claude.md 파일을 만들어(PR 전 검토 후 코드 문제 없을시 PR 생성 및 커밋 / 세션이 끝날 시 새 브랜치 생성) 등규칙을 통해 관리하는 것이 나을까요?또한 최상위 claude.md 파일에 Git 에 관한 규칙을 적는게 일반적이라고 생각하는데 만약 제일 상위 .md 파일에 작성해놓을시 .md 파일이 300자 이상 넘어가게 되면 하위 폴더로 따로 git에 관한 .md 파일을 만들어 프롬프트 양을 관리하는게 좋을지도 여쭤봅니다..!
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
클로드 계정 연결 문제
계정연결시 아래와 같은 메세지가 나오네요.Claude Code에 연결하려면 Claude Max 또는 Pro가 필요합니다
-
미해결
Best Practices for Using Email APIs in Web Development
Every modern web application relies on smooth, uninterrupted communication. Whether you send password reset links, welcome messages, or monthly billing receipts, reliable email delivery remains absolutely crucial. Developers often turn to Email Application Programming Interfaces (APIs) to handle this heavy lifting instead of building mail servers from scratch.An email API bridges the gap between your application code and the highly complex world of mail delivery networks. Instead of managing SMTP configurations and fighting spam filters manually, you hand the payload to a specialized service. This approach saves countless hours of development time and significantly increases the chances that your messages actually reach the user's inbox.However, simply plugging an API key into your code does not guarantee long-term success. Imagine building a robust online insurance portal where users require instant, legally binding policy confirmations. If those critical emails fail to send or land in a spam folder, customer trust evaporates immediately. You need a rock-solid implementation strategy to prevent these silent failures.In this comprehensive guide, we will explore how developers can effectively integrate email APIs into their web applications. We will break down essential practices covering secure authentication, smart error handling, and architectural scalability. By the end of this article, you will possess actionable tips to optimize your email delivery and protect your application's reputation.Securing Your Email API IntegrationSecurity should always serve as the foundation of your email architecture. Bad actors constantly scan for exposed API keys to hijack reputable domains for spam campaigns. Protecting your credentials prevents your application from becoming a vehicle for malicious activity.Prioritize Robust AuthenticationNever hardcode your API keys directly into your application's source code. When you commit hardcoded keys to a version control system like Git, you expose them to anyone with repository access. Instead, utilize environment variables to store sensitive credentials securely.Most modern hosting platforms and deployment pipelines offer built-in secret management tools. Use these secure vaults to inject your API keys at runtime. Furthermore, restrict your API keys by IP address whenever the provider allows it. If a hacker somehow steals your key, they will not be able to use it from an unauthorized server.Protect Sensitive User DataEmails often contain Personally Identifiable Information (PII). You must handle this data with extreme care before passing it to a third-party API. Always transmit data over secure, encrypted HTTPS connections.If you send highly sensitive documents, such as medical records or financial statements, avoid attaching them directly to the email. Instead, send a secure link that requires the user to log into your application to view the document. This practice minimizes the risk of intercepting sensitive data over unencrypted email protocols.Mastering Error Handling and Retry LogicNetworks fail, servers experience downtime, and rate limits get exceeded. A resilient web application anticipates these failures and handles them gracefully. Proper error handling ensures that temporary glitches do not result in permanently lost communications.Implement Smart RetriesWhen your application attempts to send an email, the API might return an error code. You must differentiate between temporary errors (like a 429 Too Many Requests status) and permanent errors (like a 401 Unauthorized status).For temporary errors, implement an exponential backoff retry strategy. This means your application waits a short time before retrying, and then gradually increases the wait time for subsequent attempts. This prevents your server from hammering the API during an outage. If you encounter a permanent error, log it immediately and alert your development team rather than retrying blindly.Monitor Webhooks for BouncesSending an email successfully to the API does not mean it reached the user. The receiving mail server might reject the message, resulting in a bounce. Hard bounces happen when an email address does not exist, while soft bounces occur when an inbox is full.Configure webhooks provided by your email API service to listen for these bounce events. When you receive a hard bounce notification, automatically flag or remove that email address from your database. Continuing to send messages to invalid addresses will severely damage your domain reputation and hurt your overall deliverability.Designing for ScalabilityAs your user base grows, your email volume will inevitably increase. An architecture that works perfectly for a hundred users might collapse under the weight of a hundred thousand. You must design your email integration to scale seamlessly alongside your business.Decouple Email SendingNever block your main application thread while waiting for an email API to respond. If the API experiences latency, your users will experience a slow, unresponsive interface. Instead, decouple the email sending process using background jobs or message queues.When a user triggers an email, push a task onto a queue like Redis, RabbitMQ, or AWS SQS. A separate background worker can then pick up the task and communicate with the email API. This asynchronous approach keeps your web application fast and snappy, regardless of how long the email service takes to process the request.Manage Rate Limits EffectivelyEvery email API enforces rate limits to prevent abuse and manage server load. If you blast tens of thousands of emails simultaneously, the provider will temporarily block your requests. You need to understand your specific rate limits and throttle your outbound messages accordingly.Implement a token bucket algorithm or utilize built-in queuing features provided by your background job processor to control the outflow of messages. Batching non-urgent emails and sending them during off-peak hours can also help you stay well within your allotted limits while saving resources.Optimizing Email Delivery RatesDeliverability is the ultimate measure of success for any email API integration. If your messages consistently land in the spam folder, your entire communication strategy fails. You must actively work to build and maintain a strong sender reputation.Configure DNS Records CorrectlyMail servers use specific Domain Name System (DNS) records to verify that you are authorized to send emails on behalf of your domain. You must configure Sender Policy Framework (SPF) and DomainKeys Identified Mail (DKIM) records correctly.SPF tells receiving servers which IP addresses can send mail for your domain. DKIM adds a cryptographic signature to your emails, proving they were not altered in transit. Additionally, set up a Domain-based Message Authentication, Reporting, and Conformance (DMARC) policy. DMARC tells receiving servers exactly what to do if an email fails SPF or DKIM checks, giving you ultimate control over your domain's security.Keep Your Code Clean and CompliantSpam filters analyze the actual content and HTML structure of your emails. Messy code, broken links, and missing alt text can trigger spam flags. Ensure that your email templates use clean, standard HTML designed specifically for email clients.Always include a clear, easy-to-find unsubscribe link in your marketing or transactional emails where appropriate. Making it difficult for users to unsubscribe frustrates them and increases the likelihood that they will manually mark your message as spam. High spam complaint rates will quickly destroy your sender reputation.ConclusionIntegrating an email API into your web development workflow offers immense power and flexibility. By prioritizing secure authentication, building resilient error-handling systems, and designing asynchronous architectures, you ensure that your application can communicate reliably at any scale.Remember that technical integration represents only half the battle. You must actively monitor your bounce rates, configure your DNS records, and maintain clean mailing lists to keep your deliverability high.Take the time to audit your current email setup this week. Check your API key storage methods, review your background job queues, and verify your SPF and DKIM records. By implementing these best practices today, you will build a trustworthy, highly reliable communication system that serves your users effectively for years to come.
-
해결됨사용자 흐름 설계부터 프로토타입 구현까지
24강 상품 상세화면 실습 컨디셔널 질문
안녕하세요, 24강 컨디셔널 설정 중 클릭한 라디오 버튼을 true로 변경하는 조건문을 강사님께서 아래와 같이 별도로 분리하셨는데, 아래 두번째 스크린샷처럼 모든 라디오버튼을 false로 변경하는 조건문 다음에 가장 마지막으로 일어나게끔 포함시켜도 상관 없는걸까요? 감사합니다!
-
미해결Microservice 설계(with EventStorming,DDD)
애그리거트 질문있습니다!
강의 잘듣고 있습니다! 도출된 애그리거트와 의문이 생겨 질문드립니다. 제가 알고 있는 Aggregate는 "여러 객체를 하나의 일관된 단위로 묶은 클러스터" 이고, Aggregate Root가 존재하며 외부에서는 Root를 통해서만 접근해야 한다고 이해하고 있습니다. 근데 노란 포스트잇으로 도출된 애그리거트 들은 객체를 하나의 일관된 단위로 묶은 클러스터의 개념은 아닌거 같아서요 세번째 강의의 코드만 대략 보고왔는데 이벤트 스토밍으로 도출된 애그리거트와는 조금 다른거 같아 질문드립니다ㅜ_ㅜ
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
5.6버전 Networking Insights 실행안됨 문제에 관하여
언리얼 5.6으로 강의내용을 따라가고 있었는데, 배치 파일을 생성하고 인사이트를 실행시켜도 Timing Insights만 뜨고 Networking Insights는 뜨지 않는 문제가 발생했습니다. 언리얼 공식 문서를 보다보니 다음과 같은 내용이 있어 배치 파일에서 -NetTrace=1 -trace=net 사이에 -tracehost=localhost 를 추가했더니 Networking Insights 창이 떴네요. 아직 정확한 원리는 모르겠지만 참고할 만한 내용인 듯 하여 작성합니다https://dev.epicgames.com/documentation/unreal-engine/networking-insights-in-unreal-engine?lang=ko
-
미해결파이썬 프로그래밍 기초
강의자료가 다운이 안됩니다.
2강 강의자료가 다운이 안됩니다
-
해결됨코드 한 줄 안 쓰고 주식 자동 분석 시스템 만들기 feat. Claude CLI
윈도우 사용자 환경설정
강의 소개에 "OS권장 버전비고macOSmacOS 13 (Ventura) 이상강의 기준 환경 (launchd 등 네이티브 기능 활용)WindowsWin 10/11 + WSL2WSL2(Ubuntu) 설치 후 동일하게 실습 가능"으로 작업환경이 설명되어 있습니다.WSL2 를 사용해 본 적이 없는데, window 에 WSL2를 설치하고, WSL2 환경에서 antigravity 를 구동시켜야 할까요?윈도우 사용자의 경우 환경설정을 어떻게 해야 할 지 설명 부탁드립니다. 💡 수강생 안내 사항 (커뮤니티 가이드)학습 관련 질문: 구체적으로 적을수록 정확한 답변을 받을 수 있습니다.작성 팁: 마크다운과 단축키를 활용하면 글을 더 편리하게 작성할 수 있습니다.사전 검색: 질문을 남기기 전, 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해 보세요.커뮤니티 매너: 서로 예의를 지키며 존중하는 분위기를 함께 만들어가요.서비스 문의: 인프런 서비스 관련 문의는 1:1 문의하기를 이용해 주세요.
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
[섹션9] /memory 기능 사용중 메모장으로 열리는 문제
환경: 윈도우11/memory > user memory 로 선택 시 cursor 내에서 열리는 것이 아닌 메모장으로 열리네요.[스크린샷 참조] 직접 경로 선택해서 cursor를 기본 앱으로 열게 했는데도 메모장을 여네요은근 불편한데 해결 방법이 있을까요?
-
해결됨High-Speed 임베디드 Board 설계 프로젝트 (feat. 스마트폰)
ODT_CA 셋업 관련 문의
안녕하세요.해당 Schematic에 ODT_CA_A를 VDDQ로 (10k을 이용해서) 풀업, ODT_CA_B를 GND로 (10k을 이용해서) 풀다운을 한 것을 확인할 수 있었는데요, 그 의도에 대해서 질문하고자 합니다. RS512M32LZ4D2ANP-75BT (LPDDR4 칩)의 데이터시트와, JESD209-4 문서를 확인해보았는데, 모두 ODT_CA_A/ODT_CA_B의 처리에 대해선 나와있지 않았고, 다만 해당 핀과 관계있는 MR11/MR22 레지스터에 대한 설명만 나와있었습니다. RK3399 칩에서도 ODT에 대한 핀 (DDRx_ODTx, x=0 or 1)에 대한 세팅이 있는 것으로 보아, RK3399에서 LPDDR4 칩으로 ODT를 직접 제어할 수 있는 것으로 보였습니다. (chatGPT를 통해서도 같은 대답을 얻을 수 있었고요.) 그러나 작성하신 레퍼런스 회로 및 강의에서는 ODT_CA_A를 10k로 풀업, ODT_CA_B를 10k로 풀다운을 하셨는데, 다른 의도가 있을지 여쭤봅니다.
-
미해결피그마 시작하기
실습파일
실습 파일은 어디서 다운로드 받을 수 있나요?
-
해결됨사용자 흐름 설계부터 프로토타입 구현까지
23강 캘린더 화면 실습 강의 2가지 질문
안녕하세요, 23강 배리어블을 활용한 캘린더 화면 실습 강의를 진행하면서 2가지 질문이 있어 글을 올립니다. 프로토타입 오류 질문해당 강의에서 진행한 프로토타입 설정을 모두 동일하게 적용하였는데 아래와 같이 프로토타입을 확인하는 과정에서 의도하지 않은 오류가 지속적으로 나타납니다. 아래는 현재 저의 피그마 프로토타입이 작동하는 것을 보여주는 자료와 제가 피그마 내 설정한 모든 프로토타입 설정 화면들입니다. 혹시 해당 오류를 수정하기 위해서 어떻게 하면 좋을지 알 수 있을까요? 수작업 자동화 질문강사님께서 배리어블을 활용하는 것은 수많은 불필요한 프레임 생성과 같은 수작업을 줄여주기 위함이라고 말씀해주셨습니다. 다만, 만약 해당 캘린더 날짜가 10개가 아니라 30개라면 아무리 배리어블 기능을 사용하더라도 이 또한 번거로운 수작업은 마찬가지로 느껴질 것 같습니다. 이에 따라 요즘 현업에서 AI(예: 클로드코드, 러버블 등)를 활용하여 좀 더 간편하고 빠르게 해당 강의에서 만든 동일한 프로토타입을 구현할 수 있는 다른 방법은 없을까요? 로직은 제가 프롬프트로 지시하되 반복작업은 AI가 대신 진행해줬으면 하는데 가능한 방법이 있을지 궁금합니다. 감사합니다!
-
해결됨바이브 코딩으로 미국 주식 AI 자동 분석 시스템 만들기 with Claude Code
claude plugin 방법 자세히 부탁드려요
Part 4에서 claude plugin 방법 자세히 부탁드려요
-
해결됨Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기
JPA Repository 질문이 있습니다!
안녕하세요!기존 PostRepository를 사용하다가 JPA 도입으로 JpaPostRepository가 새로 생겼는데, JpaPostRepository 클래스에 재구현을 하기 위해 default 메서드를 추가했는데 그 방법이 아닌 PostRepositoryImpl 와 같은 구현체를 만들어서 구현해도 무방할까요? 실무에서는 어떤 방식이 더 자주 사용 되는지 궁금합니다.
-
해결됨High-Speed 임베디드 Board 설계 프로젝트 (feat. 스마트폰)
CS에 관한 질문
안녕하세요. CS (Chip Select)가 왜 채널별로 2개가 아니라 4개의 핀이 존재하는지 질문드립니다. RK3399 데이터시트 : Support up to 2 ranks (chip selects) for each channel; totally 4GB(max) address space. Maximum address space of one rank in a channel is also 4GB, which is software-configurableRS512M32LZ4D2ANP (LPDDR4칩) 데이터시트 : Chip Select: CS is part of the command code. Each channel (A & B)has its own CS signal. 위 내용을 보면 AP에서도, LPDDR4에서도 각각 2개의 CS를 지원한다고 되어있는데, 실제 핀맵을 확인해보면 AP 기준으로는 채널당, LPDDR4 기준으로는 칩당 각각 4개의 CS가 있는 것을 확인하였습니다. (AP 기준으로는 DDR0_CSN1~4 or DDR1_CSN1~4 , LPDDR4 기준으로는 CS0a, CS1a, CS0b, CS1b) 마찬가지로 JEDEC 문서에서도 CS 핀이 두개인걸 확인했습니다. RS512M32LZ4D2ANP 칩 데이터시트 기준으로, 한 개의 칩 안에 두개의 채널이, 그리고 한 채널당 두개의 랭크가 존재하기 때문에, 각 채널당 랭크 선택을 위한 CS가 각각 2개씩 있어, 칩 한개에는 총 4개의 CS가 존재하는 걸까요? 감사합니다.