◈ Refactoring

    [튜닝일지] 1. Index, 너 잘 타고 있니? [백엔드 개발자의 쿼리 튜닝일지]

    1. Index, 너 잘 타고 있니? 이번에 담당하게 된 프로젝트가 있는데 사이트 로딩 속도가 매우 느렸다. 아래와 같이 쿼리 조회 자체가 안되는 경우도 많아서 쿼리부터 개선 해보자는 마음으로 시작했다. (웹에서도 관련 기능이 당연히 동작 안하는데, 고객사는 안되는 거라 생각하고 못쓰고 있었다고 한다..😂😂) 소스를 분석하면서 view에서 실행속도가 느리다는 걸 파악했다. view가 view를 join하고 중첩하여 참조하다보니 실행 속도가 배로 느려진 것.. (이 중 300초 초과되는 검색과 관련된 view는 특정 view를 3번에 걸쳐 참조하고 있었다.) 보안 상의 이유로 view 이름을 공개할 수는 없지만, 위에 표에서 노란색으로 되어 있는 view는 성능이 낮은 모든 view에서 참조하고 있었다. ..

    [Project] Java Servlet 리팩토링 : 동물의 숲 커뮤니티(1) [Spring Boot 프로젝트 생성]

    [Project] 자바 프로젝트 리팩토링 : Library Service - THE END - 자바 프로젝트 리팩토링 : Library Service - THE END 자바 프로젝트로 만들어진 Library Service의 리팩토링이 끝났다. 이번 리팩토링하면서 느낀 점은, 1. Clean Code. 가독성과 효율성을 잡는 코드는 무엇인 yermi.tistory.com - Java Servlet 리팩토링 : 동물의 숲 커뮤니티(1) 두 번째 리팩토링은 Java Servlet, JSP 프로젝트이다. 이 프로젝트는 Spring을 배우기 전에 작업한 과제이다 보니 코드가 많이 레거시하다. (프로젝트를 하나하나 뜯어보며 Spring Boot로 리팩토링 할 예정) 작업하기 앞서 프로젝트를 먼저 생성하였다. Spr..

    [Project] 자바 프로젝트 리팩토링 : Library Service - THE END

    - 자바 프로젝트 리팩토링 : Library Service - THE END 자바 프로젝트로 만들어진 Library Service의 리팩토링이 끝났다. 이번 리팩토링하면서 느낀 점은, 1. Clean Code. 가독성과 효율성을 잡는 코드는 무엇인지에 대해 고민해보았다. 2. 기존의 기능들은 유지하되, 코드의 성능을 높이는 방법을 고민해보았다. 3. Singleton 패턴의 생성원리 및 이해도가 생겼다. 4. UI의 중요성. 화면이 따로 없이 콘솔로만 작업하다 보니 번거로운 부분이 많았다. 5. DB의 중요성. ser로 영속화로 시켜놓았기에 데이터를 조작하는데 있어 번거로움이 있었다. 매우매우 유익했던 자바 프로젝트 리팩토리 THE END 😎 GitHub - kycasdzxc/LibraryService:..

    [Project] 자바 프로젝트 리팩토링 : Library Service(7) [Rent 기능 리팩토링]

    [Project] 자바 프로젝트 리팩토링 : Library Service(6) [login 기능 및 실행부 리팩토링] [Project] 자바 프로젝트 리팩토링 : Library Service(5) [Book 기능 리팩토링] [Project] 자바 프로젝트 리팩토링 : Library Service(4) [오버로딩을 활용한 도서정보 조회 기능 수정] [Project] 자바 프로젝트 리팩토 yermi.tistory.com - 자바 프로젝트 리팩토링 : Library Service(7) 마지막으로 대여 기능을 리팩토링하였다. 대여 기능은 도서 기능과 계정 기능을 다 참조하고 있어서 데이터 조작이 정말 번거로웠는데.. SQL이 그립던 하루였다..☁ 대여 기능에서는 구조적으로는 크게 바꿀 게 없었고, 데이터 조작부..

    [Project] 자바 프로젝트 리팩토링 : Library Service(6) [login 기능 및 실행부 리팩토링]

    [Project] 자바 프로젝트 리팩토링 : Library Service(5) [Book 기능 리팩토링] [Project] 자바 프로젝트 리팩토링 : Library Service(4) [오버로딩을 활용한 도서정보 조회 기능 수정] [Project] 자바 프로젝트 리팩토링 : Library Service(3) [Singleton 오류 해결 및 User 기능 리팩토링] [Project] yermi.tistory.com - 자바 프로젝트 리팩토링 : Library Service(6) 대여 기능을 작업하기 앞서, 로그인 기능과 실행부 코드를 먼저 정리해야겠다는 생각이 들었다. 기존 코드는 userID와 password를 입력 받아 User를 탐색하고, 숫자로 관리자와 일반 계정을 구분하였다. login 메서드의..