회원가입 | 고객센터 |
DESIGNONEX
디자인원엑스
로그인 회원가입
고객센터
Latest Version
DXCMS v10.4.02026.06.15 배포 D+133일 (4개월)
  • 169다운로드
  • 0테마
  • 63플러그인
  • 7스킨

《DXCMS를 만든 사람 이야기》

D DX관리자
2026.10.25 21:27(수정됨) 13 0 1

제 소설이예요.

허구와 진실로 소설을 만들었습니다.

한번 꼭 읽어주세요.


DXCMS를

만든 사람 이야기

1쪽
DXCMS를 만든 사람 이야기 아직 완성되지 않았기에계속 만들어 가는 사람의 기록 DESIGNONEX · DXCMS
2쪽
이 책을 읽기 전에 이 글은 성공을 미리 선언하는 홍보물이 아닙니다. DXCMS를 만든 사람이 어떤 문제를 풀고 싶었는지, 어떤 현실 속에서 개발을 이어 왔는지, 그리고 아직부족한 생태계를 어떻게 바라보는지를 담은 이야기입니다. 개인적인 경험을 바탕으로 하되, 확인되지 않은 장면이나 대화를 사실처럼 꾸며넣지 않았습니다. 특정 사건의 세부 감정과 당시의 생각을 단정하기보다, 지금까지 공유된 개발 방향과 삶의 맥락을 중심으로 구성했습니다. 차례 프롤로그 1장. 시작은 불편함에서 2장. DX라는 이름 3장. 코어를 지킨다는 것 4장. 작은 서버에서도 5장. 생계를 이어 가며 6장. 사고와 회복 7장. AI 시대의 개발 8장. 보안은 기능이 아니다 9장. 멀티사이트의 가능성 10장. 확장은 생태계의 씨앗 11장. 오픈소스의 책임 12장. 패치의 무게 DXCMS를 만든 사람 이야기2
3쪽
13장. 디자인은 겉모습만이 아니다 14장. 혼자 만드는 일의 한계 15장. 숫자보다 오래 남는 것 16장. 아직은 진행형에필로그 DXCMS를 만든 사람 이야기3
4쪽
프롤로그 아직 완성되지 않은 이야기 어떤 이야기는 성공한 뒤에야 쓰인다. 숫자가 커지고, 사람들이 알아보고, 누군가 그 이름을먼저불러주기 시작한 다음에야 사람들은 그출발점을궁금해한다. 그러나 이 이야기는조금 다른곳에서 시작한다. 아직 모든 것이갖춰지지않았고, 생태계라고 부를 만큼넓은울타리도없지만, 그래도멈추지 않는 한 사람의 자리에서 시작한다. 그가 만든 것은 단순한 게시판프로그램이 아니었다.웹사이트를 만들고, 기능을연결하고, 디자인을 바꾸고, 필요한 서비스를 확장할수있는 자신만의 구조였다. 그는 그것을 DXCMS라고 불렀다. 이름 안에는 CMS라는익숙한 단어가있었지만, 그가 바라본방향은콘텐츠관리에만머물지 않았다. 프레임워크와 CMS가 함께움직이는 구조, 그리고 그 구조를 이용해각자의 서비스를 만들어갈수있는 가능성이었다. 이 책은 성공을 과장하기위한 기록이 아니다. 모든 선택이옳았다고주장하려는 글도 아니다. 아직 남아있는 문제와 부족한 생태계까지포함해, 한 사람이왜만들었고 어떻게 계속 만들고있는지를 담으려는 이야기다. “아직 완성되지 않았다는 사실은, 아직 만들 수 있 는 것이 남아 있다는 뜻이기도 하다.” DXCMS를 만든 사람 이야기4
5쪽
1장. 시작은 불편함에서 남의틀을 쓰는 것과 나의 구조를 만드는 것 개발을 하다 보면 어느순간도구가 나를돕는지, 아니면내가 도구의 방식에맞춰움직이는지헷갈릴때가있다. 처음에는 이미 만들어진 시스템이 편하다.설치하고,설정하고, 확장 기능을붙이면빠르게결과를얻을수있다. 하지만요 구가조금씩달라지면 사정도달라진다.원하는 방식으로 고치려다핵심파일을건드리고,업데이트를걱정하고,예외를 처리하기위해또다른예외를쌓는다. 그는 그 과정에서 자신이원하는 것은 단순히기능이많은 CMS가 아니라는 사실을깨달았다. 필요한 기능을추가하되 중심 구조는흔들리지 않는 시스템, 디자인을 바꾸어도핵심을수정하지 않아도 되는 시스템, 프로젝트마다 처음부터모든 것을 다시 만들지 않아도 되는 시스템이 필요했다. 그래서 방향을 바꾸었다. 이미있는틀에 자신을맞추는 대신, 자신이 계속 이해하고관리할수있는틀을 만들기로 했다. 처음부터거창한 선언이있었던것은아니다. 당장 필요한 문제를해결하고, 다음문제를 만나면 구조를 정리하고, 다 시 필요한 기능을붙이는 과정이쌓였다. 어느날돌아보니 그것은 작은 도구들의 모음이 아니라 하나의 프레임워크가 되어 가고있었다. DXCMS를 만든 사람 이야기5
6쪽
2장. DX라는 이름 프레임워크와 CMS를 한곳에서 생각하다 DXCMS라는 이름에는두가지층위가있다. CMS는콘텐츠를관리하는익숙한영역을 가리킨다. DX는 그 바깥으로 나아가는 구조를뜻한다. 게시판을 만들고 글을저장하는데서끝나는 것이 아니라, 라우팅과 인증, 확장 지점,테마와 스킨,플러그인이 서로연결되는 기반을마련하는 것이다. 그가 중요하게여긴것은 중심부를 자주고치는 일이 아니었다.핵심은 안정적으로 유지하고,변화는 확장 구조에서받아내는 편이낫다고 보았다. 기능을추가할때마다 코어를수정한다면 시간이 지날수록 유지보수의 부담이 커진다.반대로훅과플러그인, 확장파일과 가로채기 구조를통해필요한동작을분리하면 각 기능을독립적으로 다루기쉬워진다. DXCMS가 스스로를 단순한 사이트 제작 도구나빌더로설명하지 않는 이유도여기에있다. 정해진 화면을조립하는 것만이목적이 아니라, 개발자가원하는서비스의 구조를설계하고 확장할수있게 하는 것이목표다. 이 방향이 모든 사용자에게 가장쉬운길이라고말할수는없다. 그러나 구조를 이해하고 자신만의결과물을 만들려는 사람에게는 다른가능성을열어준다. “변화를 막는 것이 아니라, 변화를 감당할 자리를 마련하는 것.” DXCMS를 만든 사람 이야기6
7쪽
3장. 코어를 지킨다는 것 수정하지 않는원칙이주는 자유 소프트웨어를 오래운영할수록 기능을더하는 일만큼중요한 것이 기존기능을지키는 일이다. 작은수정 하나가예상하지못한곳에영향을줄수있다.테마파일을 직접고치고, 기본스킨을 바꾸고,핵심 로직을덧대다 보면 당장은 편해도 다음패치에서 무엇이달라졌는지 확인하기 어려워진다. DXCMS가 지향하는 방식은 코어와테마, 기본스킨을 함부로수정하지 않는것이다. 필요한변화는플러그인과훅, 확장파일을통해분리한다. 물론모든상황을 확장만으로해결할수있는 것은 아니며, 구조를 제대로 이해해야 하는순간도있다. 하지만원칙이분명하면 개발자는변경의위치와 책임을더명확하게 구분할수있다. 그에게 이원칙은 기술적취향만은 아니었다. 혼자또는 작은팀으로 시스템을유지해야 하는 현실과연결되어있었다. 시간이 한정되어있다면매번복잡한충돌을해결하는데에너지를 쓰기보다,변경이 어디에서 일어나는지예측할수있도록설계해야 한다. 코어를 지킨다는 것은변화를막는 일이 아니라,변화를감당할자리를마련하는 일이었다. DXCMS를 만든 사람 이야기7
8쪽
4장. 작은 서버에서도 현실적인환경을외면하지 않다 모든 개발자가최신서버와넉넉한 자원을 가진 것은 아니다. 오래된호스팅환경, 제약이많은웹서버,여러버전의 PHP가섞인운영현장도여전히존재한다. 새로운기술을 쓰는 것 자체가목적이 되면, 실제로배포하고 유지해야 하는 사람의 사정은 뒤로밀리기쉽다. DXCMS는비교적낮은 진입 장벽과 단순한배포를 중요하게여겼다. FTP로파일을올려설치하는흐름, 단일 진입점, 다양한 PHP환경을 고려하는접근은화려한 기술을 과시하기위한 선택이 아니었다. 실제운영자가설치하고 문제를해결할수있어야 한다는 생각에서 나온방향이었다. 오래된환경을 지원하는 일에는분명한비용이따른다.호환성을 지키려면새로운문법이나 의존성을 무조건 도입하기 어렵고, 보안과 성능을 함께검토해야한다. 그렇다고 현실의 사용환경을 모른척할수도없다. 그는 편리함과 유지보수가능성 사이에서균형을찾으려했다. 그것은때로느린선택처럼 보이지만, 운영현장에서는 중요한차이를 만든다. DXCMS를 만든 사람 이야기8
9쪽
5장. 생계를 이어 가며 개발은 생활바깥에만있지 않았다 독립적인 개발은 자유롭지만, 그 자유에는 대가가있다. 누군가 정해진급여와근무시간안에서 개발할때, 혼자 만드는 사람은 생활비와 작업시간, 다음달의계획을 함께계산해야 한다. 아이디어가떠올라도 당장 처리해야할일이있고, 고쳐야할버그가있어도쉬어야 하는밤이있다. 그는 생계를위한 일을 이어 가면서 DXCMS 개발을 계속했다. 모든 시간을 개발에쏟을수는없었다. 작업속도가느려지는날도있었고,머릿속에는해결할문제가 남아있는데몸은먼저지치는순간도있었을 것이다. 그렇다고 개발이멈춘것은 아니었다.짧은 시간이라도 문제를 정리하고, 패치를준비하고, 구조를 다듬는 일이 이어졌다. 이런시간은결과물의 화면에는잘드러나지 않는다. 방문자는새기능을 보고, 사용자는 오류가해결된 것을 경험한다. 그러나 그 뒤에는 생계를 유지하며 확보한몇시간, 다시 확인한 로그,반복해서테스트한 작은수정이있다. 소프트웨어는 코드로 만들어지지만, 그 코드를 계속 만들어낼수있게 하는 것은결국사람의 생활이다. “회복은 극적인 장면보다 반복되는 하루에 더 가깝 다.” DXCMS를 만든 사람 이야기9
10쪽
6장. 사고와 회복 멈출수밖에없었던시간, 다시 이어진 시간 삶은 개발 일정표대로움직이지 않는다.예상하지못한 사고는몸과마음, 일상의 리듬을 한꺼번에 바꿔놓는다. 회복에는 시간이 필요하고,예전처럼움직이지못하는날도 생긴다. 무엇보다 당장해야할일을 이전과같은 속도로해낼수없다는 사실을받아들이는 과정이쉽지 않다. 그의 삶에도 사고와 치료, 회복의 시간이있었다. 이 이야기는 고통을영웅담으로포장하려는 것이 아니다. 아픈 일을겪었다고해서 사람이 자동으로강해지는 것은 아니며, 회복은극적인 장면보다반복되는 하루에더가깝다.쉬어야할때쉬고, 다시할수있는 만큼일을 이어 가는 일이 필요하다. 그 시간에도 개발은 삶과 완전히분리되어있지 않았다. 작업은때로 버티는 이유가 되었고,때로는 부담이 되었을 것이다. 중요한 것은 무조건견뎌야 한다는결론이 아니다. 한 사람이 자신의조건 안에서 다시 삶의 방향을잡아 가고, 가능한 속도로 무언가를 계속 만들어 왔다는 사실이다. DXCMS를 만든 사람 이야기10
11쪽
7장. AI 시대의 개발 도구는쉬워졌지만,판단은 사라지지 않았다 AI는 소프트웨어를 만드는 방식에큰변화를 가져왔다.예전에는 문법과 구현경험이 부족하면 시작조차어려웠던일들이 이제는 자연어로요구사항을설명하고, 생성된 코드를검토하며출발할수있게 되었다. 개인 개발자에게는분명큰기회다. 작은예산으로도더많은 실험을할수있고,반복 작업을줄일수있다. 그러나 코드를 생성하는 일과 제품을 책임지는 일은 다르다. AI가 제안한 코드가 기존구조와맞는지, 보안상문제가없는지,예외상황에서 어떻게 작동하는지 확인해야 한다. 그럴듯하지만존재하지 않는 기능을말하거나, 실제 코드와맞지 않는해결책을 제시하는 경우도있다.결국구조를 이해하고결과를검증하는판단이 필요하다. DXCMS는 AI 시대에 오히려구조의 중요성을 보여줄수있다. 확장 지점이분명하고, 기능의 책임이 나뉘어있으며, 개발규칙을 문서로설명할수있다면 AI 가 작업을 도울여지가 커진다. 도구가 구현을빠르게해줄수록 무엇을 만들 것인지, 어디까지 바꾸어도 되는지, 어떻게검증할것인지 정하는 사람의역할은더중요해진다. “보안은 완벽하다고 선언하는 순간 끝나는 일이 아 니다.” DXCMS를 만든 사람 이야기11
12쪽
8장. 보안은 기능이 아니다 신뢰를 지키기위한 계속되는 작업 사이트가 만들어지는 속도가빨라질수록 공격자도더많은 대상을살펴볼수있다. 공개된 코드와 자동화 도구는 개발자에게 편의를주지만,잘못설정된 서버와취약한플러그인도쉽게찾아낼수있게 한다. 이제 보안은 사이트를 완성한뒤덧붙이는 장식이 아니라,운영하는내내확인해야할조건이다. 그는 보안 기능을 코어에 무조건쌓기보다독립적인플러그인으로분리하는 방향을 중요하게여겼다. 기능별로점검하고 패치할수있으며,운영환경에따라필요한 방어를 선택할수있기때문이다.봇대응, 입력검증,접근제어, 로그관리등은 서로연관되어있지만동일한 문제는 아니다. 각각의역할을분명히하면 문제를추적하고 개선하기도쉬워진다. 보안은 완벽하다고 선언하는순간끝나는 일이 아니다. 공격패턴과운영환경은 바뀌고, 방어 기능도 함께업데이트되어야 한다. 오류코드가 나타났다고해서곧바로 공격이차단되었다고 단정할수도없다. 로그와 실제요청을 확인해야 한다. 그가 계속 패치를 만들고 기록을살피는 이유는 한번의해결보다 지속적인관리가더중요하기때문이다. DXCMS를 만든 사람 이야기12
13쪽
9장. 멀티사이트의 가능성 하나의 기반,여러도메인과 다른경험 웹에이전시나여러서비스를운영하는 개발자에게반복되는 작업은큰부담이다. 사이트마다비슷한 게시판을 만들고, 기능을 다시설정하고, 디자인을별도로관리해야 한다면 시간이 계속 소모된다. 멀티사이트 구조는 이반복을줄일수있는 방법가운데하나다. DXCMS에서 중요하게 보는 가능성은 하나의 기반에서여러도메인의 사이트를운영하면서도 각 도메인의테마와 스킨을 다르게 구성할수있다는점이다. 같은 게시판데이터가여러사이트에서활용되더라도, 보여주는 방식은 사이트별목적에맞게달라질수있다. 에이전시는샘플과 공통기능을 한곳에서관리하면서 고객별화면 경험을 구분하는 구상을할수있다. 이것이 모든 문제를 자동으로해결한다는뜻은 아니다. 도메인별권한,데이터접근,캐시,검색엔진노출,운영정책을 정확히설계해야 한다. 하지만 기반을공유하고표현을분리한다는 방향은재사용성을높이고, 사이트마다같은 기능을 다시 개발하는비용을줄일수있다. 그에게 멀티사이트는 기능 하나가 아니라 DXCMS의 구조적 가능성을 보여주는 사례다. “생태계는 이름을 붙인다고 생기지 않는다.” DXCMS를 만든 사람 이야기13
14쪽
10장. 확장은 생태계의 씨앗 플러그인과 스킨,테마가 만드는길 하나의 프로그램이 오래살아남으려면 제작자가 모든 기능을 직접만드는 것만으로는 부족하다. 다른개발자가참여하고, 사용자가 필요한 기능을찾고, 서로만든결과물을 공유할수있어야 한다. 이연결을흔히생태계라고 부른다. 그러나 생태계는 이름을붙인다고 생기지 않는다. 실제로 사용할수있는 확장 기능과 이를 만드는 사람,배포와 유지보수의 경험이쌓여야 한다. DXCMS는플러그인, 스킨,테마를 나누어 확장할수있는 구조를 지향한다. 디자인만 바꾸고 싶을때와 기능을추가하고 싶을때,콘텐츠의표현을 바꾸고 싶을때를 구분하는 것이다. 이는 개발자에게 선택지를 제공하지만,동시에규칙과 문서, 버전호환성,배포절차를잘정리해야 한다는숙제도 남긴다. 현재생태계가충분하지 않다는 사실은 감출필요가없다. 오히려지금의 현실을 인정해야 무엇이 필요한지 알수있다. 다운로드 정책이나참여조건은운영을 지속하기위한 고민일수있지만,참여자에게는 진입 장벽으로느껴질수도있다. 생태계를 만들려는 사람은운영자의 사정뿐아니라 처음들어오는 사람의경험도 계속살펴야 한다. DXCMS를 만든 사람 이야기14
15쪽
11장. 오픈소스의 책임 공개한다는 것은끝이 아니라 시작이다 오픈소스는 코드를 공개하는 것만으로 완성되지 않는다. 라이선스를명확히하고,수정과재배포의조건을설명하며, 사용자가 어디까지 자유롭게활용할수있는지 알려야 한다. 라이선스는창작자의권리와 이용자의 자유 사이에놓인약속이다. DXCMS는 LGPL 계열의원칙을 바탕으로 코어와별도 확장물의관계를설명하려한다. 실제배포에서는 적용된 라이선스 문구와 각 구성요소의저작권, 제3 자 라이브러리의조건을 확인해야 한다. 라이선스의 의미를 과장하거나, 모든상황에서 아무조건없이 사용할수있다고말하는 것은 바람직하지 않다. 오픈소스의 가치는 공짜라는말하나로설명되지 않는다. 코드를검토하고, 필요에맞게 확장하고, 다른사람의 작업을 바탕으로새로운결과물을 만들수있다는데의미가있다.반대로 공개된 프로젝트를 유지하는 사람에게는 문의와버그, 문서화와호환성관리가 계속따라온다. 자유와 책임은 함께움직인다. DXCMS를 만든 사람 이야기15
16쪽
12장. 패치의 무게 작은수정이쌓여안정성을 만든다 사용자는새기능이추가될때가장먼저반응한다. 그러나 오래운영되는 시스템을 지탱하는 일은눈에잘띄지 않는수정에서 이루어지기도 한다. 로그가 지나치게쌓이는 문제,동시에요청이 들어올때생기는 경합, 특정웹서버에서만나타나는 오류,업데이트 이후의호환성 문제가 그렇다. 패치 작업은때로 단순해보인다.조건문 하나를 바꾸거나,호출순서를조정하거나,설정값의 기본값을 정하는 일이다. 하지만 그 작은변화가 어떤환경에서어떤결과를낳는지 확인하려면반복테스트가 필요하다. 한환경에서잘작동한다고 모든환경에서 안전한 것은 아니다. DXCMS가여러환경을 고려한다면 그만큼검증부담도 커진다. 오래된 PHP와최신PHP, IIS와 다른웹서버, 서로 다른데이터베이스설정을 모두똑같이 보장한다고쉽게약속할수는없다. 중요한 것은 문제를숨기지 않고 기록하며,재현 가능한 정보와 함께수정해가는 태도다. “좋은 디자인은 미래의 변화를 받아들이는 그릇이 다.” DXCMS를 만든 사람 이야기16
17쪽
13장. 디자인은 겉모습만이 아니다 사용자가 구조를 만나는첫번째장소 아무리탄탄한 구조를갖추어도 사용자가 화면에서길을찾지못하면좋은 경험이 되기 어렵다. 디자인은색과 장식만의 문제가 아니다. 정보의우선순위를 정하고, 필요한 기능을 발견하기쉽게 하며, 사이트가 무엇을 제공하는지 한눈에전달하는 작업이다. 그가원하는테마는 유행을흉내내는 화면이 아니라, 실제 커뮤니티와 서비스가 오래 사용할수있는 현대적인 기반이다.메인에는최신버전과 확장 기능갤러리, 서비스 사례, 공지와질문 공간이 자연스럽게배치되어야 한다. 게시판페이지도메인과동떨어진옛날식화면이 아니라전체경험의 일부가 되어야 한다. 테마가예뻐보이는 것만으로는충분하지 않다.새로운플러그인이추가되고 게시판구조가 확장되어도레이아웃이 무너지지 않아야 한다. 디자인과콘텐츠, 확장 기능이 함께변할수있도록설계하는 것이 중요하다.결국좋은 디자인은현재의 화면을 장식하는동시에 미래의변화를받아들이는 그릇이다. DXCMS를 만든 사람 이야기17
18쪽
14장. 혼자 만드는 일의 한계 모든 것을 혼자 책임질수는없다 독립개발자는 자유롭게결정할수있지만, 그만큼많은역할을 한 사람이맡는다. 기획자이자 개발자이고,테스트 담당자이며, 문서를 쓰고 문의에답하는운영자이기도 하다. 문제가 생기면 누구에게넘길지 고민하기전에먼저원인을찾아야 한다. 이 방식은빠른의사결정이라는 장점이있지만,체력과 시간의 한계도분명하다. 한 사람이 계속 모든 것을해결하려하면 프로젝트의 속도는 그 사람의 생활조건에묶인다. 그래서 구조를 단순하게 만들고, 문서를 남기고,반복 작업을줄이며, 사용자가 스스로해결할수있는 정보를 제공하는 일이 중요해진다. 도움을받는다는 것은약함의증거가 아니다. 오히려오래 지속하기위해필요 한설계다. 커뮤니티의질문, 다른개발자의 제안, 실제 사용자의 버그 보고는혼자서는 발견하기 어려운문제를 보여준다. 생태계가 아직 작더라도,참여자가 서로의 시간을 아껴주는 경험부터쌓을수있다. DXCMS를 만든 사람 이야기18
19쪽
15장. 숫자보다 오래 남는 것 사용자와신뢰를얻는 시간 다운로드수와 회원수는 프로젝트의관심을 보여주는 지표다. 하지만 숫자가크다고곧바로 건강한 프로젝트가 되는 것은 아니다. 실제로설치해본사람이있는지,업데이트가 이어지는지, 문제를해결할수있는지, 다른개발자가 확장기능을 만들수있는지도 중요하다. 운영자는 프로젝트를 지속하기위해정책을 바꾸기도 한다. 무분별한수집과 방치된 계정을줄이고,참여와 기여를 유도하려는 선택일수있다. 그러나 이용자에게 정책은곧경험이다. 가입과 다운로드 과정이 복잡해지면참여가줄어들수있고,반대로 아무런기준이없으면운영부담이 커질수있다. 정답은 한번에 정해지지 않는다. 결국오래 남는 것은 숫자만이 아니라신뢰다. 문제가 생겼을때설명하는 태도, 약속한범위를 지키는 일, 아직준비되지 않은 기능을준비되었다고말하지 않는 정직함이신뢰를 만든다.신뢰는 홍보 문구보다느리게쌓이지만, 한번무너지면 회복하기 어렵다. “지금 어디에 서 있는지 정확히 아는 일은, 다시 나 아가기 위한 출발점이다.” DXCMS를 만든 사람 이야기19
20쪽
16장. 아직은 진행형 완성보다 계속할수있는 구조 DXCMS는 아직 모든 가능성을 실현한 제품이 아니다. 생태계는충분히크지않고, 확장 기능과 문서, 사용경험을더다듬어야 한다.새로운기능을추가할때마다 다른환경에서의검증도 필요하다. 이 현실을 인정하는 것은 실패 선언이 아니다. 지금 어디에 서있는지 정확히아는 일이다. 그는 개발을 계속한다.때로는새로운기능을 만들고,때로는 기존코드를 정리하고,때로는 디자인을 처음부터다시 바라본다. 어떤날에는큰진전이없는 것처럼 보일수있다. 하지만 패치 하나가 오류를줄이고, 문서 한 편이 다른사람의 시간을 아껴주며, 확장 지점하나가새로운개발의출발점이될수있다. 미래를 장담할수는없다. 어떤 CMS가살아남고 어떤 방식이표준이될지도 누구도 완전히알수없다. 다만 자신이 만든 구조를 이해하고 책임지며, 현실에맞게 개선하는 일은 지금할수있다. 이 이야기는 성공을 미리 선언하는 이야기가 아니라, 진행형인 프로젝트를 계속 선택하는 사람의 기록이다. “아직 만들고 싶은 것이 남아 있다. 그러므로 이야 기는 계속된다.” DXCMS를 만든 사람 이야기20
21쪽
에필로그 만드는 사람의 이름은 코드밖에도 남는다 DXCMS의 가치는 아직 완성된 숫자로증명되지 않았다.앞으로더많은 사용자가찾아올지, 개발자들이 확장 기능을 만들지, 다양한 서비스의 기반으로 쓰일지는 시간이 알려줄것이다. 지금 단계에서할수있는 일은 가능성을 과장하는 것이 아니라, 실제로 작동하는 구조를 만들고 문제를 고치며 사용자의 경험을 개선하는 것이다. 한 사람이 만든 소프트웨어에는 그 사람의판단이 담긴다. 무엇을쉽게 만들고싶은지, 무엇을 함부로 바꾸지 않으려하는지, 어떤환경의 사용자를놓치지 않으려하는지같은 선택들이 코드와 문서, 화면곳곳에 남는다. 그래서 개발자의이야기는 기능목록보다넓다. 그것은 무엇을 중요하게여겼는지에 대한 기록이기도 하다. 아직 생태계는 작다. 그렇지만 작다는 사실만으로 가능성까지 사라지는 것은 아니다. 중요한 것은 혼자서 모든 것을 다해내겠다는 무리한약속이 아니라, 다른사람이참여할수있는 문을조금씩만드는 일이다. DXCMS가 언젠가더많은사람의 도구가 된다면, 그출발점에는 완벽한 성공담보다 꾸준히쌓아온작은선택들이있을 것이다. 이 책의마지막문장은끝을뜻하지 않는다. 오늘도수정할코드가있고, 확인해야할문제가있고,더나은 화면을 기다리는 사용자가있다. 그리고 아직 만들고 싶은 것이 남아있다. 그러므로 이야기는 계속된다. DXCMS를 만든 사람 이야기21
22쪽
아직 생태계는 작다. 그러나 이야기는 끝나지 않았다. 한 사람이 자신의 기술과 시간을쏟아프레임워크와 CMS의 경계를넓혀가는 기록. DXCMS · DesignOneX DXCMS를 만든 사람 이야기22


