반응형
반응형

[python] I'm Switching to Python and Actually Liking It  파이썬으로 전향중이고, 생각보다 꽤 마음에 들어요  

 

https://www.cesarsotovalero.net/blog/i-am-switching-to-python-and-actually-liking-it.html

 

I’m Switching to Python and Actually Liking It

I’ve started writing more Python code lately (because of… AI, you know). In this post, I share the tools, libraries, configs, and other integrations I use for building production-grade Python applications following a frontend-backend architecture.

www.cesarsotovalero.net

 

 

  • 최근 AI 개발의 트렌드로 인해 본격적으로 파이썬 학습 및 사용을 시작했고, 이제는 그 생태계에 큰 만족을 느끼고 있음
  • Python은 과거보다 훨씬 빠르고 현대적인 언어로 발전했고, Cython을 통한 성능 향상 등 급격한 발전을 체감함
  • uv, ruff, pytest, Pydantic 등 최신 개발 도구와 라이브러리를 본인의 워크플로우에 적극 도입하여 개발 생산성을 높이고 있음
  • 프로덕션 환경과 Jupyter 노트북/스크립트 기반 개발 간의 차이를 줄이기 위한 프로젝트 구조 및 자동화 방안도 적용
  • GitHub Actions, Docker 등을 활용해 CI/CD, 테스트, 인프라 관리를 효율적으로 구축함.

 

I’m Switching to Python and Actually Liking It 요약

왜 파이썬으로 전향했는가

  • AI 중심의 개발 환경에서는 Python이 사실상의 표준 언어로 자리잡고 있음
  • 과거에는 단순한 스크립트 작성에만 사용했지만, 최근에는 RAG, 에이전트, 생성형 AI 등의 “실전용 앱”을 만들기 위해 진지하게 사용하게 되었음
  • 그 과정에서 Python 생태계가 과거에 비해 매우 진화했다는 사실을 체감하게 되었음

Python의 강점 3가지

  1. 풍부한 라이브러리와 도구 생태계: 데이터 처리, 분석, 웹, AI에 특화
  2. Cython 등으로 인한 성능 개선: 컴파일 기반 최적화 가능
  3. 개선된 문법 가독성: __init__, __new__ 같은 레거시 문법은 감춰지고, 더 직관적인 문법 제공

주요 도구 및 설정

  • uv
    • Astral에서 제공하는 최신 파이썬 패키지 매니저 및 빌드 도구
    • 의존성 관리, 가상환경 생성, 프로젝트 초기화 등 대부분의 작업을 빠르게 처리함
    • pyproject.toml이 핵심 설정 파일로, 모든 메타데이터 및 의존성 정보가 통합됨
    • uv init, uv add, uv sync 명령어로 빠르게 프로젝트 환경 구성 가능
  • ruff
    • 초고속 파이썬 린터 및 코드 포매터
    • isort, flake8, autoflake 등을 통합한 도구
    • ruff check, ruff format 으로 린팅 및 자동 수정
    • PEP 8 코딩 스타일 가이드 기본 지원
  • ty
    • Astral이 만든 Python용 정적 타입 검사기
    • typing과 조합해 정적 분석, 초기 버그 방지에 효과적
    • 초기 개발 단계임에도 안정적으로 사용할 만한 수준임
  • pytest
    • 단위테스트 및 확장 가능한 테스트 환경을 제공하는 대표적인 파이썬 테스트 프레임워크
    • 간단한 파일 네이밍 규칙과 명령어 한 줄로 바로 통합 테스트 가능함
      • test_*.py로 테스트 구성 후 uv run pytest로 실행
    • 간결한 문법, 풍부한 플러그인 생태계
  • Pydantic
    • 데이터 검증 및 환경 설정 관리 라이브러리
    • .env 환경변수 기반 설정 로딩 및 타입 검증
    • BaseSettings 클래스를 통해 API 키나 DB URL 등을 안전하게 관리
  • MkDocs
    • 파이썬 프로젝트의 정적 웹사이트 및 문서 생성을 간편하게 지원
    • 오픈소스 프로젝트 스타일의 미려한 디자인 빠른 적용 가능
    • GitHub Pages 연동도 용이
  • FastAPI
    • 빠른 RESTful API 구축 프레임워크
    • 자동 검증 및 문서화, 빠른 성능, 쉬운 Pydantic 통합 장점
    • Starlette 및 Pydantic 기반으로 높은 타입 안정성과 성능 제공
  • Dataclasses
    • 파이썬 표준 기능으로 데이터 중심 클래스를 간편하게 정의할 수 있음
    • 특별 메소드 자동 생성으로 보일러플레이트 코드 대폭 감소

