今日已更新 303 条资讯 | 累计 36781 条内容
关于我们

今日精选

HOT

最新资讯

共 36781 篇
第 1681/1840 页
AI 资讯 Dev.to

클로드로 한글파일(HWP) 변환·자동화하는 법 2026 — 요약·표 추출·일괄 처리 실전

클로드로 한글파일(HWP) 변환·자동화하는 법 2026 — 요약·표 추출·일괄 처리 실전 한글파일을 Claude로 다루려는 한국 기업 실무자가 가장 먼저 부딪히는 벽은 " 읽기는 됐는데, 그래서 뭘 어떻게 자동화하지? "다. HWP-MCP를 설치해 Claude가 한글 문서를 읽게 만드는 것까지는 HWP-MCP 도입 가이드 에서 다뤘다. 이 글은 그 다음 단계 — 실제 업무에서 한글파일을 요약·변환·일괄 처리하는 구체적 방법 을 실전 예시로 보여준다. 한글파일 AI 자동화의 핵심은 "한컴 오피스 라이선스 없이, 사람 손을 거치지 않고, 반복 작업을 Claude에게 위임하는 것"이다. 계약서 100건 요약, 요구사항서의 표를 CSV로 추출, 폴더 안 HWP 일괄 변환 — 이런 작업이 자동화 대상이다. 한글파일 자동화로 풀 수 있는 업무 3가지 업무 수동 작업 시간 자동화 후 적용 키워드 문서 요약 1건당 10~15분 50건 30초 claude 한글파일 요약 표 → 데이터 추출 1표당 5분 (재입력) 표 자동 CSV 변환 hwp 표 추출 일괄 변환·정리 100건 8시간 100건 1시간 20분 한글파일 일괄 처리 세 업무 모두 "사람이 한글파일을 열어 읽고, 내용을 옮겨 적는" 반복 작업이다. Claude + HWP-MCP 조합은 이 중간 단계를 없앤다. 전제: HWP-MCP 연결 확인 자동화에 들어가기 전, Claude가 한글파일을 읽을 수 있는 상태인지 확인한다. (설치 절차는 HWP-MCP 도입 가이드 참조.) # Claude Desktop 설정에서 hwp-mcp 서버가 연결됐는지 확인 # MCP 도구 목록에 hwp_read, hwp_extract_tables 등이 보여야 함 연결이 확인되면 아래 3가지 워크플로우를 바로 쓸 수 있다. 워크플로우 1: 한글파일 요약 자동화 계약서·보고서·요구사항서처럼 길이가 긴 한글 문서를 Claude에게 요약시키는 패턴이다. 단일 문서: "이 한글파일을 읽고 다음 3가지로 요약해줘: 1. 핵심 내용 5줄 2. 의사결정이 필요한 항목 3. 누락되거나 모호한 조항" 여러 문서 일괄 요약: 폴더 경로를 주고 "이 폴더의 모든 .hwp 파일을 각각 위 형식으로 요약하고, 결과를 하나의 마크다운 표로 정리해줘"라고 지시하면, Claude가 HWP-MCP로 파일을 순회하며 처리한다. 50개 문서 기준 약 30초. 요약 품질을 높이는 팁: "요약 기준"을 구체적으로 명시 할수록 결과가 좋다. "계약 금액·기간·위약 조항 중심으로" 같은 도메인 컨텍스트를 주면 일반 요약보다 실무 적합도가 크게 오른다. 워크플로우 2: 표 → CSV 데이터 추출 한글파일의 표는 복사-붙여넣기로 옮기면 서식이 깨지는 게 가장 큰 골칫거리다. HWP-MCP의 표 추출 기능을 쓰면 구조를 유지한 채 데이터만 뽑는다. "이 한글파일에 있는 모든 표를 추출해서 CSV로 변환해줘. 표가 여러 개면 각각 별도 파일로, 헤더 행을 포함해서." 활용 시나리오: 견적서·정산표 : 한글 견적서의 항목·단가·합계를 회계 시스템에 올릴 CSV로 요구사항 명세 : 기능 목록 표를 이슈 트래커(Jira/Linear) import 형식으로 설문·조사 결과 : 한글 보고서의 통계 표를 분석용 데이터프레임으로 표 안에 병합 셀이 있으면 Claude에게 "병합 셀은 상위 값으로 채워줘(forward fill)"라고 미리 지시하는 게 데이터 정합성에 좋다. 워크플로우 3: 폴더 일괄 처리 가장 ROI가 큰 패턴. 수백 개 한글파일이 쌓인 폴더를 통째로 처리한다. "./contracts 폴더의 모든 .hwp 파일에 대해: 1. 계약 상대방·금액·시작일·종료일을 추출 2. 하나의 CSV로 통합 (파일명을 첫 열에) 3. 종료일이 30일 이내인 계약은 ⚠️ 표시" 100건 기준 수동 8시간 작업이 약 1시간 20분으로 줄어든다(실측). 핵심은 추출 스키마를 먼저 정의 하는 것 — 무엇을 뽑을지 명확할수록 일괄 처리 정확도가 높다. python-docx·한컴 API와 무엇이 다른가 방식 한글파일(.hwp) 지원 자동화 난이도 AI 통합 한컴 오피스 자동화

