이전 시간에 채팅 구현하기 앞서 어떻게 세팅해야할지 어떤 식으로 돌아가는지 콘솔을 통해 알아보았다. 채팅을 구현하기 전 필요한 내용을 모두 세팅을 하고 진행하는데 보기가 좋을 것 같아서 이번시간은 DB및 화면에 대해서 먼저 구현해보자 🔮 구현 화면 미리보기 체팅 기능을 실행하기 위한 DB 테이블을 만들어준다. CREATE TABLE "CHATTING_ROOM" ( "CHATTING_NO" NUMBER NOT NULL, "CH_CREATE_DATE" DATE DEFAULT SYSDATE NOT NULL, "OPEN_MEMBER" NUMBER NOT NULL, "PARTICIPANT" NUMBER NOT NULL ); COMMENT ON COLUMN "CHATTING_ROOM"."CHATTING_NO" IS..
분류 전체보기
💬 구현 하기 전에 오늘 알아 할 내용 JSON / SET 💬 파이널 프로젝트에서 채팅구현을 하기로 해서 찾아보고 있던 중 수업시간에 운 좋게 배우게 되었다. 우선 채팅 구현을 위해서는 웹소켓이라는 것을 알아야 한다. 🤔💭[WebSocket] 웹소켓이란 ? * 소켓 ( 양 끝단 ! 연결 시켜주는 것 ) : 클라이언트와 서버를 연결시켜 주는 것으로 서버는 모든 클라이언트의 정보를 가지고 있다. - 브라우저와 웹서버간의 전이중통신을 지원하는 프로토콜이다 - HTML5버전부터 지원하는 기능이다. - 자바 톰캣7버전부터 지원했으나 8버전부터 본격적으로 지원한다. - spring4부터 웹소켓을 지원한다. (전이중 통신(Full Duplex): 두 대의 단말기가 데이터를 송수신하기 위해 동시에 각각 독립된 회선을 ..
이전 시간에 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를 사용하는 건 성능저하를 야기함..
🤔SpringAOP 이란 ?💭 관점 지향 프로그래밍(Aspect Oriented Programming) 일반적으로 사용하는 클래스(Service, Dao 등) 에서 중복되는 공통 코드 부분(commit, rollback, log 처리) 을 별도의 영역으로 분리해 내고, 코드가 실행 되기 전이나 이 후의 시점에 해당 코드를 붙여 넣음으로써 소스 코드의 중복을 줄이고, 필요할 때마다 가져다 쓸 수 있게 객체화하는 기술을 말한다. 💬 SpringAOP 개요 * 위 이미지와 같이 공통되는 부분을 따로 빼내어 필요한 시점에 해당코드를 추가해주는 기술 💬 SpringAOP 구조 공통되는 부분을 따로 빼내어 작성하는 메소드를 Advice라고 이야기 하며, Advice를 적용될 수 있는 모든 관점(시점, 메소드)을 J..
게시글 삽입 을 했을 때 DB에 사진을 넣기 위에서 해당 위치에 이미지를 저장했다. 만약 이미지를 수정하거나 삭제하게 되면 해당 이미지 파일에 계속 쌓여서 DB에 메모리 누수가 발생할 것이다! 이를 방지하기 위에 오늘은 스케줄을 이용해서 DB에 이미지가 없다면 삭제를 진행해보자 관련하여 설정방법이나 @Scheduled은 아래 게시물을 먼저 확인해주세요! [ Spring ] @Scheduled 이론 ⑯ 게시글 삽입 을 했을 때 DB에 사진을 넣기 위에서 해당 위치에 이미지를 저장했다. 만약 이미지를 수정하거나 삭제하게 되면 해당 이미지 파일에 계속 쌓여서 DB에 메모리 누수가 발생할 것이다! jnaa.tistory.com 📚 Spring 📗 ImageDeleteScheduling.java : 스프링이 일정..
📂 @ Scheduled이란 ? Spring에서 제공하는 스케줄러 - 스케줄러 : 시간에 따른 특정 작업(Job)의 순서를 지정하는 방법 📝 @ Scheduled 속성 - fixedRate : 이전 작업이 수행되기 시작한 시점으로 부터 고정된 시간(ms)을 설정 @Scheduled(fixedRate = 10000) // 이전 작업이 시작된 후 10초 뒤에 실행 일(5초) 대기(10초) - fixedDelay : 이전 작업이 끝난 시점으로 부터 고정된 시간(ms)을 설정 @Scheduled(fixedDelay = 10000) // 이전 작업이 끝난 후 10초 뒤에 실행 일(5초) -> 10초 대기 -> 일(5초) -> 10초 대기 (끝난시점) - cron 속성 : UNIX계열 잡 스케쥴러 표현식으로 작성 ..
오늘은 '목록으로' 버튼을 클릭 했을때 게시글 목록 조회 화면으로 돌아가는 기능을 구현해보자 📚 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..