개발 프로세스 모델
·
Archive/Develop
1. 폭포수 이름그대로 위에서부터 아래로 떨어지는 모델이다. 각 단계가 끝나면 다음 단계로 넘어가고, 단계 사이 상호작용이 없다는 특징을 가진다. 각 단계의 결과는 다음 단계를 수행하기 전 점검한다. 만약 이 모델을 채택한다면 단계의 구분이 명확하고 순서가 존재하기 때문에 직능 중심으로 프로젝트 인력을 나눌 수 있을 것이다. 요구사항이 많이 바뀌지 않고, 쉽게 바뀌지 않는 시스템에 적용해야한다. 이 모델은 실제 설계나 코딩, 테스트에 들어가기 까지의 과정이 길고 복잡하다. 프로토타입이 나오지 않는 다는 것도 문제점이라면 문제점이라고 할 수 있겠다. 2. 프로토타이핑 요구된 것을 시각적으로 보여주기 좋다. 사실 위에 설명한 폭포수 모델 같은 경우에는 초기 투자자(개발을 잘 모르는)들에게는 와닿지 않을 수 ..
[ Django ] Admin 페이지에 모델 등록하기
·
Archive/Develop
이번에 공부를 하면서, 기존에 내가 알던 방식 뿐만 아니라 다른 방식으로도 admin 페이지에 모델 등록을 할 수 있다는 걸 알게되었다. 많이 활용을 해서 까먹지 않았으면 좋겠다는 마음에 포스팅을 남긴다. 기존에 내가 하던 방식은 아래와 같다. 방법 1. 등록할 모델이 있는 앱의 admin 페이지에 아래와 같은 코드를 입력한다. admin.site.register(모델명) 참 간단하다. 방법 2. 파이썬 wrapper 를 이용한 방법이다. @admin.register(Post) class PostAdmin(admin.ModelAdmin): pass 예시는 Post 라는 모델을 등록할때의 예시이다. 사실 저 class 안에 pass 만 입력하면 위의 코드와 별반 다를 게 없지만, 여러가지 세부사항을 설정할..
[ Algorithm ] 근사 알고리즘
·
Archive/Develop
다항식 시간보다 큰 복잡도를 가진 알고리즘으로 해결되는 문제의 집합. 여러 가지 문제 집합으로 다시 분류. NP-완전 문제의 특성 어느 하나의 NP-완전 문제에 대해서 다항식 시간의 알고리즘을 찾아내면 (다항식 시간에 해를 찾을 수 있으면) 모든 다른 NP-완전 문제도 다항식 시간에 해를 찾을 수 있다. NP 문제 집합 P 문제 집합과 NP-완전 문제 집합을 둘 다 포함하는 문제의 집합 NP 알고리즘 비결정적 다항식 시간 알고리즘 1단계 : 주어진 입력에 대해서 하나의 해 추측하기 2단계 : 그 해를 다항식 시간에 확인한 후에 그 해가 '맞다/아니다'라고 답한다. 따라서 NP 알고리즘은 정해진 시간복잡도를 갖는 것이 아니라, 해를 추측하는 것이다. 정리하자면, NP 알고리즘은 해를 찾는 알고리즘이 아니라..
[ Oracle ] count(*) VS count(특정컬럼명)
·
Archive/Develop
count(*) 은 null 의 개수까지 다 센다. count(특정컬럼명) 은 null 을 제외하고 센다. is not null 도 기억해두기. where 컬럼명 is not null;