버전 관리 및 자동화

  • GitHub Actions
    • project-api와 project-ui 각각에 대해 별도 CI 파이프라인 구성
    • 다양한 OS에서 CI 파이프라인 구축에 최적화된 워크플로우 제공
    • 도커 기반 테스트 환경으로 프로덕션과 동일한 환경에서 테스트 시행 가능
  • Dependabot
    • 자동 의존성 최신화 및 보안 패치 관리를 자동화함
  • Gitleaks
    • 민감 정보(비밀번호, API 키 등) 유출 방지 도구로 git 커밋 전에 보안 검사를 수행함
  • Pre-commit Hooks
    • 커밋 전 자동 린팅, 포매팅, 보안 검사를 위한 도구임
    • ruff, gitleaks 등과 함께 사용해 코드 일관성과 품질 유지

인프라 자동화

  • Make
    • make test, make infrastructure-up 등의 명령어로 일관된 개발 워크플로우 지원
    • 프로젝트 루트와 project-api에 각각 Makefile 존재
  • Docker & Docker Compose
    • project-api, project-ui 각각을 컨테이너로 분리 실행
    • docker compose up --build -d 한 줄로 전체 앱 실행 가능
    • Dockerfile에는 uv 설치, FastAPI 앱 실행 명령어 포함

마무리

  • 위와 같이 최신 파이썬 개발 환경에서는 효율적이고 견고한 프로덕션 워크플로우를 구성할 수 있음
  • AI, 데이터, 웹 개발 등 다양한 영역에 걸쳐 파이썬 생태계의 성장과 도구 발전으로부터 많은 이점을 경험 가능
  • 모노레포 구조, 자동화 도구, 린터 및 타입 검사기, 즉각적인 테스트 환경, 문서화, 인프라 오케스트레이션까지 하나의 통합된 개발 문화를 구현할 수 있음

https://news.hada.io/topic?id=22028&utm_source=weekly&utm_medium=email&utm_campaign=202529

 

파이썬으로 전향중이고, 생각보다 꽤 마음에 들어요 | GeekNews

최근 AI 개발의 트렌드로 인해 본격적으로 파이썬 학습 및 사용을 시작했고, 이제는 그 생태계에 큰 만족을 느끼고 있음Python은 과거보다 훨씬 빠르고 현대적인 언어로 발전했고, Cython을 통한 성

news.hada.io

 

반응형
반응형

사람이 그립다
많은 사람 속에 있어도
사람이 그립다
그냥 너 한 사람.


- 김두엽, 나태주의 시화집 《지금처럼 그렇게》에 실린
시 〈그냥〉 전문 -


* 많은 사람도 아닙니다.
필요한 것은 당신 한 사람,
소중한 것도 당신 한 사람,
그냥, 당신 한 사람뿐입니다.

반응형

'아침편지' 카테고리의 다른 글

큰 뜻, 큰 꿈  (0) 2025.07.24
니체가 글을 쓰는 이유  (0) 2025.07.23
'나쁜 노력'은  (0) 2025.07.21
교감  (0) 2025.07.21
'아픈 데는 없어요?'  (0) 2025.07.18
반응형

[AI] Visual Studio Code(VS Code)에서 사용할 수 있는 코드 어시스턴트인 Copilot과 Gemini를 비교

 

 

 

Visual Studio Code(VS Code)에서 사용할 수 있는 코드 어시스턴트인 Copilot과 Gemini를 비교해 드리겠습니다. 두 도구 모두 AI 기반 코드 생성 및 지원 도구이지만, 지향점과 강점에 차이가 있습니다.


VS Code용 코드 어시스턴트 비교: Copilot vs Gemini

