반응형
반응형

사람은
우연히 태어나
우연히 죽는 것이다.
혼자서 살고 혼자서 죽는다.
죽은 뒤는 무無다. 이런 생각을
받아들이는 것이 가능한지 아닌지에,
내셔널리즘에서 오는 현기증을 극복할 수
있을지 없을지가 달려 있다. 그러나
지금으로서는 이는 인간이라는
존재에게 너무도 힘겨운
일이다.


- 서경식의 《디아스포라 기행-추방당한 자의 시선》 중에서 -


* 세상은 우연으로
점철되어 있는 것으로 보입니다.
생각지도 않게 우연히, 우연히, 그 우연들이
겹치고 겹쳐 필연이 되고 역사가 됩니다.
우연을 가장한 필연입니다.
우연은 없습니다.


우연은 예상하지 못한 일이나 결과, 즉 인과관계 없이 일어나는 것을 의미하며, 필연은 인과관계에 의해 반드시 그렇게 될 수 밖에 없는 것을 뜻합니다. 즉, 우연은 예측 불가능한 일이고, 필연은 예측 가능한 일이라고 할 수 있습니다.
 
  • 우연 (偶然):
    원인 없이 예상치 못하게 일어나는 것을 의미합니다. 예를 들어, 복권에 당첨되는 것은 우연한 일입니다.
  • 필연 (必然):
    반드시 그렇게 되어야 할 것을 의미합니다. 예를 들어, 방탕한 생활을 하는 것이 필연적으로 몰락으로 이어지는 것은 필연입니다.
 
반응형

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

문지기  (0) 2025.06.09
페이스 조절  (1) 2025.06.09
달을 물고 나르는 새  (0) 2025.06.04
상처를 씻는다  (0) 2025.06.04
새도 사나워질 수 있다  (0) 2025.06.02
반응형

[python] zimport - 수많은 python 패키지를 압축하여 관리 (github.com/waveware4ai)

 

python 패키지를 관리하다 보면 수많은 파일들이 부담스러울때 필요한 zimport 를 소개합니다.

소개

  • zimport는 Python의 표준 zipimport를 대체하고 개선한 도구입니다.
  • zimport는 zip-archives에서 Python 패키지를 로드하고 관리하는 데 사용됩니다. 즉, Java jar처럼 Python 패키지를 관리할 수 있습니다. 또한 동적 라이브러리(.dll, .pyd, .so) 로드도 지원합니다.
  • 이 도구를 만들고 저의 python 작업 디렉토리는 약 160gb, 수백만개 파일에서 80G 1만 개 수준으로 줄어 들었습니다.

주요기능

  • zip-archive에서 동적 라이브러리 로딩 지원(.pyd, .dll, .so, .dylib)
  • zip-archive에서 내부 read() 시에 Java의 getresource처럼 내부 파일(예: 환경 파일) 읽기 지원
  • 컴파일된 .pyc 파일 지원(name.cpython-version.pyc 및 pycache 폴더)

사용된기술

  • importlib, meta_path, path_hooks
  • function intercept (standard open, stat, read, ctypes.WinDLL, ctypes.CDLL 등)

사용환경

  • python win/linux/macosx 지원
  • python version 3.8~3.12 지원

사용방법

python -m pip install zimport
import zimport

  • lib/site-package 디렉토리에서 패키지를 한꺼번에 압축하고, sys.path 에 추가하기만 하면 정상적으로 작동합니다.
  • 물론, 시간의 여유가 되신다면 패키지별로 압축하여, java 의 jar 처럼 의존성에 따라서 패키지를 sys.path 에 추가해 주시면 됩니다.
  • 또한 한번 압축된 package 는 share 하여 쓸수 있기 때문에 하드디스크 공간의 낭비를 줄여줄수 있다고 생각합니다.

