업무 기록/ETC 38

vscode marketplace download extension 버튼 없어짐 : VSIX 없어진 다운로드 버튼??

최근 Visual Studio Marketplace에서 확장 프로그램 다운로드 버튼이 사라지면서, 오프라인 설치나 백업 목적의 다운로드가 불편해졌습니다. 특히 사내망이나 인터넷이 차단된 환경에서는 이 문제가 더 크게 다가오죠. 다행히도, 예전 방식대로 직접 URL을 통해 .vsix 파일을 받아 설치하는 방법이 여전히 유효합니다. 이 글에서는 그 방법을 정리해보겠습니다.  기존에는 있었던 "Download Extension" 버튼... 지금은?? 예전에는 아래와 같이 확장 페이지에서 쉽게 .vsix 파일을 다운로드할 수 있는 버튼이 있었습니다.지금은 더 이상 제공되지 않습니다! 지금 가능한 방법: 직접 URL 생성 예전 공식 문서에 따르면, 다음과 같은 형식의 URL로 확장 프로그램을 직접 다운로드할 수 ..

업무 기록/ETC 2025.04.11

스트랭글러 패턴(Strangler Pattern): 레거시 시스템 현대화의 지혜와 어원

자연에서 배운 시스템 전환 전략소프트웨어 세계에서 레거시 시스템을 현대화하는 것은 항상 큰 도전입니다. 한 번에 모든 것을 교체하는 '빅뱅' 방식은 위험이 크고, 오랜 서비스 중단을 초래할 수 있습니다. 이러한 문제를 해결하기 위해 등장한 것이 스트랭글러 패턴(Strangler Pattern)입니다.  스트랭글러 무화과에서 영감을 얻다이 패턴의 이름은 호주 열대우림에서 볼 수 있는 '스트랭글러 무화과(Strangler Fig)' 식물에서 유래했습니다. 소프트웨어 설계 패턴의 대가인 마틴 파울러(Martin Fowler)가 2004년에 이 패턴을 명명했을 때, 그는 이 식물의 독특한 생존 방식에서 영감을 받았습니다.스트랭글러 무화과는 다음과 같은 과정으로 성장합니다:다른 나무의 가지에 씨앗이 떨어져 발아합..

업무 기록/ETC 2025.04.11

웹 애플리케이션에서 특수문자와 유니코드 문자 처리 시 발생하는 XSS 이슈

웹 애플리케이션을 개발하다 보면 사용자 입력값에 특수문자나 유니코드 문자가 포함될 때 예상치 못한 문제가 발생하곤 합니다. 특히 보안과 관련하여 크로스 사이트 스크립팅(XSS) 공격을 방지하면서도 특수문자를 올바르게 처리해야 하는 상황에서는 더욱 주의가 필요합니다.이번 글에서는 제가 최근 경험한 문제와 그 해결 과정을 공유하고자 합니다.      문제 상황 20년이 넘은 웹이 있는데 그곳에서 회사 스팸 필터링 시스템을 운영하고 있습니다. 이 시스템에서 스팸 단어를 등록하고 검색하는 과정에서 다음과 같은 문제가 발생했습니다그리스 문자와 같은 유니코드 문자(예: "νιΡ")가 HTML 엔티티(예: "νιΡ")로 변환되어 저장되는 문제특수문자가 포함된 스팸 단어(예: "[비+&씨]")가 검색되지 않는 문제특수..

업무 기록/ETC 2025.03.31

대용량 데이터 처리 방식 과 흐름

1. 코드 실행 순서 및 구조대용량 데이터를 처리하는 방식은 일반적으로 다음과 같은 단계를 거칩니다.데이터 로드 (Load Data)데이터베이스, 파일, API, 메시지 큐(Kafka 등)에서 데이터를 읽어옵니다.데이터 분할 (Partitioning)전체 데이터를 한 번에 처리하면 성능이 저하되므로, 여러 개의 작은 청크(batch)로 나눕니다.병렬 처리 (Parallel Processing)각 청크를 개별 스레드에서 병렬로 처리합니다.스레드 풀(Thread Pool)을 활용하여 일정 개수의 스레드만 실행되도록 제어합니다.비동기 실행 (Asynchronous Execution)비동기 방식으로 데이터를 처리하여 블로킹(blocking)을 최소화합니다.데이터 저장 (Save Data)처리된 데이터를 데이터베..