구분 GitHub Copilot Gemini (주로 Google Cloud Code for VS Code 통합)
개발 주체 GitHub / Microsoft Google
기반 AI 모델 OpenAI Codex (GPT-3 계열) Google Gemini (멀티모달 대규모 언어 모델)
주요 기능 - 실시간 코드 완성 및 제안: 함수, 코드 블록, 테스트 코드 등
- 주석을 코드로 변환: 자연어를 코드로 자동 생성
- 반복적인 코드 작성 효율화
- 코드 생성, 완성, 수정, 디버깅 지원: 프롬프트를 통한 코드 생성 및 개선
- 코드 설명 및 해석: 코드의 작동 방식 설명
- 오류 분석 및 해결 제안: 에러 메시지에 대한 디버깅 도움
- 대화형 지원: 자연어 질의응답을 통한 문제 해결 및 학습
VS Code 통합 GitHub Copilot 확장 프로그램 (매우 긴밀하게 통합) Google Cloud Code 확장 프로그램을 통한 통합 (주로 Duet AI/Gemini 기반)
강점 - 압도적인 코드 완성 능력: 방대한 코드 데이터 학습을 통한 높은 정확도
- 직관적인 사용성: 코드 작성 중 자동 제안
- 다양한 프로그래밍 언어 지원: 폭넓은 언어 커버리지
- 상용화 및 안정성: 오랜 기간 서비스되어 안정적
- 종합적인 개발 지원: 코드 작성 외 설명, 분석, 디버깅 등 폭넓은 기능
- 대화형 인터페이스: 복잡한 질문이나 개념 설명에 강점
- Google Cloud 서비스 연동: GCP 사용자에게 유리
- 멀티모달 능력 (향후 확장 가능성): 코드 외 다양한 데이터(이미지 등)와 연동 가능성
주요 사용 대상 - 코드 작성 속도를 높이고 싶은 개발자
- 반복적인 코드, 상용구(boilerplate) 작성을 최소화하고 싶은 경우
- 다양한 언어를 다루는 개발자
- 코드 이해 및 디버깅에 도움이 필요한 개발자
- 새로운 기술 학습 및 개념 이해가 필요한 경우
- Google Cloud 환경에서 개발하는 개발자
- 대화형으로 문제 해결을 선호하는 개발자
비용 유료 (개인 월별 또는 연간 구독), 학생/오픈소스 기여자 무료 유료 (Google Cloud Duet AI/Gemini for Developers 구독 모델, 또는 특정 클라우드 서비스 사용 시 포함)
Sheets로 내보내기

어떤 것을 선택해야 할까요?

  • 코드 자동 완성 및 작성 생산성이 최우선이라면 GitHub Copilot이 현재까지는 가장 강력하고 직관적인 도구로 평가받습니다. 코드를 쓰는 '속도'를 비약적으로 높여줍니다.
  • 코드 작성뿐만 아니라 코드 이해, 디버깅, 질문/답변, 학습 등 좀 더 종합적이고 대화형의 개발 지원을 원한다면 **Gemini (Duet AI)**가 더 적합할 수 있습니다. 특히 Google Cloud 환경에서 작업한다면 시너지가 큽니다.

두 도구 모두 각각의 장점이 명확하므로, 개인의 개발 스타일과 주력하는 작업에 따라 선택하거나, 상황에 따라 필요하다면 함께 활용하는 것도 고려해 볼 수 있습니다.

 

반응형
반응형

[AI] 구글, '제미나이 코드 어시스트' 대규모 업데이트… 'AI 에이전트 모드' 무료 공개

 

"AI가 코드를 짜는 것"에서 나아가, "AI와 함께 코드를 설계하고 협업하는 방식"으로... 대화형 피드백 루프를 통해 보다 지능적인 개발 파트너로 진화

로고 이미지

구글이 인공지능(AI) 코딩 도우미인 '제미나이 코드 어시스트(Gemini Code Assist)'에 새로운 '에이전트 모드(Agent Mode)'를 포함한 대규모 업데이트를 17일(현지시간) 공개했다. 

제미나이 CLI(Command Line Interface) 및 에이전트 모델은 물론, 일상적인 워크플로를 더욱 원활하고 직관적으로 만들어 주는 IDE(Integrated Development Environment-통합개발환경) 기능 개선도 포함되었다. 개인 사용자는 버추얼 스튜디오 코드(Visual Studio Code-보기) 플러그인이나 젯브레인스 IDE(JetBrains IDE-보기) 확장 프로그램을 설치하여 무료로 시작할 수 있다

향후 기능 업데이트는 공식 릴리스 노트(보기)를 통해 확인할 수 있다. 이번 제미나이 코드 어시스트 업데이트를 통해  일상적인 개발 워크플로우를 더욱 원활하고 직관적으로 만들어 개발 생산성을 크게 향상시킬 것으로 기대된다.

에이전트 모드... ‘도우미’ 넘어 ‘공동 개발자’로

