전체 글
-
내가 세운 블로그 서비스 - 도커 배포전략과 느낀점블로그 개발 기행 🥾 2022. 12. 2. 20:28
1. 들어가며 이전 아카데미에서는 서비스에 따라 클라우드 인스턴스를 각각 배포하였다. 하지만 문득 들었던 생각이 인스턴스의 성능을 좀 더 좋은 것을 사용하고 내부에 도커를 사용하면 애플리케이션의 관리가 더 편할 것 처럼 느껴졌다. 그리고 이런 메리트도있다 생각하여 끄적여봤다. 1. 컨테이너 단위로 서비스를 관리하기 때문에 편리하다. 2. 도커 허브나 깃헙 패키지같은 서비스를 이용하면 내가 만들고 배포할 컨테이너를 한눈에 확인이 가능하다. 3. 이전 버전에 대해 복구가 필요 할 때 맘껏 복구 할 수 있다. 4. 복구하는 절차도 맨날 scp로 복사하고 커멘드를 일일히 실행하던 일에서 docker pull, run 과같은 명령어로 쉽게 실행이가능하다 5. 서비스를 인스턴스 단위에서 관리하던 것을 컨테이너 단위..
-
블로그 개발 기행을 시작하며블로그 개발 기행 🥾 2022. 11. 28. 21:29
개인 블로그를 이번에 만들어보려한다. 그동안 프론트엔드를 혼자서 공부해왔고, 백엔드는 교육기관에서 배운 덕에 그나마 기초적으로 다룰 줄 아는 정도는 되었던거 같아 이번기회에 개인 블로그를 기획, 개발하고 운영까지 해보려한다. 특히나 프론트엔드는 혼자 공부한 탓인지 이 때까지 너무나도 잘못된 방식으로 개발을 해왔다 생각하여 이번엔 제대로 재사용성에 대해 고려하여 컴포넌트를 구성해보고 싶었기 때문이다. 기술스택은 이렇게 정해봤다. 프론트엔드 - typescript - Next.js (서버사이드 렌더링을 통해서 SEO성능을 높이고 싶기 때문. 물론 시간이 나면 퍼블리싱도 배울것이며 적용을 위함.) - yarn berry - recoil (Redux를 사용했었을 때 Nextjs와의 궁합은 좋았지만, 설정 지옥에..
-
2022.11.28 TODOTODO 2022. 11. 28. 02:59
1. 기존 NoSql JPA에 대한 지식 부족으로 그나마 이해하고있는 SQL JPA를 리액티브하게 사용하기위한 R2DBC와 MySql로이관 + 를 시도하려고했으나, R2DBC가 아직 안정화 되지않았고, 정식 출시도 되지않아 R2DBC역시 사용에 어려움이 많을거같다. 그래서 기존 그대로 사용하고 @DocumentReference로는 가져와 지지않아 그냥 $oid를 끌고와 애플리케이션이 부담하기로함. 2. 블로그 데이터베이스 설계 (글 목록, 카테고리, 댓글, 좋아요), 블로그 정책 구성해보기 + mongoDB를 그대로 사용하기로하여 물리적인 관계는 없을 것이다. 하여 논리적 관계로 표현하기로 함. 3. 추상적인 아키텍처도 그려보기 + 규모가 극소한 MSA 애플리케이션 형태로 간단하게 할까... 아니면 모놀..
-
Reactive Programming - 배압 (Backpressure)Reactive Programming 2022. 11. 26. 15:28
1. 배압의 정의 위키피디아에서 배압은 파이프라인에서 순방향으로 흐르는 유체의 흐름을 반대되는 역방향성을 가진 힘이라고 뜻하고있다. pipe1의 경우에는 유체의 흐름에 방해되는 요소가 없어 p1 -> p2로 유체가 잘 흐를 것이다. pipe2의 경우에는 유체의 흐름을 방해하는 요소가 몇가지가 존재하여 p1 -> p2까지 유체는 배압으로인하여 p2까지 도달하는데 시간이 좀 더 걸릴 것이다. 이 유체를 지금부터 프로그램의 데이터라고 생각을 해보자. 2. 리액티브 프로그래밍에서 배압이 필요하게 된 이유 데이터베이스에서 조회된 어마어마한 데이터 리소스가 지금부터 들어올 것이다. 이 데이터를 Publisher와 Subscriber는 어떻게 감당을 할 것인가? 물론 자원에대한 처리 능력이 무한하다면 문제가 없지만 ..
-
Spring Web - 비동기 통신을 위한 Controller 계층 반환타입들.WIKI 🥝 2022. 11. 22. 22:16
개요 Servlet 3.0 부터 웹 개발시 비동기 통신을 위해서 나온 반환타입 객체들을 알아보자. 들어가기 앞서... 서블릿 3.0에서 비동기 처리 기본 매커니즘은 다음과 같다. ServletRequest는 startAsync라는 매서드를 통해서 비동기 모드를 사용할 수 있다. 비동기 모드가 시작되면 서블릿과 모든 필터는 종료되지만, 응답처리 완료를 위해서 응답은 열린상태로 유지된다. 1. Callable Spring MVC 3.2 introduced Servlet 3 based asynchronous request processing. Instead of returning a value, as usual, a controller method can now return a java.util.concurr..