분류 전체보기 333

[part1] 웹 로딩 시간 복잡도를 줄이기 위해서 무엇을 할 수 있을까?

안녕하세요 jju_developer 입니다. 개발을 하다보면 웹 페이지 로딩 시간을 줄이는 방안으로코딩을 하곤 하는데... 웹 페이지의 로딩 시간을 줄이기 위해서 종합적인 방안을 생각해 보겠습니다. 종합적으로 최적화 방안이 뭐가 있을까요?데이터베이스 인덱스 사용: 가장 먼저 데이터베이스에서 검색 성능을 향상시키기 위해 적절한 인덱스를 생성합니다.효율적인 쿼리 작성: 필요하지 않은 데이터를 가져오지 않도록 쿼리를 최적화합니다. >> 개인적으로 깊게 파면 팔수록 어렵다고 생각하는 부분입니당...캐싱 전략 적용: 자주 조회되는 데이터는 캐싱하여 데이터베이스 접근을 최소화합니다.>> 예를 들면 서적을 검색하는 페이지 일 경우에 1-10 랭킹은 자주 검색할 것이기 때문에 캐싱하여 저장합니다.자바 측면의 최적화: ..

[자주 쓰는 알고리즘 문법 정리] Stack, Queue, Collection Binary Search

안녕하세요!퇴근하고 돌아온 jju_developer입니다. 오늘은 자바에서 자주 사용하는 코딩 기초 알고리즘 문법을 정리해보려고 합니다. 예시로는 'jju 서점'이라는 웹 페이지를 가정하여 설명드리겠습니다. 이번시간에는 Stack, Queue, Collection Binary Search에 대해 정리하려고 합니다~! 그럼 시작하겠습니다~1. Stack (스택)정의스택은 후입선출(LIFO, Last In First Out) 방식의 자료구조입니다. 즉, 가장 나중에 들어간 데이터가 가장 먼저 나옵니다. 책을 쌓는 것과 같은 방식으로 생각할 수 있습니다. 알고리즘이 필요한 이유 및 성능 개선점스택은 웹 페이지의 '뒤로 가기' 기능이나 수식 계산기 등에서 많이 사용됩니다.성능 면에서는 삽입과 삭제가 O(1)로 ..

[1년차 개발자 입장] 알고리즘을 알아야 하는 이유?

안녕하세요 jju_developer입니다. 2024년 8월부터 알고리즘 관련 포스팅을 시작하려고 합니다! 백엔드 개발의 꽃, 바로 알고리즘입니다!🌷🌼🌻 이제부터 꾸준히 알고리즘 관련 공부 내용을 포스팅하고자 합니다. 그렇다면 제가 알고리즘을 배우려는 이유는 무엇일까요?1년차 백엔드 개발자로서, 지난 경험을 돌아보면, 기초적인 Spring MVC 패턴으로 개발하는 부분에 중점모델에 데이터를 담아 프론트로 넘겨주는 작업간단한 페이지 UI 제작 등의 업무1년 동안 반복하다 보니, 이제는 페이지 로딩 시간을 줄일 수 있는 방법이나, 비동기적으로 개발하는 방법, 스레드 관련 여러 궁금증이 생기기 시작했습니다.그래서 이제부터 알고리즘을 공부하여, 개발할 때 더욱 효율적이고 도움이 되는 방향으로 성장하고자 합니..

Spring Boot와 Node.js, React와 JSP의 차이점과 역할 정리

안녕하세요~ 오늘도 퇴근 후 돌아온 jju_developer입니다! 그동안 저는 Spring Boot와 JSP를 활용하여 개발을 했었는데, node.js와 react로 개발을 해보았지만 둘의 정확한 차이점과 역할을 정리하여 기록하고자 합니다. 혹시나 뭐가 다른지, 성능은 어떠한지 궁금하셨던 분들은 집중해주세요~~~ 우선 Spring Boot와 Node.js를 먼저 비교해보도록 하겠습니다.  Spring Boot와 Node.js공통점백엔드 프레임워크: 둘 다 서버 측에서 작동하는 백엔드 프레임워크입니다.웹 애플리케이션 개발: 웹 애플리케이션의 백엔드를 개발하는 데 사용됩니다.REST API 지원: RESTful 서비스를 쉽게 구현할 수 있습니다.차이점 (언어, 성능, 생태계, 개발속도)사용 언어:Sprin..

[java] GOOGLE OTP 서비스 도입 초기 설정하기

안녕하세요~ 퇴근하고 돌아온  jju_developer입니다. 기존에 구글 otp를 사용하는 이유에 대해서 설명을 드렸습니다.  [java] GOOGLE OTP란? 구글 인증 서비스 도입 방법 (One-Time Password)안녕하세요 jju_developer 입니다~ 오늘도 어김없이 퇴근하고 돌아왔습니다. 오늘은 행운의 메일이 딱~ 날라오면서,,,! 정보 보안은 OTP 로 적용이 가능할 것. 이라는 조건이 날라오게 되었습니다.jju240.tistory.com 추가 보안을 해야한다는 프로젝트가 있어서해당 프로젝트를 위해 공부를 해본 소스코드를 공유드리겠습니다.1. LoginController.javaLoginController 클래스는 OTP 생성을 위한 요청을 처리하고, 사용자로부터 입력받은 OTP를..

