NAS,홈오피스 – OS,솔루션

NAS 솔루션

  • NextCloud
  • https://www.openmediavault.org
  • http://rockstor.com
  • https://www.amahi.org
  • https://lime-technology.com

NAS 인프라, NAS 서비스 섞여있음

OS

  • www.nas4free.org
  • FreeNAS https://www.freenas.org
  • http://rockstor.com/

홈오피스

  • www.zentyal.org
  • NethServer https://www.nethserver.org

Media

  • https://www.amahi.org/

인프라

  • https://www.pfsense.org/

CAS – 로컬실행/개발환경 만들기

뭔가 괜찮은 것 같으면서도 애매한 오픈소스 프로젝트…
복잡함 때문에 몇 번 사용하려다가 포기 했는데 이번에 인증서비스를 만들면서 다시 사용하려고 한다.

jasig CAS일 때 보고 apereo로 바뀐거 보고… 세번째 정도인 것 같다.
이전에는 기능을 축소해서 직접 개발했었는데

복합인증을 구현하려면 쓰는게 나을 것 같다

경쟁제품

유료 무료 다 포함해서 대강

무료

  • Keycloak
  • CAS
  • JOSSO
  • LemonLDAP
  • Shibbolet ldP
  • OpenAM
  • Gluu
  • https://freeradius.org/

유료

  • Auth0
  • AWS Cognito

기타

  • https://gist.github.com/bmaupin/6878fae9abcb63ef43f8ac9b9de8fafd
  • https://www.gluu.org/blog/gluu-versus-keycloak/

조금씩 특성이 다르긴 하다.

CAS 특징

  • 프로젝트가 굉장히 잘게 나눠져 있다.
    모듈형으로 가져다가 사용하라는 것 같은데…
    의존성이 복잡해서 그렇게 쓸 수가 없다
    도큐먼트는 사용법에 관한 것만 있고
  • 설치형으로 사용하려고 보면…
    cas-overlay-template 라는게 있기는 한데
    기본으로 지원되는 부분을 제외하면 설치형으로 쓸 수 있는건 아니고 거의 소스레벨에서 수정해서 써야만 한다.
  • 스프링을 매우 잘 쓴다. 나도 스프링 꽤 써봤다고 생각했는데 처음보는게 조금씩 보인다
  • Springboot autoconfigure 사이의 엄청난 충돌이 발생
    실행형으로 만들게 아니라면 그냥 없애야 하지 않을까

어쨌든 소스레벨에서 분석해서 사용해야 하고
필요한 부분만 뽑아쓰긴 힘들어 보인다

설치방법

소스

docker 컨테이너를 제공 해 주면 좋겠는데…. 커스텀을 해서 쓰라는 철학을 가지고 있는 애들이라 그런지 통짜로 제공 해 주지는 않는다.
그래도 쓰기 편하게 템플릿이 제공된다.

https://github.com/apereo/cas-overlay-template

이런것도 제공 해 주고 많이 발전했다.

아래 순서대로 치다보면 뭐가 뭔지 알 수 있을거다. README.md와 비슷하지만 약간 다르다.

설정파일 수정

docker-compose 실행테스트를 해야되서 설정파일을 수정 해 준다

실행

화면수정

수정가능 항목의 목록을 얻는 명령어

템플릿을 소스코드로 가져오는 명령어

기능수정

이쪽 철학이 그런가보다. 디비를 직접 관리하거나 하지 않는다.
그럴거면 jpa 연동하기 쉽게 인터페이스를 달아주던가 하면 좋을텐데 그런건 또 안해놨다.

트리거 설정

각 기능이 실행될 때 마다 앞뒤로 트리거를 달 수 있다.
인터셉터
groovy

아직 안해봐서잘 모르겠지만 할 수 있다.

배포

리버스 프록시 사용

요즘 리버스 프록시 안쓰는 경우가 더 드물지 않을까

결론

overlay template 설치하려면 keycloak, gluu 등 다른 쉬운걸 쓰는게 나을것으로 보인다
인증방식은 어차피 다 표준프로토콜이 있어서 한두개 빼고는 다 비슷하게 제공된다

소스레벨에서 사용하려면 cas를 쓰는게 나을까… 그냥 만드는게 나을까
아직 시작단계라 정확하지는 않지만
이걸 쓰기보다는 필요한 부분 소스만 참고해서 따로 만들게 될 것 같다

REF

  • https://apereo.github.io/2019/01/07/cas61-gettingstarted-overlay/
  • https://apereo.github.io/cas/6.3.x/configuration/Configuration-Server-Management.html
  • https://apereo.github.io/2018/01/05/cas-deployment-with-proxy/

State Machine libray

상태관리

프로그램을 만들다 보면 상태가 중요한 요소일 경우가 많은데
회원의 상태, 프롯스의 상태
상태를 변경하기 위한 동작들
기존 상태 메모리에 로드, 디스크 저장 등등

별도로 관리하지 않고 디비에서 가져와서 한개씩 처리하면서 트랜잭션 거는거도 가능하지만
실수가 잦다

그래서 하나 만들어볼까 하다가 찾아보니 잔뜩 나와서 일단 정리

