Hacker News 의견
  • 최근 본 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이 이번에 쌓은 실력은 앞으로도 사라지지 않을 소중한 자산임
    • 그렇게 평가해줘서 정말 감사하다는 마음임