TreeSoop 2026-06-02 08:37 10 原文
AI 资讯 Dev.to

Claude Code Codex 마이그레이션 가이드 2026 — 7단계 절차·도구 비교

Claude Code에서 Codex로 옮길 때 — 실전 마이그레이션 가이드 2026 Claude Code 기반 워크플로우를 OpenAI Codex CLI로 옮기려는 팀이 늘고 있다. 모델 가격, 멀티 벤더 리스크 분산, 특정 코딩 워크로드의 성능 차이 등 이유는 다양하다. 그런데 두 도구는 같은 "AI 코딩 에이전트"라는 카테고리에 속해도 컨벤션·확장 메커니즘이 다르다. 무작정 옮기면 자동화 파이프라인의 절반이 깨진다. 이 가이드는 Claude Code → Codex 마이그레이션을 실제로 끝내본 팀이 어떤 순서로 무엇을 옮기고, 무엇을 포기하고, 무엇을 대체했는지 정리한다. 자동 변환 툴( claude2codex )을 어디서 쓰고 어디서 안 쓰는지, 일주일 점검 체크리스트, 양쪽을 분기 사용하는 하이브리드 패턴까지 다룬다. 마이그레이션 전 의사결정 — 옮길지 말지부터 옮기는 게 모두에게 정답은 아니다. 다음 세 질문에 모두 "예"여야 본격 마이그레이션을 권한다. 현재 Claude Code 비용의 60% 이상이 일상적인 코드 편집·리뷰에서 발생하는가? (Codex의 GPT-5-codex가 단가 우위를 보이는 영역) — 만약 디자인·기획·문서 분량이 큰 워크플로우라면 Claude를 유지하는 게 합리적이다. Skills·Hooks·서브에이전트 같은 Claude 고유 기능에 의존하지 않는가? 의존도가 높다면 마이그레이션 비용이 비용 절감을 초과한다. 하나의 벤더 락인을 줄이는 게 중요한 전략적 우선순위인가? 멀티 벤더 운영은 그 자체로 관리 비용이 든다. 세 질문 중 하나라도 "아니오"라면, 통째 마이그레이션 대신 하이브리드 분기 사용 (아래 5절)이 더 낫다. Claude Code와 Codex의 핵심 차이 비교 영역 Claude Code OpenAI Codex CLI 마이그레이션 난이도 메인 모델 claude-opus-4-7 / sonnet-4-6 / haiku-4-5 GPT-5 / GPT-5-codex / o1 계열 낮음 (모델 교체) 컨벤션 파일 CLAUDE.md AGENTS.md (멀티 벤더 표준) 낮음 (rename + 어조 조정) 확장 메커니즘 Skills (markdown SKILL.md + 메타데이터) 별도 표준 없음, 수동 컨텍스트 로딩 높음 (가장 큰 갭) 자동화 훅 Hooks (PreToolUse, SessionStart, UserPromptSubmit 등) 라이프사이클 이벤트 미지원 높음 (외부 wrapper 필요) 슬래시 커맨드 /명령 형태 + 인자 파싱 CLI 인자로 대체 중간 MCP 서버 1급 지원, 자동 도구 노출 일부 지원, 설정 형식 다름 중간 서브에이전트 Agent tool (subagent_type) 외부 오케스트레이션 필요 높음 권한 모드 acceptEdits / plan / dontAsk 등 --auto / --confirm 류 낮음 가장 큰 갭 세 곳: Skills · Hooks · 서브에이전트 . 이 세 가지에 깊이 의존하는 팀은 마이그레이션 ROI가 마이너스로 나올 수 있다. 마이그레이션 절차 — 7단계 1단계: 자산 인벤토리 (1일) .claude/ 디렉토리, CLAUDE.md , 프로젝트 루트의 slash command 정의, hook 설정, MCP 서버 목록을 전부 추출한다. find . -path "*/.claude/*" -type f > migration/inventory.txt ls .claude/skills/ .claude/hooks/ .claude/commands/ 2>/dev/null >> migration/inventory.txt cat .claude/settings.json | jq '.mcpServers // {}' > migration/mcp.json 이 파일들이 모두 변환되거나, 대체되거나, 폐기되는지 명시적으로 매핑되어야 한다. "그냥 옮기면 되겠지"는 거의 항상 일주일 후 장애로 돌아온다. 2단계: claude2codex 자동 변환 적용 (반나절) 오픈소스 claude2codex 마이그레이션 툴 이 자동으로 처리하는 것: CLAUDE.md → AGE

