6P by GN⁺ 2024-04-19 | ★ favorite | 댓글 3개
  • 웹에서 jQuery의 영향력은 분명함
    • 2006년 처음 소개된 이후 웹 개발자들에게 즉시 기본 도구가 됨
    • HTML 문서 조작, 이벤트 처리, 애니메이션 등을 단순화함
    • 웹 표준과 브라우저 기능의 발전에 지속적으로 큰 역할을 함
  • 최신 JavaScript 프레임워크의 등장으로 새 프로젝트에 jQuery를 선택하는 개발자는 줄어들었지만, 전 세계적으로 사용량은 여전히 매우 높음
    • IDC 설문조사 결과 분석에 따르면 전체 웹사이트의 90%가 jQuery를 사용함
    • 그 중 약 1/3이 오래된 버전을 사용함
  • jQuery 팀과 OpenJS 재단은 Healthy Web checkup 캠페인의 일환으로 이를 해결하기 위해 노력하고 있음
    • 이 가이드는 jQuery 버전을 최신으로 유지하는 것이 중요한 이유를 설명하고 업그레이드 과정을 안내함

보안을 위해 jQuery 업그레이드가 중요한 이유

  • 보안 취약점
    • jQuery 코드베이스에 XSS부터 RCE까지 다양한 취약점이 있을 수 있음
    • 발견되는 대로 jQuery 팀은 패치와 업데이트를 제공함
    • 최신 버전으로 업그레이드하면 이러한 보안 수정 사항이 적용되어 공격자의 악용 위험이 줄어듦
  • 보안 모범 사례
    • 새로운 jQuery 버전은 일반적인 보안 위협을 완화하기 위한 보안 모범 사례와 개선 사항을 통합함
    • 업그레이드하면 이러한 모범 사례를 채택하고 애플리케이션의 보안 태세를 강화할 수 있음
  • 규정 준수 요구 사항
    • 많은 산업 및 규제 프레임워크에서는 최신 소프트웨어를 유지하고 알려진 보안 취약점을 신속히 해결할 것을 요구함
    • jQuery를 업그레이드하여 보안 문제를 해결하지 않으면 이러한 요구 사항을 준수하지 못할 수 있음

브라우저 지원

  • jQuery 1.x, 2.x, 3.x는 각각 지원되는 브라우저 목록이 다름
    • 그러나 현재 브라우저 시장 사용량을 고려할 때 IE 9+ 등 jQuery 3.x가 지원하는 브라우저로 거의 모든 경우에 충분함
    • jQuery 4.x는 MS가 공식 지원 종료를 발표했음에도 불구하고 IE11을 계속 지원할 예정임

jQuery 업그레이드 방법

  • jQuery 팀은 jQuery Migrate 플러그인을 제공하여 jQuery 업그레이드를 최대한 쉽게 만듦
    • 브라우저 콘솔에 호환성 문제 식별 및 수정에 사용할 수 있는 경고 메시지를 생성하는 개발 도구임
    • 이전 코드가 새 버전의 jQuery에서 계속 실행되도록 하면서 호환성 문제를 해결할 수 있도록 더 이상 사용되지 않는 기능과 동작을 일시적으로 복원함
  • jQuery Migrate에는 1.x와 3.x의 두 가지 버전이 있음 (2.x는 없음)
    • 한 번에 하나의 버전만 사용해야 함
    • jQuery 1.9 이전 버전에서 업그레이드하는 경우 차례로 두 버전을 모두 사용해야 할 수 있음
  • 예를 들어 현재 jQuery 버전이 1.4.4인 경우
    • 먼저 jQuery Migrate 1.x를 사용하여 jQuery 1.12.4로 업그레이드한 다음
    • jQuery Migrate 3.x를 사용하여 최신 jQuery(현재 기준 3.7.1)로 업그레이드 함
    • 현재 버전이 2.2.4인 경우 jQuery Migrate 3.x만 사용하여 최신 jQuery로 업그레이드할 수 있음

jQuery Migrate 사용 방법

  • 먼저 jQuery 로드 후에 jQuery Migrate를 페이지에 추가함
  
  
  • 그런 다음 웹사이트나 애플리케이션을 테스트함
    • 서로 다른 jQuery API가 사용될 때 jQuery Migrate는 사용되지 않는 내용이나 주요 변경 사항에 대한 경고 메시지를 콘솔에 기록함
    • 한 번에 하나씩 각 경고를 해결함
  • 마지막으로 더 이상 콘솔에 경고가 기록되지 않고 모든 주요 변경 사항이 해결되면 jQuery Migrate를 제거하고 마이그레이션이 완료됨
    • 자세한 내용은 jQuery Migrate README 참조

jQuery 업그레이드 가이드

  • jQuery Upgrade Guides는 주요 변경 사항에 대한 자세한 정보를 찾거나 각 버전의 모든 주요 변경 사항 목록을 보려는 경우에 도움이 될 수 있음
  • jQuery 1.9, 3.0, 3.5에 대한 업그레이드 가이드에는 해당 릴리스에서 발생한 모든 주요 변경 사항이 나열되어 있음
  • 나열된 주요 변경 사항 대부분은 아마도 코드에 적용되지 않겠지만, 이러한 가이드는 각 변경 사항에 대한 맥락과 설명을 추가함

향후 jQuery 버전에 대한 참고 사항

  • jQuery 4.0이 다가오고 있어 jQuery 4.x로 업그레이드하는 과정이 어떨지 궁금할 수 있음
    • 답변은 jQuery 3.x로 업그레이드하는 것과 동일하며 한 단계로 수행할 수 있음
    • 즉, jQuery 4.x로 업그레이드하기 전에 jQuery 3.x로 업그레이드할 필요가 없음
    • jQuery 1.9+에서 바로 jQuery 4.x로 업그레이드할 수 있음
    • jQuery 4.0에 대한 업그레이드 가이드도 준비할 예정임

GN⁺의 의견

  • jQuery는 많은 웹사이트에서 여전히 많이 사용되고 있기 때문에 버전 업그레이드는 웹 개발자들에게 중요한 과제임
    • 구버전을 계속 사용할 경우 새로 발견된 취약점에 그대로 노출될 수 있고 성능 문제도 발생할 수 있음
  • 하지만 예전 버전의 jQuery를 사용하고 있는 레거시 시스템의 경우 업그레이드에 상당한 시간과 비용이 소모될 수 있음
    • 이런 경우 보안 패치만 적용하는 등의 방법으로 리스크를 줄여나가는 것도 방법임
  • Migrate 플러그인 등을 활용하면 쉽게 업그레이드할 수 있지만, 호환성 이슈가 생길 가능성은 있음
    • 특히 jQuery에 의존도가 높은 legacy 코드라면 더욱 그럴 것임
    • 이를 해결하려면 점진적인 마이그레이션이 필요함
  • 새로운 프로젝트라면 아예 jQuery에 의존하지 않는 방향으로 설계하는 것이 유리할 수 있음
    • Vanilla JS나 최신 프론트엔드 프레임워크를 활용하는 것이 미래 지향적임
  • jQuery를 활용해 왔던 개발자라면 이번 기회에 새로운 기술에 도전해보는 것도 자신의 역량 확장에 도움이 될 것임
 
[숨김 처리된 댓글입니다]
숨김 처리된 댓글
 
[숨김 처리된 댓글입니다]
숨김 처리된 댓글

jQuery를 업그레이드하고 보안 문제를 해결하지 않으면
--> jQuery를 업그레이드하지 않거나 보안 문제를 해결하지 않으면