업무 기록/ETC 2025.02.23

스레드 개수 설정 및 성능 최적화와 방법들

1. 스레드란? 스레드는 프로그램에서 실행되는 가장 작은 단위의 작업 흐름입니다. 여러 개의 스레드를 사용하면 병렬 처리를 통해 성능을 향상시킬 수 있습니다. CPU가 여러 개의 스레드를 동시에 실행할 수 있기 때문에, 적절한 개수의 스레드를 사용하면 응답 속도를 개선하고 자원을 효율적으로 활용할 수 있습니다.  스레드 개수 설정 방법 및 적정 개수 판단 방법비동기 작업에서 스레드 풀(ThreadPool) 크기를 설정할 때,*"최적의 스레드 개수"**를 결정하는 것은 매우 중요한데, 이를 판단하는 방법을 설명할게요. 1. 스레드 개수 설정 기준 (CPU vs. I/O 작업에 따라 다름)스레드 개수를 설정할 때는 어떤 종류의 작업을 처리하는지에 따라 다르게 결정해야 함.작업 유형 설명 스레드 개수 설정 방..

업무 기록/ETC 2025.02.20

개발자와 비개발자와의 효과적인 협업 가이드: 소통의 벽을 허물다

1. 서론: 왜 협업이 어려운가? 🤔개발자와 비개발자 사이에는 종종 '소통의 벽'이 존재합니다. 이는 단순히 기술적 지식의 차이가 아닌, 서로 다른 관점과 용어, 우선순위에서 비롯됩니다.흔한 오해와 어려움개발자: "요구사항이 자주 변경되고 모호해요."비개발자: "왜 이렇게 개발이 오래 걸리나요?"개발자: "기술적 제약을 이해하지 못하시네요."비개발자: "개발자가 비즈니스를 이해하지 못해요." 2. 효과적인 소통 전략 💬2.1 전문 용어 사용 줄이기❌ 나쁜 예:"REST API 엔드포인트를 구현하고 JWT 인증을 추가했습니다."✅ 좋은 예:"로그인 기능을 만들고 보안 기능을 추가했습니다."2.2 시각적 자료 활용와이어프레임플로우차트프로토타입간단한 데모2.3 단계적 설명1단계: 큰 그림 설명2단계: 주요..

업무 기록/ETC 2024.11.22

Kotlin(코틀린) 코루틴으로 비동기 프로그래밍

Kotlin의 강력한 기능 중 하나인 코루틴(Coroutines)에 대해 자세히 알아보도록 하겠습니다. 비동기 프로그래밍을 쉽고 효율적으로 구현할 수 있는 코루틴의 기본 개념부터 실전 활용법까지 살펴보겠습니다.1. 코루틴이 뭔가요? 🤔코루틴은 비동기 프로그래밍을 위한 코틀린의 솔루션입니다. 기존의 콜백이나 Future/Promise 패턴의 복잡성을 줄이고, 동시성 프로그래밍을 더욱 직관적으로 작성할 수 있게 해줍니다.실생활 비유로 이해하기식당에서 일하는 웨이터를 생각해봅시다. 웨이터가 한 테이블의 주문을 받고 주방에 전달한 후, 음식이 나올 때까지 그 자리에서 기다린다면 어떨까요? 매우 비효율적이겠죠! 실제로는 주문을 전달한 후 다른 테이블의 손님도 응대합니다.코루틴도 이와 같습니다! 시간이 오래 걸리..

업무 기록/ETC 2024.11.20

L4 로드벨런싱과 암호화 및 VIP

