대표제품
- kpt
- kubecfg
- kaptain
- tanka
- ksonnet
- jsonnet
- kubes
- helm
- operator
- kustomize
대표제품
어드민 도구 종류
생각해보면… 금융권에서 쓰는 마이플랫폼같은것도 비슷한 도구이긴 한데
뭐 깔아서 써야되는데 좆같다고 욕하는거였나
화면 뽑아내는데는 효율적이다
오픈소스도 몇 개 있고
완전 유료도 있고
kotlin web framework인데…
간단하게 rest api 만들기 좋다.
간단한 rest api가 필요한가??
프로토타이핑 정도 하는거라면 모를까
그냥 스프링 쓰는게 나을 것 같다
뭔가 많이 부족하다
언어 구조 때문에 만들기 힘들 것 같다
뭔가 괜찮은 것 같으면서도 애매한 오픈소스 프로젝트…
복잡함 때문에 몇 번 사용하려다가 포기 했는데 이번에 인증서비스를 만들면서 다시 사용하려고 한다.
jasig CAS일 때 보고 apereo로 바뀐거 보고… 세번째 정도인 것 같다.
이전에는 기능을 축소해서 직접 개발했었는데
복합인증을 구현하려면 쓰는게 나을 것 같다
유료 무료 다 포함해서 대강
무료
유료
기타
조금씩 특성이 다르긴 하다.
어쨌든 소스레벨에서 분석해서 사용해야 하고
필요한 부분만 뽑아쓰긴 힘들어 보인다
docker 컨테이너를 제공 해 주면 좋겠는데…. 커스텀을 해서 쓰라는 철학을 가지고 있는 애들이라 그런지 통짜로 제공 해 주지는 않는다.
그래도 쓰기 편하게 템플릿이 제공된다.
https://github.com/apereo/cas-overlay-template
이런것도 제공 해 주고 많이 발전했다.
아래 순서대로 치다보면 뭐가 뭔지 알 수 있을거다. README.md와 비슷하지만 약간 다르다.
git clone https://github.com/apereo/cas-overlay-template cas-server
cd cas-server
./gradlew clean build
./gradlew downloadShell runShell
./gradlew allDependencies
docker-compose 실행테스트를 해야되서 설정파일을 수정 해 준다
# /etc/cas/config/cas.properties
logging.config=file:/etc/cas/config/log4j2.xml
server.port=8080
server.ssl.enabled=false
실행
docker-compose up
수정가능 항목의 목록을 얻는 명령어
./gradlew listTemplateViews
템플릿을 소스코드로 가져오는 명령어
./gradlew getResource -PresourceName=[여기뭐가들어갈까]
이쪽 철학이 그런가보다. 디비를 직접 관리하거나 하지 않는다.
그럴거면 jpa 연동하기 쉽게 인터페이스를 달아주던가 하면 좋을텐데 그런건 또 안해놨다.
각 기능이 실행될 때 마다 앞뒤로 트리거를 달 수 있다.
인터셉터
groovy
아직 안해봐서잘 모르겠지만 할 수 있다.
요즘 리버스 프록시 안쓰는 경우가 더 드물지 않을까
cas.server.name=https://domain.tld
cas.server.prefix=/
server.port=8080
server.ssl.enabled=false
cas.server.http.enabled=false
cas.server.httpProxy.enabled=true
cas.server.httpProxy.secure=true
cas.server.httpProxy.scheme=https
cas.server.httpProxy.protocol=HTTP/1.1
overlay template 설치하려면 keycloak, gluu 등 다른 쉬운걸 쓰는게 나을것으로 보인다
인증방식은 어차피 다 표준프로토콜이 있어서 한두개 빼고는 다 비슷하게 제공된다
소스레벨에서 사용하려면 cas를 쓰는게 나을까… 그냥 만드는게 나을까
아직 시작단계라 정확하지는 않지만
이걸 쓰기보다는 필요한 부분 소스만 참고해서 따로 만들게 될 것 같다
주소패턴 article/
GET / LIST
page_no pno pn
page_size psz pz
keyword kw
start_date sd
end_date ed
GET /{id}
POST /{id}
PUT /{id}
DELETE /{id}
GET /batch/{id}#{id}
POST /batch
PUT /batch
DELETE /batch
GET /code/{code}
GET /uuid/{uuid}
프로그램을 만들다 보면 상태가 중요한 요소일 경우가 많은데
회원의 상태, 프롯스의 상태
상태를 변경하기 위한 동작들
기존 상태 메모리에 로드, 디스크 저장 등등
별도로 관리하지 않고 디비에서 가져와서 한개씩 처리하면서 트랜잭션 거는거도 가능하지만
실수가 잦다
그래서 하나 만들어볼까 하다가 찾아보니 잔뜩 나와서 일단 정리
starter kit이나 공식홈페이지, 그리고 github에 너무 많다
별 생각이 없다.. 그냥 해봄
스타터킷이 있기는 한데 다 너무 오래됐다. 마지막 업데이트가 5년~7년…
그 때 부터 안쓰기 시작했나보다
그래도 아직 현역인데… 이렇게까지 인기가 없을까
rails new app
필수 환경 설치
rbenv 2.6.5 bundle rails
bundle
rails db:create
rails g devise:install
rails g devise user
rails db:migrate
rails g pundit:install
rails g model post
rails g controller post
rails g service post
쉽게 프로젝트를 생성할 수 있는게 장점인데
노드가 더 쉬워서 자리를 뺏긴 느낌이다.
etherscan
infura
BitGo
개발자는 터미널이 간진데
텍스트 편집할 때 emacs까지는아니라도 vim정도는 써 줘야된다.
근데 이게 기본형으로 쓰면 또 각이 안나와서 추가기능을 깔아주고
다른사람 자리에서 vi쓸 때 이게 왜 안돼? 같은 대사도 해 주고 해야된다
그러기 위한 몇가지 추가기능
리눅스나 맥이면 이정도는 이미 깔려 있어야되고
윈도우라고 빼먹으면 안된다.
오히려 여기에다가 리눅스 터미널까지 설치 해 줘야된다
그리고 추가로 터미널 유틸
에디터
플러그인 관리
에디트 툴
이정도 깔아두면 이제 어디가서 전문가 행세하기 충분하다.
내 노트북을 가지고 강연/강의/세미나를 할 때 부끄럽지 않을 최소한의 환경