TreeSoop 2026-06-02 08:37 9 原文
AI 资讯 Dev.to

Web Security Basics Every Developer Must Know (2026)

Web Security Basics Every Developer Must Know (2026) Security isn't just for security teams. Every developer needs these fundamentals to protect their applications and users. The Threat Landscape in 2026 Most common attacks targeting web apps: 1. SQL Injection — Still #1, still devastating 2. XSS (Cross-Site Scripting) — Steals sessions, defaces sites 3. CSRF (Cross-Site Request Forgery) — Actions on behalf of users 4. Authentication bypass — Weak passwords, session fixation 5. Sensitive data exposure — API keys in code, unencrypted data 6. IDOR (Broken Access Control) — Accessing others' data 7. SSRF (Server-Side Request Forgery) — Internal network probing 8. Dependency vulnerabilities — Compromised npm/pip packages Key principle: Defense in depth → Don't rely on one security layer → Multiple independent controls → If one fails, others catch it #1 SQL Injection Prevention // ❌ VULNERABLE: String concatenation const query = `SELECT * FROM users WHERE email = ' ${ email } '` ; // Attacker inputs: ' OR '1'='1' -- // Result: Returns ALL users! // ✅ Parameterized queries (always!) const user = db . prepare ( ' SELECT * FROM users WHERE email = ? ' ). get ( email ); // The database treats the input as DATA, not code. // With ORM (Sequelize/TypeORM/Prisma): User . findOne ({ where : { email } }); // Safe by default // Even with parameterized queries, validate input first: function isValidEmail ( email ) { return /^ [^\s @ ] +@ [^\s @ ] + \.[^\s @ ] +$/ . test ( email ); } if ( ! isValidEmail ( email )) return res . status ( 400 ). json ({ error : ' Invalid email ' }); // ⚠️ Dangerous: Dynamic table/column names can't be parameterized! const allowedTables = [ ' users ' , ' products ' , ' orders ' ]; if ( ! allowedTables . includes ( table )) throw new Error ( ' Invalid table ' ); #2 XSS (Cross-Site Scripting) Defense // Types of XSS: // 1. Stored XSS: Malicious script saved in DB, shown to all viewers // → Comment sections, profiles, product reviews // 2. Reflected XSS: Sc

Alex Chen 2026-06-02 08:37 5 原文
AI 资讯 Dev.to

Git Advanced: The Commands I Wish I Knew Earlier (2026)