기존 회사의 웹서버 로드벨런싱의 경우 L4에서 VIP 를 통해 여러 서버로 로드벨런싱을 해주고 해당 Nginx에서  동일 서버인 Node로 전달 후  Node 에서 WAS 간에 로드벨런싱이  존재하였다.  Nginx 에서 Node 간 프론트 딴에도 로드벨런싱을 통한 고가용성과 부하분산을 위해 작업을 하였고 해당 내용을 정리하였다  먼저 보이는 부분이 기존 구조이다.  이렇게 변경할 계획이다.   간단 로드벨런싱과 VIP에 대해서 설명 L4 로드벨런싱 네트워크 트래픽을 TCP/UDP 레벨에서 분산시키는 방식이다.  특징 프로토콜 레벨 분산 - IP 주소와 포트 번호를 기준으로 트래픽을 분산 속도 - 패킷 검사하고 분산 과정이 단순하며 헤더 정보만 검사하기 때문에 L7 보다 오버헤드 감소 투명성 - 실제 서..

업무 기록/ETC 2024.06.11

[Oracle] PL/SQL정의, 기능, 대량 데이터 추가

기본 적으로 개발이나 테스트를 하는 경우 부하문제를 신경써야 한다. 고로 더미 데이터를 DB에 넣어서 테스트 하는 경우가 많으며 DB에 더미 값을 넣는 방법도 다양하다. 최근 PL/SQL 방식을 처음 사용해보아서 정리 목적으로 작성하였다.  정의PL/SQL(Procedural Language/Structured Query Language)은 Oracle 데이터베이스에서 사용되는 프로시저형 언어입니다. 이 언어는 SQL 문을 확장하여 프로그래밍 요소를 추가한 것으로, 데이터베이스 관련 작업을 수행하는 데 사용됩니다. PL/SQL은 데이터베이스 객체를 생성하고 관리하는 데 사용되는 프로그램 유형으로, 주로 저장 프로시저, 함수, 트리거 등을 작성할 때 사된다.   기능PL/SQL은 다음과 같은 주요 기능을 ..

업무 기록/ETC 2024.05.22

SSL 인증서 확인 및 Nginx 인증서 변경 Openssl

회사에서 운영중인 웹사이트 인증서 기간 만료가 예정되어 인증서를 변경하면서 1년에 한번 히는 작업이라 들어 1년후면 분명히 잊어버릴걸 알기 때문에 기록하였다. 인증서 확인 방법 먼저 기존 웹사이트에서 인증서가 멀쩡히 있는지 확인하는 방법은 이 연결은 안전합니다 클릭 후 -> 최 하단 '인증서가 유효함' 부분을 클릭한다. 그럼 이런식으로 발급기간. 발급일, 만료일 , 인증서와 , 만료일 등이 나온다. 이때 내가 만든 사이트의 만료일이 얼마 안남아 ssl 인증서를 변경하게 되었다. Nginx SSl 관게와 변경 방법 Nginx와 SSL은 밀접하게 관련되어 있다. Nginx는 SSL/TLS를 사용하여 웹 서버와 클라이언트 간의 안전한 통신을 제공할 수 있다. SSL을 사용하는 Nginx는 HTTPS 프로토콜을..

업무 기록/ETC 2024.04.22

Vscode -VSIX 오프라인 설치, 내부망 NextJs 설치 실행, .npmrc 변경, 확장파일 위치

회사에서 업무를 하는 경우 많은 기업에서 보안과 고객의 개인정보를 보호하기 위해 내부망가 외부망을 따로 구분하여 인터넷이 안되게 하는 경우가 많이 있어 기존 개인이 설치하는 방식과 달리 조금 더 수고스럽게 세팅을 해야한가.   Visual Studio Code 설치 기본 https://hunseop2772.tistory.com/75  HTML (Visual Studio Code 설치 및 기본)클라이언트 사이드 랭귀지 HTML : 웹사이트의 틀을 작성하는 언어 (제어문이나 로직은 없으며 명령어로만 사용 가능, 골격을 만든다, 프로그래밍 언어 X) - 이런 형태를 마크업언어라고 한다. CSS :hunseop2772.tistory.com  방법 1 - 설치할 확장 플러그인 (인터넷 있어야 함 여기에서는)  h..