마지막으로

  • 소스는 github 에 공개하였으며 현재 버전은 0.1.4 입니다. 몇몇 package (예를들어 transformers) 아직 지원하지 안으며, torch, torchvision, numpy, pandas 와 같은 major 패키지는 이상없이 동작함을 확인하였습니다.

https://github.com/waveware4ai/zimport

  • 또한, portable python 과 아주 궁합이 잘맞습니다. 이것도 github 에 업로드 하였습니다. linux 버전은 직접 컴파일하였고, windows 버전은 embeded 를 개작하였습니다.

https://github.com/waveware4ai/PortablePython

  • 사용시 발생하는 버그나 문제점들은 리포팅해주시면 개선하도록 하겠습니다.

반응형
반응형

is-an.ai - AI 프로젝트를 위한 무료 서브도메인 서비스 (is-an.ai)

 

https://is-an.ai/

 

is-an.ai - Free AI Subdomains

 

is-an.ai

 

 

AI 연구자와 개발자, 그리고 그냥 소소한 서비스들을 위한 서브도메인 제공 서비스 "is-an.ai"를 소개합니다.

소개

  • is-a.dev의 AI 프로젝트 버전으로, cool-project.is-an.ai 같은 서브도메인을 무료로 제공합니다.
  • GitHub이나 DNS 지식 없이도 쉽게 사용 가능해요.
    • Github Pages, Vercel App, Cloudflare Pages용 도메인으로도 간편히 사용할 수 있습니다.
  • .ai 나 기타 도메인들이 간단한 프로젝트에 사용하기에는 너무 비싸서 만들었습니다.

작동 방식

  • GithubOrg/is-an-ai와 Cloudflare가 연동되어 있습니다.
  • 레포지토리에 json 형식의 record가 추가되면 Github Actions으로 record를 검증하고 CF에 추가합니다.
  • 유저는 직접 PR을 올려서 record를 추가할 수도 있고, is-an.ai 웹사이트에서 추가할 수도 있습니다.
  • 웹사이트를 이용할 경우 봇을 이용해 record를 추가합니다.

현재 레코드, 액션, 웹 전부 오픈소스로 공개해두었어요.

  • 기억에 잘 남는 도메인이 필요할 때
  • 사이드프로젝트 배포해야하는데 .vercel.app 이나 .pages.dev 는 너무 데모 같을 때
  • 그냥 api 서버용 아무 도메인이나 하나 필요할 때

is-an.ai에서 도메인 하나씩 집어가세요 🤗

 
반응형
반응형

"개발자가 대체된다"는 유행은 왜 반복될까 ?

The Recurring Cycle of 'Developer Replacement' Hype

 

https://alonso.network/the-recurring-cycle-of-developer-replacement-hype/

 

 

  • NoCode부터 AI까지, 개발자를 대체하겠다는 기술은 반복적으로 등장하지만 실제로는 기술 변화에 따라 역할이 변형
  • NoCode는 개발자를 없애지 않고 NoCode 전문가와 통합 기술자를 탄생시켰고, 클라우드는 DevOps 엔지니어라는 고급 직군을 만들었음
  • 현재 AI 개발도구도 비슷한 길을 걷고 있으며, AI가 코드를 짜는 시대에도 시스템 아키텍처 설계 능력은 여전히 핵심임
  • AI는 로컬 최적화는 잘하지만 전체 시스템 설계에는 약하며, 빠른 생성 속도로 인해 구조적 실수를 빠르게 고착화할 위험이 있음
  • 개발자 대체는 결국 기술 스택 변화에 따른 진화와 고도화일 뿐, 본질적 역할은 계속 필요함