신규 기능인 에이전트 모드는 기존의 단일 파일 기반 코드 생성 기능을 넘어, 프로젝트 전체 구조와 코드베이스를 분석해 복잡한 멀티파일 작업까지 수행할 수 있는 AI 기능이다.

구글은 최근 개발자를 위한 두 가지 주요 AI 업데이트를 발표했다. 제미나이 CLI(보기)는 AI를 명령줄에 직접 통합하여, 개발자가 터미널에서 바로 질문하고 코드를 생성하며 디버깅할 수 있게 함으로써 컨텍스트 전환을 없앤다.

이를 더욱 발전시킨 제미나이 코드 어시스트의 새로운 에이전트 모드는 AI 페어 프로그래머 역할을 한다. 이는 전체 코드베이스를 분석하여 복잡한 다중 파일 작업을 계획하고 실행한다. 예를 들어, 새로운 기능을 구현하거나 대규모 리팩토링을 단일 프롬프트에서 수행함으로써 개발 프로세스를 크게 가속화한다. 이를 도구라기보다는 작업을 위임하는 방식으로 생각할 수 있다. 에이전트 모드는 지난달 'Insiders' 채널 개발자들에게 먼저 공개되었다.

에이전트 모드의 강점은 포괄적인 프로젝트 이해력에 있다. 에이전트는 열려 있는 파일뿐만 아니라 전체 코드베이스를 분석하여 애플리케이션의 아키텍처, 종속성, 코딩 패턴 및 다양한 구성 요소 간의 관계를 모델링한다.

이를 통해 제안 사항이 컨텍스트를 인식하게 되므로, 에이전트는 필요한 모든 구성 요소에 걸쳐 기능을 구현하는 방법을 알게 된다. 또한 기존 코딩 스타일을 존중하여 더 높은 품질의 일관된 코드를 생성한다. 이러한 프로젝트 전반에 대한 인식은 오류를 줄이고, 일치하지 않는 제안을 수정하거나 컨텍스트를 설명하는 데 드는 시간을 줄여준다.

프로젝트에 대한 완벽한 이해를 바탕으로, 코드 어시스트의 에이전트는 다중 파일 편집을 가능하게 한다. 이전에는 중요한 기능을 구현하는 것이 조각조각 진행되는 과정이었을 수 있다. 한 파일에 대한 코드를 생성하고 다른 파일에 대한 코드를 생성한 후, 모든 것을 수동으로 연결해야 했다. 에이전트 모드를 사용하면 이제 단일 요청을 통해 코드 어시스트가 코드베이스 전체의 모든 변경 사항을 조율한다.

이를 통해 개발자는 하나의 프롬프트만으로  <대규모 리팩토링> "모든 API 엔드포인트가 새 인증을 사용하도록 업데이트해줘." <기능 구현> "새로운 풀스택 사용자 설정 페이지를 추가해줘." <종속성 업그레이드> "코어 라이브러리를 업데이트하고 모든 호환성 문제를 수정해줘." 등으로 단일 프롬프트로 대규모 작업을 지시할 수 있다.

에이전트 모드는 코드 구조, 의존성, 아키텍처 패턴까지 분석해 기존 개발 스타일을 유지하면서 기능을 구현하며, 모든 변경 사항은 사전에 상세한 계획 형태로 사용자에게 제시된다. 사용자는 이를 검토, 수정 또는 거절할 수 있어 개발 주도권은 여전히 사람에게 있다.

이러한 협력적 루프는 AI의 속도와 규모를 사용자의 도메인 전문 지식 및 아키텍처 비전과 결합한다. 이는 최종 결과가 기능적일 뿐만 아니라 사용자가 정확히 의도한 대로임을 보장한다.

또한 안심할 수 있도록 지난 6월 업데이트에서는 체크포인트로 되돌리는 기능이 도입되었다. 일련의 제안을 수락했지만 올바르지 않다고 판단될 경우, 영향을 받는 모든 파일을 변경 사항이 적용되기 전 상태로 쉽게 되돌릴 수 있어 과감한 실험을 장려한다.

IDE 개선 기능으로 더 정밀한 제어와 원활한 경험

구글은 지난달 컨텍스트에 대한 더 세밀한 제어를 제공하는 업데이트를 출시했다. 코드 어시스트는 이제 .gitignore 파일을 자동으로 적용하고, 민감하거나 레거시 코드를 무시하기 위해 .aiexlude 파일을 생성할 수 있도록 한다. 반대로, 특정 코드 스니펫에 채팅 초점을 맞춰 더 정확한 질문을 할 수 있다. 또한 터미널 출력을 채팅에 직접 첨부하여 명령에 대해 묻거나 오류를 디버깅할 수 있어 로그를 복사-붙여넣기할 필요가 없다.