REF

  • https://statecharts.github.io/
  • https://kentcdodds.com/blog/implementing-a-simple-state-machine-library-in-javascript
  • https://github.com/davidkpiano/xstate
  • https://github.com/Ankzz/easyfsm/
  • https://github.com/hekailiang/squirrel

Custom Router

라우터 OS

  • OPENWRT
  • DD-WRT
  • pfsense
  • VyOS
  • suricata

OpenWRT

https://openwrt.org/
공유기

임베디드에 설치. 오래된 공유기 안쓰는거에 설치해서 사용
x86은 공식지원이 없다. uefi 지원은 별도 빌드 필요

DD-WRT

https://dd-wrt.com/
공유기

pfsense

https://www.pfsense.org
공유기

BIRD

https://bird.network.cz/
데탑

REF

Xpressengine3는 아직 미완성인가

SSIBAL 이거 돌아가는거 맞나?

composer install 하면 뭔가 경고가 엄청 뜬다. 의존성 오류가…?
보니까 composer.lock이 ignore가 되어있다.
php, composer 모두 정해진 버전을 써야할 것 같은데 알 길이 없다.
.lock, .phar 등등은 gitignore에 포함시키지 말아야 하는거 아닌가?

developement 환경은 왜 셋팅도 안 되어 있는건가
sqlite에 달아주던가 해야 데모 테스트도 해 보고 쓸지 말지 결정할텐데

Docker 공식 이미지를 제공을 안 하길래 만들어서 써볼까 했는데
제대 돌아가질 않는다.
docker에서 terminal install을 하는경우 디비가 이미 생성 돼 있으면 넘어가주거나 하면 좋을텐데 에러를 토해낸다.
그럼 웹 설치만 해야되겠군…
latest.zip를 받아서 다시 만들었는데 localhost/만 접속이 되고 localhost/auth .. 등등 다른페이지가 안뜬다. 뭔가 손이 많이 간다.

config쪽이랑 installer env 네이밍이 너무 제각각사용된다. 그리고.xe_install_config.yml은 환경변수를 받지 않아서 꼭 파일을 넣어줘야 하는 것 같다.

redis를 넣어줬더니 predis가 필요하다고 한다.
다이내믹하게 설치가 되는건 아닌가본데… 그럼 서버 실행전에 composer install을 해 줘야한다는건데…

기능개발보다 안정화를 먼저 해야 사용자층을 넓힐 수 있지 않을까
며칠 보다보니 고쳐서 쓸 수는 있을 것 같은데 계속 이런상태일 것 같아서 고민이다.

그냥 안쓰는게 나을 것 같다.
wordpress, joomla 등등의 대안이 있으니까
이정도로 불안정한 플랫폼으로 서비스를 만드느니 새로 만드는게 나을 것 같다.

오픈소스 비지니스: 고객을 일하게 하라

목차

  1. 일하지 말고 일하게 하라
    1. 고객은 최고의 전문가
      그들을 활용하라 오픈소스 고객은 그 분야의 전문가다
    2. 고객을 전문가로 만들리
      전문가가 아닌 고객도 전문가가 될 수 있도록 교육자료를 제공하라
      그들은 우리의 제품을 더욱 향상시켜 줄 것이다
  2. 알아서 고치게 하라
    1. 고객들에게 스스로 고쳐 쓰고 방법을 공유하도록 만들라
  3. 고객은 최고의 노예다
  4. 일하지 않으면서 일하는 척 하라
    1. 고객은 서로 일을 해준다
    2. 다른 고객에게 우리(다른고객)의 업적을 전달하라
  5. 에필로그
    1. ㅇㅇ

목차만 봐도 지리겠다
돈버는 책이나 성공하는 책같은 제목과 소제목
두꺼운 똥소리만 잔뜩 집어넣으면 쓰레기같이 잘 팔리는 책 한권 나올 것 같다.

개발 조무사라면 꼭 봐야하는 책

암호화폐 거래소 프로젝트

오픈소스 프로젝트

  • peatio
    https://rubykube.io/#
    https://github.com/openware/peatio
    https://github.com/rubykube/peatio-trading-ui
    https://github.com/rubykube/peatio-react
    https://github.com/peatio/helm-charts
  • CoreCX
    https://bitbucket.org/account/user/margincallio/projects/MRGC
  • WLOX
    https://github.com/wlox/wlox/
  • bitex
    https://github.com/blinktrade/bitex
  • viabtc
    https://github.com/viabtc/viabtc_exchange_server
  • OpenDAX
    https://github.com/openware/opendax

상용 프로젝트

프로젝트별 특징

Peatio

개발언어: RubyOnRails
데이터 저장소: Mysql

[만들거]이벤트 트리거 – 리눅스(우분투) 프로그램

이벤트 캣치해서 트리거 발생해서 뭔가 실행시켜주는 서비스.

를 만들 수 있을지 검토를 해 봐야겠다

만들어놓은게 있는지 찾아보고

c,c++이용 커널과 os에서 이벤트 잡아내고

lua스크립트로 실행

다음에 찾아봐야겠다. 비슷한거 있을 것 같은데…

Open Source Initiative OSI – The MIT License:Licensing

http://www.opensource.org/licenses/mit-license.php

Open Source Initiative OSI – The MIT License:Licensing

[OSI Approved License]The MIT License

Copyright (c) <year> <copyright holders>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.