전체 글

기록의 힘을 믿습니다 📂
· ON/spring
이전 시간에 SpringAOP이 뭔지 알아봤다. 그럼 이제 직접 설정해서 사용해보자 ! 아직 SpringAOP이 이해가 안된다면 이전 게시글을 확인해주세요! [ Spring ] SpringAOP 이론 ⑱ 🤔SpringAOP 이란 ?💭 관점 지향 프로그래밍(Aspect Oriented Programming) 일반적으로 사용하는 클래스(Service, Dao 등) 에서 중복되는 공통 코드 부분(commit, rollback, log 처리) 을 별도의 영역으로 분리해 내 jnaa.tistory.com 🤔💭실행 순서 BeforeAspect ➡ AroundAspect ➡ AfterAspect 📚 Spring 📗 CommonPointcut.java ❗ @Pointcut를 설정한다 @Pointcut("executio..
운영자로 일 했을때 가장 무서웠던 단어가 '로그' 였다. 일하다가 오류가 발생해서 개발실에 문의를 하면 항상 로그 확인해서 누가 문제를 발생했는지 다 알 수 있었기 때문이다. 어떻게 그렇게 빨리 ' 확인하지 ? 온통 영어인데 정말 대단하다' 라고 생각했는데 오늘 직접 공부해보니 '오 ? 생각보다 별거 아니네!' 라고 생각해서 되게 재미있었던 시간이다 ! 📂 Logging 📝 로그 ( Log ) - 사전적 의미 : 통나무, 향해 일지, 배의 속력이나 항주한 거리를 계측하는 장치의 총칭. - 실질적 의미 : 기록을 남기는 것. 💬 로그 사용 이유 - 애플리케이션 운영 시 로그의 효율적인 관리가 가능하다.(콘솔 또는 특정파일) - 콘솔 로그를 위해 System.out.print를 사용하는 건 성능저하를 야기함..
· ON/spring
🤔SpringAOP 이란 ?💭 관점 지향 프로그래밍(Aspect Oriented Programming) 일반적으로 사용하는 클래스(Service, Dao 등) 에서 중복되는 공통 코드 부분(commit, rollback, log 처리) 을 별도의 영역으로 분리해 내고, 코드가 실행 되기 전이나 이 후의 시점에 해당 코드를 붙여 넣음으로써 소스 코드의 중복을 줄이고, 필요할 때마다 가져다 쓸 수 있게 객체화하는 기술을 말한다. 💬 SpringAOP 개요 * 위 이미지와 같이 공통되는 부분을 따로 빼내어 필요한 시점에 해당코드를 추가해주는 기술 💬 SpringAOP 구조 공통되는 부분을 따로 빼내어 작성하는 메소드를 Advice라고 이야기 하며, Advice를 적용될 수 있는 모든 관점(시점, 메소드)을 J..
· ON/spring
게시글 삽입 을 했을 때 DB에 사진을 넣기 위에서 해당 위치에 이미지를 저장했다. 만약 이미지를 수정하거나 삭제하게 되면 해당 이미지 파일에 계속 쌓여서 DB에 메모리 누수가 발생할 것이다! 이를 방지하기 위에 오늘은 스케줄을 이용해서 DB에 이미지가 없다면 삭제를 진행해보자 관련하여 설정방법이나 @Scheduled은 아래 게시물을 먼저 확인해주세요! [ Spring ] @Scheduled 이론 ⑯ 게시글 삽입 을 했을 때 DB에 사진을 넣기 위에서 해당 위치에 이미지를 저장했다. 만약 이미지를 수정하거나 삭제하게 되면 해당 이미지 파일에 계속 쌓여서 DB에 메모리 누수가 발생할 것이다! jnaa.tistory.com 📚 Spring 📗 ImageDeleteScheduling.java : 스프링이 일정..
· ON/spring
📂 @ Scheduled이란 ? Spring에서 제공하는 스케줄러 - 스케줄러 : 시간에 따른 특정 작업(Job)의 순서를 지정하는 방법 📝 @ Scheduled 속성 - fixedRate : 이전 작업이 수행되기 시작한 시점으로 부터 고정된 시간(ms)을 설정 @Scheduled(fixedRate = 10000) // 이전 작업이 시작된 후 10초 뒤에 실행 일(5초) 대기(10초) - fixedDelay : 이전 작업이 끝난 시점으로 부터 고정된 시간(ms)을 설정 @Scheduled(fixedDelay = 10000) // 이전 작업이 끝난 후 10초 뒤에 실행 일(5초) -> 10초 대기 -> 일(5초) -> 10초 대기 (끝난시점) - cron 속성 : UNIX계열 잡 스케쥴러 표현식으로 작성 ..
· ON/spring
오늘은 '목록으로' 버튼을 클릭 했을때 게시글 목록 조회 화면으로 돌아가는 기능을 구현해보자 📚 VS code 📕 boardDetail.jsp 수정 삭제 목록으로 📕 boardDetail.jsp const goToListBtn = document.getElementById("goToListBtn"); goToListBtn.addEventListener("click", ()=>{ // 이동할 주소 저장 let url = "/board/" + boardCode; // URL 내장 객체 : 주소 관련 정보를 나타내는 객체 // URL.searchParams : 쿼리스트링만 별도 객체로 반환 const params = new URL(location.href).searchParams; let cp; if(para..
· ON/spring
이제까지 게시글 조회/ 수정 / 삽입을 구현해보았다! 그렇다면 게시글 삭제를 진행하면 된다! 역시 수정 이후로 하는거라 조금 수월했다! 🌝 게시글 삭제 📚 VS code 📕 boardDetail.js // 게시글 삭제 버튼이 클릭 되었을 때 document.getElementById("deleteBtn").addEventListener("click", () => { if(confirm("정말 삭제 하시겠습니까?")){ location.href = location.pathname.replace("board","board2") + "/delete"; + location.search; // /board2/1/2006/delete(GET) } }) 📚 Spring 📗 BoardController2.java //..
· ON/spring
오늘은 댓글 목록에 대한 기능을 구현 할 예정이다. 댓글/ 대 댓글 기능을 구현하려면 계층형 쿼리와 REST API를 알아야한다. 📝 계층형 쿼리 (START WITH, CONNECT BY, ORDER SIBLINES BY) 📝 🥇 START WITH : 상위 타입(최상위 부모)으로 사용될 행을 지정 (서브쿼리로 지정 가능) 🥈 CONNECT BY 상위 타입과 하위 타입 사이의 관계를 규정 PRIOR(이전의) 연산자와 같이 사용하여 현재 행 이전에 상위 타입 또는 하위 타입이 있을지 규정 부모 -> 자식 계층 구조 CONNECT BY PRIOR 자식 컬럼 = 부모 컬럼 자식 -> 부모 계층 구조 CONNECT BY PRIOR 부모 컬럼 = 자식 컬 🥉 ORDER SIBLINGS BY : 계층 구조 정렬 ..
박도비
비전공자의 개발자 도전기