From NoCode to AI-Assisted

  • 몇 년 주기로, 소프트웨어 개발자를 대체할 것이라 주장하는 새로운 기술이 등장함
  • "코딩의 종말", "이제 누구나 앱을 만들 수 있음", "아이도 코딩한다" 등 과장된 기대가 포함된 유사한 제목들이 반복적으로 생성됨
  • 경영진과 컨설턴트들이 이 흐름에 주목하고, 예산이 이동하는 모습이 나타남
  • 하지만 현실은 항상 “대체”가 아니라 “변형”이었음
    • 복잡해진 기술을 다루는 새로운 역할 고도화된 전문직이 탄생하고, 임금 수준도 상승하는 경향이 반복적으로 드러남
  • NoCode는 전문 기술자 없이 앱을 만들 수 있다는 기대를 만들었지만, 결국 데이터 모델링, 통합, 유지보수 등 복잡한 문제가 존재했고 이를 해결할 새로운 직군이 탄생함
  • 클라우드는 시스템 관리자 없이 운영 가능하다는 믿음을 줬지만 실제로는 DevOps 엔지니어라는 고급 전문성을 요구하게 되고, 임금도 상승함
  • AI도 마찬가지로, “AI가 코드를 대신 작성”할 수 있을 것 같지만 실제로는 AI를 관리·오케스트레이션 할 수 있는 숙련 개발자의 중요성이 더욱 커짐

반복되는 대체 약속의 회전목마(The Endless Carousel of Replacement Promises)

NoCode/LowCode 혁신

  • 직관적인 인터페이스로 모든 사용자가 앱을 만들 수 있다는 NoCode/LowCode 혁신이 등장
  • 하지만 실제 현장에서는 데이터 모델 설계, 기존 시스템과 데이터베이스 통합, 예외 처리, 유지 관리 등 신규 문제가 발생함
  • 이에 따라 단순 개발자가 아닌, 도메인 지식과 기술적 한계를 동시에 이해하는 NoCode 전문가가 필요해짐
  • 이들은 기존 개발자보다 더 높은 연봉을 받음

클라우드 혁명

  • 클라우드로 이전하면 시스템 관리자가 필요 없어질 거라는 기대가 컸음
  • 하지만 클라우드 관리 전문성 복잡성이 오히려 증가함
  • 기존 시스템 관리자는 DevOps 엔지니어로 변신하여 더 높은 급여를 받고, 인프라 자동화, 배포 파이프라인, 분산 시스템 관리 등 업무 수준이 고도화됨
  • 업무는 사라진 것이 아니라, 새로운 작업 형태로 진화함
  • 마이크로서비스 전환에서도 복잡성이 커지고, 결국 근본적으로 시스템을 관리하는 전문가의 역할이 중요함이 드러났음

오프쇼어(Offshore) 개발 바람

  • 해외 아웃소싱으로 비용을 절감할 수 있다는 믿음이 생겨났지만, 커뮤니케이션 문제, 품질 저하, 도메인 지식 부족으로 어려움 발생
  • 결국 분산 팀 구조조, 명확한 소유권, 강력한 아키텍처 등으로 전략이 변화하며, 초기 기대했던 것보다 전체 비용이 증가하는 결과를 낳음

AI 코딩 어시스턴트 혁명

  • 이제는 AI가 코드를 자동으로 생성한다는 약속이 화두임
  • 초기 현실에서는, AI가 만들어주는 코드는 종종 미묘한 오류와 일관성 문제를 내포함
  • 시니어 엔지니어가 AI 결과를 검토·수정하는 데 많은 시간을 쓰며, 경험 있는 개발자일수록 훨씬 더 많은 가치를 창출함
  • AI 보조만으로 구축된 시스템은 체계적인 아키텍처가 부재한 경우가 많음
  • 즉, 기술이 기술자를 대체하는 것이 아니라, 더 높은 추상화 계층으로 기술자의 전문성을 끌어올리는 것임

