popular
-
[Web] Ajax 완벽 정리, 다양한 예제 포함
Ajax 데이터 보내고 받기, Ajax Controller 데이터 받기, Ajax 데이터 배열로 보내기 등 다양한 경우에 대해 예제를 통해 알아보겠다. 목차Ajax란?Ajax 기본Ajax 설정Ajax 메소드 종류Ajax 예제 1. Ajax란? Ajax는 Asynchronous JavaScript and XML의 약자로, 말 그대로 JavaScript와 XML을 이용한 비동기적 정보 교환 기법이다. 다만 요즘은 XML보다는 JSON을 주로 사용한다. 브라우저의 XMLHttpRequest를 이용해 전체 페이지를 새로 가져오지 않고도 페이지 일부만을 변경할 수 있도록 javascript를 실행해 서버에 데이터만을 별도로 요청하는 기법이다.HTTP 프로토콜을 이용한 비동기 통신이며 브라우저는 정적 HTML 파일..
2022.07.15
-
[Oracle] 오라클 SQLPLUS 원격 접속 방법
원격 접속 방법 sqlplus 사용자아이디/비밀번호@원격IP:PORT/SID sqlplus scott/tiger@100.100.100.100:1521/ORCL 또는 sqlplus /@원격IP:PORT/SID sqlplus /@100.100.100.100:1521/ORCL 사용자명 입력: sys as sysdba 비밀번호 입력: 입력없이 엔터 관리자 계정 접속 방법 sqlplus /nolog //로그인 없이 접속 기능 conn sys/[password] as sysdba 또는 sqlplus "/as sysdba" 또는 sqlplus sys as sysdba 비밀번호 입력 : 입력없이 엔터 관리자 계정 접속 안될 경우 관리자 계정으로 접속하는데도 불구하고 ORA-01031 insufficient privil..
2022.07.15
-
[Kubernetes] Ubuntu 리눅스 쿠버네티스 클러스터 구축 방법
쿠버네티스란? 쿠버네티스 클러스터는 컨테이너화된 애플리케이션을 실행하는 컴퓨팅 노드 또는 작업자 머신 그룹이다. 컨테이너화 된 애플리케이션의 대규모 배포, 스케일링 및 관리를 간편하게 만들어주는 오픈 소스 기반의 컨테이너 오케스트레이션 도구이다. 즉, 도커는 어플리케이션을 프로세스 격리 기술을 사용하여 컨테이너로 관리할 수 있는 도구이고 쿠버네티스는 그런 컨테이너들을 간편하게 관리할 수 있는 컨테이너 오케스트레이션 도구이다. 쿠버네티스 클러스트터를 구축하기 위해선 최소 사양을 만족하는 2대 이상의 리눅스를 준비해야 한다. 테스트 환경 최소 사양을 만족하는 Ubuntu 22.04LTS 3대 Master Node 1대, Worker Node 2대 구성 진행 순서 쿠버네티스 설치 준비 컨테이너 런타임 설치 쿠..
2024.02.14
-
[Thymeleaf] 타임리프 유틸 함수 - #strings, #arrays 등등
타임리프에서는 효율적인 오브젝트 사용을 위해 기본적인 오브젝트 유틸리티를 제공하고 있다. 타임리프의 기본 제공 유틸리티 함수는 다음과 같다.#numbers#strings#arrays#lists#sets#maps#objects#bools#dates#calendars#uris#messages#conversions#aggregates#ids다음 중 자주 사용하는 주요 함수만 정리하도록 하겠다. numbers종류설명${#numbers.formatInteger(num,3)}${#numbers.arrayFormatInteger(numArray,3)}${#numbers.listFormatInteger(numList,3)}${#numbers.setFormatInteger(numSet,3)}자리수를 설정한 숫자 포맷 적..
2022.10.05
project
-
[C++] 에이스타(A*) 알고리즘을 구현한 최단 경로 이동 시뮬레이션 개발
https://jbground.tistory.com/74 최적 경로 찾기 #2 - 에이스타(A*) 알고리즘, 자바 코드 구현 포함에이스타(A*) 알고리즘 에이스타 알고리즘은 순서대로 정점을 검사하는 수학적 접근 방식과 특정 정보를 활용하여 계산 효율성을 향상하는 휴리스틱 접근 방식을 사용하여 비용을 계산하는 알jbground.tistory.com A* 알고리즘 코드void RouteCreator::create(Point& start, Point& end, vector* out) { int n = 100; int m = 70; int dx[] = { -1, 0, 1, 0 }; int dy[] = { 0, 1, 0, -1 }; vector open_list; vector cl..
2023.07.12
-
[Go] Golang을 이용한 칼만 필터 적용 구현 및 시뮬레이션
https://jbground.tistory.com/82 [SLAM] 칼만 필터(Kalman Filter)란?로봇의 각종 센서 정보를 통해 로봇의 위치를 추정하고 이동 경로 계획을 위한 SLAM을 하는 과정에서 센서를 통해 들어오는 정보에 잡음(노이즈)이 섞이는 경우가 발생한다. 이로 인해 추정된 위jbground.tistory.com 공부했었던 칼만 필터를 실제로 적용하는 과정을 직접 확인해보기 위해 시뮬레이션 개발을 진행했습니다.칼만 필터는 github.com/konimarti/kalman 라이브러리를 적용했습니다. 간단한 웹 구현을 위해 Gin을 활용하여 개발했습니다.func RoutingByGin() *gin.Engine { r := gin.New() r.Use(gin.Logger()) r.Use..
2023.07.11
-
[Project] SECS 프로토콜을 이용한 데이터 통신 Conversion Server 개발기
반도체 산업의 물류 자동화를 위한 필수 요건 중 하나는 반도체 장비와의 실시간 통신이며 반도체 장비와의 실시간 통신은 SECS 표준 프로토콜을 이용합니다.물류 자동화 서버 엔지니어로 일하며 경험하고 개인적으로 개선되었으면 하는 부분의 개선을 통해 반도체 장비와 통신하며 메세지와 매핑된 객체를 이용하여 Byte를 Object로 변환하는 서버를 개발하고 그에 대한 기록을 남겨보려고 합니다. 반도체 장비와의 통신은 시나리오 기반이며 시나리오는 메세지들의 통신으로 이루어져 있습니다.Send/Reply 과정을 통해 메세지를 송수신하며 시나리오를 진행합니다.Send 메세지를 수신하면 그에 맞는 Reply 메세지를 응답해야 하고 이 과정에서 타임아웃이 적용되며 default timeout은 보통 5초로 설정합니다. ..
2023.04.24
-
[Project] 오픈 API 데이터 통합 수집 배치 프로그램
개요프로젝트 진행 중 오픈 API의 데이터를 읽어 통합 데이터로 수집하는 배치 프로그램을 개발하는 업무를 담당하게 되어 업무 진행 간 겪은 경험들을 기록하고자 함. 분석1. 각각의 오픈 API에 있는 모든 데이터를 수집해야 한다.2. API의 데이터는 대부분 페이지 방식으로 적용되어 있다. - pageNo = 1, RowNum = 103. 오픈 API의 URL 마다 다음 데이터를 나타내는 URL이 각각 다르다. - page & row 방식, first row & last row 방식 4. 오픈 API 중 인증키를 요구하는 API도 있다.5. 오픈 API에서 요구하는 필수 Paramter가 존재한다.6. 연계된 오픈 API에서 가져온 데이터를 기반으로 수집해야 하는 API도 존재한다.7. 수집한 데이터..
2022.09.29
-
[Project] Develop Database Middleware server project
개요회사에서 제공하는 솔루션 중 Client에서 발생하는 속도 저하 현상을 해결하기 위한 목적기존 클라이언트는 Client - Server, Client - Database 라는 본인 기준 이해할 수 없는 방식으로 사용중이였고보안 기준이 향상된 고객사에서 해당 방식을 사용하지 못하는 상황이 발생하여 임시방편으로Client - DB RESTful Server(JSON) - Database 구조를 적용하여 사용하고 있는데 이때 기존에 사용하던 Hibernate로직을 그대로 적용하여 (Hibernate에 맞게 개발되어 사용중인 인터페이스에 구현체만 HttpServlet으로 바꾼 꼴)for문의 과도한 사용, session 과도한 접속 등의 이유로 심각한 속도저하가 발생하였고이를 개선하고자 Client - Dat..
2022.07.14