업무 기록/ETC 2024.03.29

문자수신(MO) 서비스와 통화 Asterisk 란

이번에 MO 소켓 연동 방식과 Asterisk를 통한 전화서비스 개발에 들어가면서 MO가 정확히 어떤 내용인지 몰라 조금씩 작성할 예정하며 추가로 Asterisk 라는 오픈소스를 활용한 전화통화 서비스도 일단 같은창에 작성할 예정이다. MO(Mobile Original)란 기업에서 고객에게 단 방향으로만 발송되던 문자 서비스를 고객에게 수신받아 다양한 형태로 활용할 수 있는 유무선 통합 양방향 메세징 서비스이다. 실시간 문자메세지에 대한 데이터 통계에서 자주 사용하는 기술이다. 예를들어 고객이 휴대폰 메세지 기능을 이용해 예전에 슈퍼스타K 방송과 같이 실시간 시청자 투표나 메세지는 아니지만 쉽게 생각해서 여론조사 전화나 문자를 통해 한 기관에서 정보를 수집하기 위해 고객의 의견을 얻기 위해 정보를 양방향..

업무 기록/ETC 2024.03.27

SQL 대량 테스트 [Oracle PL/SQL]

[ 서론 ] 이전 다양한sql 을 사용하여 대량 테스트를 해야하는 경우가 있어 정리를 하게 되었다. mysql, oracle, mssql, postgres 등 테스트 해보았고 여기서는 ORACLE 을 정리하였다. Oracle PL/SQL을 사용하여 작성된 프로시저이다. 이 코드는 메시지 큐 테이블에 대량의 데이터를 삽입하는 작업을 수행하는데 사용된다. PL/SQL은 Oracle 데이터베이스에서 사용되는 절차적 프로그래밍 언어로, SQL 문을 확장하여 프로시저, 트리거, 함수 등을 지원한다. [ 코드 ] DECLARE var_i NUMBER := 1; var_j NUMBER := 1; var_phone VARCHAR2(20); arg_count NUMBER :=100000; -- 반복 횟수를 지정한다!!!..

업무 기록/ETC 2024.01.25

리눅스 1초마다 실행 된 반복된 횟수 찾기(더하기)

메세지 발송 코드 디버깅 과정에서 새로 배운 내용이다. 기존 테스트 시에는 Postman 이나 Jmeter에 이미 초당 발송 건수나 평균을 확인할 수 있는 경우가 많았는데 SQL 로 10000건같이 대량 발송 후 초당 처리건수를 로그에서 확인할 수 있다는 것을 알게되었다. 14:03:45.094 dlvs : oa=[90004] da=[010------] sn=[464878] rcsn=[300990] call=[------][------] sid=[2] cpid=[song_test3] scnt[1] id=[id] resellerCode[30-----71] 위에 로그는 발송 간 일부분이다. 여기서 dlvs가 발송간 1번만 나오는 것이여서 저걸 기준으로 초당 발송 카운트를 할려고 하였다. 해당 MMS.2024..

업무 기록/ETC 2024.01.04

tomcat서버 설치(jdk, loglotate, FirewallD..)

이번에 부하분산 및 용량을 증가시키기기 위해 기존에서 웹서버를 하나 더 띄우기 위해 나보고 기본적인 것만 설치된 서버에서 웹을 띄우라고 하였다. 물론 지금보면 간단한 내용이였지만 따로 내용없이 처음 해보는 것이여서 시간이 좀 걸렸고 까먹지 않기위해 기록을 하게되었다. 먼저 계정을 만들어 주었다. 톰켓 서버를 띄울 곳을 만들기로 하였으며 기본적인 계정도 존재하지 않았다. 2023-12-12 07:34:56 useradd -c songadmin -s /bin/bash -m songadmin 추가로 기본적으로 설치한 것 20 2023-12-12 07:34:56 dnf -y install man-pages 21 2023-12-12 07:34:56 dnf -y install mlocate 23 2023-12-12..

