최근 본 C 코드 중 가장 깔끔하고 모던하며 아름다운 코드임을 느꼈음, 이 코드는 커널은 아니지만, #ifdef 조건문이나 언더스코어가 많은 대형 프로젝트와 비교하면 오히려 C의 미적 감각을 배울 수 있는 좋은 예제라 생각함, 특히 이런 방식으로 테스트 코드를 C에서 작성한 것은 처음 봄, 멋진 작업임, 중·고등학생 시절 C로 첫 프로그래밍 언어를 배웠는데, 집에 있던 PC에 무료 소프트웨어를 설치하며 대부분의 프로그램이 C로 만들어졌다는 사실을 알게 됨, 컴퓨터공학을 대학에서 처음 정식으로 접했을 때 C++로 자료구조와 알고리즘을 했지만 포인터를 이미 이해해 쉽게 적응할 수 있었음, 여러 복잡한 요소를 피하면 C는 매우 깔끔하고 단순한 언어임을 알 수 있음, 물론 그 복잡성에 직접 접근할 수 있다는 점이 C의 매력이지만 적절한 균형이 중요하다고 생각함
포인터 이해가 어렵다는 이야기를 자주 듣는데, 실제로 그렇게 힘든 것인지 잘 모르겠음, 처음 배울 때 15분 만에 대충 감을 잡았던 기억임, 물론 능숙해지는 데에는 더 시간이 걸렸겠지만 포인터가 신화적인 난이도로 여겨지는 이유를 잘 이해 못함, 이번 프로젝트 역시 멋지다고 생각함, 다만 이런 프로젝트가 구직자의 포트폴리오에 올랐다가 곧 아카이브되고 잊히지 않기를 바람
코드에 칭찬을 해주신 것이 정말 큰 의미가 있음, 항상 코드를 그렇게 만들려고 많은 노력을 들이고 있는데, 이런 말을 들을 수 있어 감사함
과도하게 진지하게 이 프로젝트를 비판하거나, “PHP 대체 가능성” 따위로 의미 없는 분석을 하지 않았으면 함, 이 프로젝트는 C 언어로 멋진 도전을 해본 훌륭한 예시라 생각함, HTML 템플릿이 추가된다면 완성형 프레임워크로 발전할 수 있을 것 같음
좋은 말씀 정말 감사함, HTML 템플릿은 우선순위 목록에 있고 나중에 재미있게 구현할 예정임
재미로 C를 배우는 중인데, 이 프로젝트 정말 멋지다고 생각함
코드가 매우 읽기 쉽고 잘 구성되어 있음, 다만 error checking이 거의 없어서 snprintf, malloc 등에서 반환값을 확인하지 않는 부분이 많음, 여기에 미사용 루프도 존재함, 병렬 처리 부분은 아직 지원하지 않는 것 같아 당장 문제는 아니나 웹서버 특성상 향후 threading 도입이 유리함, 구현을 고려할 때는 libuv 같은 라이브러리 사용을 추천함
피드백을 정성껏 주셔서 감사함, 병렬 처리는 나중에 추가하기로 계획했어서 언급해 주셔서 좋았음
Jetzig이라는 비슷한 프레임워크를 재미있게 써봤는데 이번 프로젝트도 매우 좋게 봄, BSD C CGI와 Postgres 조합 역시 좋아하고, 주로 Python을 다루지만 저수준 언어와 메모리 개념을 직접적으로 경험하는 것이 정말 재미있음, 현실성을 지적하는 이들도 있지만 임베디드 디바이스가 더 널리 퍼질수록 이런 저수준 프레임워크의 가치가 더 높아질 것 같음, pico calc로도 실험 중인데, 만약 그를 위한 "모바일 앱"을 만든다면 C로 프레임워크 코드를 작성할 것임, 멋진 작업임
내 생각에 이 프로젝트 정말 멋짐, 셋업이 쉽게 읽히고 C 퍼포먼스를 누릴 수 있다면 이득임, 특히 Claude 같은 AI로 프레임워크 일부를 쉽게 만들어내서 필요시 필요한 만큼만 추가하고, 가볍고 플랫폼 독립적인 웹 프레임워크를 직접 구성할 수 있다는 게 장점임, 상당히 퍼포먼스도 잘 나올 것이라 기대함
유지보수 악몽 체크리스트:
웹 프레임워크는 계속 변화하는 표준 때문에 애초에 유지보수가 어려움
AI가 쓴 코드라 어느 누구도 어떻게 동작하는지 명확히 모를 수 있음
C로 작성됨
개인적으로 순수 C의 단순함이 마음에 들긴 하지만, AI가 쓴 C 기반 네트워크 코드 조합은 다소 두렵기도 함
C로 HTTP 파서를 처음부터 직접 짜는 것은 매우 위험하다고 생각함, 엄청난 취약점이 생길 수 있어서 실제 배포를 염두에 두고 웹 프레임워크를 만들 때는 libmicrohttpd, libevent_http, fastcgi 등 검증된 라이브러리에서 출발하는 것이 안전함
이런 경고에 크게 공감함, 그렇다면 도대체 어떻게 하면 C로 안전한 HTTP 서버를 만들 수 있을지 궁금함, 정말 흥미로운 책 소재가 될 것 같음, 매 챕터마다 취약점을 짚어가며 성숙한 HTTP 라이브러리가 되는 구조적 방법을 다루면 흥미로울 것임
실제로 이 프로젝트가 운영 환경에 쓰일 일은 없을 것으로 보지만, 혹시라도 그런 생각이 든다면 단념하길 바람
unsolicited 피드백임, appRoute 매크로가 타입과 시그니처를 모호하게 만들고 불필요한 간접화를 도입한다고 생각함, 제거하는 게 좋을 듯함, 그리고 AppContext 타입은 실제로 App+HTTP Request+DB 등 기능이 섞여 있어 RequestContext 또는 ControllerContext 등이 더 적합할 듯함, 그 외 다른 이들처럼 코드의 깔끔함에 감탄했고, 정말 멋진 노력임
매크로의 활용 덕분에 많은 일이 가능하다는 점을 보여줌, 실제로 현대 웹 프레임워크들도 각 언어의 메타프로그래밍 등 복잡한 도구를 적극적으로 활용함, 직접 만들어본 점을 크게 칭찬하며, 힘든 일이지만 분명히 재미있는 일이기도 함, "왜 만들었냐"는 질문도 있는데 굳이 이유가 필요하지 않다고 생각함, 순수하게 개발 그 자체를 즐기기 때문임
정말 고맙고, 전적으로 공감함
하드웨어 벤더들이 이 프로젝트를 입양해서 관리 웹 페이지 품질이 좀 더 좋아지기를 기대함
정성스럽게 짜여진 좋은 아이디어의 프로젝트임에도 불구하고 부정적인 반응이 많은 게 놀라움, Ashton이 이번에 쌓은 실력은 앞으로도 사라지지 않을 소중한 자산임
Hacker News 의견
개인적으로 순수 C의 단순함이 마음에 들긴 하지만, AI가 쓴 C 기반 네트워크 코드 조합은 다소 두렵기도 함