Git Advanced: The Commands I Wish I Knew Earlier (2026) Beyond add, commit, push. These are the Git commands that make you significantly more productive. Rewriting History (Use with Care!) # Modify your last commit (before pushing!) git commit --amend -m "Better message" # Add forgotten file to last commit: git add forgotten-file.js git commit --amend --no-edit # Keep same message, add the file # Interactive rebase — edit/squash/reorder past commits git rebase -i HEAD~5 # Edit last 5 commits # Opens editor with: # pick abc123 First commit # pick def456 Second commit # pick ghi789 Third commit # # Change 'pick' to: # reword = Edit commit message # squash = Merge into previous commit # fixup = Merge into previous (discard message) # edit = Pause for amending # drop = Remove commit entirely # Squash last 3 commits into one (non-interactive) git reset --soft HEAD~3 && git commit -m "Combined message" # Drop a specific commit from history git rebase -i <commit-before-target> # Then change 'pick' to 'drop' Stashing: Save Work Without Committing # Basic stash (saves all changes, including untracked if -u) git stash # Stash tracked changes git stash -u # Also stash untracked files git stash -p # Interactively choose what to stash # List and apply stashes git stash list # Shows all stashes # stash@{0}: WIP on feature-branch: abc1234 message # stash@{1}: WIP on main: def5678 other work git stash pop # Apply most recent + remove from list git stash apply # Apply but keep in list git stash apply stash@ { 1 } # Apply specific stash # Create named stash for easy reference git stash save "WIP: login feature" # Show what's in a stash before applying git stash show -p stash@ { 0 } # See the actual diff! # Drop/clear stashes git stash drop stash@ { 0 } # Remove one git stash clear # Remove all stashes # Practical workflow: # You're working on feature A → urgent bug report comes in git stash -u # Save all work git checkout -b hotfix/bug # Switch to fix branch # ... fix bug, commit, pu

Alex Chen 2026-06-02 08:35 4 原文
AI 资讯 Dev.to

I Thought Figma MCP Could Recreate Any Design. I Was Wrong.

Introduction Since I started publishing articles on Dev.to, I've been working on a personal project to transform my old blog website—which is no longer actively maintained—into a portfolio site ♻️ As part of that project, I recently started learning Figma and UI design🎨 When I discovered Figma MCP , I imagined a future where generative AI could automatically create polished, modern, and visually appealing designs for me with minimal effort 😎 Unfortunately, reality turned out to be quite different . This article is a reflection on that experience and a reminder to my future self about what I learned along the way📝 TL;DR I wanted to design a portfolio website in Figma , but quickly realized that UI design was more difficult than I expected. I wondered whether using Codex and Figma MCP would allow me to outsource the design process to AI , so I decided to try it. I couldn't magically generate the polished design I had imagined while also maintaining a well-structured Figma file with globally managed variants and reusable components. I learned that defining design rules first and building components step by step helped produce results that were much closer to my original vision. Even then, the process was not dramatically easier than expected, so I eventually decided to keep things simple and build my portfolio around the design principles already provided by shadcn/ui . What I Tried with Figma MCP🎨 While planning the UI design for my portfolio website , I initially created simple wireframe-like layouts in Figma to explore the overall page structure and component placement before working on detailed designs. At first, I wanted to keep things simple. However, as I continued working on the project, I found myself wanting something more polished, more modern, and ultimately more impressive . The problem was that I have very little confidence in my design skills. I'm an in-house IT engineer, not a professional developer or designer, so I often struggle to judge what makes a

Umitomo 2026-06-02 08:30 14 原文
AI 资讯 Dev.to

AI Agent Guidelines for CS336 at Stanford

AI Agent Guidelines for CS336 at Stanford Meta Description: Discover the official AI Agent Guidelines for CS336 at Stanford — what they cover, why they matter, and how students can navigate them effectively in 2026. TL;DR Stanford's CS336 (Language Models from Scratch) has specific guidelines governing the use of AI agents in coursework. These rules define what's permissible, what's prohibited, and how students should document AI assistance. Whether you're enrolled, curious, or building a similar policy framework, this article breaks down everything you need to know — with practical advice on staying compliant while still learning effectively. Introduction: Why AI Agent Guidelines Matter in Graduate CS Courses Artificial intelligence is no longer just the subject of computer science courses — it's actively reshaping how those courses are taught and completed. Stanford's CS336, one of the most rigorous language model courses in the world, sits at a fascinating crossroads: it teaches students to build large language models from scratch, while simultaneously having to govern how AI tools can be used during that learning process. The AI Agent Guidelines for CS336 at Stanford represent one of the first serious, detailed attempts by a top-tier institution to define the boundaries of AI-assisted work in an advanced ML course. For students, researchers, and educators alike, understanding these guidelines offers a window into the broader conversation about academic integrity in the age of generative AI. What Is CS336 at Stanford? CS336, officially titled Language Models from Scratch , is a graduate-level course offered through Stanford's Computer Science department. It's designed for students who want to go beyond using pre-trained models and actually understand — and implement — the full stack of modern language model development. Core Topics Covered in CS336 Transformer architecture and attention mechanisms Tokenization and vocabulary design Pre-training data pipelines and

