목록전체 글 (287)
개발자는 기록이 답이다
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/86hEq/btsG97ED4hF/WvQ5voYjY6Zu4TkkYjYyAK/img.png)
📌 웹 서버란?웹 서버는 HTTP 요청을 받아들이고 해당 요청에 대한 응답을 제공하는 프로그램입니다. 주로 정적 컨텐츠를 제공하는 서버 (주로 정적 컨텐츠 캐싱이나 리버스 프록시 용도로 사용)로서 사용됩니다.Apache와 Nginx는 가장 인기 있는 웹 서버 프로그램 중 두 가지입니다.📌 Apache vs Nginx Apache의 구동방식오랜 기간동안 웹 서버로 사용되어 왔으며, 오픈소스 프로젝트로 가장 유명한 프로그램 중 하나입니다.Prefork MPM(Multi Processing Module) 방식HTTP 요청이 올때마다, 프로세스를 복제하여. 각각 별도 프로세스에서 해당 HTTP 요청을 처리합니다.이러한 방식은 새로운 요청이 올때마다 새로운 프로세스를 생성해야 하므로 처리 속도가 느릴 수 있습..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/yx3Pk/btsG0TFAJnU/ItUM77uSJ9xbF4XBcdoH3k/img.png)
2024.04.19 - [SQL/쿼리 최적화] - 1000만건의 데이터를 대상으로 쿼리최적화 with. 복합인덱스, 커버링인덱스 1000만건의 데이터를 대상으로 쿼리최적화 with. 복합인덱스, 커버링인덱스2024.04.05 - [SQL/쿼리 최적화] - Index를 활용한 10만건의 레코드 Join쿼리를 최적화하자 Index를 활용한 10만건의 레코드 Join쿼리를 최적화하자 마이페이지에서 유저가 발급받은 쿠폰 이력을 조회하는strong-park.tistory.com 지난번 포스팅에서 쿼리 최적화에 대해 작성했었는데, 복합인덱스와 커버링인덱스를 적용했음에도 대규모 데이터셋이라 속도가 느린편이었습니다. 그리고 MySQL상에서 최적화를 해도, API로 연동하고나면 1~2s 정도 더 느려지는 현상이 있었습니..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/6f2GE/btsGLD94Auh/UOF93MV9plMrwjeKaKDrRk/img.png)
2024.04.05 - [SQL/쿼리 최적화] - Index를 활용한 10만건의 레코드 Join쿼리를 최적화하자 Index를 활용한 10만건의 레코드 Join쿼리를 최적화하자 마이페이지에서 유저가 발급받은 쿠폰 이력을 조회하는 기능을 구현해야 했습니다 해당 기능 구현 시 쿼리 최적화를 고려했던 과정을 포스팅 해보고자 합니다. 📌 무조건 쿼리 속도가 빠르면 strong-park.tistory.com 지난번에는 간단한 쿼리를 이용해서 인덱스를 통해 성능을 개선한 내용을 포스팅했습니다. 쿼리 수행 시간이 약 19ms정도 개선되었는데, 이 정도의 차이는 상당히 적은 차이입니다. 왜냐하면 네트워크 IO작업 한번만 해도 10ms가 넘는 경우가 있기 때문입니다. 그래서 좀 더 복잡한 쿼리를 만들기 위해서는 (진행중인..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/V3dgn/btsGCdYLAGH/KKlvKQKKJ8dOsWjWEtkimk/img.png)
프로젝트를 진행하면서 상태코드를 반환할때 ResponseEntity와 @ResponseStatus 를 동시에 사용했었는데요. 아래와 같이 PR 리뷰를 받게 되어 자세히 알아보고자 포스팅하려고 합니다. 일반적으로 REST API를 만들 때 @RestController를 사용하여 JSON 형식으로 응답을 반환합니다. 이는 프론트엔드와 API가 연동될 때 상태 코드를 전달해야 하는 이유가 있습니다. 프론트엔드는 서버로부터 받은 상태 코드를 기반으로 다음 동작을 결정하기 때문입니다. 이러한 상황에서는 ResponseEntity나 @ResponseStatus를 사용하여 상태 코드를 반환할 수 있습니다. 이 둘 간의 차이를 이해하기 위해 먼저 각각의 개념을 살펴보고, 동시에 사용할때 어떤 문제가 발생하는지 알아보겠..