프로그램을 작성할때 먼저 의도(프로그램의 목적)를 파악해야 된다!!


권한관리 : 접근성의 문제

사용자 >------< 프로그램목록 (다 대 다)

사용자 ID 프로그램목록

level 1~7 허용할 수 있는 level이 몇 이상


최고 관리자 --- A 관리자 - 가. 작업자
                           나. 작업자
                           다. 작업자

            --- B 관리자 - 라. 작업자
                           마. 작업자

A 관리자가 하위 작업자를 확인할 수 있어야 한다.

작업자들 사이에 공유되는 프로그램이 있어야 한다.

A관리자를 가정할때 하위의 작업자들을 모두 알아야 한다.

자신의 역할이 하위 역할을 포함할 수 있어야 하고 이를

부모와 자식관계로 정의될 수 있다.

부서나 카테고리(레벨을 나눈다)

oracle은 레벨은 주지 않아도 된다.

MySql은 레벨을 정해줘야 한다. 레벨컬럼을 생성!!


@ 스트럿츠를 사용하면 url맵핑을 통해 jsp로 접근하는 것 자체를 막을 수 있다.

@ web.xml에서 필터로 관리(권한에 관한)

@ struts.xml에서 필터로~~~


@ 불특정 다수가 이용하는 서비스의 경우에 로그인을 최대한 필요한

때까지로 미뤄라.


@ 쿼리가 복잡할 수록 DBMS의 반응속도는 느려진다. 간단한 쿼리의 경우 응답이 빠름
(쿼리가 복잡하다는 의미는 DBMS의 실행계획이 느리다는 뜻, 예를 들어 select * from member의 경우
쿼리는 간단하지만 레코드수가 몇만건일경우 실행계획이 느리고 이쿼리는 어떤 의미에서 복잡한 쿼리가 된다)

@ DBMS에게 일을 마니 시키는 쪽보다는 WAS에게 일을 시키는 쪽으로(DBMS가 더 비싸다)

@ view 부분은 가져온 데이터를 그냥 보여주는 방향이 가장 좋다(로직을 추가하면 복잡도가 높아진다)

@ 어떠한 비지니스 로직은 service영역에서 처리하는 것이 좋다.


create table programs(
p_id int primary key
,p_name varchar(20)
,p_level int
,create_date timestamp default CURRENT_TIMESTAMP
,create_user varchar(20)
,modify_date timestamp
,modify_user varchar(20)
)


 

Posted by Taoist
,