업무 기록/ETC 2023.12.13

vi, vim 편집기 명령어 [Linux]

오늘은 기본적으로 순전히 내가 많이 사용하면서 각끔 까먹는 명령어를 기록할려고 한다. vi 의 향상버전을 vim이라고 하는데 내가 사용하는 환경은 vi를 처도 vim이 실행된다. vi(m)는 리눅스와 다른 유닉스 기반 시스템에서 사용되는 텍스트 편집기 중 하나이다. vi는 화면 편집이 가능한 텍스트 인터페이스를 제공하며, 강력하면서도 핵심 기능들을 제한된 키보드 명령어로 수행한다. 다음은 vi의 주요 명령어 및 사용법에 대한 간단한 설명이다. 명령모드, 입력모드, 마지막 행 모드 3가지로 구분하지만 여기서는 순수 내가 자주 사용하는것을 가록할 것이다. 시작 이동: G: 파일의 끝으로 이동 h: 좌로 이동 j: 아래로 이동 k: 위로 이동 l: 우로 이동 삭제 및 복사: u: Ctrl + z x: 현재 커..

업무 기록/ETC 2023.12.12

[Tomcat] work/catalina/localhost 폴더

변경하지도 않은 파일이 갑자기 오류가 발생하였다. 해당 서버의 로그를 보니 하단과 동일하게 에러를 발생하고 있었다. 안터넷에 해당 에러를 찾아보니 권한 문제나 여러 문제가 검색되었지만 컴파일오류로 판단됬고 파일을 다시 올리니 정상작동 하였다. work/Catalina/localhost 디렉터리 Apache Tomcat 서버에서 JSP 파일이나 서블릿과 같은 동적 웹 어플리케이션 컴포넌트를 컴파일하고 실행하기 위해 사용되는 작업 디렉터리이다. 이 디렉터리는 Tomcat이 각 웹 어플리케이션에 대해 생성하며, 해당 어플리케이션이 실행될 때 동적인 자바 클래스 파일과 그에 따른 리소스를 저장한다. 구조 일반적으로 work/Catalina/localhost 디렉터리는 다음과 같은 구조를 가지고 있다: 역할 웹 ..

업무 기록/ETC 2023.12.11

개발자 경력 기술서

소개 / About Me-       IDC 센터 (비공개)  개발자-       AI연계 차세대 전화응답 서비스 개발-      (비공개)   플랫폼, 웹, 서버 개발 및 레거시 프로그램 유지보수 -      (비공개)   보안 취약점 대비 웹사이트 확인 및 작업 진행 -       정합성, 부하테스트 등 실시간 고객 오류 수정 기술 스택 / Skill Set구분Skill언어Java, JavaScript, Python, Kotlin프레임워크/기술Spring Framework, Spring Boot, Spring, RESTFul API, Node Js, Express Js, Vue Js, JSP, OpenCV, Django, FastAPI, Next.js, React데이터베이스, MySQL, Orac..

업무 기록/ETC 2023.12.02

리눅스 크론탭(Crontab) 이란

업무를 하는 중 프로그램 사용 월별청구 현황을 메일로 보내야 하는 경우가 있었다. 이때 메일을 자동으로 보내주는 코드와 start.sh 를 통해 이 프로그램을 시작하는 명령어를 작성한적이 있다. 이 후 그럼 메일을 보내는것 까지 자동으로 보내는 방법을 찾아보다 기록하게 되었다. 크론탭이란 리눅스 크론탭(Crontab)은 리눅스와 유닉스 기반 시스템에서 주기적으로 반복되는 작업을 자동으로 수행위한 스케줄링 도구이다. 크론텝을 사용하면 특정 시간, 날짜 또는 주기에 따라 스크립트, 명령어 또는 프로그램을 실행할 수 있다. 크론텝은 시스템 관리 작업, 백업 작업, 데이터 정리 작업, 보고서 생성 등 다양한 용도로 활용된다. 크론탭 기본 사용법 각 *는 시간과 날짜를 나타내며, 왼쪽에서 오른쪽으로 분, 시간, ..

