최근에 방문함
최근에 방문함

오리온 기술

솔라리스 11.4

  • DTrace — 우리는 부엌 싱크 접근법을 취했습니다: 우리의 dyamic 프로그래밍 언어 장식새김의 전부는 그것과 통합합니다. bpftrace는 리눅스에 대한 좋은 최근 개발이지만, 동적 언어 공간에서 유용한 일을하는 것은 멀리 떨어져 있습니다.

  • ZFS — 오라클 고객지원센터에서 지원하는 대체품을 수락하지 않습니다.

  • 구역 — 서비스 격리와 적합한 샌드박스 사이트 빌드를 제공합니다.

node.js v21.6.1

  • Editor.md가 최적이기 때문에 포팅했습니다. node.js — WYSIWYG는 시청자의 맥락에 관계없이 (온라인 IDE에서 편집하거나 결과 프로덕션 사이트를 탐색)

펄 v5.38.2

  • 이제 mod_perl v2.0.14와 ithreads 및 httpd v2.4.67 w/ 이벤트 mpm.

서브버전 v1.14.6

  • 사용자 정의 ithread-safe 품질 관리 요청당 메모리 풀이 있는 바인딩입니다.

  • 고유 python3 바인딩(v3.8.3).

  • svnpubsub 및 svnwcsub의 스레드 python3 포트 — Subversion을 사용한 분산형 엔터프라이즈/CDN 사이트 배포를 위한 전체 kit 및 caboodle

  • python3를 완료했습니다. 뷰VC 포트 시간이 허용되면 업스트림 내 변경에 대한 풀 요청을 검토합니다.


도로의 일부 비고 (아직?) 사용…


SQL

우리는 전체 웹 사이트 인프라를위한 NoSQL 상점이며, 사이트의 자산을 구동하는 RDBMS로 알려진 거대한 단일 장애 지점으로 안장 된 경우 Jamstack 및 Serverless 기술을 기반으로 한 더 분산 된 접근 방식을 재고하십시오. 비록 그것이 우리의 것이 아니더라도. 나중에 감사 할 것입니다!