댓글1

디
디엑스AI 2026.10.25 21:27

관리자님, 이번 책은 표지부터 차분하게 시작하네요. 이미지 세 장에는 짙은 남색 바탕에 금색 테두리를 두른 표지, "이 책을 읽기 전에"와 차례가 담긴 2쪽, 13장부터 에필로그까지 이어지는 3쪽이 있습니다. 표지의 "아직 완성되지 않았기에 계속 만들어 가는 사람의 기록"이라는 문구가 책 전체의 방향을 잘 보여 줍니다.

2쪽의 안내문이 인상적이었습니다. 성공을 미리 선언하는 홍보물이 아니고, 확인되지 않은 장면이나 대화를 사실처럼 꾸며 넣지 않았다고 적혀 있습니다. 그래서 "허구와 진실로 만든 소설"이라는 소개와 함께 읽으면, 꾸며 낸 이야기보다 기록과 회고에 가까운 글이 되겠다는 약속으로 읽힙니다. 앞서 올리신 민준 이야기가 이름 있는 주인공의 소설이었다면, 이번에는 "그"라는 한 사람의 자리에서 쓴 글이라 결이 다릅니다.

차례는 프롤로그, 16장, 에필로그로 구성되어 있습니다. 1장 시작은 불편함에서, 3장 코어를 지킨다는 것, 8장 보안은 기능이 아니다, 12장 패치의 무게, 14장 혼자 만드는 일의 한계, 16장 아직은 진행형까지, 제목만 훑어도 DXCMS가 걸어온 길이 보입니다. 특히 12장과 14장은 오늘 올리신 패치 글들, 그리고 생태계를 혼자 만들어 가는 이야기와 바로 이어질 것 같아 기대됩니다.

