popular
-
[DevOps] ESLint, Webpack, Babel 설명, 설치 방법 포함
목차ESLintWebpackBabelTypeScript + Babel 1. ESLint 자바스크립트 코드에서 발견되는 문제시되는 패턴들을 식별하기 위한 정적 코드 분석 도구로 자바스크립트용 스타일 가이드라고도 할 수 있다.코딩 컨벤션에 위배되는 코드나 안티 패턴들을 자동 검출하여 코드 퀄리티를 보장하며, 일관된 방식의 코딩을 통해 가독성을 향상 시키는 등의 작업을 할 수 있다. 1.1. eslint config를 이용하여 설치eslint가 필수 패키지 및 다양한 환경에 대한 설정을 자동으로 진행해 줌.eslint가 이미 설치되어 있다면 'eslint --init' 도 동일한 커맨드임.더 자세한 설정 정보(https://eslint.org/docs/latest/use/configure/configura..
2024.12.20
-
[typescript] 타입스크립트에서 Jest 이용한 테스트 모든 방법 설명
목차Jest란?tsc를 이용한 수동 테스트ts-jest를 이용한 테스트babel-jest를 이용한 테스트Jest 테스트 시 발생하는 이슈 1. Jest란?Jest는 메타(페이스북)가 유지보수하는 자바스크립트 테스팅 프레임워크로 Node.js, 리액트, 앵귤러, 스벨트 등을 사용하는 프로젝트에서 사용하는 테스트 도구이다. Jest 는 기본적으로 Node.js 환경에서 실행되는 자바스크립트 테스트 도구란 점을 인지하고 있어야 한다.Node.js는 타입스크립트 문법을 해석할 수 없기 때문에 타입스크립트에서 Jest를 이용한 테스트를 하려면 타입스크립트 코드를 자바스크립트 코드로 변환하는 트랜스파일링(tsc 등) 과정 또는 전처리 과정(ts-jest)이 필요하다. 즉, "타입스크립트에서 Jest를 사용하려면 전..
2024.12.19
-
[SPC] 관리도(Control Chart)
관리도(Control Chart)란?구성 요소변동 원인관리도 종류계량형 관리도계수형 관리도 1. 관리도(Control Chart)란? 관리도(Control Chart)는 품질의 산포를 관리하기 위하여 하나의 중심선과 두 개의 관리한계선(관리 상한선, 하한선)을 설정한 그래프를 말한다. SPC에서 가장 많이 사용된다. 관리도(Control Chart)는 품질의 산포를 관리하기 위하여 하나의 중심선과 두 개의 관리한계선(관리 상한선, 하한선)을 설정한 그래프를 말한다. 이를 통하여 공정을 관리상태로 유지하기 위하여, 그리고 제조공정이 잘 관리된 상태에 있는가를 조사하고 판정하고자 한다. 공정이 안정상태에 있는 경우에 계량치의 데이터를 취하여 히스토그램을 그리면 좌우대칭의 정규분포(Normal distribu..
2024.12.16
-
[SPC] SPC(Statistical Process Control) 통계적 공정 관리와 핵심 도구(관리도 등)
통계적 공정 관리(Statistical Process Control, SPC)생산 공정의 품질을 모니터링하고 제어하기 위해 통계적 방법을 적용하는 것을 말한다.공정의 생산 과정에서 발생하는 다양한 데이터를 수집하고 분석 기법의 도움을 통해 공정의 품질 변동을 발생시키는 원인과 공정의 능력 상태를 파악하여 주어진 품질 목표를 달성하기 위해 품질 개선이 이루어지도록 관리하는 것이다. SPC 핵심 도구 1. Pareto Chart 파레토 차트각 요인의 빈도나 영향을 내림차순으로 표시한다. 결함, 오류, 문제에 기여하는 가장 중요한 요인을 한눈에 식별할 수 있으며 이를 통해 개선 노력의 우선순위를 정하고 집중할 수 있다.기본적으로 막대 그래프를 이용하며, 왼쪽이 가장 긴 막대, 오른쪽이 가장 짧은 막대로 배열된..
2024.12.16
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