kwerc
ES Shell에서 작성된 Uriel의 WERC 웹 프레임 워크를 상상 한 Kyle 's WERC에 오신 것을 환영합니다.
특징
- 생기게 하는. 쉘 스크립트를 작성하는 것만 큼 강력하고 확장 가능한 웹 앱을 쉽게 구축하십시오. 말 그대로 - es는 쉘입니다! SED 및 GREP와 같은 Unix 도구 또는 거의 모든 명령 줄 프로그램을 파이프로하여 코드가 거의없는 복잡한 기능을 구축하십시오. 그리고 Bourne/Bash 및 기타 쉘보다 훨씬 지능적인 디자인으로 ES는 재미 있고 신뢰할 수 있습니다.
- 배우기 쉽습니다. ES를 모르십니까? 문제 없습니다 (거의 아무도하지 않습니다). ES는 매우 간단합니다. Bourne Shell, Bash 또는 RC를 알고 있다면 이미 대부분의 E를 알고 있습니다. 10 페이지 만에 언어에 대한 자세한 설명과 ES Manpage에 대한 자세한 내용은 ES 논문을 확인하십시오.
- 해킹 가능. Kwerc는 수백 줄의 ES입니다. 좋아하는 데이터베이스와 쉽게 통합하십시오 (ES의 강력한 I/O 리디렉션을 활용하려면 일반 텍스트 파일 트리에 데이터를 저장하거나 퓨즈 파일 시스템으로 데이터베이스를 마운트하십시오), 모든 언어로 코드 등을 사용하여 ES 자체를 수정하고 연장 할 수 있습니다.
- 강한. 표준 쉘 기능 외에도 ES는 일류 기능, 어휘 범위, 예외 및 풍부한 반환 값을 지원하여 확장 가능하고 기능적입니다. 더 필요하십니까? Kwerc는 Es에서 인라인으로 사용할 수있는 타오르는 빠른 Mawk 통역사와 함께 배송됩니다. 또는 다시, 좋아하는 언어를 쉽게 통합하십시오 (일부 언어는 쉘에서 호출 할 때 상당한 성능을 제공합니다).
- 빠른. 정적으로 컴파일 된 UNIX 명령 줄 도구 (9Base)를 포함하여 작은 램 디스크에 적합합니다. 클러스터에서 작동합니다. Redis를 1 차 데이터 저장소 (KWERC-REDIS로 지원합니다.
- 안전한. KWERC는 쉘 주입에 대한 강력한 보호 기능을 가지고 있습니다. ES의 인용 규칙과 전반적인 현명한 구문은 다른 쉘에서 흔한 보안 버그를 피합니다. 물론 단순성보다 더 나은 보안 기능은 없습니다. KWERC는 설계 및 구현에 의해 간단하며 KWERC로 구축 된 소프트웨어는 코드가 적고 버그가 적습니다. 또한 KWERC는 완전히 독립적이며 읽기 전용 Chroot 또는 감옥에서 실행할 수 있습니다.
- 가지고 다닐 수 있는. 전형적인 유닉스에서 실행해야합니다 (언젠가는 플랜 9 또는 인페르노에서도 실행될 수 있음). 외부 의존성이 없습니다. 100% 정적으로 컴파일되었습니다.
의존성
모든 것이 공급 업체/에 포함되어 있습니다. 빌드하려면 C와 Golang (> = 1.11) 컴파일러 만 있으면됩니다. 최대 성능 (KWERC에서 실행하는 외부 프로그램 포함)을 위해 정적으로 구축하는 것이 좋습니다. 무슬림은 이상적입니다 (일부 환경에서는 9Base에서 버그를 만들 수 있음).
간단한 make 공급 업체 종속성을 컴파일하여 올바른 위치에 놓습니다. 당신은 make install 실행할 필요가 없습니다.
데비안 :
# apt install build-essential golang-go
$ make
알파인 :
# apk add build-base go
$ make
다음은 이러한 종속성에 대한 간단한 개요입니다.
- ES : ES 통역사. 대안 : RC, 약간의 포팅 작업이있는 다른 쉘.
- 9BASE : 다양한 계획 9 도구가 UNIX에 포팅되어 멋진 쉘 환경을 제공합니다. 대안 : 약간의 포팅 작업이있는 Coreutils, SBase, Busybox 등.
- Mawk : 빠른 AWK 통역사. 대안 : 다른 AWK 통역사.
- Kryptgo : Auth에 사용되는 일부 Golang 암호화 기능에 대한 명령 줄 인터페이스.
- CGD : CGI 웹 서버. 대안 : CGI 지원이 포함 된 모든 웹 서버 - 문서가 다가오는 문서.
용법
./bin/cgd -c app/es/kwerc.es
KWERC는 이제 http://127.0.0.1:42069에서 도달 할 수 있어야합니다. 기본 사이트에는 기본 로그인/등록 및 디버그 페이지가 제공됩니다.
다음으로 : 실제 웹 앱 구축. 문서는 kwerc.org에서 진행중인 작업입니다. WERC의 문서도 다소 적용 가능합니다.
확장
자주 의문의 답변
Q. 쉘의 웹 프레임 워크? 당신은 진지 할 수 없습니다.
A. 이것은 강타가 아닙니다.
Q. CGI? 속도가 느리지 않습니까?
A. https://www.mail-achive.com/[email protected]/msg00202.html
Q. 정적 이진? 거대/불안한/느리지 않습니까?
A. https://sta.li/faq/
곧 당신 근처의 kwerc에 올 것입니다
- 선적 서류 비치
- 파일 업로드
- 캐싱
- PWA 지원
- ?
연락하다
[email protected]
기부
그냥 돈을 보내십시오
특허
KWERC는 ISC 라이센스에 따라 배포됩니다. 자세한 내용은 라이센스를 참조하십시오.
공급 업체의 종속성/ 자체 라이센스가 있습니다. 읽으십시오.
감사합니다 & 역사
Kwerc는 Uriel의 기억에 전념합니다. <3
Kwerc는 Garbeam, Kris Maglione, Sqweek, Soul9, Mycroftiv, Maht, Yiyus, Cinap_lenrek, Khm 등의 공헌으로 Uriel이 만든 WERC를 기반으로합니다.
Kwerc는 Garbeam의 Werc Fork, Swerc의 많은 변화를 통합합니다.
공급 업체의 다양한 종속성 프로젝트의 배후에있는 모든 분들께 감사드립니다.
KWERC에 대한 아이디어는 ROVR, VRLFP, Tokumei, Gelato Labs 및 Werchan을 포함하여 WERC를 고용 한 다양한 프로젝트에서 나온 것입니다. 관련된 모든 분들께 감사드립니다. Kwerc의 디자인을 형성 한 많은 지혜에 대해 유명한 천재와 친애하는 친구 인 Keefer Rourke에게 특별한 감사를드립니다.