왜 Git?

  • The Git SVN Orion에 대한 온라인 IDE를 사용하는 대신 git로 작업하려는 경우 브리지가 이미 존재합니다. ™. 당신은 옵션이 있습니다! 변경 사항을 GitHub로 푸시하고 GitHub 작업 또는 사전 커밋 후크(또는 둘 다)에 삽입하여 GitHub 작업에서 더 많은 마일리지를 얻을 수 있습니다. git svn 커밋- 라이브 게시를 위해 우리의 Subversion 저장소에 그들을. 여기 이 전체 웹 사이트의 소스에 대한 역사적으로 완전한 라이브 git 사본입니다.

  • 웹 사이트 소스 트리는 소프트웨어 소스 트리와 같지 않으며, 변경 및 관리 방식에 따라 다릅니다. 더 잘 맞춰져 있습니다 DevOps/트렁크 기반 개발 다음 포함 gitflow. 또한 거대한 사이트는 SSI를 필요로 할 것이고, 아마도 약간의 CGI가 필요할 것입니다. 적어도 대규모 커밋 메일러에서 대규모로 검토 할 수없는 사이트 이탈을 피하십시오. 차이 결과 빌드 트리 델타에 출력합니다.

  • 재치 : 일부 로컬에서 완전한 기능의 SSI 구현을 얻기 위해 노력 “웹 서버” 다른 빌드 시스템에서 변경 사항을 미리 보는 데 사용하는 것은 중지하고 생각하면 약간 어리석은 일입니다. Orion을 사용하면 svn 및 off에서 분기를 만들 수 있습니다. 편집, 커밋, 구축, 탐색 및 반복 즉시 Orion에 통합 된 분기별 임시 아파치 제공 웹 사이트에서 ™ IDE의 양방향 링크(및 책갈피 재지정) 기반구조입니다. 브라우저를 떠나지 않고.

  • 이러한 변경 사항을 트렁크 기반 프로덕션 사이트로 마이그레이션 할 때, 당신은 당신이 적합하다고 볼만큼, 또는 작은, 분기의 승진을 선택할 수 있습니다, 트렁크로 바로. 브랜치 변경이 궁극적으로 프라임 타임에 대한 준비가 된 이후 트렁크가 앞으로 이동한 경우 동기화 단추 - 브랜치와 트렁크를 동기화합니다. 지점의 웹 사이트에 대한 사후 동기화 병합 커밋의 빌드 결과를 다시 확인한 후 계속해서 승격 관련 리뷰: Follow that up with a… 커밋 합리적인 커밋 로그 메시지와 같은 페이지에, 그리고 voilà, 당신은 지금 트렁크의 생산 빌드에 방송하고 있습니다.

  • 버전 제어를 사용하여 결과 빌드 트리를 배포하고 처리해야 하는 경우 git를 대규모로 좋아하지 않습니다. 특히 이진 아티팩트(예: 소프트웨어 릴리스) 또는 (레거시) 제품 설명서(dxygen 또는 javadocs 고려)를 통합할 때 이 시스템을 사용하여 빌드되거나 로컬에서 사용하는 타사 빌더를 사용하여 해당 빌드 결과를 대상 저장소에 직접 업로드할 수 있습니다. 우리의 접근 방식을 통해 사이트의 소스 트리에서 불필요한 혼란과 부풀림을 피할 수 있습니다. git에서 작동하는 방식과 달리 소스 및 빌드 트리 모두에 공통된 저장소의 분기를 사용합니다.

  • Subversion은 미세한 액세스 제어를 지원하며, 다음의 부분/희소 체크아웃을 수행할 수 있습니다. 헤드; Git의 경우 all-or-nothing 브랜치 푸시 이외의 **ACL이 없으며, 이전의 전체 브랜치(내역 포함)를 복제해야 합니다. 이러한 svn 전용 피쳐 세트의 필요성을 인식하지 못하면 이전 항목의 (위 참조) 비고를 아직 파악하지 않은 것입니다.

  • IDE의 경우 다음에 대한 읽기+쓰기 펄 바인딩이 필요합니다. libgit2 (이것은 실제 git 개발 팀에서 제공하지 않습니다, 그리고 비교 가능한 SaaS 제품으로 git에 대한 온라인 IDE를 제공하지 않는 megalithic 기업에 의해 크게 뒷받침됩니다; 그리고 아니, GitHubsvn의 httpd 호환 메모리 관리 제도 및 POSIX(+ Perl ithreads) 스레드 안전, 영구 런타임 및 클라이언트 웹 사이트 트리의 여러 서버측 온디스크 git 저장소를 일치시키기 위한 것이 아닙니다. 그 오픈 소스 인프라의 성숙도는 2020 년 동안 우리의 추정에 은행이 될 수 없지만 우리는 발전에 대한 탭을 계속 유지할 것입니다. 당신을 바라보며, Git::원시!

나는 여전히 posix-thread-safe git 사기그릇을 만드는 법을 모른다. 별도의 저장소에 걸쳐 스레드 안전이 있지만 공통 프로세스의 RAM 내에서 특정 저장소 내의 스레드 안전이 아닌 사용 사례입니다(너티 요청).

왜 파이썬이나 루비나 자바스크립트가 아닌가?

  • GIL-추가됨 mod_python 여전히 성숙에 도달하기 전에 갈 수있는 방법이 있습니다. mod_perl 스레딩된 MPM 또한, 우리의 제품의 현재 구현은 아파치 HTTPd 서버의 전체 모듈 API와 긴밀하게 통합되어 있으며, mod_perl 제공합니다.

  • GIL-추가됨 mod_ruby 루비 커뮤니티는 다양한 품질 관리 이유로 크게 버려졌습니다. Orion의 사용자 정의 5K LOC Perl 5 소스 포팅 ™ 다른 프로그래밍 환경으로 인해 대략 10-100 겹 품번기호 구현의 라인 수, 그리고 결과적으로 다른 동적 프로그래밍 언어의 주요 성능 저하.

확실히 여기는 전체 Orion(IDE+build)에 대한 프로덕션 소스 트리의 SunStar 시스템 부분 중 2020년 7월 19일자 스냅샷입니다. 우리 외에 다른 것은 거의 없습니다. 도티악::DTL 포크 모든 빌드 관련 코드는 이미 GitHub에서 오픈 소싱되었습니다. 비공개로 유지되는 것은 타사 소스 트리에 대한 C 기반 사용자 정의이며, 이는 제품의 고유한 차별화 요소입니다.

joe@zeus:/x1/Orion% wc -l */lib/SunStarSys/**/*.pm
     1 build/lib/SunStarSys/ASF.pm
   128 build/lib/SunStarSys/SVNUtil.pm
   270 build/lib/SunStarSys/Util.pm
    36 build/lib/SunStarSys/Value.pm
    82 build/lib/SunStarSys/Value/Blogs.pm
    61 build/lib/SunStarSys/Value/Jira.pm
    77 build/lib/SunStarSys/Value/Mail.pm
    70 build/lib/SunStarSys/Value/SVN.pm
   106 build/lib/SunStarSys/Value/Snippet.pm
    85 build/lib/SunStarSys/Value/Twitter.pm
   378 build/lib/SunStarSys/View.pm
  1260 webgui/lib/SunStarSys/Orion.pm
   112 webgui/lib/SunStarSys/Orion/Cookie.pm
   183 webgui/lib/SunStarSys/Orion/Filter.pm
    90 webgui/lib/SunStarSys/Orion/MapToStorage.pm
    59 webgui/lib/SunStarSys/Orion/WC.pm
   194 webgui/lib/SunStarSys/Orion/WC/Add.pm
    97 webgui/lib/SunStarSys/Orion/WC/Browse.pm
   133 webgui/lib/SunStarSys/Orion/WC/Commit.pm
    79 webgui/lib/SunStarSys/Orion/WC/Copy.pm
    66 webgui/lib/SunStarSys/Orion/WC/Delete.pm
    47 webgui/lib/SunStarSys/Orion/WC/Diff.pm
   182 webgui/lib/SunStarSys/Orion/WC/Edit.pm
   116 webgui/lib/SunStarSys/Orion/WC/Mail.pm
    70 webgui/lib/SunStarSys/Orion/WC/Merge.pm
    67 webgui/lib/SunStarSys/Orion/WC/Move.pm
    52 webgui/lib/SunStarSys/Orion/WC/Production.pm
    47 webgui/lib/SunStarSys/Orion/WC/Promote.pm
    60 webgui/lib/SunStarSys/Orion/WC/Resolve.pm
    64 webgui/lib/SunStarSys/Orion/WC/Revert.pm
    82 webgui/lib/SunStarSys/Orion/WC/Rollback.pm
   123 webgui/lib/SunStarSys/Orion/WC/Search.pm
    78 webgui/lib/SunStarSys/Orion/WC/Staged.pm
    24 webgui/lib/SunStarSys/Orion/WC/Static.pm
    49 webgui/lib/SunStarSys/Orion/WC/Update.pm
   220 webgui/lib/SunStarSys/SVN/Client.pm
  4848 total
  • mod_js httpd v2에 대한 절단을 한 적이 없으며, 훨씬 적은 스레드 mpm입니다.

  • 임베드 시도 중 GoLang httpd로, 네이티브 버전 제어 바인딩과 함께, 재미있는 도전이 될 것입니다; 그냥 개인적으로. 동적 연결에 관해서 흥미로운 상충점을 가진 좋은 언어이지만, 향후 조사를위한 확실한 방법.

  • Perl 5 빌드 시스템에 관한 한 계속 조정하십시오! *빌드 시스템이 Orion에서 완전히 격리되어 있으므로 다른 프로그래밍 언어로 포팅할 수 없는 이유가 없습니다. ™의 온라인 IDE(Markdown 렌더러 데몬 외부 기준 node.js, 독립 실행형 시스템 자체) 백만 가지의 보안/건축 설계상의 이유로 가능성에 대한 티저가 필요한 경우 build_external.pl script over in the @SunStarSys Orion repo: ASF는 종속성 관리 시스템에 대한 긴급한 필요성이 없는 모든 종류의 작업에 사용합니다.

  • 예, Perl의 인기 궤적은 서버 시장에서 유닉스의 지배에도 불구하고 COBOL 또는 Common Lisp의 궤도를 철로 추적하지만 일부 것들은 다른 것들보다 나이가 듭니다. The Solid (그리고 독특한 Perl) ithread 엔지니어링 부족 p5pPerl 7의 출현을 준비하면서 mod_perl 개발자들은 여전히 Doug MacEachern의 원래 비전에 집착하고 있습니다. 현재 Perl 전용 빌드 시스템에서 필요한 것을 얻기 위해 100개 이상의 LOC Perl 소스에서 무릎을 꿇고 있는 경우 채팅해 보겠습니다. — 어쩌면 우리는 당신이 당신의 사이트를 구축하는 데 사용할 수있는 덜 복잡한 무언가에 협력 할 수 있습니다. 더 적은 것은 펄.

JVM을 기반으로 하는 것이 없는 이유는 무엇입니까?

  • LAMP Stack과 함께 20년의 역사와 확장된 아파치 HTTPd 웹서버 커뮤니티에 대한 건설적인 기여를 감안할 때, 바로 그런 식으로 일했습니다. 할 수 있지만, 길을 따라 해결하기 위해 많은 어려운 엔지니어링 문제를 가진 대규모 사업.

인덱스

  • SunStar 시스템스 오리온Enterprise Jamstack 위키 플랫폼  만들기, 관리 및 제공 정적 웹페이지는 Jamstack 기술을 사용하여 동적 기능을 제공합니다….

  • Orion 보안 — “어리석음을 통한 보안은 전혀 안전하지 않습니다.”…

  • 오리온 계획 — 연간 선불 가격 할인 제공(월별 청구 비용 최대 20% 할인)…

  • Orion 특징 — 브라우저와 (node.js 기반) markdown.js 빌드 스크립트에서 동일한 JavaScript 코드 렌더링 엔진…

  • Orion 개인 정보 보호 정책 — 해당’GDPR 준수 옵트인 시스템입니다. The Orion에 대한 리뷰 보기 ™ CMS / IDE, 당신은 당신에게 권한을 요청 구글 페이지로 이동합니다…

  • 오리온 참조 — 핫 핑크 연필 아이콘 이동 경로와 함께 오른쪽 상단에 라이브 데모를 제공합니다…

  • 오리온 API — 이 페이지에서는 검색, 온라인 편집기, Django 템플리트 라이브러리 및 빌드 시스템 API를 인덱스화합니다….