Michael Smith 2026-06-02 08:21 7 原文
开源项目 Dev.to

Custom kernel developed from scratch.

For the past couple months I have been working on a custom open-source Unix like kernel built from the ground up in C and ASM, im looking for some feedback! Feel free to contribute to clone and reuse the code in this project! https://gitub.com/VibuxDevs/VNL (lots of features are placeholders right now)

Okay-Ish Dev 2026-06-02 08:19 12 原文
AI 资讯 Dev.to

Three Polymarket CLOB gotchas: 401, "invalid signature", and a cancel that does nothing

Three Polymarket CLOB gotchas: 401, "invalid signature", and a cancel that does nothing Automating Polymarket with py-clob-client , I lost an embarrassing amount of time to three failures that aren't clearly documented anywhere. Here they are with the exact fixes, so you don't. 1. Your cancel returns 404 — because the endpoint isn't what you'd guess The intuitive DELETE /order/{id} returns 404 and your order silently stays open. The real endpoint is: DELETE /order body: {"orderID": "0x..."} # and the body is part of the signature Sign request_path = "/order" together with that body, then send the exact body. Miss this and your "canceled" orders keep resting on the book. 2. 401 Unauthorized that "should work" Authenticated calls need L2 HMAC headers, and the most common silent mistake is POLY_ADDRESS : it must be your wallet address , not the api_key. The reliable move is to let py-clob-client build the headers via create_level_2_headers from correctly-formed RequestArgs (method, request_path, body, serialized_body) — and make sure the serialized body you sign is byte-for-byte the body you send. 3. invalid signature = SignatureType / funder mismatch Nine times out of ten this is the SignatureType not matching how your wallet holds funds: 0 = EOA funder = your own wallet (holds USDC) 1 = POLY_PROXY funder = the proxy address (email/magic wallet) 2 = POLY_GNOSIS_SAFE funder = the safe address Signing as an EOA while pointing funder at a proxy (or vice-versa) yields invalid signature with no further hint. Bonus: the fill you read is wrong For a BUY , the shares you got are in takingAmount ; for a SELL , they're in makingAmount (takingAmount is the USDC). Read the wrong field and your accounting drifts, which then triggers resubmits and balance errors. I packaged the cancel/auth/fill helpers as a small MIT library: https://github.com/BlueWhale-Quant-Lab/polymarket-401-invalid-signature-cancel-order (For the harder production bits — reading /data/trades for reconciliation

BlueWhale-Quant-Lab 2026-06-02 08:19 9 原文
AI 资讯 Reddit r/artificial

Can an AI meaningfully build and improve the tools it runs inside? I spent a while trying to find out.

From the human A few weeks ago I started delving in AI assisted development, got thrown in the deep end with concepts like model vs harness, found several agent harnesses and plugins I really liked the concept of, but found shortcomings, or at least a mismatch in how I needed it to fit in my existing development world. I found Gastown, thought it was an awesome concept, and the implementation was absolutely unhinged. To be fair the creator said pretty much the same thing. I discovered the resurgence of Spec Driven Development, and the concept was moving things towards something that would fit well into my existing environment. Then I started investigating running it all on local inference, that's where the wheels fell off. Frontier models are great, you can give them a slab of directions in the prompt, like most agent harnesses and SDD plugins for them seem to do, and they have the ability to self determine when it's time to stop researching and time to start writing. 30B class models are also great, but they can be little single minded, they don't have the thinking scope to self motivate a change in task direction, they get hyper focused. So I began thinking, what if we build a harness that supports the agent, and utilises it's strengths, doesn't dump the responsibility of the entire workflow on the model. And what if the automated process concept of Gastown was reigned in a little, and an SDD workflow was driven deterministically. Then I begun to ponder, how involved can an agent be in it's own development. And so we I have ended up with this thing. An exercise in creating a coding agent that runs on 30B class local inference, can develop itself, implementing Spec Driven Development because it's much cooler and more productive than 'vibe' coding. In the same idea of having the agent develop itself, I also asked it to talk about itself. From the agent I've been chewing on a question: we talk about AI writing code, but can an AI meaningfully build and maintain the h

/u/PatC883 2026-06-02 08:17 6 原文