GenAI(LLM)은 코드를 자동 생성하여 개발자들의 생산성을 높이지만, 소프트웨어 엔지니어링의 복잡성을 완전히 해결하지는 못합니다. AI가 70% 정도까지는 빠르게 코드를 만들어주지만, 마지막 30%의 문제 해결에는 여전히 숙련된 개발자의 개입이 필요하며, 특히 주니어 개발자들은 AI가 제안하는 코드를 무분별하게 수용할 경우 문제를 일으킬 수 있습니다. AI 도구는 개발자를 대체하기보다는 그들의 인사이트와 경험을 보완하여 더욱 강력한 개발자가 되게 해줍니다.
[GN#289] AI 보조 코딩이 소프트웨어 엔지니어링을 어떻게 바꿀 것인가
구글 크롬의 개발자 경험팀 헤드인 Addy Osmani가 "70% 문제: AI 보조 코딩의 불편한 진실"이란 장문의 글을 적었는데요. 이 글을 Pragmatic Engineer의 Gergely Orosz가 "AI 보조 코딩이 소프트웨어 엔지니어링을 어떻게 바꿀 것인가: 불편한 진실"이란 제목으로 자기 생각을 덧붙여서 재발행했네요. 개발자들이 어떻게 AI도구를 사용하고 있는가부터, 효과적인 사용패턴, 에이전트형 소프트웨어 엔지니어링 등 주니어부터 시니어들까지 AI 도구를 어떻게 하면 잘 사용할 수 있는지에 대해 설명합니다. 결론적으로 AI 도구는 무턱대고 쓰지 않기엔 너무 많은 장점이 있고, 소프트웨어 엔지니어가 AI와 함께 일하는 능력을 키우면 더 생산적이며 더 가치 있는 엔지니어가 될 수 있다고 강조합니다. 지난주에도 비슷한 얘기를 한 것 같은데, 올해는 꼭 자신의 개발 환경에 AI를 정착시키는 해가 되도록 적극적으로 실험해 보시기 바랍니다.
ㅤ
소프트웨어 튜토리얼을 읽다 보면 왜 이렇게 어렵게 설명하지? 왜 하라는 대로 하는데 잘 안되지? 하다가 포기하는 경우가 생기기도 합니다. "소프트웨어 튜토리얼 작성 규칙"은 읽기 쉽고 따라하기 쉬운 소프트웨어 튜토리얼을 작성하기 위한 몇 가지 규칙을 설명합니다. 댓글에 잘 작성된 튜토리얼들을 링크해 주셨으니 함께 참고하세요.
ㅤ
a16z가 2025년의 기술 분야 빅 아이디어들을 정리했습니다. 구성원별로 의견을 낸 것을 정리한 글이라 해석 및 신뢰도에 있어서는 주의가 필요하지만, 바이오 헬스, 컨슈머 기술, 크립토, 엔터프라이즈 핀테크, 게임, 성장단계 기술, 인프라 분야 등에서 현재 상황 및 다양한 아이디어를 얻을 수 있습니다. "AI 브레인"의 해, "얼굴 없는" 동영상 크리에이터의 두 번째 물결, "AI의 발전: 데이터 수집에서 데이터 실행으로" 등이 흥미로웠어요.
ㅤ
✓ Feedback : 긱뉴스 위클리 어떻게 읽고 계신가요? 의견과 제안 부탁드려요
✓ Show GN - 직접 만드신 오픈소스나, 재직중인 스타트업의 제품/서비스를 소개해주세요.
매주 월요일 아침, 지난 일주일간의 GeekNews 중 엄선한 뉴스들을 이메일로 보내드립니다.
- AI 보조 코딩이 소프트웨어 엔지니어링을 어떻게 바꿀 것인가: 불편한 진실
- 소프트웨어 튜토리얼 작성 규칙
- 초보자를 위한 글쓰기
- 명확한 결과를 약속하는 제목 작성
- 도입부에서 목표 설명
- 최종 결과 미리 보여주기
- 복사/붙여넣기 가능한 코드 스니펫 작성
- 명령어에서 긴 플래그 사용
- 사용자 정의 값과 재사용 가능한 로직 분리
- 독자의 수고 줄이기
- 코드가 항상 작동 상태로 유지되도록 작성
- 하나의 주제만 가르치기
- 꾸미기보다 명확성 우선
- 종속성 최소화
- 파일 이름 명확히 지정
- 일관성 있고 설명적인 제목 사용
- 솔루션이 작동함을 입증
- 완전한 예제 연결
- a16z의 2025 기술분야 빅 아이디어들
a16z가 아메리칸 다이너미즘, 바이오+헬스, 컨슈머 기술, 크립토, 엔터프라이즈+핀테크, 게임, 성장단계 기술, 인프라 분야에서 주요 아이디어를 정리했습니다.
- Frontend Fundamentals
토스 프론트엔드 챕터에서 생각하는 좋은 프론트엔드 코드의 기준에 대해서 소개하는 사이트입니다. 좋은 프론트엔드 코드의 기준으로 가독성, 예측 가능성, 응집도, 결합도의 네 가지 관점을 제시하며, TypeScript를 기반으로 설명합니다. 가독성은 코드의 이해와 변경 용이성을, 예측 가능성은 함수나 컴포넌트의 동작 예측 가능성을, 응집도는 코드 수정 시 함께 수정되어야 할 부분의 일관성을, 결합도는 코드 수정 시 영향 범위의 예측 가능성을 강조합니다. 또한, 실제 프론트엔드에서 자주 사용하는 라이브러리의 활용 예시를 제공합니다.
- Kotaemon - 당신의 문서와 대화하게 해주는 오픈소스 RAG 기반 도구
Kotaemon은 RAG 기반의 사용자 친화적 UI를 통해 문서에 대한 Q&A를 수행할 수 있도록 설계된 오픈소스 도구입니다. 이 도구는 OpenAI, AzureOpenAI, Cohere 등의 다양한 LLM API 제공자와 로컬 LLM을 지원하며, Gradio로 제작된 UI를 통해 자신의 RAG 파이프라인을 테스트할 수 있습니다. 또한, 다중 모드 Q&A, 고급 인용 및 문서 미리보기, 복잡한 추론 방식 지원 등 다양한 기능을 제공하여 사용자에게 높은 검색 품질과 정확성을 보장합니다.
- 2025 AI 엔지니어 독서 목록
AI 관련 뉴스레터이자 팟캐스트, 커뮤니티 이기도 한 Latent Space가 10개 주제(LLM, 벤치마크, 프롬프팅, RAG, 에이전트, 코드 생성, 비전, 음성, 확산, 파인튜닝) 에 관한 필수 논문을 딱 5개씩 추리고, 왜 그 논문이 중요한지를 간단히 설명합니다. 다양한 관련 블로그 및 모델 링크도 포함하고 있으니 참고하세요.
- 코사인 유사도(Cosine Similarity)를 함부로 사용하지 말 것
데이터 과학자들은 모든 것을 벡터로 변환하여 AI의 언어로 사용하지만, 코사인 유사도를 맹목적으로 적용하면 잘못된 결과를 초래할 수 있습니다. 코사인 유사도는 두 벡터 간의 각도를 측정하여 유사성을 평가하지만, 이를 확률로 오해하거나 의미 있는 척도로 간주하면 안 되며, 모델이 코사인 유사도를 목표로 학습되지 않은 경우 그 결과는 신뢰할 수 없습니다. 따라서 데이터에 특화된 임베딩을 훈련하고, 관련 측면에 초점을 맞춘 프롬프트를 설계하며, 임베딩 전에 텍스트를 정리하고 표준화하는 등의 대안적 방법을 통해 코사인 유사도의 한계를 보완할 수 있습니다.
- Kokoro-82M 모델로 전자책을 오디오북으로 변환하기
Kokoro v0.19는 82M 파라미터를 가진 텍스트-음성 변환 모델로, 다양한 언어와 고품질 목소리를 지원하며 전자책을 오디오북으로 변환할 수 있는 Audiblez 도구를 통해 활용할 수 있습니다. Audiblez는 .epub 파일을 오디오 파일로 변환하며, Python 3 환경에서 설치 및 실행할 수 있습니다. 한국어도 포함되어 있어서 기대했는데 한국어는 품질이 별로라고 하네요.
- Cloudflare Pages의 대역폭이 무제한인 이유
Cloudflare Pages는 무료 요금제에서 무제한 대역폭을 제공하며, 이는 보안 도구를 널리 제공하고 다양한 사이버 공격의 영향을 제한하기 위한 전략의 일환입니다. 사용자들이 주로 호스팅하는 정적 웹사이트는 가볍고 제공하기 쉬워 Cloudflare의 네트워크, 캐싱, 최적화 덕분에 부담이 적으며, 빠르고 안전한 인터넷 환경은 더 많은 사용자를 유도하여 보안 제품 구매 가능성을 높입니다. Cloudflare의 매력적인 사용자 인터페이스와 프리미엄 모델은 긍정적인 인상을 남기고 사용자들이 "Pro로 업그레이드"하도록 유도하는 역할을 합니다.
- AI 에이전트 - 기회, 도전 과제, 그리고 일상에 미치는 영향
AI 에이전트는 최근 기술 발전으로 복잡한 작업을 자동화하여 비용 절감과 생산성 향상에 기여하고 있지만, 여전히 기술적 한계와 사회적 신뢰 문제를 안고 있습니다. 의료, 로봇교육, 개인 도우미, 실내 디자인등 다양한 분야에서 AI 에이전트의 활용이 증가하고 있으며, 특히 소프트웨어 개발, 고객 서비스, 판매 및 마케팅 등에서 두각을 나타내고 있습니다. 그러나 AI 에이전트의 장기적인 발전과 대규모 채택을 위해서는 기술적 신뢰성, 데이터 보안, 사회적 수용성 등의 문제를 해결해야 하며, 이에 대한 다양한 질문과 도전 과제가 남아 있습니다.
- AI 에이전트 시장 지도
AI 에이전트 시장에 있는 138개의 기업을 크게 Agent Orchestration과 Application으로 분류하고, 각각의 세부 카테고리에 배치한 지도입니다. Agent Orchestration은 개발 플랫폼, 런타임 서비스, 데이터 및 운영으로 나뉘며, 각 카테고리에는 다양한 기업들이 포함되어 있습니다. Applications는 비즈니스 기능과 산업별 솔루션으로 나뉘며, 고객 지원, 재무, 법률, 연구, 판매, 소프트웨어 개발 등 다양한 분야에서 AI 에이전트가 활용되고 있습니다.
- KAG - Knowledge Graph RAG Framework
OpenSPG 엔진과 LLM을 기반으로 한 KAG 프레임워크는 버티컬한 도메인 지식에 대해 논리적 추론 및 Q&A 솔루션을 구축하기 위해 설계되었습니다. 이 프레임워크는 전통적인 RAG의 벡터 유사도 계산의 모호성과 OpenIE 기반 GraphRAG의 노이즈 문제를 해결하며, 최신 SOTA 방법보다 우수한 성능을 제공합니다. 또한, 지식 그래프의 논리적/사실적 특성을 완전 통합하여 지식과 청크 상호 색인 구조, 개념적 의미 추론, 스키마 제약 지식 구축, 논리 형식 기반 하이브리드 추론을 통해 논리적/멀티홉 Q&A를 지원합니다.
- Sky-T1: $450로 o1 preview급의 고성능 추론 모델 훈련하기
Sky-T1-32B-Preview는 $450의 비용으로 훈련된 고성능 추론 및 코딩 모델로, 모든 세부 정보가 오픈소스로 제공되어 누구나 재현 및 개선이 가능합니다. 이 모델은 다양한 벤치마크에서 경쟁 모델들과 비교해 우수한 성능을 보이며, 특히 중간 난이도의 코딩 작업에서 강점을 나타냅니다. 이제 정말 적은 비용으로도 좋은 모델을 훈련해서 사용하는 시대가 오려나 봅니다.
- Cosmos - 손을 스캔해서 만드는 맞춤형 키보드
Cosmos는 스마트폰 카메라로 손을 스캔하여 손가락 길이와 움직임에 맞춰 키보드 키 위치를 조정하는 맞춤형 키보드를 제작할 수 있는 도구입니다. 이 키보드는 다양한 부가기능과 스위치, 키캡을 지원하며, 3D 프린터로 출력하거나 대행업체를 통해 제작할 수 있습니다. Cosmos는 오픈코어 모델로 대부분의 기능이 무료/오픈소스로 제공되며, 유료 Pro 기능에서는 추가적인 개인화 옵션을 제공합니다.
- Uv의 킬러 기능은 즉석(ad-hoc) 환경을 쉽게 만드는 것
uv의 가장 놀라운 기능은 즉석(ad-hoc) 환경을 쉽게 만드는 것으로, 복잡한 설정 없이 단 한 줄의 명령어로 다양한 Python 버전과 의존성을 관리할 수 있습니다. 예를 들어, Python 3.12와 pandas를 사용해야 할 경우,
uv run --python 3.12 --with pandas python
명령어만으로 간단히 실행할 수 있습니다. 이는 기존의 복잡한 가상 환경 설정 과정을 대체하며, 사용자가 기억하기 쉽고 흔적이 남지 않는다는 장점이 있습니다. - Firefox로 전환한 후 다시 Chrome으로 돌아가지 않은 이유
Firefox는 Chrome과 동일한 기본 기능을 제공하면서도 성능 저하 없이 많은 탭을 열 수 있으며, 기기 간 동기화가 원활합니다. 또한, Firefox View를 통해 효율적인 탭 관리가 가능하고, Pocket 기능으로 중요하지 않지만 잃고 싶지 않은 링크를 쉽게 저장할 수 있습니다. Firefox는 가벼운 리소스 사용과 독창적인 기능들로 인해 Chrome을 대체하기에 충분하며, 사용자에게 만족감을 줍니다.
- 18년간 리눅스 콘솔을 사용했고, 후회하지 않음
작성자는 18년간 리눅스 콘솔을 사용하며 다양한 배포판과 도구를 실험하고, 독립적인 학습 능력을 키웠습니다. 대학 시절부터 시스템 프로그래밍과 정규표현식을 학습하며 프로그래밍 기술을 발전시켰고, 임베디드 프로그래밍과 Java 엔터프라이즈로의 전환을 통해 더 높은 연봉과 선호하는 기술을 추구했습니다. 현재는 간단하고 안정적인 시스템을 유지하며, 개인화된 환경에서 문제를 해결하고 있으며, 향후 FreeBSD로의 전환 가능성을 고려하고 있습니다.
- Nvidia, 새로운 키노트의 제왕
Nvidia의 CEO 젠슨 황은 CES 2025에서 새로운 RTX 50 시리즈와 개인 AI 슈퍼컴퓨터인 Project Digits를 발표하며, 6,000명 이상의 청중을 끌어모았습니다. Nvidia의 라이브 키노트는 청중의 에너지와 참여를 통해 애플의 프리-필름 형식과 차별화되며, 기술 업계에서 새로운 선두주자로 자리 잡았습니다. 애플의 프리-필름 키노트는 효율적이지만, Nvidia의 라이브 퍼포먼스는 청중과의 상호작용을 통해 더 큰 감동을 주고 있습니다.
- ChatGPT Tasks 기능으로 매일 개발 공부받는 방법
OpenAI의 새로운 기능인 ChatGPT Tasks는 사용자가 설정한 시간이나 주기에 따라 특정 메시지를 푸시 또는 이메일로 전달하는 기능으로, 현재 유료 구독자만 사용할 수 있습니다. 이 기능을 활용하여 매일 Golang과 같은 특정 기술에 대한 랜덤 학습 항목을 생성하고 설명을 요청할 수 있으며, 메시지는 마크다운 형식으로 핵심 위주로 작성됩니다. 또한, 이 기능은 주식 현황 정리나 블로그 글 자동 작성 등 다양한 용도로 활용될 수 있습니다.
- PostgreSQL, 2024년 올해의 DBMS로 선정
PostgreSQL이 DB-Engines가 선정한 "2024 DBMS of the Year"로 2년 연속 1위를 차지하며, 총 5번째 수상을 기록했습니다. PostgreSQL은 35년 전 처음 등장한 이후 지속적인 성능 개선과 기술 혁신을 통해 높은 신뢰성과 안정성을 바탕으로 다양한 산업에서 채택되고 있으며, 오픈 소스 커뮤니티의 적극적인 기여로 업계를 선도하고 있습니다. 주요 경쟁자로는 클라우드 기반 데이터 웨어하우징 솔루션을 제공하는 Snowflake와 AI 기반 성능 최적화 및 하이브리드 통합을 지원하는 Microsoft의 Azure SQL Database 및 SQL Server가 있습니다.
- JavaScript 해싱 속도 비교: MD5 vs SHA-256
MD5는 과거에 사용되던 해시 알고리즘으로 현재는 보안성이 낮고, SHA-256은 더 높은 보안성과 빠른 처리 속도를 제공합니다. 최신 자바스크립트 런타임을 사용한 테스트에서 SHA-256은 Apple M2, Intel Ice Lake, Amazon Graviton 4 시스템에서 MD5보다 우수한 성능을 보였으며, 따라서 보안 문제가 있는 MD5 대신 SHA-256을 사용하는 것을 권장합니다.
- 내가 Common Lisp을 선택한 이유
작성자는 Clojure의 느린 시작 속도 문제로 인해 새로운 Lisp 언어를 찾던 중, Common Lisp의 다양한 기능과 강력한 커뮤니티를 발견하고 이를 선택하였습니다. Common Lisp은 독립 실행 파일 생성, 다양한 운영 체제 지원, 빠른 런타임 속도, 멀티스레딩 지원 등 여러 요구 사항을 충족하며, 특히 CLOS와 Condition System 같은 고급 기능이 매력적이었습니다. Common Lisp의 생태계는 Quicklisp 등을 통해 다양한 라이브러리를 제공하며, Vim 및 VS Code와의 통합도 잘 이루어져 있어 개발 환경을 구축하는 데 용이했습니다.
- GitDiagram - GitHub Repo를 인터랙티브 다이어그램으로 시각화
GitDiagram은 프로젝트를 빠르게 시각화하여 이해를 돕는 도구로, 시스템 디자인 및 아키텍처 디자인을 표시할 수 있습니다. 표시된 컴포넌트를 클릭하면 관련 소스파일 및 폴더로 이동할 수 있으며, 커스텀 명령어로 수정 및 재생성이 가능합니다. 이 도구는 Next.js, TypeScript, Tailwind CSS, FastAPI 등 다양한 기술 스택을 사용하여 개발되었습니다.
- Google, Gmail/Docs에 AI를 무료로 제공하면서 Workspace의 가격을 인상
Google은 Gmail, Docs, Sheets, Meet 등 Workspace 앱에 AI 기능을 모든 유료 기업 고객에게 무료로 제공하기 시작했으며, 이에 따라 기본 구독료가 월 $12에서 $14로 인상되었습니다. 주요 AI 기능으로는 이메일 요약, 디자인 생성, 회의 기록 자동화, NotebookLM, 작성 도구, Gemini AI 봇 등이 포함됩니다. Google은 Microsoft, OpenAI 등과 AI 기반 업무 툴 시장에서 경쟁하며, AI의 수직 통합 제품군을 강조하고 비용 문제를 해결하여 기업의 AI 도입을 촉진하려는 전략을 취하고 있습니다.
- 테슬라의 FSD v13은 생애에서 가장 놀라운 경험중 하나
투자 유튜버 Amit Kukreja는 자신의 Tesla Model Y로 40분간 FSD v13을 사용하며 고속도로와 복잡한 교차로 등 다양한 도로 환경에서 단 한 번의 개입 없이 주행을 완료했다며 그 경험이 놀랍다고 이야기 합니다. 그는 FSD가 차선 변경과 사람을 기다린 후 도로 횡단 등 모든 동작을 자연스럽게 수행하며, 물리적 현실에서 AI의 잠재력을 보여주었다고 평가했습니다. Kukreja는 이번 경험을 통해 FSD의 가치를 실감하며, 향후 완전 자율 주행이 실현되면 더 높은 생산성을 기대할 수 있다고 밝혔습니다.
- rqlite가 테스트하는 방법
rqlite는 가벼운 오픈 소스 분산 관계형 데이터베이스로, 신뢰성과 품질을 우선시하며 테스트 피라미드를 준수하여 단위 테스트, 시스템 수준 테스트, 엔드 투 엔드 테스트를 통해 품질을 유지합니다. 단위 테스트는 약 27,000줄로 구성되어 있으며, 시스템 수준 테스트는 Raft 컨센서스 모듈과 SQLite의 상호작용을 검증하고, 엔드 투 엔드 테스트는 주요 기능을 검증하는 스모크 테스트 역할을 합니다. 성능 테스트를 통해 최대 INSERT 속도와 동시 쿼리 처리 등의 메트릭을 평가하며, 테스트의 단순성을 유지하고 효율성을 중시하여 빠른 반복 개발을 가능하게 합니다.
✓ 사내 커뮤니케이션 도구에 GeekNews Bot을 추가해서 멤버들과 함께 새 글을 받아보세요
ㅤ→ Slack봇, 잔디봇, Teams봇, Discord봇, 구글 챗 봇, Swit 봇
✓ 긱뉴스는 RSS로도 구독 가능합니다
✓ 주위분들께 긱뉴스 위클리 - https://news.hada.io/weekly 뉴스레터를 추천해 주세요.