본문 바로가기
카테고리 없음

2023.02.08- 넥사크로 운영자 교육_ Application 개발시 유의사항

by 흥뷰자 2023. 2. 8.

>목차 
>용어

1. 소스관리

프로젝트 파일 내부 .xprj 열어서 Generate 해서 NRE로 런하면 소스를 볼 수 있는 상태가 된다
소스관리 넥사크로스튜디오 .xfdl 태그파일(원본소스) -> Generate로 .js(운영 웹서버에 올리는 소스)
소스 수정은 원본에 해야 가능함. Generate된 파일로 원본으로 바꾸는 것은 불가능

2. 도움말로 지원 브라우저 확인

3. history html기반에서는 앞뒤가능한데 SPA 페이지 하나(index.html)로만 작동해서 설계단계부터 기능 제공여부 결정하고 구현해야한다.

https://www.playnexacro.com/#show:techtip:1199
주소를 통해 구현하는 것

4. 개인화자료 저장 기능
그리드 화면 사용자가 원하는 포맷으로 저장하고 사용
demo.nexacroplatform.com
저장하는 방법 LocalStorage(특정pc의 browser에 저장) vs. DB

5. 캐시레벨

static - nre에서만 가능 거의안씀 / wre로 실행하면 자동으로 session으로 실행해줌 
최종 운영서버 반영시 서비스 안정화시? session

 

데이터 수신하는 transaction부분은 5가지는 none 항상 새로운 데이터 - 동일조회조건이라도 최신 데이터 유지


체크버전  사용자가 설정한 캐시레벨과 무관하게 최신소스 일괄배포하려면  
WRE환경 CheckVersion을 사용하는 것 : 그 결과 커리스트링이라는 문자열이 더 붙게 되어 매번 새로 받게됨

(피들러  : 접속하는 사용자 pc의 정보 패킷 찍어볼 수 있음)

패킷에 보이는 버전 정보 - 체크버전을 쓰면 쿼리스트링으로 붙어 나오게 된

https://goddaehee.tistory.com/164

 

[Fiddler_1] Fiddler 설치 및 다운로드

[Fiddler_1] Fiddler 설치 및 다운로드 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 피들러 설치 / 피들러 다운로드 입니다. : ) 들어가기에 앞서.... Fiddler(피들러)는 무엇인가??? - 피들러는 Web Debug 툴

goddaehee.tistory.com

체크버전 값을 true로 설정해야 캐시설정과 무관하게 소스 일괄 배포 가능하다
체크버전을 사용하지 않은 경우 쿼리스트링이 붙지 않는다.

 

체크버전을 사용한 후

 

버전정보 수정

WRE환경에서 돌릴때 이걸 하지 않으면 바뀐게 반영안되고 캐시 지워서 재접속하면 반영될거라고 하면 불편하지..

 

 

6. session관리 was가 

통신 보안문제로 WAS에서 발행한 세션이면 정상적으로 데이터패킷을 보내주고 그렇지 않으면 오류메세지를 처
통신 값을 넘기는 변수가 세션변수. 세션변수가 서버로 전달되는데 세션에서 가장 많이 쓰는 변수값은 JSESSIONID(WAS 기본세션)

id만 정의함, 그 값은 WAS가 설정함~~~ 서버쪽에서 바뀌는 값 확인. 타입아웃때문에 변경됐는지, URL변경때문인지 등.. 

세션변수 정의는 쿠키에서하고 id설정만 한다.

7. 보안 eval

스트링 오브젝트화
.components
.objects
.all
함수의 오브젝트화
call과 apply

8 보안 데이터
통신포멧 xml binary(보안모듈 미적용)
보안모듈 이니텍, 소프트포럼꺼(상용제품) 적용해야 함

비용적게 암호화 하는 것 http 프로토콜 -> https 프로토콜 (뚫릴 수 있음)

9. 서버 실패 재시도와 시간제한 서비스 평균처리속도 반영해서 기술해야 

10. 변수Scope
var 폼변수
this.
글로벌변수 메모리잡힘

글로벌변수는 따로 정의하는 위치에 해야

11. 통신방식 xml/ SSV/ Binary
xml 실제 데이터보다 태그들 많아서 성능저하, 개발자 디버깅이 쉬움

개발시 운영시에는 WRE - SSV/ NRE - Binary 압축옵션을 써야 데이터 통신 성능나옴

12. 프리픽스id
NRE환경에서 넥사크로지정캐시따라감 (WRE는 무조건 브라우저 캐시)
소스상 주소변경 유지보수 소스변화 통합테스트다시 프리픽스는 환경파일만 바꾸면 바로 쓸 수있음

13. 서비스 호출 한번의 서비스 호출로 n개 ds 가져와야 통신 과정을 최소화

14. 서비스 호출 시 데이터가 없는 경우에도 반드시 Layout을 리턴 해 준다.

15. 컬럼 타입 
숫자타입이야 getSum가능 String이면 int로 형변환해야
소트는 컬럼 타입 db컬럼타입으로 지정됨. 차선으로 useclientlayout 속성값 true 데이터만 받아오도록

 

16. DS event - e.reason 분기처리 꼭 해야

17. 그리드 인덱스 정보로 접근하지 말고 셀이름으로 쓰세요

18. DS중심의 바인딩!
그리드의 oncellclick이벤트는 마우스로만 가능하고 키보드로 조작 불가능함 

데이터 바뀔때마다 자동바뀌는 로직처리 필요
ds의 onrowposchanged이벤트로 키보드 조작은 가능하지만 굉장히 위험한 방법임(순서상)

로그 찍어보면 키보드는 2번의 이벤트타는데
방향키는 데이터셋만 바뀜 데이터를 필터하는 경우가 아니라 계산하는 로직인 경우 마우스 사용자는 계산 두번, 키보드는 계산 한번 일어나게 됨
==>이벤트 잡을 때 눈에 보이는 컴포넌트를 대상(그리드)으로 잡는게 아니고 바인딩된 ds에 있는 것 부터 이벤트를 잡는다!
oncellclick없애고 onrowposchanged 이벤트 하나로만 작성하면 된다. 
그리드는 바인딩으로 못푸는 걸 그리드 expression 그다음 이벤트 처리
기준: 눈에 보이는 컴포넌트가 ds 바인딩되어있다면 ds에서 이벤트를 잡고(기준) -> 그게 안되면 해당 컴포넌트에서 처리 

 

19. 산출물 프로젝트 맨처음 작업 맨 위에 주석 자동처리해주는 utility 프로그램 - jsDoc 문서 산출물을 javaDoc처럼 자동으로 작성
js소스코드 파일에 주석 달기 위해 사용되는 마크업언어
배치파일의 실행 
주석 표준주석작성 jsDoc 방법에 따라 작성해야 그걸 토대로 메뉴얼을 만든다. 
cd ...
cd Temp
jsdoc 파일 내부에 html문서만들 수 있는 배치파일과 실행문들이 들어있음
jsdoc/symbols에 만들어진 html문서들
jsdoc/jsFile 에는 docFile문서만들고 싶은 js 파일을 옮겨놓고 
jsdoc/.bat파일(배치파일) java.exe 문서로 만들 수 있는 command명령어 적혀있음. 만들고 싶은 파일 4개가 기술되어있으니 추가할수도있다.
배치파일은 관리자모드(도스모드)로 실행하면 jsdoc 폴더 내 symbols 폴더 내에 html문서들이 생성된다. (표준으로 사용한 js utility 모듈만 산출물로 만듦)

독파일로 만들고싶은 파일을 기술해주면 된다.

 

댓글