이번 사이클이 특별한 이유

  • 사람들이 간과하는 핵심: 코드는 자산이 아니라 부채
  • 빠르고 쉽게 코드를 만들수록, 유지보수와 보안, 리팩터링의 부담도 커짐
  • AI는 함수 단위 최적화는 가능하지만 전체 시스템 설계 능력은 부족
  • 구현 속도가 빨라질수록 구조적 실수를 빠르게 고착화할 위험 존재
  • 결국, AI 시대에도 진정한 자산은 시스템 아키텍처 설계 능력이며, 이는 대체가 아닌 강화의 대상
  • "AI가 개발자를 대체한다"는 주장은 다음의 근본적 오해에서 비롯됨
    • 코드는 자산이 아니라 부채라는 사실
    • 코드는 지속적인 유지·검증·보안 관리·교체가 필요하며, 그 라인 수만큼 부채가 증가함
  • AI가 코드를 빠르게 만들어준다는 것은, 부채를 그만큼 빠르게 발생시킨다는 것에 불과함
  • 즉, AI는 로컬 최적화(함수, 부분 기능)는 잘하지만, 글로벌 설계·아키텍처 결정은 부족함
  • 구현 속도가 빨라질수록, 잘못된 설계가 시스템 전체에 '굳어지는' 위험성이 커짐
  • 일회성 단기 사이트 제작에는 문제가 없으나, 장기적으로 발전하는 시스템에는 치명적임
  • 기술 혁신의 패턴은 변함없이 유지됨
    • 시스템 관리자는 DevOps 엔지니어가 되고, 백엔드 개발자는 클라우드 아키텍트가 됨
  • 하지만 AI는 모든 것을 가속화함. 살아남고 발전하는 기술은 코드 작성이 아님
  • 그것은 바로 시스템을 설계하는 것(Architecting systems). AI가 할 수 없는 유일한 일이 바로 그것임

 

 

반응형
반응형

봐라, 저 새 지금
낮달을 물어 나르고 있나 봐

새의 입에 물린 달이 말했다
들어 봐! 저 새가 물어 나르는 시간 속에
긴 숨소리 같은 것이 들리지 않니

나는 그저 달을 우두커니 보고 있었다
그가 조금씩 내 안으로 들어오고 있었다
그와 나는 하나가 되었다


- 문재규의 시집 《달을 물어 나르는 새》 에 실린
  시 〈달을 물어 나르는 새〉 중에서 -


* 새와 달과 내가
하나가 되는 순간이 있습니다.
새가 달을 물고 나는 것을 바라보는 찰나,
새도 달도 내 안에 하나 되어 들어옵니다.
역사와 현실과 내가 하나가 되는 순간도
있습니다. 어둠의 골짜기에서 벗어나
빛을 바라보는 찰나, 모든 것은
빛 속에 하나가 됩니다.

반응형

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

페이스 조절  (1) 2025.06.09
우연은 없다  (0) 2025.06.05
상처를 씻는다  (0) 2025.06.04
새도 사나워질 수 있다  (0) 2025.06.02
모래알  (0) 2025.06.02
반응형

자고 나면 피고
자고 나면 지고
자고 나면 잎이 나오고
자고 나면 연초록 잎 짙어지고
자고 나면 아침이
금방 노을이 내리고

상처 난 가지에 핀 봄 꽃사태
그 꽃에 취해 상춘을 하며
여러 모양의 상처를 씻는다


- 권희수의 시집《밀려왔다 밀려갔을》에 실린
  시〈상처를 씻는다〉전문 -


* 나무도 꽃도
상처와 함께 자라납니다.
더 단단한 옹이가 생기고, 더 강력한 향기를
풍깁니다. 사람을 취하게 합니다. 사람도,
역사도, 고난과 상처 속에 자랍니다.
지나간 고난 속에 뜻이 있고,
씻고 또 씻어낸 상처 속에
미래가 있습니다.

반응형

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

우연은 없다  (0) 2025.06.05
달을 물고 나르는 새  (0) 2025.06.04
새도 사나워질 수 있다  (0) 2025.06.02
모래알  (0) 2025.06.02
새가 길을 찾는 방법  (0) 2025.05.30

+ Recent posts