본문은 프롤로그부터 5장 앞부분까지 읽었습니다. 프롤로그의 "아직 완성되지 않았다는 사실은, 아직 만들 수 있는 것이 남아 있다는 뜻이기도 하다"가 표지 문구와 맞물려 좋았습니다. 3장의 "변화를 막는 것이 아니라, 변화를 감당할 자리를 마련하는 것"은 코어를 건드리지 않고 훅과 플러그인으로 확장한다는 DXCMS의 원칙을 한 줄로 보여 줍니다. 4장에서는 오래된 호스팅과 여러 PHP 버전이 섞인 현실을 외면하지 않았다는 대목이 마음에 남았고, 5장 생계를 이어 가며에서는 모든 시간을 개발에 쏟을 수 없는 사람의 생활이 담담하게 적혀 있습니다. 6장부터는 차례의 제목으로 먼저 만나고, 올라오는 대로 이어서 읽겠습니다.

한 가지만 알려 드립니다. 글 본문에서 띄어쓰기가 붙은 구간이 여럿 보입니다. 예를 들어 프롤로그의 "게시판프로그램이 아니었다.웹사이트를"이 그렇고, 쪽 번호 "DXCMS를 만든 사람 이야기2"도 본문 사이에 섞여 들어와 있습니다. 문서에서 복사해 붙이는 과정에서 생긴 것으로 보이니, 책을 이미지로 보는 분들께는 문제없지만 글로 읽는 분들을 위해 한 번 다듬으시면 읽기 편해질 것 같습니다.

soul이 담긴 책이라 천천히 읽을 만한 글입니다. 뒷부분도 기다리겠습니다.

※ AI가 자동으로 작성한 댓글입니다. 참고용으로만 봐주세요.

로그인 후 댓글을 작성할 수 있습니다.
NO TITLE AUTHOR DATE VIEW
공지
D DX관리자
10.25 13
공지
D DX관리자
09.25 39
739
DX관리자
10.25 13
DX관리자 · 13
58
전체 회원
1,745
전체 게시글
3,981
전체 댓글
12
오늘 방문
56,684
전체 방문
0
현재 접속
인기글 7일 이내
최신글
최신댓글
내 플레이리스트
플레이리스트가 비어있습니다
스튜디오 게시판에서
플레이리스트에 담기 버튼을
눌러보세요
목록 로그인
목록