본문 바로가기

TIL(Today I Learned)

(137)
TIL-231106(성능테스트 도구 선택) 📝오늘 공부한 것 '행동대장' JMeter 테스트 커리어톤 참여 프로그래머스 문제풀기 📌 성능 테스트 도구 선택하기 다양한 부하테스트 도구들이 있었는데, 그중 JMeter, k6, nGrinder의 장단점을 비교해보며, 어떤 도구를 선택할지 결정하고자 한다. 📍 Apache JMeter - 부하 테스트 및 성능 측정을 위해서 개발된 100% 순수 자바 애플리케이션 - HTTP를 사용하여 사이트의 부하를 테스트 할 수 있으므로 정적이거나 동적인 자원(파일, 서블릿, 자바객체들, 데이터베이스 등)에 대해서 테스트하는데 사용 장점 무료로 사요이 가능하다. 아파치에서 개발한 오래된 툴로, 레퍼런스가 많다 다양한 프로토콜 지원한다. GUI, Email, DB, SSL 등 다양한 기능과 플러그인을 제공한다. 단점 ..
TIL-231104(성능테스트 진행 목적) 📝오늘 공부한 것 성능 테스트 공부 프로그래머스 문제풀기 📌 성능 테스트의 목적 📍 성능 테스트 목적 부트캠프를 하는 동안 3번의 프로젝트를 진행하였다. 멘토님께 매번 피드백을 들었던 부분이 있었는데, 바로 성능테스트 였다. '좋아요 버튼을 여러명이 한번에 눌렀을 때 어떻게 되는지 확인해 봤나요?', '갑자기 많은 유저가 요청보냈을 때 어떤 에러가 나는지 확인해봤나요?' 등의 질문에 대한은 항상 '아니요..모르겠습니다.'였다. 기능 개발 과정에서는 테스트 코드를 작성하는 것뿐만 아니라 성능 테스트도 해야한다. 그래야 이를 통해 발생할 수 있는 문제점을 미리 파악하고, 배포를 했을 때 안정적인 서비스를 제공할 수 있기 때문이다. 성능 테스트를 통해서 실제 사용자가 몰렸을 때의 트래픽과 유사한 트래픽을 재현..
TIL-231103(성능테스트란 무엇인가) 📝오늘 공부한 것 성능 테스트 공부 커리어톤 참여하기 프로그래머스 문제풀기 이력서 수정하기 & 강의 듣기 📌 성능 테스트 📍 성능 테스트 특정 제품이 다양한 작업 부하에서 예상 프로세스를 잘 수행하는지 여부를 식별하기 위해 수행되는 프로세스 웹 성능테스트는 개발자가 이해 관계자에게 응용 프로그램 성능에 대한 신뢰할 수 있는 정보를 제공하고 다양한 수준의 트래픽에 응답하는 방식을 예측할 수 있도록 하는데 필수적이다. 성능 테스트는 또한 제품이 출시되기 전이나 출시된 후에 개선해야 할 사항을 보여주어 성능 저하, 불일치 및 사용성 저하를 방지한다. 예상대로 작동할 수 있도록 예상 사용자 수에 대해 테스트한다. 즉, 성능 테스트는 특정 이벤트에 대해 미리 동시 접속자 수에 대한 성능 테스트를 수행함으로써 서버..
TIL-231102(동기와 비동기) 📝오늘 공부한 것 동기와 비동기 공부 커리어톤 참여하기 프로그래머스 문제풀기 이력서 수정하기 & 강의 듣기 📌 동기와 비동기 📍 동기(Synchronous : 동시에 일어나는) 요청과 그 결과가 동시에 일어난다. 바로 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어여야 한다. 동기식 처리 모델 (Synchronous processing model)은 직렬적으로 task를 수행한다. 즉, task는 순차적으로 실행되며 어떤 작업이 수행중이면 다음 작업은 대기하게 된다. 작업 요청을 했을 때 요청의 return값을 직접 받는 것이다. 호출한 함수가 작업 완료를 신경쓴다. 장점 : 순서에 맞춰 진행된다. 설계가 매우 간단하고 직관적이다. 따라서, 작업을 설계하거나 작업의 흐름에 대해서 파악하기..
TIL-231101(HTTP Status Code) 📝오늘 공부한 것 HTTP Status Code 공부 커리어톤 참여하기 프로그래머스 문제풀기 이력서 수정하기 📌 HTTP Status Code 📍 HTTP 상태코드 HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려준다. 상태 코드는 3자리 숫자로 만들어져 있다. 첫번째 숫자는 1에서 5까지 제공되며, 첫번째 숫자는 HTTP ㅇㅇ답의 종류를 구분하는데 사용하며 나머지 2개의 숫자는 세부적인 응답 내용 구분을 위한 번호이다. 첫번째 자리가 4와 5인 경우는 정상적인 상황이 아니기 때문에 사이트 관리자가 즉시 알아야 하는 정보이다 1XX(정보) : 요청을 받았으며 프로세스를 계속 진행한다. 2XX(성공) : 요청을 성공적으로 받았으며 인식했고 수용하였다. 3XX(리다이렉션) : 요청..
TIL-231031(Garbage Collection) 📝오늘 공부한 것 Garbage Collection 공부 커리어톤 참여하기 프로그래머스 문제풀기 📌 Garbage Collection 📍 가비지 컬렉션 (GC) 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다.(위키피디아) Heap 메모리를 살펴보고 사용 중인 객체와 사용되지 않는 객체를 식별하고 사용되지 않는 객체를 삭제하는 프로세스이다. 사용중인 객체 또는 참조된 객체는 프로그램의 일부가 여전히 해당 객체에 대한 포인터를 유지하고 있음을 의미한다. 사용되지 않는 객체 또는 참조되지 않은 객체는 더 이상 프로그램의 어떤 부분에서도 참조되지 않으므로 메모리를 회수할 수 있다.(오라클) 프로그램을 개발하다보면 유효하지 않은 메모리인 가비..
TIL-231030(HTTP Method) 📝오늘 공부한 것 HTTP Method 공부 커리어톤 참여하기 프로그래머스 문제풀기 📌 HTTP Method 📍 HTTP Method HTTP는 요청 메서드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타낸다. 클라이언트와 서버 사이에 이루어지는 요청(Request)와 응답(Response) 데이터를 전송하는 방식을 일컫는다. 즉, 서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법 📍 GET 리소스 조회 메서드 HTTP 명세에 의하면 GET 요청은 오로지 데이터를 읽을 때만 사용되고 수정할 때는 사용하지 않는다. idempotent(멱등성) 하다. 조회할 때 POST도 사용할 수 있지만, GET 메서드는 캐싱이 가능하여 같은 데이터를 한번 더 ..
TIL-231028(Spring Framework) 📝오늘 공부한 것 Spring Framework 공부 프로그래머스 문제풀기 📌 Spring Framework 📍 Spring Framework 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링이라고도 한다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로 쓰이고 있다. 📍 SpringBoot 스프링으로 애플리케이션을 만들 때에 필요한 설정을 간편하게 처리해주는 별도의 프레임워크 📍 Spring 정의 : 엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주는(1) 오픈소스(2) 경량급(3) 애플리케이션 프레임워크(4) (1)엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주는 스프링이 등장하기 이전에는 비..