- 성능테스트를 위한 K6 사용법2025-02-24 18:45:56k6란 성능 테스트 및 부하 테스트를 위한 오픈 소스 도구이다.웹 어플리케이션의 API 성능을 측정하는데 사용된다.동시 접속, 가상의 유저, 반복 횟수 등을 설정해서 서버 응답 시간, 처리량 등을 확인 할 수 있습니다.또한 가장 큰 장접은 Javascript 코드를 통해 테스트 시나리오를 작성 할 수 있다는 것이고 Grafana 진영에서 개발되어 연동이 수월해진다. 정리하자면grafana에서 제공javascript로 테스트 작성가상 유저, 반복, 서버 응답 시간, 처리량 등 확인 가능Docker를 통해 k6를 사용해보겠다.그냥 인텔리제이 터미널에서 진행했다.1. 설치docker image 다운로드 docker pull grafana/k6 2. 스크립트 작성초기 생성 시 존재하는 기본 코드import h..
- [로드맵] CI/CD2025-01-02 12:12:14CI/CD(Continuous Integration/Continuous Delivery)는 코드 변경 사항을 빌드, 테스트 및 배포하는 프로세스를 자동화하는 소프트웨어 개발의 관행 및 도구 모음이다. Continuous Integration은 코드 변경 사항을 자주 중앙 저장소에 병합하여 자동화된 빌드 및 테스트를 실행하는 것을 포함하고, Continuous Delivery는 빌드 단계 후에 모든 코드 변경 사항을 테스트 또는 스테이징 환경에 자동으로 배포하여 이를 확장한다. 일부 구현에는 Continuous Deployment가 포함되며, 여기서 변경 사항은 자동으로 프로덕션에 릴리스된다. CI/CD 파이프라인에는 일반적으로 코드 컴파일, 단위 테스트, 통합 테스트, 보안 검사 및 배포와 같은 단계가 ..
- [로드맵] 기능 테스트2024-12-31 10:21:40기능 테스트는 소프트웨어를 테스트하여 기능적 요구 사항이 충족되는지 확인하는 것이다. 일반작으로 테스터가 소스 코드를 이해하지 못하는 블랙박스 테스트의 한 형태이다.테스트는 입력을 제공하고 예상/실제 출력을 비교하여 수행된다.성능, 부하, 확장성 및 침투 테스트를 포함하는 비기능 테스트와 대조된다.
- [로드맵] 단위 테스트2024-12-31 10:19:06단위 테스트는 프로그램의 개별 구성 요소 또는 단위를 격리하여 테스트하여 올바르게 작동하는지 확인하는 소프트웨어 테스트 방법이다. 이 접근 방식은 미리 정의된 입력으로 실행하고 결과를 예상 결과와 비교하여 함수나 메서드와 같은 애플리케이션의 가장 작은 테스트 가능한 부분을 확인하는 데 중점을 둔다. 단위 테스트는 일반적으로 자동화되어 개발자가 코딩 단계에서 작성하여 버그를 일찍 포착하고 코드 리팩토링을 용이하게 하며 각 코드 단위가 의도한 대로 수행되는지 확인한다. 각 구성 요소를 격리하고 테스트 함으로써 단위 테스트는 코드 안정성과 유지 관리성을 개선하는 데 도움이 된다.
- [로드맵] 통합 테스트2024-12-27 16:49:40통합 테스트는 소프트웨어 시스템의 다양한 구성 요소 또는 모듈 간의 상호 작용을 검증하여 예상대로 함께 작동하는지 확인하는 데 중점을 둔다.단위 테스트 다음에 수행되며 모듈이 서로 통신하는 방식을 테스트하며, 종종 API, 데이터베이스 또는 타사 서비스를 사용한다.목표는 데이터 불일치, 프로토콜 오류 또는 구성 오류와 같은 통합 지점과 관련된 문제를 포착하는 것이다.통합 테스트는 독립적으로 개발된 구성 요소가 더 큰 시스템의 일부로 원활하게 작동할 수 있도록 보장하는 데 도움이 되므로 격리된 단위 테스트에서 나타나지 않는 버그를 식별하는 데 필수적이다.
- [로드맵] Testing2024-12-19 11:18:03테스트는 소프트웨어나 시스템의 기능, 성능, 품질을 평가하여 지정된 요구 사항과 표준을 충족하는지 확인하는 체계적인 프로세스이다. 여기에는 단위 테스트(개별 구성 요소 테스트), 통합 테스트(구성 요소 간 상호 작용 확인), 시스템 테스트(전체 시스템의 동작 평가), 수용 테스트(사용자 요구 사항 충족 확인)를 포함한 다양한 방법론과 수준이 포함된다. 테스트는 수동 또는 자동화 될 수 있으며 결함을 식별하고, 기능이 의도한 대로 작동하는지 확인하고, 시스템이 다양한 조건에서 안정적으로 수행되는지 확인하는 것을 목표로 한다. 효과적인 테스트는 고품질 소프트웨어를 제공하고 배포 전에 위험을 완화하는데 필수적이다. ref) Integration Testing(통합 테스트)ref) Unit Testing(단위 ..
- [로드맵] Web Security2024-12-17 10:27:16웹 보안은 데이터 기밀성, 무결성 및 가용성을 보장하기 위해 웹 애플리케이션을 위협과 취약성으로부터 보호하는 것을 포함한다. 주요 관행에는 강력한 인증 및 권한 부여 매커니즘, 안전한 데이터 전송을 위한 암호화(예: SSL/TLS) 사용, SQL 주입 및 크로스 사이트 스크립팅(XSS)과 같은 공격을 방지하기 위한 사용자 입력 검증이 포함된다. 보안 코딩 관행, 효과적인 세션 관리, 정기적인 업데이트 및 패치는 보안을 유지하는데 필수적이다. 또한 침투 테스트 및 취약성 평가를 포함한 지속적인 보안 테스트는 잠재적인 약점을 식별하고 해결하여 애플리케이션을 보호하고 사용자 신뢰를 유지하는데 도움이 된다. MD5더보기MD5(Message-Digest Algorithm 5)는 널리 사용되는 암호화 해시 함수로,..
- [로드맵] Memcached2024-12-16 18:03:36Memcached는 범용 분산 메모리 캐싱 시스템이다. 종종 외부 데이터 소스(예: 데이터베이스 또는 API)를 읽어야 하는 횟수를 줄이기 위해 RAM에 데이터와 객체를 캐싱하여 동적 데이터베이스 구동 웹사이트의 속도를 높이는 데 사용된다.Memchached는 무료 오픈 소스 소프트웨어로, 개정된 BSD 라이선스에 따라 라이선스가 부여된다. Memcached는 Unix와 유사한 운영체제(Linux 및 macOS)와 Microsoft Windows에서 실행된다. 라이브러리에 따라 달라진다. Memcached의 API는 여러 머신에 분산된 매우 큰 해시 테이블을 제공한다. 테이블이 가득 차면 후속 삽입으로 인해 오래된 데이터가 가장 최근에 사용되지 않은(LRU) 순서로 제거된다. Memcached를 사용하는..