{"title":"API 안정성","version":"3.2","locale":"ko","docname":"misc/api-stability","url":"/ko/3.2/misc/api-stability/","canonical":"https://djangodocs.dev/ko/3.2/misc/api-stability/","summary":"Django는 API의 안정성과 다음버젼의 호환성을 보장하고 있습니다. 요컨대, 새로 업데이트되는 Django 버전에서도 기존에 작성한 코드는 문제 없이 돌아갈 것이라는 뜻입니다. 하지만 업데이트후 프로젝트 별 소소한 변경 작업들은 해줘야 할 수 있습니다. 이에 대해서는 “이전 버전과 호환되지…","html":"<h1>API 안정성<a class=\"heading-anchor\" href=\"#api-stability\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Django는 API의 안정성과 다음버젼의 호환성을 보장하고 있습니다. 요컨대, 새로 업데이트되는 Django 버전에서도 기존에 작성한 코드는 문제 없이 돌아갈 것이라는 뜻입니다. 하지만 업데이트후 프로젝트 별 소소한 변경 작업들은 해줘야 할 수 있습니다. 이에 대해서는 “이전 버전과 호환되지 않는 변경사항” 섹션에서 <a class=\"reference internal\" href=\"/ko/3.2/releases/\"><span class=\"doc\">릴리스 노트</span></a> 기존 버전 혹은 업그레이드 대상 버전의 문서를 참조하시기 바랍니다.</p>\n<p>API 안정성을 매우 높은 우선순위로 만드는 동시에 Django는 우리가 제공하는 API에서 (결과적으로) “한 가지 방법”을 목표로 하는 것과 함께 지속적인 개선에도 전념하고 있습니다. 이것은 우리가 일을 하는 데 있어 분명히 더 나은 방법을 발견할 때 이전 방법을 더 이상 사용하지 않고 결국 제거할 것임을 의미합니다. 우리의 목표는 그것을 사용하는 모든 프로젝트에서 모범 사례를 장려하는 최고 품질의 현대적이고 신뢰할 수 있는 웹 프레임워크를 제공하는 것입니다. 점진적 개선을 이용해 정체 및 대규모 중단 업그레이드를 모두 방지하려고 합니다.</p>\n<section id=\"what-stable-means\">\n<h2>“안정적인 것”의 의미<a class=\"heading-anchor\" href=\"#what-stable-means\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>이 문맥에서, 안정적인 것은 다음을 의미합니다.</p>\n<ul>\n<li><p>공개된 모든 API(이 문서에 있든 모든것)들이 이전 버전과 호환되는 별명을 제공하지 않고 이동되거나 이름이 바뀌지 않을 것 입니다.</p></li>\n<li><p>이 API들에 새로운 기능이 추가된다면, 이 기능들은 이미 존재하는 메소드들의 의미를 바꾸거나 중단시키지 않을 것 입니다. 다시 말하면 “안정적인 것”의 의미는 (어쩔 수 없이) “완벽한 것”이 아닙니다.</p></li>\n<li><p>만약 어떤 이유로 안정적인 것에 선언된 API가 삭제되야 하거나 대체되야 한다면, 이것은 사용 금지로 선언될 것 입니다 그러나 이것은 앞으로 두번의 릴리스에서 API에 포함될 것 입니다. 사용이 금지된 메소드가 호출될 때 경고들이 발생될 것 입니다.</p>\n<p><a class=\"reference internal\" href=\"/ko/3.2/internals/release-process/#official-releases\"><span class=\"std std-ref\">Official releases</span></a>에 Django 버전 번호를 붙이는 기준과, 어떻게 기능들이 비활성화 되는지에 대한 자세한 설명이 있습니다.</p>\n</li>\n<li><p>저희는 버그나 보안상 문제가 발생하지 않는 이상 이전 버전 호환성을 지킵니다.</p></li>\n</ul>\n</section>\n<section id=\"stable-apis\">\n<h2>안정적인 API들<a class=\"heading-anchor\" href=\"#stable-apis\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>일반적으로 모든 것을 문서에서 다루되 <a class=\"reference internal\" href=\"/ko/3.2/internals/\"><span class=\"doc\">내부 영역</span></a>에 있는 것은 안정적이라고 간주합니다.</p>\n</section>\n<section id=\"exceptions\">\n<h2>예외<a class=\"heading-anchor\" href=\"#exceptions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>이러한 안정성과 하위 호환성 보장에 대한 몇 가지 예외가 있습니다.</p>\n<section id=\"security-fixes\">\n<h3>보안 픽스<a class=\"heading-anchor\" href=\"#security-fixes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>우리가 <a class=\"reference internal\" href=\"/ko/3.2/internals/security/#reporting-security-issues\"><span class=\"std std-ref\">보안 보고 정책</span></a>에 따라 보안 문제를 인지하게 되면, 그것을 해결하기 위해 무엇이든 할 것입니다. 이것은 하위 호환성을 깰 수도 있다는 말입니다. 보안이 호환성 보장보다 우선이기 때문입니다.</p>\n</section>\n<section id=\"apis-marked-as-internal\">\n<h3>API들은 내부것으로 표시됩니다.<a class=\"heading-anchor\" href=\"#apis-marked-as-internal\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>어떤 API들은 다양한 방법으로 “internal”로 표시됩니다.</p>\n<ul class=\"simple\">\n<li><p>몇몇 문서에서 internal이라고 언급한 경우. 문서에 어떤 것이 internal이라고 되어 있을 경우, 우리는 그것을 변경할 권한이 있습니다.</p></li>\n<li><p>밑줄(<code class=\"docutils literal notranslate\"><span class=\"pre\">_</span></code>)로 시작하는 함수, 메서드, 그외 객체. 이것은 Python에서 어떤 것이 비공개(private)임을 표시하는 표준 방식입니다. <code class=\"docutils literal notranslate\"><span class=\"pre\">_</span></code>로 시작하는 메서드는 내부 API입니다.</p></li>\n</ul>\n</section>\n</section>","rootId":"api-stability","toc":[{"title":"“안정적인 것”의 의미","anchor":"what-stable-means","children":[]},{"title":"안정적인 API들","anchor":"stable-apis","children":[]},{"title":"예외","anchor":"exceptions","children":[{"title":"보안 픽스","anchor":"security-fixes","children":[]},{"title":"API들은 내부것으로 표시됩니다.","anchor":"apis-marked-as-internal","children":[]}]}],"breadcrumbs":[{"docname":"misc/index","title":"메타 문서 및 기타","url":"/ko/3.2/misc/"}],"prev":{"docname":"misc/index","title":"메타 문서 및 기타","url":"/ko/3.2/misc/"},"next":{"docname":"misc/design-philosophies","title":"설계 철학","url":"/ko/3.2/misc/design-philosophies/"},"formats":{"html":"/ko/3.2/misc/api-stability/","markdown":"/ko/3.2/misc/api-stability.md","json":"/ko/3.2/misc/api-stability.json"},"source":"https://github.com/django/django/blob/stable/3.2.x/docs/misc/api-stability.txt","official":"https://docs.djangoproject.com/ko/3.2/misc/api-stability/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}