업무 기록/ETC 2023.10.07

Linux grep 간단한 명령어

grep이란grep 명령어는 리눅스와 Unix 기반 시스템에서 텍스트 검색 및 패턴 매칭을 수행하는 데 사용되는 강력한 명령어 중 하나이다. grep 명령어기본명령어grep '패턴' 파일이름이 명령은 "패턴"이라는 문자열을 파일에서 찾아 해당 라인을 출력한다. 예를 들어, grep 'succeed' test.txt는 "DBMS.2030913" 파일에서 "succeed"이라는 문자열을 찾아 해당 라인을 출력한다. -i 옵션grep -i '패턴' 파일이름-i 옵션은 대소문자를 구분하지 않고 검색한다. 즉, "apple", "Apple", "aPpLe" 등을 모두 찾는다. -o 옵션(횟수 구하기)내가 가장 많이 사용하는 명령어이다. 테스트를 하면서 성공건수나 실패건수를 로그에서 찾는데 매우 유용하다.grep ..

업무 기록/ETC 2023.09.14

이클립스(eclips) clean 의 중요성

클린의 중요성을 깨닫게 되었다. 3일간 코드를 보고 아무리 봐도 내가 틀린부분이 없고 에러도 이상한 곳에서 발생을 하였다. 구글링을 계속해도 원인을 못찾다가 아무생각없이 clean을 해보니 문제가 해결되었다......Clean 의 중요성상단바 -> Project -> Cleanclean은 이클립스가 사용하고 있던 정보나 class를 전부 삭제하고 다시 만드는것이라고한다. 이를통해 이클립스가 빌드중에 꼬인 내용을 새로 정리하는 것이다. 이클립스는 빌드시간을 줄이기 위해 모든 폴더의 소스코드를 컴파일하지 않고 작업간 수정한 java 파일과 그와 관련된 부분만 컴파일한다. 이런 경우 가끔 버그나 컴파일 충돌로 빌드가 꼬여 문제가 발생한다. 나는 이전에는 Intelij를 써서 그런지 모르겠지만 이클립스를 최근에..

업무 기록/ETC 2023.08.31

Proxy 의 장단점과 설명 기본

프록시 (Proxy)는 클라이언트와 서버 간의 중간 매개체로 작동하는 서버나 애플리케이션이다. 주로 웹에서 사용되며, 클라이언트 요청을 서버에 전달하고, 서버로부터의 응답을 클라이언트에게 다시 전달하는 역할을 한다. 프록시는 여러 가지 목적으로 사용되며, 보안, 로깅, 캐싱, 접근 제어 등 다양한 기능을 수행할 수 있다. 프록시 서버를 사용하는 이유와 장점 : 1. 보안 및 개인 정보 보호: 보안 향상: 프록시는 클라이언트와 서버 간의 중개 역할을 하므로 클라이언트의 IP 주소를 숨기고, 외부에서 직접 서버에 접근하는 것을 방지함으로써 보안을 향상. 개인 정보 보호: 프록시는 사용자의 웹 활동을 익명화할 수 있어 개인 정보 보호를 강화. 2. 캐싱과 성능 향상: 캐싱: 프록시 서버는 이전에 요청한 데이터..

업무 기록/ETC 2023.08.26

SecureCRT 주요 기능과 설명

