{"title":"API 안정성","version":"2.1","locale":"ko","docname":"misc/api-stability","url":"/ko/2.1/misc/api-stability/","canonical":"https://djangodocs.dev/ko/2.1/misc/api-stability/","summary":"Django는 1.0 버전부터 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는 1.0 버전부터 API의 안정성과 앞으로의 호환성을 보장하고 있습니다. 요컨대, 새로 나올 Django 버전에서도 기존에 작성한 코드는 문제 없이 돌아갈 것이라는 뜻입니다. 그렇지만 업그레이드 시에 프로젝트 별 소소한 변경 작업들은 해줘야 할 수 있습니다. 이에 대해서는 “이전 버전과 호환되지 않는 변경사항” 섹션에서 <a class=\"reference internal\" href=\"/ko/2.1/releases/\"><span class=\"doc\">릴리스 노트</span></a> 기존 버전 혹은 업그레이드 대상 버전의 문서를 참조하시기 바랍니다.</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/2.1/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/2.1/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/2.1/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\">_</code>)로 시작하는 함수, 메서드, 그외 객체. 이것은 Python에서 어떤 것이 비공개(private)임을 표시하는 표준 방식입니다. <code class=\"docutils literal notranslate\">_</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/2.1/misc/"}],"prev":{"docname":"misc/index","title":"메타 문서 및 기타","url":"/ko/2.1/misc/"},"next":{"docname":"misc/design-philosophies","title":"설계 철학","url":"/ko/2.1/misc/design-philosophies/"},"formats":{"html":"/ko/2.1/misc/api-stability/","markdown":"/ko/2.1/misc/api-stability.md","json":"/ko/2.1/misc/api-stability.json"},"source":"https://github.com/django/django/blob/stable/2.1.x/docs/misc/api-stability.txt","official":"https://docs.djangoproject.com/ko/2.1/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","pt-br","ko","es","el","pl"]}