본문 바로가기

전체 글

[Redis]Redis Pub/Sub과 Redis Stream의 차이점 Redis Stream과 Pub/Sub 차이점 Redis Pub/Sub 기능 설명 메시지 큐를 이용하여 해당 Topic(채널)을 구독하는 구독자(SubScription)에게 메시지를 발행(Publish) Redis Pub/Sub 구조 Redis Pub/Sub 특징 Publisher는 각 Topic(채널)에 대한 Subscriber 정보를 알 수 없음 IF - Topic A을 구독하는 구독자가 없어도 메시지는 발행되며, 추후 구독자가 발생해도 이전 발행된 메시지는 확인 불가 Publisher는 메시지를 따로 저장하지 않으며, 구독자(Subscriber)의 네트워크 장애 발생때 발행된 메시지는 확인불가 Redis Stream 기능 설명 Log 파일처럼 적재되는 Append Only(수정불가)의 구조 발행항 .. 더보기
[Cloud]OCI(OracleCloudServer)사용이유 OracleCloudServer 사용이유 AWS, 구글클라우드에서 제공하는 무료 서비스와 달리 넘치는 스펙..(CPU 4 Core, 24GB Memory) 타 서비스와 달리 프리티어에 유효기간이 없음 Oracle Cloud Free Tier 무료 스펙 Oracle Cloud Server 와 AWS EC2 서버 스펙 벤치마크 참고 사이트 https://svrforum.com/cloud/551117 해당 게시글 참고하였을때, AWS T3.small환경과 4배차이의 벤치마크를 보여줌. 무료체험 기간이 끝날 경우 인스턴스 회수 이슈 참고사이트 https://svrforum.com/cloud/551117 이전에는 무료계정 종료 시, 인스턴스 회수가 진행된다는 이슈가 있었는데 지금은 변경된 것으로 보임 해당 이슈 .. 더보기
SpringFramework 사용이유 및 장단점 SpringFramework 사용이유 목적 자주 사용하는 SpringFramework에 대한 장점과 단점을 설명하고 사용하는 이유를 알아보자 Framework란? 바다를 건너는 주행이 쉬울때 제공된 도로로 주행이 쉬울때 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화 된 형태로 클래스들을 제공하는 것 그러므로 한 프로젝트에서 동일한 프레임워크를 사용한다는 것은 동일한 설계 및 흐름을 협의 한 상태로 개발을 진행하는 것 여러 프레임워크들은 지향하는 목적이 있으며 그 목적에 맞게 사용하는것도 개발자의 덕목 SpringFramewok란? POJO(Plain Old Java Object)기반 구성 코드 작성 시 개발자가 특정 라이브러리에 의존하지 않고 개발하는 것 Sprin.. 더보기
[LogicList]Spring 타임리프 환경 페이징 구현 백엔드 구현 필요사항 페이지 관련 도메인 클래스 생성 Controller 클래스에서 Page 파라미터 받기 관련 키워드에 대한 총 게시글 수 쿼리문 작성 프론트 구현 필요사항 현재페이지 구분 페이지 도메인 클래스 출력 1. 페이지 관련 도메인 클래스 생성 package swlee.logiclist.domain; import lombok.Getter; import lombok.Setter; @Getter @Setter public class PageMaker { private int totalCount; // 게시글 총 갯수 private int startPage; // 현재 페이지 private int endPage; // 마지막 페이지 private int totalPage;// 전체 페이지 priva.. 더보기
[LogicList] TodoList 백엔드 기능구현 기능 설명 등록 후 24시간이 경과된 컨텐츠는 삭제 후 Database에 저장 추후 Todo 테이블과 분리하여 운용필요 최대 5개의 TodoList 전달 TodoResult 에러 핸들링을 위한 TodoResult(Enum Class)생성 package swlee.logiclist.utils; public enum TodoResult { SUCCESS(1, "Todo Upload Success"), FAIL(0, "Todo Upload Fail (Exception)"), FAIL_NULL(-1, "Todo Upload Fail (Todo is null)"), FAIL_EXIST(-2, "Todo Already Exist"); private int code; private String message; Tod.. 더보기
[LogicList]TodoList 프론트 기능 기능설명 TodoList 생성버튼 클릭 시 Script Event 일부 return 값 별 분기가 필요하여 async 함수 사용 document.getElementById("todolist__input__button").addEventListener("click", addTodoList); 입력버튼 클릭 시 todoList__body__list Element 내부에 todoList__body__list__content를 생성하여 삽입 async function addTodoList(){ var todoList = document.getElementById("todoList__body__list"); var todoContent = document.createElement("span"); // 실제 텍스트.. 더보기
[Spring]인텔리제이 환경 Devtools 미작동 시 확인사항 적용사항 build.gradle내 관련 소스 추가 compileOnly("org.springframework.boot:spring-boot-devtools") 해당 옵션 체크 Windows 기준 File - Settings Windows 기준 File-Settings 해당옵션 체크 Application.properties 내 해당옵션 추가 spring.devtools.livereload.enabled=true spring.freemarker.cache=false spring.thymeleaf.cache=false 이슈사항 3가지 진행 후 정적 리소스파일(html) reload 진행이 안됨. 해결 방법 기존 Lombok 라이브러리 사용과 build.gradle 내 해당 소스가 삽입되어 있으면 devtool.. 더보기
[LogicList] Toast Ui Editor & SpringBoot AWS S3 업데이트[0] Spring Boot에서 AWS S3업데이트 Toast Ui Editor addImageBlobHook 이벤트를 이용한 수정된 이미지 주소 또는 삭제된 이미지 주소 필터링 필요 백엔드 관련 소스는 추후 게시글 발행예정입니다. 해결 방법 게시글 등록 페이지(edit.html)내부에서 변경이미지 확인을 위한 imageArray 변수 선언 게시글 수정 페이지(update.hmtl)내부에서 변경이미지 확인 및 기존이미지 확인을 위한 imageArray 변수 선언 게시글 등록 multipartFiles 데이터를 Image URL로 변환후 imageArr 배열에 추가 let imageArr =[]; // AWS S3 이미지 리턴 변수 //Image Upload editor.addHook('addImageBlobHo.. 더보기