SecureCRT는 SSH, Telnet, Rlogin 등과 같은 다양한 프로토콜을 지원하는 터미널 에뮬레이션 및 원격 액세스 소프트웨어다. 이것은 주로 네트워크 관리자, 시스템 관리자 및 개발자들이 원격 서버와 네트워크 장비에 접속하고 관리하는 데 사용된다. 회사에서 원격 서버와 네트워크 장비에 접속하여 서버를 올리거나 오류 수정을 하는 경우에 자주 사용을 하고있다. 편리한 기능 1. 원격 서버 연결 (SSH 및 Telnet): SecureCRT를 사용하여 SSH 또는 Telnet 프로토콜을 통해 원격 서버에 연결할 수 있다. SSH는 주로 원격 서버 및 네트워크 장비에 안전하게 접속하는 데 사용 ssh username@hostname SSH (Secure Shell): - SSH는 네트워크 통신을 안..

업무 기록/ETC 2023.08.25

Redis 란 , 장단점, 사용 상황, 사용법 기본

Redis(Remote Dictionary Server)는 메모리 내에서 데이터를 보관하므로 매우 빠르게 읽고 쓸 수 있으며, 다양한 데이터 구조를 지원한다. 주로 키-값(key-value) 저장소로 사용되며, 문자열, 리스트, 해시맵, 집합 등 다양한 데이터 타입을 지원한다. Redis는 빠른 데이터 저장과 검색을 위한 오픈 소스 인메모리 데이터 스토어로, 다양한 애플리케이션에서 성능 향상과 데이터 관리를 위해 활용한다. Redis 장단점 빠른 데이터 접근, 다양한 데이터 구조 지원, 영송성 및 스냅샷, Pub/Sub 메커니즘, 클러스터링 및 고가용성 등이 있다. 반면 단점으로는 메모리사용, 데이터 복제와 일관성, 단일 쓰레드 모델, 복잡한 쿼리 지원의 한계, 설정 및 관리의 복잡성이라는 단점이 발생할..

업무 기록/ETC 2023.08.23

JMeter 부하테스트 - 다중 스레드, 랜덤값, 선언 등

부하 테스트(Load Testing)는 컴퓨터 시스템, 네트워크, 소프트웨어 응용 프로그램 또는 웹 사이트의 성능과 안정성을 평가하는 소프트웨어 테스트의 한 형태입니다. 이 테스트는 특정 시스템이나 서비스가 일정 부하 아래에서 어떻게 동작하는지를 이해하고, 과부하 시나리오에서 어떻게 대응하는지를 확인하는 데 사용 ✔ Threa Group Threa Group의 경우 Add → Threads(Users) → Thread Group 클릭하여 창을 띄운다. Name : 내가 판별하기 쉽게 작성 Action to be taken after a Sampler error : error 발생 시 조치 Number of Threa (users) : Thread 수 동시에 유저가 얼마나 많은지 Ramp-up period..

업무 기록/ETC 2023.08.22

JMeter 부하테스트 전 설치

다양한 형태의 소프트웨어 및 하드웨어 리소스에 대한 성능 테스트와 부하 테스트를 수행하기 위해 사용되는 도구이며 JMeter는 아파치 소프트웨어 재단에서 개발되며, 다양한 프로토콜과 기술을 지원하여 웹 응용 프로그램, 웹 서비스, 데이터베이스 등의 성능 및 부하를 평가하는 데 사용 ✔ Jmeter 설치 주소 : https://jmeter.apache.org/download_jmeter.cgi Apach JMeter5.6.2 설치간 하단과 같은 오류가 발생하였다. Apach Jmeter 다른 버전으로 설치하니 문제가 해결되었다. ✔ 실행 * 사전에 자바 8버전 이상 설치되어있어야 한다!! 이제 설치된 파일을 압축을 해제하고 설치파일/bin/jmeter.bat을 더블 클릭한다. cmd 창이 뜨게 되고 JMe..

업무 기록/ETC 2023.08.21

SSH 접속 오류 : REMOTE HOST IDENTIFICATION HAS CHANGED