이러한 기능들은 신호 대 잡음비(signal-to-noise ratio)에 대한 정밀한 제어를 제공한다. 관련 없는 파일을 제외하고 특정 스니펫 또는 터미널 로그에 집중함으로써 더 빠르고 정확하며 관련성 높은 답변을 얻을 수 있어 디버깅 및 분석 속도를 크게 향상시킨다.

또한 채팅 경험이 더 반응적이고 직관적으로 개선되었다. 가독성을 높이기 위해 코드 제안이 깔끔한 미리 보기 블록으로 나타나며, 이를 접거나 확장하도록 구성할 수 있다. 프로젝트 탐색도 더 쉬워졌는데, 채팅에서 코드 어시스트가 언급하는 파일 이름은 이제 편집기에서 즉시 열리는 클릭 가능한 링크가 되었다.

긴 응답의 경우, 제미나이 코드 어시스트가 입력하는 동안 채팅이 자동으로 스크롤되지만, 원하면 이 기능을 비활성화할 수 있다. 또한 질문을 했는데 잘못된 질문이었거나 응답이 너무 오래 걸린다고 판단되면, 진행 중인 채팅 응답을 즉시 중지할 수 있어 시간과 좌절감을 줄여준다.

이러한 개선 사항들은 제미나이 코드 어시스트를 더 원활하고 효율적으로 사용할 수 있게 한다. 스크롤하거나, 텍스트를 파싱하거나, 파일을 수동으로 탐색하는 데 시간을 덜 소비하게 하여 개발자가 '몰입 상태(state of flow)'를 유지하고 가장 중요한 문제 해결에 집중할 수 있도록 한다.

한편, 제미나이 코드 어시스트는 단순한 코드 생성기를 넘어, 코드 품질 유지, 개발자 스타일 학습, 대화형 피드백 루프를 통해 보다 지능적인 개발 파트너로 진화하고 있다. 특히 이번 업데이트는 "AI가 코드를 짜는 것"에서 나아가, "AI와 함께 코드를 설계하고 협업하는 방식"으로 전환되고 있음을 시사한다.

 

 

https://www.aitimes.kr/news/articleView.html?idxno=35736

반응형
반응형

우리가 어떤 일을 할 때
역치 이상의 충분한 노력을 기울인 후에도
걱정과 두려움에 쌓여 안절부절 못하면 우리의 노력은
'나쁜 노력'이 되어 버린다. 그 결과 우리가 노력하는 방향과
반대 방향으로 저항력이 작용하게 된다. 따라서 노력을 할
때에는 그것에 푹 빠져들어 즐길 수 있는 몰입의 순간들을
가능한 많이 가지고, 과정 자체를 즐길 수 있도록
주의를 기울이는 것이 중요하다. 우리 마음에서
창조되는 감정은 마치 전자석처럼 유사한
진동의 일들이 자연스럽게 스스로에게로
끌어당기기 때문이다.


- 조우석의 《간헐적 몰입》 중에서 -


* 어떤 일에 최선을 다하되
그 결과를 하늘에 맡긴다는 말이 있습니다.
안절부절하며 결과에 연연하면 노력하는 모든 과정이
힘들어집니다. 팽팽하게 긴장했던 좌뇌적 사고를 내려놓고
마음을 편안히 하면 오히려 자신이 노력했던 것보다
더 놀라운 성과가 주어질 수 있습니다. 그래서
주어지는 결과는 그것이 무엇이든 좋습니다.
'나쁜 노력'은 스스로에게도 나쁩니다.

반응형

'아침편지' 카테고리의 다른 글

니체가 글을 쓰는 이유  (0) 2025.07.23
그냥 너 한 사람  (0) 2025.07.22
교감  (0) 2025.07.21
'아픈 데는 없어요?'  (0) 2025.07.18
기쁜 사람은 기쁨을  (0) 2025.07.17
반응형

교감

 

안 보고도 안다

 

반응형

'아침편지' 카테고리의 다른 글

그냥 너 한 사람  (0) 2025.07.22
'나쁜 노력'은  (0) 2025.07.21
'아픈 데는 없어요?'  (0) 2025.07.18
기쁜 사람은 기쁨을  (0) 2025.07.17
마음으로 보고 들으면  (0) 2025.07.16

+ Recent posts