From 91dfe5e3dbdfc0e2905c1e4cc262be817192978f Mon Sep 17 00:00:00 2001 From: MonHun Date: Mon, 22 Apr 2024 18:12:10 +0900 Subject: [PATCH] win 0422 --- Recognition/.obsidian/app.json | 5 +- .../plugins/recent-files-obsidian/data.json | 224 +++++++------- Recognition/.obsidian/workspace.json | 69 +++-- Recognition/Programing/0.Learnig List.md | 7 +- ...earch + Spring Boot에서 검색 로직.md | 173 +++++++++++ Recognition/Programing/ELK/query DSL.md | 34 +++ .../Programing/Java/JAVA -Json for VO.md | 72 +++++ .../Programing/Java/Java ArrayList 정렬.md | 1 + .../Kafka(AMQP)/Kafka Windows 실행.md | 88 ++++++ .../Programing/Kafka(AMQP)/무제 파일.md | 0 .../Windows/WIndows OpenSSH server 설치.md | 33 +++ .../Work Related/1.업무메모/2024-04-22.md | 275 ++++++++++++++++++ .../0.관련정보/공유문서.md | 16 +- .../0.관련정보/미들웨어 API.md | 3 + .../9.기타/방문증 신청 문구.md | 13 + .../프로젝트/스마트계류장/TODO.md | 9 +- 16 files changed, 857 insertions(+), 165 deletions(-) create mode 100644 Recognition/Programing/ELK/Elastic Search + Spring Boot에서 검색 로직.md create mode 100644 Recognition/Programing/Java/JAVA -Json for VO.md create mode 100644 Recognition/Programing/Java/Java ArrayList 정렬.md create mode 100644 Recognition/Programing/Kafka(AMQP)/Kafka Windows 실행.md delete mode 100644 Recognition/Programing/Kafka(AMQP)/무제 파일.md create mode 100644 Recognition/Programing/Windows/WIndows OpenSSH server 설치.md create mode 100644 Recognition/Work Related/1.업무메모/2024-04-22.md create mode 100644 Recognition/Work Related/프로젝트/스마트계류장/0.관련정보/미들웨어 API.md diff --git a/Recognition/.obsidian/app.json b/Recognition/.obsidian/app.json index 943356d..ec20e0b 100644 --- a/Recognition/.obsidian/app.json +++ b/Recognition/.obsidian/app.json @@ -6,5 +6,8 @@ "useMarkdownLinks": false, "autoPairMarkdown": true, "newFileLocation": "current", - "attachmentFolderPath": "zzz.resources" + "attachmentFolderPath": "zzz.resources", + "readableLineLength": false, + "showLineNumber": false, + "focusNewTab": false } \ No newline at end of file diff --git a/Recognition/.obsidian/plugins/recent-files-obsidian/data.json b/Recognition/.obsidian/plugins/recent-files-obsidian/data.json index e4ade16..72c8f5e 100644 --- a/Recognition/.obsidian/plugins/recent-files-obsidian/data.json +++ b/Recognition/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,5 +1,117 @@ { "recentFiles": [ + { + "basename": "2024-04-22", + "path": "Work Related/1.업무메모/2024-04-22.md" + }, + { + "basename": "WIndows OpenSSH server 설치", + "path": "Programing/Windows/WIndows OpenSSH server 설치.md" + }, + { + "basename": "2022-06-13", + "path": "Work Related/1.업무메모/2022.06/2022-06-13.md" + }, + { + "basename": "GAM_LIST 데이터 일괄 insert", + "path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/GAM_LIST 데이터 일괄 insert.md" + }, + { + "basename": "주기장 기준 항공기 유무 확인 쿼리(GAM)", + "path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/주기장 기준 항공기 유무 확인 쿼리(GAM).md" + }, + { + "basename": "테이블 일괄 생성 스크립트", + "path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/산출물작업/테이블 일괄 생성 스크립트.md" + }, + { + "basename": "표준이동경로 관련 임시테이블", + "path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/표준이동경로 관련 임시테이블.md" + }, + { + "basename": "프로젝트 범위 요약", + "path": "Work Related/프로젝트/스마트계류장/0.관련정보/프로젝트 범위 요약.md" + }, + { + "basename": "DB 필요항목", + "path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/DB 필요항목.md" + }, + { + "basename": "CCTV 설치된 멀티 주기장", + "path": "Work Related/프로젝트/스마트계류장/9.기타/CCTV 설치된 멀티 주기장.md" + }, + { + "basename": "PassWD", + "path": "Zettelkasten/PassWD.md" + }, + { + "basename": "테이블 스페이스 관련", + "path": "Programing/Tibero/테이블 스페이스 관련.md" + }, + { + "basename": "JAVA -Json for VO", + "path": "Programing/Java/JAVA -Json for VO.md" + }, + { + "basename": "Java ArrayList 정렬", + "path": "Programing/Java/Java ArrayList 정렬.md" + }, + { + "basename": "TODO", + "path": "Work Related/프로젝트/스마트계류장/TODO.md" + }, + { + "basename": "스마트계류장 요구사항", + "path": "Work Related/프로젝트/스마트계류장/0.관련정보/스마트계류장 요구사항.md" + }, + { + "basename": "2023.10-4", + "path": "Work Related/3.주간계획/스마트계류장/2023.10-4.md" + }, + { + "basename": "방문증 신청 문구", + "path": "Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md" + }, + { + "basename": "관리페이지 수정", + "path": "Work Related/프로젝트/스마트계류장/9.기타/관리페이지 수정.md" + }, + { + "basename": "공유문서", + "path": "Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md" + }, + { + "basename": "Elastic Search + Spring Boot에서 검색 로직", + "path": "Programing/ELK/Elastic Search + Spring Boot에서 검색 로직.md" + }, + { + "basename": "query DSL", + "path": "Programing/ELK/query DSL.md" + }, + { + "basename": "Kafka-ELK 테스트", + "path": "Work Related/프로젝트/스마트계류장/0.관련정보/Kafka-ELK 테스트.md" + }, + { + "basename": "미들웨어 API", + "path": "Work Related/프로젝트/스마트계류장/0.관련정보/미들웨어 API.md" + }, + { + "basename": "0.Learnig List", + "path": "Programing/0.Learnig List.md" + }, + { + "basename": "Kafka Windows 실행", + "path": "Programing/Kafka(AMQP)/Kafka Windows 실행.md" + }, + { + "basename": "오류모음", + "path": "Programing/Kafka(AMQP)/오류모음.md" + }, + { + "basename": "물리적인 구성", + "path": "Programing/Kafka(AMQP)/물리적인 구성.md" + }, { "basename": "CMD 명령어", "path": "Programing/Windows/CMD 명령어.md" @@ -12,10 +124,6 @@ "basename": "2023.10-3", "path": "Work Related/3.주간계획/스마트계류장/2023.10-3.md" }, - { - "basename": "2023.10-4", - "path": "Work Related/3.주간계획/스마트계류장/2023.10-4.md" - }, { "basename": "Jenkins 설치", "path": "Programing/Jenkins/Jenkins 설치.md" @@ -24,10 +132,6 @@ "basename": "용어정리", "path": "Work Related/프로젝트/스마트계류장/항공용어/용어정리.md" }, - { - "basename": "프로젝트 범위 요약", - "path": "Work Related/프로젝트/스마트계류장/0.관련정보/프로젝트 범위 요약.md" - }, { "basename": "약어표", "path": "Work Related/프로젝트/스마트계류장/항공용어/약어표.md" @@ -60,14 +164,6 @@ "basename": "Kafka 설치", "path": "Programing/Kafka(AMQP)/Kafka 설치.md" }, - { - "basename": "방문증 신청 문구", - "path": "Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md" - }, - { - "basename": "TODO", - "path": "Work Related/프로젝트/스마트계류장/TODO.md" - }, { "basename": "EAI 데이터 초기화", "path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 데이터 초기화.md" @@ -80,10 +176,6 @@ "basename": "EAI 프로시져 테스트", "path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 프로시져 테스트.md" }, - { - "basename": "GAM_LIST 데이터 일괄 insert", - "path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/GAM_LIST 데이터 일괄 insert.md" - }, { "basename": "Docker 설치", "path": "Programing/Docker/Docker 설치.md" @@ -107,98 +199,6 @@ { "basename": "스키마 생성", "path": "Programing/Tibero/스키마 생성.md" - }, - { - "basename": "설치", - "path": "Programing/MariaDB/설치.md" - }, - { - "basename": "ssh포트로 파일 전송", - "path": "Programing/Linux/Linux 명령어/ssh포트로 파일 전송.md" - }, - { - "basename": "SSH", - "path": "Programing/Linux/RHEL9/SSH.md" - }, - { - "basename": "공유문서", - "path": "Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md" - }, - { - "basename": "Maven 설치", - "path": "Tools/VSCode_Server/Maven 설치.md" - }, - { - "basename": "SACP maven 빌드 명령어", - "path": "Work Related/프로젝트/스마트계류장/9.기타/SACP maven 빌드 명령어.md" - }, - { - "basename": "프로젝트 생성", - "path": "Tools/VSCode_Server/프로젝트 생성.md" - }, - { - "basename": "Ubuntu에 설치", - "path": "Tools/VSCode_Server/Ubuntu에 설치.md" - }, - { - "basename": "vscode_server 설치관련", - "path": "Tools/VSCode_Server/vscode_server 설치관련.md" - }, - { - "basename": "VSCode 설치", - "path": "Tools/VSCode/VSCode 설치.md" - }, - { - "basename": "VSCode Extension", - "path": "Tools/VSCode/VSCode Extension.md" - }, - { - "basename": "Docker 폐쇄망 설치", - "path": "Programing/Docker/Docker 폐쇄망 설치.md" - }, - { - "basename": "프로세스 확인 및 강제 종료", - "path": "Programing/Linux/Ubuntu/프로세스 확인 및 강제 종료.md" - }, - { - "basename": "Reno server URL", - "path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/Reno server URL.md" - }, - { - "basename": "Docker Compose", - "path": "Programing/Docker/Docker Compose.md" - }, - { - "basename": "Docker Engine", - "path": "Programing/Docker/Docker Engine.md" - }, - { - "basename": "2022-06-06", - "path": "Work Related/1.업무메모/2022.06/2022-06-06.md" - }, - { - "basename": "2022-06-16", - "path": "Work Related/1.업무메모/2022.06/2022-06-16.md" - }, - { - "basename": "상황관제-방송수신내역(항적)", - "path": "Work Related/프로젝트/D-MHFH/유지보수/상황관제-방송수신내역(항적).md" - }, - { - "basename": "커맨트라인(bash) 단축키", - "path": "Programing/Linux/Linux 명령어/커맨트라인(bash) 단축키.md" - }, - { - "basename": "ElasticSearch 쿼리", - "path": "Programing/ELK/ElasticSearch 쿼리.md" - }, - { - "basename": "Set Up", - "path": "Learning/Programing/WSL개발환경 셋팅/Set Up.md" - }, - { - "basename": "Tibero 7 설치", - "path": "Programing/Tibero/Tibero 7 설치.md" } ], "omittedPaths": [], diff --git a/Recognition/.obsidian/workspace.json b/Recognition/.obsidian/workspace.json index 338e3d7..72b7449 100644 --- a/Recognition/.obsidian/workspace.json +++ b/Recognition/.obsidian/workspace.json @@ -4,16 +4,16 @@ "type": "split", "children": [ { - "id": "e55c8d30f7a2d34c", + "id": "90db076928281e7d", "type": "tabs", "children": [ { - "id": "5481a3c21b2c27b9", + "id": "87246a6f2da07960", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "Programing/Windows/CMD 명령어.md", + "file": "Work Related/1.업무메모/2024-04-22.md", "mode": "source", "backlinks": true, "source": false @@ -49,7 +49,7 @@ "state": { "type": "search", "state": { - "query": "netstat", + "query": "add_month", "matchingCase": false, "explainSearch": false, "collapseAll": true, @@ -82,8 +82,7 @@ "state": {} } } - ], - "currentTab": 1 + ] } ], "direction": "horizontal", @@ -103,7 +102,7 @@ "state": { "type": "backlink", "state": { - "file": "Programing/Windows/CMD 명령어.md", + "file": "Work Related/1.업무메모/2024-04-22.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -120,7 +119,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "Programing/Windows/CMD 명령어.md", + "file": "Work Related/1.업무메모/2024-04-22.md", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -143,7 +142,7 @@ "state": { "type": "outline", "state": { - "file": "Programing/Windows/CMD 명령어.md" + "file": "Work Related/1.업무메모/2024-04-22.md" } } }, @@ -185,28 +184,34 @@ "command-palette:명령어 팔레트 열기": false } }, - "active": "5481a3c21b2c27b9", + "active": "87246a6f2da07960", "lastOpenFiles": [ - "Work Related/1.업무메모/2024-03-25.md", - "Work Related/3.주간계획/스마트계류장/2023.10-3.md", - "Work Related/3.주간계획/스마트계류장/2023.10-4.md", - "Programing/Jenkins/Jenkins 설치.md", - "Work Related/프로젝트/스마트계류장/항공용어/용어정리.md", - "Work Related/프로젝트/스마트계류장/0.관련정보/프로젝트 범위 요약.md", - "Work Related/프로젝트/스마트계류장/항공용어/약어표.md", - "Programing/Java/Java 접근제한.md", - "Programing/Java/16진수 표기.md", - "Programing/Java/CMD 실행.md", - "Programing/Docker/Docker 페쇄망 이관.md", - "Programing/Kafka(AMQP)/Kafka 명령어.md", - "Programing/Kafka(AMQP)/kafka 오류.md", - "Programing/Kafka(AMQP)/Kafka 설치.md", - "Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md", - "Work Related/프로젝트/스마트계류장/TODO.md", - "Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 데이터 초기화.md", - "Work Related/1.업무메모/2024-04-01.md", - "Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 프로시져 테스트.md", + "Programing/Windows/WIndows OpenSSH server 설치.md", + "Work Related/1.업무메모/2024-04-22.md", + "Work Related/1.업무메모/2022.06/2022-06-13.md", "Work Related/프로젝트/스마트계류장/1.데이터베이스/GAM_LIST 데이터 일괄 insert.md", + "Work Related/프로젝트/스마트계류장/1.데이터베이스/주기장 기준 항공기 유무 확인 쿼리(GAM).md", + "Work Related/프로젝트/스마트계류장/1.데이터베이스/산출물작업/테이블 일괄 생성 스크립트.md", + "Work Related/프로젝트/스마트계류장/1.데이터베이스/표준이동경로 관련 임시테이블.md", + "Work Related/프로젝트/스마트계류장/0.관련정보/프로젝트 범위 요약.md", + "Work Related/프로젝트/스마트계류장/1.데이터베이스/DB 필요항목.md", + "Work Related/프로젝트/스마트계류장/9.기타/CCTV 설치된 멀티 주기장.md", + "Zettelkasten/PassWD.md", + "Programing/Tibero/테이블 스페이스 관련.md", + "Programing/Java/JAVA -Json for VO.md", + "Programing/Java/Java ArrayList 정렬.md", + "Work Related/프로젝트/스마트계류장/TODO.md", + "Work Related/프로젝트/스마트계류장/0.관련정보/스마트계류장 요구사항.md", + "Work Related/3.주간계획/스마트계류장/2023.10-4.md", + "Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md", + "Work Related/프로젝트/스마트계류장/9.기타/관리페이지 수정.md", + "Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md", + "Programing/ELK/Elastic Search + Spring Boot에서 검색 로직.md", + "Programing/ELK/query DSL.md", + "Work Related/프로젝트/스마트계류장/0.관련정보/Kafka-ELK 테스트.md", + "Work Related/프로젝트/스마트계류장/0.관련정보/미들웨어 API.md", + "Programing/0.Learnig List.md", + "Programing/Kafka(AMQP)/Kafka Windows 실행.md", "zzz.resources/Pasted image 20240404100942.png", "zzz.resources/Pasted image 20240404100125.png", "zzz.resources/Pasted image 20240404095641.png", @@ -217,13 +222,7 @@ "zzz.resources/Pasted image 20240404092924.png", "zzz.resources/Pasted image 20240404092657.png", "zzz.resources/Pasted image 20240404092425.png", - "Programing/Docker/Docker 설치.md", - "Programing/Docker/무제 파일.md", - "Programing/Grafana/설치 및 실행.md", - "Programing/0.Root/용어.md", "Programing/Jenkins", - "Programing/Tibero/권한(Grant).md", - "Programing/Tibero/스키마 생성.md", "무제 파일.canvas", "Work Related/1.업무메모/2023", "zzz.resources/tibero-jdbc-7.jar", diff --git a/Recognition/Programing/0.Learnig List.md b/Recognition/Programing/0.Learnig List.md index 7f0f816..3fff288 100644 --- a/Recognition/Programing/0.Learnig List.md +++ b/Recognition/Programing/0.Learnig List.md @@ -1,4 +1,9 @@ - [ ] 일렉트론 - [ ] Git - [ ] Perl -- [ ] \ No newline at end of file + +https://fastcampus.co.kr/data_online_engineering + +https://fastcampus.co.kr/dev_online_linuxcloud + +https://fastcampus.co.kr/dev_online_devopskit \ No newline at end of file diff --git a/Recognition/Programing/ELK/Elastic Search + Spring Boot에서 검색 로직.md b/Recognition/Programing/ELK/Elastic Search + Spring Boot에서 검색 로직.md new file mode 100644 index 0000000..df2163a --- /dev/null +++ b/Recognition/Programing/ELK/Elastic Search + Spring Boot에서 검색 로직.md @@ -0,0 +1,173 @@ + +- Kibana Test 쿼리 +```json + +POST replay_log_*/_search +{ + "size" : 10000, + "track_total_hits": true, + "query" : { + "bool" : { + "filter" : [ + { + "terms" : { + "header.msg_type.keyword" : [ + 10 + ] + } + }, + { + "range" : { + "header.recv_time" : { + "from" : "20240416090000.000", + "to" : "20240416103059.999" + } + } + } + ] + } + }, + "_source": ["@timestamp", "header", "message"], + "sort" : [{"header.recv_time.keyword" : {"order" : "ASC"}}], + "search_after" : ["0"] +} + +``` + + +- Elasticsearch 라이브러리 사용 +```java + +public String elkSearch_replay_log(String sLogIndex, String sStartDt, String sEndDt) { + + // String sLogType = "3"; // 재생용 로그 S/W구분 + // String sStart_tm = "20240219160000.000"; // 일시(from) + // String sEnd_tm = "20240219170000.000"; // 일시(to) + + List sAfter = null; // 일시(to) + + List productMatches = new ArrayList(); + + String esQuery = "{ " + // + " \"bool\" : { " + // + " \"filter\" : [ " + // + " { \"terms\" : { " + // + " \"header.msg_type.keyword\" : [ " + // + " "+ sLogIndex +" ] } }, " + // + " { \"range\" : { " + // + " \"header.recv_time\" : { " + // + " \"from\" : \""+ sStartDt +"\", " + // + " \"to\" : \""+ sEndDt +"\" } } } ] } " + // + "}"; + + Query searchQuery = new StringQuery(esQuery); + + // 한번에 가져올 row수 설정 + ((BaseQuery) searchQuery).setMaxResults(1000); + + // 페이징( PageRequest.of( 페이지번호( 총개수 / size ), size) ) + //searchQuery.setPageable(PageRequest.of(62, 10)); // 620번째 로우부터 10개까지 가져옴 + + // 데이터 정렬할 필드 설정 + searchQuery.addSort(Sort.by(new Sort.Order(Sort.Direction.ASC, "header.recv_time.keyword"))); + + LocalDateTime dt_before = LocalDateTime.now(); + + while (true) { + + searchQuery.setSearchAfter(sAfter); + + // 검색 요청하여 검색 결과 가져오기 + SearchHits productHits = elasticsearchOperations.search(searchQuery, IndexReplayMsg.class, IndexCoordinates.of("replay_log_*")); + + if (productHits.getTotalHits() <= 0) break; + + Duration diff = Duration.between(dt_before, LocalDateTime.now()); + + logger.info("elastic Call " + productHits.getTotalHits() + "건 " + diff.toMillis() + "msec"); + + sAfter = productHits.toList().get(productHits.toList().size() -1).getSortValues(); + + // IndexFusion Object에 데이터 담기 + productHits.forEach(srcHit -> { + productMatches.add(srcHit.getContent()); + }); + + + logger.info("map cnt " + productMatches.size() + "건 " ); + + if (productHits.toList().size() != 1000) { + break; + } + + } + + + return "OK"; + } + +``` + + + +- Post요청 -> 결과 Map 반환 +```java + +public String searchReplayDSL(String sIndex, String sStartDt, String sEndDt) { + + + while (true) { + + String sQeury = "{\r\n" + // + " \"size\" : 10000,\r\n" + // + " \"track_total_hits\": true,\r\n" + // + " \"query\" : {\r\n" + // + " \"bool\" : {\r\n" + // + " \"filter\" : [\r\n" + // + " {\r\n" + // + " \"terms\" : {\r\n" + // + " \"header.msg_type.keyword\" : [\r\n" + // + " 10\r\n" + // + " ]\r\n" + // + " }\r\n" + // + " },\r\n" + // + " {\r\n" + // + " \"range\" : {\r\n" + // + " \"header.recv_time\" : {\r\n" + // + " \"from\" : \"20240416090000.000\",\r\n" + // + " \"to\" : \"20240416103059.999\"\r\n" + // + " }\r\n" + // + " }\r\n" + // + " }\r\n" + // + " ]\r\n" + // + " }\r\n" + // + " },\r\n" + // + " \"_source\": [\"@timestamp\", \"header\", \"message\"],\r\n" + // + " \"sort\" : [{\"header.recv_time.keyword\" : {\"order\" : \"ASC\"}}],\r\n" + // + " \"search_after\" : [\"0\"]\r\n" + // + "}"; + + // MultiValueMap params = new LinkedMultiValueMap<>(); + // params.add("Content-Type", "application/json"); + + HttpHeaders headers = new HttpHeaders(); + headers.add("Content-Type", "application/json"); + + HttpEntity entity = new HttpEntity(sQeury, headers); + + + RestTemplate rt = new RestTemplate(); + + Map personResultAsJsonStr = rt.postForObject("http://10.200.31.130:9200/replay_log_*/_search", entity, Map.class); + + if (personResultAsJsonStr != null) { + break; + } + + } + + + return "OK"; + } + +``` \ No newline at end of file diff --git a/Recognition/Programing/ELK/query DSL.md b/Recognition/Programing/ELK/query DSL.md index 60190f2..f2cb43f 100644 --- a/Recognition/Programing/ELK/query DSL.md +++ b/Recognition/Programing/ELK/query DSL.md @@ -12,3 +12,37 @@ https://velog.io/@hanblueblue/Elastic-Search-2 - 스크립팅 https://velog.io/@soyeon207/ES-8.-Script + +```json + +POST replay_log_*/_search +{ + "size" : 10000, + "track_total_hits": true, + "query" : { + "bool" : { + "filter" : [ + { + "terms" : { + "header.msg_type.keyword" : [ + 10 + ] + } + }, + { + "range" : { + "header.recv_time" : { + "from" : "20240416090000.000", + "to" : "20240416103059.999" + } + } + } + ] + } + }, + "_source": ["@timestamp", "header", "message"], + "sort" : [{"header.recv_time.keyword" : {"order" : "ASC"}}], + "search_after" : ["0"] +} + +``` \ No newline at end of file diff --git a/Recognition/Programing/Java/JAVA -Json for VO.md b/Recognition/Programing/Java/JAVA -Json for VO.md new file mode 100644 index 0000000..3961ddc --- /dev/null +++ b/Recognition/Programing/Java/JAVA -Json for VO.md @@ -0,0 +1,72 @@ +```java + +package kr.gmtc.gw.elastic.vo; + +import java.util.ArrayList; +import java.util.List; + +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class LogMsgParserVO_Arraytype { + + private LogMsgHeader header; + private ArrayList data; + + public LogMsgParserVO_Arraytype() { + this.data = new ArrayList(); + } + + @Setter + @Getter + public static class LogMsgHeader { + private String log_dt; + private String log_se; + private String sw_se; + private String server_se; + } + + @Setter + @Getter + public static class LogMsgFieldVO { + + private ArrayList fields; + + public LogMsgFieldVO(){ + this.fields = new ArrayList(); + } + + public LogMsgFieldVO(ArrayList fields){ + this.fields = fields; + } + + } + + @Setter + @Getter + public static class LogMsgFieldListVO { + + private List fieldList; + + public LogMsgFieldListVO() { + + this.fieldList = new ArrayList(); + } + + } + + @Setter + @Getter + public static class LogMsgFieldArrayVO { + + private ArrayList fieldArray; + + } + + +} + + +``` \ No newline at end of file diff --git a/Recognition/Programing/Java/Java ArrayList 정렬.md b/Recognition/Programing/Java/Java ArrayList 정렬.md new file mode 100644 index 0000000..a8f7535 --- /dev/null +++ b/Recognition/Programing/Java/Java ArrayList 정렬.md @@ -0,0 +1 @@ +https://hianna.tistory.com/569 diff --git a/Recognition/Programing/Kafka(AMQP)/Kafka Windows 실행.md b/Recognition/Programing/Kafka(AMQP)/Kafka Windows 실행.md new file mode 100644 index 0000000..d35f71e --- /dev/null +++ b/Recognition/Programing/Kafka(AMQP)/Kafka Windows 실행.md @@ -0,0 +1,88 @@ +``` cmd + +# zookeeper server 실행 +bin\windows\zookeeper-server-start.bat config\zookeeper.properties + +# zookeeper server 실행 확인 +netstat -na | findstr "2181" + + +# kafka server 실행 +bin\windows\kafka-server-start.bat config\server.properties + +# kafka server 실행 확인 +netstat -na | findstr "9092" + +# kafka topic 생성하기 +# bin\windows\kafka-topics.bat --create --bootstrap-server 카프카 접속주소:카프카 포트 --topic 카프카 토픽이름 +ex) +bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --topic dev-topic + +# kafka topic 생성확인 +# bin\windows\kafka-topics.bat --list --bootstrap-server 카프카 접속주소:카프카 포트 +ex) +bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092 + +# zookeeper server 종료 +bin\windows\zookeeper-server-stop.bat + + +# kafka server 종료 +bin\windows\kafka-server-stop.bat + +# kafdrop 실행 +D:\JAVA\jdk-18.0.2\bin\java --add-opens=java.base/sun.nio.ch=ALL-UNNAMED -jar kafdrop/kafdrop-4.0.1.jar --kafka.brokerConnect=localhost:9092 + +``` + +- windows kraft +```cmd + +# zookeeper server 실행 +bin\windows\zookeeper-server-start.bat config\zookeeper.properties + +bin\windows\zookeeper-server-start.bat config\kraft\zookeeper.properties + +# zookeeper server 실행 확인 +netstat -na | findstr "2181" + + +# kafka server 실행 +bin\windows\kafka-server-start.bat config\server.properties + +bin\windows\kafka-server-start.bat config\kraft\server.properties + +bin\windows\kafka-storage.bat random-uuid +8vVw8BXyTKejURskMuC0xw + +bin\windows\kafka-storage.bat format -t IDio-YJlQkqWjcpbrWQgUw -c config\kraft\server.properties + +bin\windows\kafka-server-start.bat config\kraft\server.properties + +# kafka server 실행 확인 +netstat -na | findstr "9092" + +# kafka topic 생성하기 +# bin\windows\kafka-topics.bat --create --bootstrap-server 카프카 접속주소:카프카 포트 --topic 카프카 토픽이름 +ex) +bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --topic dev-topic + +# kafka topic 생성확인 +# bin\windows\kafka-topics.bat --list --bootstrap-server 카프카 접속주소:카프카 포트 +ex) +bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092 + +# zookeeper server 종료 +bin\windows\zookeeper-server-stop.bat + + +# kafka server 종료 +bin\windows\kafka-server-stop.bat + +# kafdrop 실행 +D:\JAVA\jdk-18.0.2\bin\java --add-opens=java.base/sun.nio.ch=ALL-UNNAMED -jar kafdrop/kafdrop-4.0.1.jar --kafka.brokerConnect=localhost:9092 + + +bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic TestTopic + +``` \ No newline at end of file diff --git a/Recognition/Programing/Kafka(AMQP)/무제 파일.md b/Recognition/Programing/Kafka(AMQP)/무제 파일.md deleted file mode 100644 index e69de29..0000000 diff --git a/Recognition/Programing/Windows/WIndows OpenSSH server 설치.md b/Recognition/Programing/Windows/WIndows OpenSSH server 설치.md new file mode 100644 index 0000000..0bfa2bd --- /dev/null +++ b/Recognition/Programing/Windows/WIndows OpenSSH server 설치.md @@ -0,0 +1,33 @@ +- OpenSSH 다운로드 : https://github.com/PowerShell/Win32-OpenSSH/releases +- Program Filse에 압출풀기 (C:\Program Files\OpenSSH-Win64) +```shell + +# Program Filse에 압출풀기 (C:\Program Files\OpenSSH-Win64) + +# PowerShell 관리자권한 +cd "C:\Program Files\OpenSSH-Win64" +./install-sshd.ps1 +-> sshd and ssh-agent services successfully installed + + +## 보안 오류: (:) [], PSSecurityException 발생하는경우 +PSSecurityException +-> Restricted + +Set-ExecutionPolicy RemoteSigned +PSSecurityException +-> RemoteSigned +## 보안 오류: (:) [], PSSecurityException 발생하는경우 END + +# 동작 확인 +ssh gmt@10.200.32.59 + +# 스크립트 보안 원복 +Set-ExecutionPolicy Restricted + +``` + +##### CF. ExecutionPolicy +- Restricted: 기본 실행 정책으로 개별 명령을 허용하지만 스크립트를 실행하지 않습니다. +- Unrestricted: 서명되지 않은 스크립트를 실행할 수 있음. 악의적인 스크립트를 실행할 위험이 있음 +- RemoteSigned : 스크립트를 실행 가능, 이미 실행한 스크립트와 로컬 컴퓨터에 작성한 스크립트에는 디지털 서명이 필요 없음. \ No newline at end of file diff --git a/Recognition/Work Related/1.업무메모/2024-04-22.md b/Recognition/Work Related/1.업무메모/2024-04-22.md new file mode 100644 index 0000000..f2b8375 --- /dev/null +++ b/Recognition/Work Related/1.업무메모/2024-04-22.md @@ -0,0 +1,275 @@ +-- 통계 백업 + +```sql + +/* + * 시간별 집계 조회조건 = 일자 from ~ to + */ + +-- 집계쿼리 +select substr(flt_dt, 1, 8) as flt_de + , stand_no + , stand_on_off +-- , case when actl_apn_in_tm is not null then 'A' +-- when actl_apn_out_tm is not null then 'D' +-- else 'T' END as flt_se +-- , ac_grad +-- , ac_ty_iata + , sum(decode(substr(flt_dt,9,2), '01', 1, 0)) as tm01 + , sum(decode(substr(flt_dt,9,2), '02', 1, 0)) as tm02 + , sum(decode(substr(flt_dt,9,2), '03', 1, 0)) as tm03 + , sum(decode(substr(flt_dt,9,2), '04', 1, 0)) as tm04 + , sum(decode(substr(flt_dt,9,2), '05', 1, 0)) as tm05 + , sum(decode(substr(flt_dt,9,2), '06', 1, 0)) as tm06 + , sum(decode(substr(flt_dt,9,2), '07', 1, 0)) as tm07 + , sum(decode(substr(flt_dt,9,2), '08', 1, 0)) as tm08 + , sum(decode(substr(flt_dt,9,2), '09', 1, 0)) as tm09 + , sum(decode(substr(flt_dt,9,2), '10', 1, 0)) as tm10 + , sum(decode(substr(flt_dt,9,2), '11', 1, 0)) as tm11 + , sum(decode(substr(flt_dt,9,2), '12', 1, 0)) as tm12 + , sum(decode(substr(flt_dt,9,2), '13', 1, 0)) as tm13 + , sum(decode(substr(flt_dt,9,2), '14', 1, 0)) as tm14 + , sum(decode(substr(flt_dt,9,2), '15', 1, 0)) as tm15 + , sum(decode(substr(flt_dt,9,2), '16', 1, 0)) as tm16 + , sum(decode(substr(flt_dt,9,2), '17', 1, 0)) as tm17 + , sum(decode(substr(flt_dt,9,2), '18', 1, 0)) as tm18 + , sum(decode(substr(flt_dt,9,2), '19', 1, 0)) as tm19 + , sum(decode(substr(flt_dt,9,2), '20', 1, 0)) as tm20 + , sum(decode(substr(flt_dt,9,2), '21', 1, 0)) as tm21 + , sum(decode(substr(flt_dt,9,2), '22', 1, 0)) as tm22 + , sum(decode(substr(flt_dt,9,2), '23', 1, 0)) as tm23 + , sum(decode(substr(flt_dt,9,2), '24', 1, 0)) as tm24 +from ( + select ucm.fun_kst_tm(ACTL_STAND_ON_de||actl_stand_on_tm) as flt_dt, stand_no, 'ON' as stand_on_off + , ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm + from uic.SACP_GAM_LAST + where ACTL_STAND_ON_TM is not null + union all + select ucm.fun_kst_tm(ACTL_STAND_OFF_de||actl_stand_OFF_tm) as flt_dt, stand_no, 'OFF' as stand_on_off + , ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm + from uic.SACP_GAM_LAST + where ACTL_STAND_OFF_TM is not null + order by stand_no, 4, 5 +) m +where flt_dt like '2024042%' +--and stand_no = '367' +and stand_no in ( + select ucm.FUN_PRE_ZERO_REMOVE(replace(a.stand_no, '00', '')) as std_stand_no +-- , decode(b.STAND_NO, null, 'N', 'Y') as cctv_yn + from ucm.SACP_STAND a, ucm.SACP_CCTVID_MAPPING b + where a.STAND_NO = b.STAND_NO (+) + and a.DSTRCT_TY in ( 'AF02003', 'AF02004', 'AF02007', 'AF02009' ) ) +group by substr(flt_dt, 1, 8), stand_no, stand_on_off +order by flt_de, stand_no, decode(stand_on_off, 'ON', 1, 2) + + + +-- 확인용 +select stand_no + , stand_on_off +-- , case when actl_apn_in_tm is not null then 'A' +-- when actl_apn_out_tm is not null then 'D' +-- else 'T' END as flt_se +-- , ac_grad +-- , ac_ty_iata + , sum(decode(substr(flt_dt,9,2), '01', 1, 0)) as tm01 + , sum(decode(substr(flt_dt,9,2), '02', 1, 0)) as tm02 + , sum(decode(substr(flt_dt,9,2), '03', 1, 0)) as tm03 + , sum(decode(substr(flt_dt,9,2), '04', 1, 0)) as tm04 + , sum(decode(substr(flt_dt,9,2), '05', 1, 0)) as tm05 + , sum(decode(substr(flt_dt,9,2), '06', 1, 0)) as tm06 + , sum(decode(substr(flt_dt,9,2), '07', 1, 0)) as tm07 + , sum(decode(substr(flt_dt,9,2), '08', 1, 0)) as tm08 + , sum(decode(substr(flt_dt,9,2), '09', 1, 0)) as tm09 + , sum(decode(substr(flt_dt,9,2), '10', 1, 0)) as tm10 + , sum(decode(substr(flt_dt,9,2), '11', 1, 0)) as tm11 + , sum(decode(substr(flt_dt,9,2), '12', 1, 0)) as tm12 + , sum(decode(substr(flt_dt,9,2), '13', 1, 0)) as tm13 + , sum(decode(substr(flt_dt,9,2), '14', 1, 0)) as tm14 + , sum(decode(substr(flt_dt,9,2), '15', 1, 0)) as tm15 + , sum(decode(substr(flt_dt,9,2), '16', 1, 0)) as tm16 + , sum(decode(substr(flt_dt,9,2), '17', 1, 0)) as tm17 + , sum(decode(substr(flt_dt,9,2), '18', 1, 0)) as tm18 + , sum(decode(substr(flt_dt,9,2), '19', 1, 0)) as tm19 + , sum(decode(substr(flt_dt,9,2), '20', 1, 0)) as tm20 + , sum(decode(substr(flt_dt,9,2), '21', 1, 0)) as tm21 + , sum(decode(substr(flt_dt,9,2), '22', 1, 0)) as tm22 + , sum(decode(substr(flt_dt,9,2), '23', 1, 0)) as tm23 + , sum(decode(substr(flt_dt,9,2), '24', 1, 0)) as tm24 +from ( + select ucm.fun_kst_tm(ACTL_STAND_ON_de||actl_stand_on_tm) as flt_dt, stand_no, 'ON' as stand_on_off + , ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm + from uic.SACP_GAM_LAST + where ACTL_STAND_ON_TM is not null + union all + select ucm.fun_kst_tm(ACTL_STAND_OFF_de||actl_stand_OFF_tm) as flt_dt, stand_no, 'OFF' as stand_on_off + , ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm + from uic.SACP_GAM_LAST + where ACTL_STAND_OFF_TM is not null + order by stand_no, 4, 5 +) m +where flt_dt between '20240401' and '20240431' +--and stand_no = '367' +and stand_no in ( + select ucm.FUN_PRE_ZERO_REMOVE(replace(a.stand_no, '00', '')) as std_stand_no +-- , decode(b.STAND_NO, null, 'N', 'Y') as cctv_yn + from ucm.SACP_STAND a, ucm.SACP_CCTVID_MAPPING b + where a.STAND_NO = b.STAND_NO (+) + and a.DSTRCT_TY in ( 'AF02003', 'AF02004', 'AF02007', 'AF02009' ) ) +group by stand_no, stand_on_off +order by stand_no, decode(stand_on_off, 'ON', 1, 2) + + + + + + +``` + +```sql + +select 'ON' as stand_on_off + , ucm.fun_kst_tm(ACTL_STAND_ON_de||actl_stand_on_tm) as flt_dt + , a.stand_no + , ac_grad + , ac_ty_iata + , actl_apn_in_tm + , actl_apn_out_tm + , b.DSTRCT_TY + , ucm.fun_get_cmmn_nm('CT003', 'AF02003') as stand_DSTRCT_TY +from uic.SACP_GAM_LAST a, + (select ucm.FUN_PRE_ZERO_REMOVE(replace(a.stand_no, '00', '')) as stand_no + , decode(b.STAND_NO, null, 'N', 'Y') as cctv_yn + , a.DSTRCT_TY + from ucm.SACP_STAND a, ucm.SACP_CCTVID_MAPPING b + where a.STAND_NO = b.STAND_NO (+) + and a.DSTRCT_TY in ( 'AF02003', 'AF02004', 'AF02007', 'AF02009' ) )b +where a.STAND_NO = b.STAND_NO +and a.ACTL_STAND_ON_TM is not null +and a.actl_stand_on_de = '20240422' +and a.stand_no = '253' + + +``` + + +```sql + +/* + * 일자별 집계 조회조건 = 년월(yyyymm) from ~ to + */ + +-- 집계쿼리 +select stand_no + , stand_on_off +-- , case when actl_apn_in_tm is not null then 'A' +-- when actl_apn_out_tm is not null then 'D' +-- else 'T' END as flt_se +-- , ac_grad +-- , ac_ty_iata + , sum(decode(substr(flt_dt,7,2), '01', 1, 0)) as day01 + , sum(decode(substr(flt_dt,7,2), '02', 1, 0)) as day02 + , sum(decode(substr(flt_dt,7,2), '03', 1, 0)) as day03 + , sum(decode(substr(flt_dt,7,2), '04', 1, 0)) as day04 + , sum(decode(substr(flt_dt,7,2), '05', 1, 0)) as day05 + , sum(decode(substr(flt_dt,7,2), '06', 1, 0)) as day06 + , sum(decode(substr(flt_dt,7,2), '07', 1, 0)) as day07 + , sum(decode(substr(flt_dt,7,2), '08', 1, 0)) as day08 + , sum(decode(substr(flt_dt,7,2), '09', 1, 0)) as day09 + , sum(decode(substr(flt_dt,7,2), '10', 1, 0)) as day10 + , sum(decode(substr(flt_dt,7,2), '11', 1, 0)) as day11 + , sum(decode(substr(flt_dt,7,2), '12', 1, 0)) as day12 + , sum(decode(substr(flt_dt,7,2), '13', 1, 0)) as day13 + , sum(decode(substr(flt_dt,7,2), '14', 1, 0)) as day14 + , sum(decode(substr(flt_dt,7,2), '15', 1, 0)) as day15 + , sum(decode(substr(flt_dt,7,2), '16', 1, 0)) as day16 + , sum(decode(substr(flt_dt,7,2), '17', 1, 0)) as day17 + , sum(decode(substr(flt_dt,7,2), '18', 1, 0)) as day18 + , sum(decode(substr(flt_dt,7,2), '19', 1, 0)) as day19 + , sum(decode(substr(flt_dt,7,2), '20', 1, 0)) as day20 + , sum(decode(substr(flt_dt,7,2), '21', 1, 0)) as day21 + , sum(decode(substr(flt_dt,7,2), '22', 1, 0)) as day22 + , sum(decode(substr(flt_dt,7,2), '23', 1, 0)) as day23 + , sum(decode(substr(flt_dt,7,2), '24', 1, 0)) as day24 + , sum(decode(substr(flt_dt,7,2), '25', 1, 0)) as day25 + , sum(decode(substr(flt_dt,7,2), '26', 1, 0)) as day26 + , sum(decode(substr(flt_dt,7,2), '27', 1, 0)) as day27 + , sum(decode(substr(flt_dt,7,2), '28', 1, 0)) as day28 + , sum(decode(substr(flt_dt,7,2), '29', 1, 0)) as day29 + , sum(decode(substr(flt_dt,7,2), '30', 1, 0)) as day30 + , sum(decode(substr(flt_dt,7,2), '31', 1, 0)) as day31 +from ( + select ucm.fun_kst_tm(ACTL_STAND_ON_de||actl_stand_on_tm) as flt_dt, stand_no, 'ON' as stand_on_off + , ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm + from uic.SACP_GAM_LAST + where ACTL_STAND_ON_TM is not null + union all + select ucm.fun_kst_tm(ACTL_STAND_OFF_de||actl_stand_OFF_tm) as flt_dt, stand_no, 'OFF' as stand_on_off + , ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm + from uic.SACP_GAM_LAST + where ACTL_STAND_OFF_TM is not null + order by stand_no, 4, 5 +) m +where substr(flt_dt, 1, 6) between '202403' and '202403' +--and stand_no = '367' +and stand_no in ( + select ucm.FUN_PRE_ZERO_REMOVE(replace(a.stand_no, '00', '')) as std_stand_no +-- , decode(b.STAND_NO, null, 'N', 'Y') as cctv_yn + from ucm.SACP_STAND a, ucm.SACP_CCTVID_MAPPING b + where a.STAND_NO = b.STAND_NO (+) + and a.DSTRCT_TY in ( 'AF02003', 'AF02004', 'AF02007', 'AF02009' ) ) +group by stand_no, stand_on_off +order by stand_no, decode(stand_on_off, 'ON', 1, 2) + + + + +/* + * 년도별 집계 조회조건 = 년도(yyyy) to + */ + +-- 집계쿼리 +select stand_no + , stand_on_off +-- , case when actl_apn_in_tm is not null then 'A' +-- when actl_apn_out_tm is not null then 'D' +-- else 'T' END as flt_se +-- , ac_grad +-- , ac_ty_iata + , sum(decode(substr(flt_dt,1,4), to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -5 , 1, 0)) as year_5 + , sum(decode(substr(flt_dt,1,4), to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -4 , 1, 0)) as year_4 + , sum(decode(substr(flt_dt,1,4), to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -3 , 1, 0)) as year_3 + , sum(decode(substr(flt_dt,1,4), to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -2 , 1, 0)) as year_2 + , sum(decode(substr(flt_dt,1,4), to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -1 , 1, 0)) as year_1 + , sum(decode(substr(flt_dt,1,4), to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -0 , 1, 0)) as year_0 +from ( + select ucm.fun_kst_tm(ACTL_STAND_ON_de||actl_stand_on_tm) as flt_dt, stand_no, 'ON' as stand_on_off + , ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm + from uic.SACP_GAM_LAST + where ACTL_STAND_ON_TM is not null + union all + select ucm.fun_kst_tm(ACTL_STAND_OFF_de||actl_stand_OFF_tm) as flt_dt, stand_no, 'OFF' as stand_on_off + , ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm + from uic.SACP_GAM_LAST + where ACTL_STAND_OFF_TM is not null + order by stand_no, 4, 5 +) m +where substr(flt_dt, 1, 4) between to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -5 and :ar_year +--and stand_no = '367' +and stand_no in ( + select ucm.FUN_PRE_ZERO_REMOVE(replace(a.stand_no, '00', '')) as std_stand_no +-- , decode(b.STAND_NO, null, 'N', 'Y') as cctv_yn + from ucm.SACP_STAND a, ucm.SACP_CCTVID_MAPPING b + where a.STAND_NO = b.STAND_NO (+) + and a.DSTRCT_TY in ( 'AF02003', 'AF02004', 'AF02007', 'AF02009' ) ) +group by stand_no, stand_on_off +order by stand_no, decode(stand_on_off, 'ON', 1, 2) + + + + + + + + +``` \ No newline at end of file diff --git a/Recognition/Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md b/Recognition/Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md index 1956839..2ce8f83 100644 --- a/Recognition/Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md +++ b/Recognition/Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md @@ -23,8 +23,6 @@ http://118.220.143.172:5601/app/dev_tools#/console http://118.220.143.175:9000/ -- NAS-git -http://10.200.32.100:30080/ - NAS @@ -36,16 +34,8 @@ admin / todn 10.200.32.100:3751 admin / todn - -GET spring-sacp7-/_search -{ - "track_total_hits": true, - "size":1000, - "query": { - "match_all": {} - }, - "sort": [{ "recptn_dt.keyword": { "order" : "desc" } }] -} +- NAS-git +http://10.200.32.100:30080/ - 판교 GIT @@ -56,3 +46,5 @@ https://git.gmt.dscloud.biz/users/sign_in http://gitlab.think-tree.com/ jerosian@gmtc.kr /jerosian@gmtc.kr + +- 통합DB root: Sacp1234! \ No newline at end of file diff --git a/Recognition/Work Related/프로젝트/스마트계류장/0.관련정보/미들웨어 API.md b/Recognition/Work Related/프로젝트/스마트계류장/0.관련정보/미들웨어 API.md new file mode 100644 index 0000000..df5227f --- /dev/null +++ b/Recognition/Work Related/프로젝트/스마트계류장/0.관련정보/미들웨어 API.md @@ -0,0 +1,3 @@ +http://10.200.31.42:8090/getSQL + +http://10.200.31.42:8090/Select/sacp/PN_V_DATA_BLOCK_NEW \ No newline at end of file diff --git a/Recognition/Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md b/Recognition/Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md index 0887819..e8ca464 100644 --- a/Recognition/Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md +++ b/Recognition/Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md @@ -52,6 +52,19 @@ E - 박재열 01057675809 880723 1187916 - 김명국 01039382570 940313 1012822 +- EC-Miner 업무별 담당자 + - 영상수치분석 담당 + "한용천 수석" ychan@ecminer.com, 010-3358-4875 + - VCCS/영상학습 담당 + "김범곤 책임" bgkim@ecminer.com, 010-4154-4677 + - 영상분석 담당 + "박재열 책임" jypark@ecminer.com, 010-5767-5809 + - AI 시스템/제스처/EMS-LOG 담당 + "최환민 선임" hmchoi@ecminer.com, 010-5053-0799 + - TRS 담당 + "김명국 주임" mkkim@ecminer.com, 010-3938-2570 + + 인솔자 - 박수영 2208738702 / 861020 1121323 / 01041730001 - 박준호 2304745460 diff --git a/Recognition/Work Related/프로젝트/스마트계류장/TODO.md b/Recognition/Work Related/프로젝트/스마트계류장/TODO.md index 95b388d..a61d58c 100644 --- a/Recognition/Work Related/프로젝트/스마트계류장/TODO.md +++ b/Recognition/Work Related/프로젝트/스마트계류장/TODO.md @@ -29,6 +29,7 @@ g- [x] 데이터블럭 뷰 생성 검색 QCODE | 항공기 주기장 폐쇄됨(QMPLC) - [ ] TSS 통합 + - [ ] asde, radar, Kafka로 변경, null인경우 저장 X - [ ] ASDE Status 수정 - [ ] KAFKA 관리정보 모니터링 개발 - [ ] 버전관리 S/W @@ -37,14 +38,14 @@ g- [x] 데이터블럭 뷰 생성 #### 프로시져 관련 작업 -- [ ] uic.SACP_FLT_SCHDUL 스케줄 정보 상태 (계획, 실행, 취소) -- [ ] uic.SACP_FLT_SCHDUL GAM_ID 추가 -- [ ] 각 연계 프로시져 UEAI.EAI_GRDACMVT_RCV -> uic.SACP_GAM_LAST로 변경 +- [x] uic.SACP_FLT_SCHDUL 스케줄 정보 상태 (계획, 실행, 취소) +- [x] uic.SACP_FLT_SCHDUL GAM_ID 추가 +- [x] 각 연계 프로시져 UEAI.EAI_GRDACMVT_RCV -> uic.SACP_GAM_LAST로 변경 - [ ] EyeIfEai : 최초실행시 스레드 순차 실행 - [ ] 로그 상태로그와 분리 -- [ ] +- [ ] GAM Procedure 수정 (주기장번호 없는 취소데이터처리, 0000000002024041873834)