Hacker News 의견
  • 첫 회사에서 복잡한 VB 애플리케이션을 관리했음

    • 각 고객의 요구에 맞춘 글로벌 변수가 많았음
    • 디버그 모드에서만 버그가 나타나지 않아 고객에게 Visual Studio를 설치하고 디버그 모드로 실행하도록 가르쳤음
    • 버전 관리가 없었고, 코드가 여러 폴더에 복사되어 혼란스러웠음
    • 고객 문제 발생 시 현장에서 코드를 수정했음
    • 최종 버전에 대한 합의가 없어 고객마다 다른 버전을 사용했음
  • 첫 직장에서 COBOL과 Java로 작성된 레거시 제품을 유지보수했음

    • 소스 제어 시스템에서 파일을 개별적으로 체크아웃하여 작업했음
    • 고객마다 최종 컴파일된 제품을 나타내는 '마스터' jar 파일이 있었음
    • 코드 변경 후 스크립트를 실행하여 마스터 jar 파일을 업데이트했음
    • 코드베이스가 전체적으로 컴파일되지 않고 수동으로 패치되었음
    • 코드베이스에 많은 불일치가 발생했음
    • git으로 마이그레이션하는 데 2년이 걸렸음
  • 12,000줄 이상의 Perl 스크립트를 리팩토링했음

    • 배열을 몰랐던 작성자가 문자열을 사용하여 배열을 구현했음
    • 리팩토링 후 코드가 200줄로 줄어들었음
  • 이론과 실제의 차이를 느꼈음

    • 많은 회사와 프로젝트가 비슷한 과정을 겪음
    • 이상적인 방법을 논의하지만, 실제로는 작동하는 방식으로 진행됨
  • Telegram 안드로이드 클라이언트의 코드베이스가 매우 복잡했음

    • 큰 파일로 인해 GitHub가 렌더링을 포기했음
    • 모든 메시지 렌더링과 상호작용을 단일 클래스에서 처리했음
    • 리팩토링 권한을 받았지만 실행하지 못했음
  • 첫 직장에서 보고 작업의 메모리 문제를 해결했음

    • 팀 리더와 상사가 놀랐음
    • 다른 개발자들이 Linux를 싫어하고 .NET으로 전환하려 했음
  • 고객과 직접 소통하며 문제를 해결했던 경험이 좋았음

    • 프로토타입을 빠르게 만들어 고객에게 테스트하게 했음
    • 코드베이스는 지저분했지만 잘 작동했음
  • 여러 시장을 지원하는 시스템을 만들었음

    • 원래 시스템을 복사하여 국제 버전을 만들었음
    • 5년 후 시스템이 분리되지 않고 서로 얽혀 있음
    • 새로운 시스템과 구 시스템이 긴밀하게 결합되어 있음
  • 첫 직장에서 경험이 부족한 사람들이 많았음

    • 경험을 쌓은 후 더 나은 직장으로 이동했음
  • 현대 SQL Server에서 문제를 해결하는 방법을 설명했음

    • 고객 맞춤화, 공유 ID, 수동 캘린더 테이블, 테이블 파티셔닝, 지연된 보고 복제본 등
    • VB와 C# 혼합 코드베이스가 흔함
    • 자동 변환 도구를 사용할 수 있음

채번테이블(SequenceKey)과 영업일테이블(Calendar)
추억 돋네요. 지금은 어떻게 하는지 모르겠는데 예전엔 흔하게 쓰이던 테이블입니다. SI를 하면 업무공통파트에서 관련 기능을 구현했죠.