https://kit-clj.github.io/docs/caching.html

Kit Framework

Kit Framework

kit-clj.github.io




이거 정독중인데
정말 많이 배웠다.

아니 배웠다기보단

와 이거 튜토리얼이 아니라 진짜 정식으로 구현하는거 예시 다 알려주네 싶더라.

예시를 들자면

캐쉬기능.

스프링에서 쓰면 그 어노테이션으로 처리 가능해.
이러면 스케일아웃이 안되고 1 인스턴스에 캐시가 갇혀버린다.

db에 해야되고, 이럴때 쓰는것이 바로
"redis"

나는 실제로 그래서 캐쉬 이걸 그냥 어노테이션으로 퉁치고있었고 레디스도 도입안했었어.

저 프레임워크는 레디스랑 캐쉬를 연결짓는다

쿠키ㅡ세션 저장소도 직접만든다

스케쥴러도 cron 쓰는거 메모리에 안갇히고 데이터베이스 사용한다.

인증도 당연히 jwt jws 커스텀인증 모든걸 직접 진행한다
(이거는 나도 하스켈로 해봄)

아니 그냥 뭐 로깅이면로깅

모든걸

스프링에서 했던기능들을 제공하고있고
내가 좆소에서 대충써오던걸 오히려 정식으로 하게 해준다.


물론 여기서

웹소켓
jwt인증
redis connection
캐쉬정책
로거

기타등등 모든거는 남의걸 쓴다.


근데 그걸 조합하고

단일 DI환경으로 통합시켜놨는데,


자기네들이 클로저의 라이브러리생태계에서
실제 작업하는것들

그리고 그 DI Component 세팅을 전부 공유하고

자기네들 프로덕션환경을 모듈화시켜버린건데



코딩 존나잘한다 씹색기들 ㅇㅇ
내 이상향의 코딩이야.


얘들

Integrant라는 DI도구와
기타 각 기능들을 제공하는 라이브러리들을 조합해서

자기네들 환경을 만들었고

그렇게 프레임워크를 형성했다.


이것이 프레임워크라는건가

이것이 라이브러리와의 차별점이라는건가


프레임워크란,
from scratch로 작업을 시작해서
자기 할일을 충실히하면 자동으로 탄생되는것같다

진짜 많이배웠다.


그냥 앵간한 슈퍼스타트업의 기술스택같은거도 다 코드뜯어서 봐버린 느낌.


무슨 무슨 라이브러리를 쓰는구나~

라이브러리 문서도 읽고
프레임워크문서를통해 라이브러리 활용실태를 읽고

해당 활용환경을 만든 DI 콤포넌트 생성과 컨피그를 읽고

내가 내껄 변경하려면 어떻게 해야겠구나 나만의 방식으로 재조합하고


이 과정에서 씨발



3일만에 리액트를 필요한부분만큼 떼버렸고

대충 atom으로 상태관리하고
Hiccup (돔생성 dsl)로 돔관리하고
goog.History와 해당 객체에 이벤트를 주는걸로
클라사이드라우팅

그리고 나같은경우는 클라사이드라우팅을 최소화하기위해

서버사이드라우팅을 기본으로 깔고서
동적인 돔 생성과 조작이 필요한 경우에만
한페이지당 하나씩 클라사이드렌더링을 얹을건데

서버사이드와 클라사이드 렌더링의 결합


씨발 이게 이렇게 쉬워도되냐?
3일걸렸어

거기다

인터랙티브디벨롭환경까지 도입돼서

ide에서 클라사이드코드를 손보면 그게 테스팅 데브 브라우저 js랑 연동돼서 런타임 돌아가고 디버깅, 구현 다 가능함.


리액트뿐이아님.

뭔 씨발

지금 레디스도 익혔고
웹소켓도 익혔고(이건 알던거지만 클로저방식으로 재구성)
인증도 익혔고(마찬가지로 알던거지만)

뭐 여러가지있음.

거의 하루에 기술스택 하나씩 먹어치워버리는 급.


리액트를 떼버린게 가장 큼.

사실 리액트는 모름. 난 리액트를 클로저스크립트로 포장한
Reagent를 쓰는거라서.




SQL쪽 템플릿이랑
서버사이드 html 템플릿 언어도 배웠다.

DSL이 최곤줄알았는데 템플릿이 가지는 장점도 상당해