본문 바로가기

반응형

전체 글

주어진 문제를 분석하기 [나프잘1편] 문제 이해 사용자가 제시한 문제를 해결하기 위해서 문제를 정확하게 이해해야만 문제에서 요구하는 결과를 얻을 수 있는 프로그램을 작성할 수 있다. 문제를 이해한다는 것은 프로그램을 작성하는 첫 단계로 가장 중요한 부분이다. 문제가 주어지면 가장 먼저 파악해야 하는 내용은 문제에서 요구하는 결과가 무엇인지 파악하는 것이다. 문제에서 요구하는 결과가 무엇인지 모르면 프로그램 설계를 할 수 없다. 문제에서 요구하는 결과를 파악한 후에는 결과를 도출하기 위한 조건들이 문제에 제시되어 있는지 파악해야 한다. 1. 반드시 입력받아야 하는 값이 있는가? 2. 정해진 상수가 있는가? 3. 결과를 도출할 수 있는 공식이나 절차가 있는가? 이 내용을 수작업으로 풀 수 없으면 프로그램을 만들 수 없다. (출처 : 나프잘1편).. 더보기
[국민취업지원제도 일경험프로그램 57일차] 결재시스템 대리결재 수정 57일 차 특이사항 1. session에서 계급을 교체해주고 있는데 mapper에서 구현해 보자. mapper에서 session 계급 교체하기 1. 만약 사원이 결재글 리스트를 불러오는데, 대리결재를 받았다면~ 글쓴이가 대리결재권한 부여자가 보는 리스트를 보게 된다. 아래 코드는 작동이 되지 않고, 오류가 발생했다. 찾아보니 세션 데이터를 서브쿼리에서 찾을 수 없다고 한다. 다시 코드를 바꿔보자. and WRITE_ID = #{memInfo.memId} and WRITE_ID = ( SELECT GRANT_MEMBER FROM JSH_APPROVAL_PROXY WHERE PROXY_MEMBER = #{memInfo.memId} ) 2. 컨트롤러에서 grantRank(결재권한 부여한 사람의 계급)값을 불러.. 더보기
[국민취업지원제도 일경험프로그램 56일차] 결재시스템 대리결재 완료 56일 차 특이사항 1. 어제 하던 것 이어서 진행 - 대리결재자가 된 사람은 대리결재자에서 사라진다. - 이것은 어떻게 해야 될까? 대리결재자로 proxy 테이블에 등록이 되면 등록일과 종료시간이 나온다. - 등록일이 오늘까지인 사람은 보이지 않는다? - 등록된 사람을 map에서 뺀다? 아니야 복잡해진다. - 지금 mapper를 건드리고 있는데 서브쿼리로 만든 칼럼을 if문에서 사용할 수 없는 오류가 발생했다. 원래 그런가? - 왜 서브쿼리로 만든 컬럼은 사용하지 못할까? bad SQL grammar 오류가 발생한다. org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org... 더보기
[국민취업지원제도 일경험프로그램 55일차] 결재시스템 대리결재 controller 55일 차 특이사항 1. 대리결재를 하면 proxy 테이블에 대리결재자와 대리결재 위임자의 아이디가 입력된다. 2. 그 다음은? 3. 만약 결재 위임받은 사람의 아이디가 proxy 테이블에 있으면 list에 다른 데이터를 보여준다. 대리결재자 1. boss, king으로 manager, clerk에게 대리결재 권한을 부여하면 proxy 테이블에 대리결재자와 대리결재 위임자 아이디가 입력되고, 위임받은 사람이 로그인하면 대리결재 정보가 출력되는 것까지 완료했다. 2. 그 다음 step을 못 가겠다. 어떻게 해야 할까? 3. 뭘 건드려야 하지? 사원이 과장처럼 결재버튼을 누를 수 있어야 한다. - proxy 테이블의 grant_member의 계급이 과장이면 과장을 대신해서 결재한다. - 그럼 결재글을 누르고.. 더보기
[국민취업지원제도 일경험프로그램 54일차] 결재시스템 과장 서브쿼리 조건문 54일차 특이사항 1. proxy 테이블에 대리결재자의 이름이 들어간다. 2. ${proxy}는 쓸 수 있는데... 왜 그 컬럼값들을 쓸 수 없을까? ${proxy} ${proxy.proxyMember} ${proxy.grantMember} ${proxy.grantTime} ${proxy.endGrant} 3. resultMap을 잘못 입력함... proxyRs로 해야되는데 loginRs로 했음. SELECT PROXY_MEMBER ,GRANT_MEMBER ,GRANT_TIME ,END_GRANT FROM JSH_APPROVAL_PROXY 팀장님의 지도 1. mapper, 쿼리짜는 부분 - 서브쿼리 사용 - 직급 관련 검색 쿼리부터 만들기 - 과장이 결재에 참여한 글. . . history에서 가져와야 .. 더보기
[국민취업지원제도 일경험프로그램 53일차] 대리결재 기능 53일차 특이사항 1. 대리결재 버튼 누르면 대리결제자 option에 회원가입된 member 목록이 나온다. - 자신보다 2직급 아래만 나오도록 한다. - 부장은 과장, 대리에게만 권한 부여 가능. 과장은 대리, 사원에게 권한부여 가능. SELECT MEM_ID ,MEM_NAME ,MEM_RANK ,decode (MEM_RANK, 'CLERK','사원', 'MANAGER','대리', 'BOSS','과장', 'KING','부장') MEM_RANK_KOR FROM JSH_APPROVAL_MEMBER WHERE 1=1 and MEM_RANK = 'MANAGER' OR MEM_RANK = 'CLERK' and MEM_RANK = 'BOSS' OR MEM_RANK = 'MANAGER' 2. member를 클릭하면.. 더보기
[Spring] 세션(Session)이란? 세션(Session) 세션은 클라이언트가 웹 애플리케이션 서버에 접속할 때 서버 쪽에 생성되는 공간으로 내부적으로는 세션 아이디를 통해 참조된다. 브라우저는 서버에 접속할 때 발급받은 세션 아이디를 기억하고 서버는 해당 세션 아이디로 할당된 영역에 접근하는 형식이다. 세션(Session)의 특징 1. 세션 유효 시간이나 브라우저 종료 전까지 유지되므로 서로 다른 페이지에서도 정보 공유가 가능함 2. 로그인 유지, 장바구니, 컨트롤러 구현 등에서 사용됨 3. 사용자마다 생성되는 공간으로 많은 사용자가 동시에 사용하면 대량의 메모리가 필요하다. 대책이 필요하다. * 세션 관리를 위해 별도의 세션 관리 데이터베이스를 사용하는 경우도 있다. redis라는 인메모리 데이터베이스를 사용하기도 한다. redis는 N.. 더보기
[국민취업지원제도 일경험프로그램 52일차] 결재시스템 대리결제 (제이쿼리 팝업창 제어 window.open(), window.close()) 52일 차 특이사항 1. 대리결제 기능 요구사항 - 누르면 팝업 - 대리결제자 : 자기보다 2 직급 아래만 나온다. 이름만 나온다. - 대리자 : 로그인 정보 - 승인 누르면 ? 그 대리결재자 정보 표시가 된다. - 대리결재자가 된 사람은 대리결재자에서 사라진다. - 대리결재자가 되면 과장, 부장 대신 결재를 할 수 있다. - 대리결재자가 결재하면 결재자에 홍길동(최 과장) - 과장에게 결재권한을 부여받았다고 해도 모든 글을 볼 수 있는 것이 아니다. jQuery(제이쿼리)로 팝업창 띄우고 끄기 1. 대리결재 버튼을 누르면 팝업창이 띄워진다. 1) HTML 2) javascript : 대리결재 버튼을 누르면 window.open함수가 실행된다. 설정은 괄호 안에 들어있다. 'replace'부분은 연결되는.. 더보기

반응형