백엔드 관련 2024.08.01

[jsp] 네이버 지역 api 소스코드에 적용하기

안녕하세요 jju_developer입니다. 지역 검색 api를 네이버 지도에 연동해보도록 하겠습니다. 연동신청 바로가기 [jsp] 네이버 지도 api 연동 신청방법안녕하세요~ jju_developer입니다. 오늘도 퇴근 후 돌아왔습니다! 하루를 돌아보며... 네이버 지도 api 연동에 대해 기록하고자 합니다! 회사 코드에서는 이미 네이버 지도 api는 있지만 네이버 지jju240.tistory.com   1, 검색창 생성 & 네이버 지도 영역 생성지도   " style="border:none;width:25px">)영역은 id ="map"주소를 입력하는 부분의 id는 addressInput입니다. 2. 처음 페이지가 준비될때, 초기 값 세팅초기 위경도는 네이버로 지정. $..

[jsp] 네이버 지도 api 연동 신청방법

안녕하세요~ jju_developer입니다. 오늘도 퇴근 후 돌아왔습니다! 하루를 돌아보며... 네이버 지도 api 연동에 대해 기록하고자 합니다! 회사 코드에서는 이미 네이버 지도 api는 있지만 네이버 지역 검색 api는 없었습니다. 그 말인 즉슨, 네이버 지도를 통해 위경도의 마커는 찍을 수 있지만!!! 지역 검색은 할 수 없다는 것이였죠! 저희가 납품하는 업체의 기관 주소를 세팅할때에 수동으로 지역을 찾아서 마커를 찍어줘야하는번거로움이 있었습니다.이에 해당 네이버 지도 api를 더 고도화 하고자  네이버 지역 지도 검색 api를 연동하였습니다~!~!~!  지역 - Search API" data-og-description="검색 > 지역 지역 검색 개요 개요 검색 API와 지역 검색 개요 검색 AP..

[MySQL] With절 이란? select 말고 with으로 시작하는 구문? CTE

안녕하세요~ jju_developer 입니다. 비가 많이 오는데 건강 유의 하시길 바라며, 오늘도 어김 없이 퇴근 후 복습을 하러 돌아왔습니다. 근무하다가 복잡하고 중복되는 select 문을 만들어야 하는 부분이 있었습니다. 이에 가독성과 유지보수를 쉽게 하기 위해서 with절을 사용하게 되었습니다. CTE란? Common Table Expressions CTE는 쿼리 내에서 일시적으로 사용할 수 있는 이름 있는 결과 집합입니다.  즉, 일시적으로만 사용한다가 키 포인트 입니다! 복잡한 쿼리를 분해하고 재사용 가능하게 만드는 데 도움을 줍니다.  평소 서브쿼리가 복잡하게 있는 쿼리는 가독성도 떨어져서 with 절을 알아보고 적용하게 되었습니다. 꼬리에 꼬리를 물어 해결하고자 하는 의지!지금부터 시작합니다..

[jar] 자르 파일 인터넷에서 다운받고 dependency 추가 할 때

1. 온라인에서 필요한 jar 파일을 다운받습니다.   2. 해당 자르 파일을 프로젝트에 삽입해줍니다.   3. 해당 jar 파일을 프로젝트에 추가해줍니다.ctrl + alt + shift + s 해당 자르파일의 경로를 선택하여 ok를 눌러줍니다. apply > ok 하고 메이븐 클린 후 소스 다운로드를 진행합니다.  4. 다시 프로젝트에서 > 표기가 생겼음을 확인합니다.   > 를 눌러주면meta-inf 안의 maven 안에 pom.properties가 나옵니다.  5. pom.properties의 정보 확인하여 dependency에  추가하면 됩니다. 여기에 버전이랑 groupId랑 artifactID 가 있습니다. 이것을 그대로 pom.xml에 추가하는 정보로 쓰면 됩니다!  6. pom.xml에 ..

백엔드 관련 2024.07.17

[java] GOOGLE OTP란? 구글 인증 서비스 도입 방법 (One-Time Password)

안녕하세요 jju_developer 입니다~ 오늘도 어김없이 퇴근하고 돌아왔습니다. 오늘은 행운의 메일이 딱~ 날라오면서,,,! 정보 보안은 OTP 로 적용이 가능할 것. 이라는 조건이 날라오게 되었습니다. 이에 이번시간에는 간단히 구글 otp가 무엇이고 어디에 쓰는지에 대해 알아보고자 합니다~ 저는 예전 인사팀에서 근무할때에 로그인 인증을 구글 otp로 했었습니다. 모바일 폰에 구글 otp 라는 어플을 깔고로그인을 할때마다 구글 otp에 뜨는 번호를 로그인 창에 입력하는 방식이였습니다. 이것을 제가 개발을 해야하는 날이 오다니... 참 기분이 묘한 오늘입니다. 아무튼 정확히 OTP 가 무엇인지 찾아보았습니다!OTP (One-Time Password) 정의와 사용 방법**OTP (One-Time Pass..

백엔드 관련 2024.07.16