분류 전체보기

Java

사용자가 여러번 클릭할 수 있는 버튼에 대한 요청을 보내는 시점 문제

안녕하세요 오늘은 그간 팀프로젝트를 하면서 겪었던 2번째 문제를 기록해두기 위해 왔습니다.바로 본론으로 들어가면 문제는 커뮤니티의 게시판에서 좋아요 기능에 대한 트러블 슈팅입니다. 문제 상황은 사용자가 한 번에 추천버튼을 여러 번 누르면 매번 서버에 요청을 보내기 때문에 서버에 불필요한 요청을 너무 많이 보내게 되고 과부하가 발생해실제 화면과 db에 저장된 좋아요가 일치하지 않는 모습을 보인다는 것이었습니다. 따라서 처음에는 JavaScript의 이벤트를 beforunload 시점에 요청을 보내도록 하려고 했습니다.let likeButton = $("#likeButton");let myLikeCount = parseInt($("#myLikeCount").text()); // 내 추천수(0 or 1)let..

Java

Server Side Rendering 방식의 웹 앱에서 JWT을 사용하는 SpringSecurity 적용의 어려움

그간 팀프로젝트를 하느라 바빠 오랜만에 글을 써봅니다.이번 주제는 팀프로젝트를 하는동안 만났던 문제점과 그 문제를 해결한 방법에대해 써볼까 합니다. 제가 네이버클라우드 캠프에서 팀원들과 했던 프로젝트는 SpringBoot와 Thymeleaf를 사용하는 Server Side Rendering 방식의 웹 어플리케이션이였습니다.서버사이드렌더링 방식은 Front-end와 Back-end가 구분되어 있는 구조가 아닌1. 서버측에서 필요한 데이터를 준비하고2. 해당 데이터를 Model 객체에 담아 템플릿 엔진을 사용해 HTML 파일에 데이터를 그려낸후,3. 클라이언트의 요청에 대한 응답으로 정적 파일(HTML, CSS, JAVASCRIPT)을 내려주는 방식을 말합니다.그림으로 나타내면 다음과 같죠이때, 문제가 있었..

Java

[Java] 간단한 ConnectionPool 구현 해보기(JDBC Driver, Connection)

간단한 ConnectionPool을 구현해보기 앞서 JDBC 1. JDBC API JDBC란 Java DataBase Connectivity로 자바에서 다양한 종류의 데이터베이스에 접속하고 SQL문을 수행하여 처리하고자 할 때 사용되는 표준 SQL 인터페이스이다. 즉, DBMS 제공업체(벤더)는 이 JDBC API 인터페이스 규칙에 따라 만든 구현체인 driver를 제공하며, 이를 통해 Java 개발자는 표준 인터페이스를 사용하여 다양한 데이터베이스 벤더의 JDBC 드라이버를 사용할 수 있다. JDBC API를 사용하면 프로그램이 특정 데이터베이스와 독립적으로 동작할 수 있어, 데이터베이스를 변경하더라도 코드 수정을 최소화할 수 있다. 2. JDBC Driver JDBC 드라이버는 특정 데이터베이스 벤더..

IT

SQL - SELECT문 실행 순서 정리

1. Select문 SELECT 쿼리문은 FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY 총 6단계를 거친다. 이때, 쿼리의 실행 순서를 아는 것은 중요하다. 실행순서를 모르면 쿼리를 제대로 작성하기 어렵다. 예를 들어 보자. SELECT 번호, 이름, 제품명, (수량 * 가격) as 총액 FROM 고객 join 주문 on 고객.번호 = 주문. 고객 번호 WHERE 가격 >= 10000 ORDER BY 가격 DESC 그리고 테이블은 다음과 같다. 번호 이름 나이 성별 1 kim 20 F 2 park 30 M 3 lee 40 M 4 jo 18 F 주문 번호 제품명 수량 가격 고객번호 1 aaa 1 27000 1 2 bbb 2 3000 1 3 ccc 3 18000 2 4..

chobo5
'분류 전체보기' 카테고리의 글 목록