REMOTE HOST IDENTIFICATION HAS CHANGED" 오류는 원격 서버에 대해 이전에 저장된 신뢰할 수 있는 호스트 키와 현재 서버의 호스트 키가 다를 때 발생하는 문제 서버 재설정 또는 재설치: 서버가 재설정되거나 재설치되면 호스트 키가 변경될 수 있다. IP 주소 또는 도메인 변경: 서버의 IP 주소가 변경되거나 도메인이 변경되면 호스트 키가 변경될 수 있다. 중간자 공격(MITM): 중간자 공격으로 인해 사용자가 정말로 연결하려는 서버가 아닌 공격자가 제어하는 서버에 연결되었을 수 있다. ✔ 호스트 키 재정의: 이 접근 방법은 사용자가 신뢰할 수 있는 서버인지 확인 후, 새로운 호스트 키를 승인하여 이전 호스트 키를 무시하도록 지시. ssh-keygen -R xxxx.xxxx.xx..

업무 기록/ETC 2023.08.09

인코딩 문제 vi , vim EUC-KR → UTF-8로 변경

✔ EUC-KR → UTF-8로 변경하는 방법 option session에서 UTF-8로 변경 툴이 있는경우에 가능하면 하단 코드는 vi, vim에서 변경하는 방법이다. :e++enc=euc-kr 로 vi에서 변경해야 한다. ✔ vi 깨진 인코딩 ✔ 인코딩변경 후 ✔ 인코딩 문제 인코딩 문제가 발생하는 경우 해당 파일만 변경하면 해결하는 경우가 많다. 한글로 입력된 쿼리를 입력하는 경우 인코딩 문제 발생 가능성이 있다. /tmp/ 파일에 기존 백업 파일을 복구 시키고 mkdir을 이용하여 폴더를 만드는게 좋다. 예를 들어 압축을 푸는 경우 msgstat 이라는 동일한 이름이 발생해 문제가 발생할 수 있기 때문이다. 이제 cp /tmp/보낼 파일위치/파일위치 /받을 파일위치 사용하여 필요한 한 부분만 덮어..

업무 기록/ETC 2023.08.08

Node js Express vs Spring boot 같이 사용

진행중인 프로젝트간 SpringBoot 와 Node Js Express를 같이 사용하면서 왜 같이 사용하는지 궁굼하여 찾아본 내용이다. Node.js Node.js는 서버 측 JavaScript 런타임 환경으로, 웹 애플리케이션 개발을 위해 사용된다. 기본적으로 비동기식, 이벤트 기반 아키텍처를 갖추고 있어 높은 확장성과 성능을 제공, Node.js는 브라우저가 아닌 서버 사이드에서 JavaScript 코드를 실행할 수 있게 한다. I/O 작업이 많은 애플리케이션에서 특히 유용하며, 실시간 데이터 처리나 빠른 응답을 요구하는 애플리케이션적합. Node.js의 패키지 매니저인 npm을 통해 다양한 라이브러리와 모듈을 사용할 수 있다. Express.js Node.js를 기반 으로 한 웹 프레임워크로, 웹 ..

업무 기록/ETC 2023.08.06

Express js 설치, 기본예제

Express.js는 Node.js를 좀 더 편리하게 사용하고 웹 애플리케이션을 더 쉽게 구축할 수 있도록 도와주는 웹 프레임워크. Express.js는 Node.js의 기능을 더욱 확장하고 다양한 기능을 간단하게 구현할 수 있다. ✔ Node js 설치 확인 먼저 Nodejs 를 설치한 상태여야 한다. Nods js를 설치하지 않았다면 하단주소로 이동하여 설치하자 https://hunseop2772.tistory.com/274 Node js 환경설정(gulp, nodemon, npmrc, npm install) ✔ node js 1.node js 설치 필요 10 버전 - https://nodejs.org/download/release/v10.24.1/ 2.정상 설치 확인 3.Gulp 설치 npm ins..

업무 기록/ETC 2023.08.05