国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

談?wù)勗普蠴urATS為什么不從PHP轉(zhuǎn)go/java/.net,而是搞了個PHP編譯器BPC

heguangyu5

每次發(fā) PHP編譯器BPC新版本 的文章/帖子,都有會網(wǎng)友評論說為什么不用go/java/.net或者其它別的語言.

今天就來說說為什么?

1. 緣起

最初決定要開發(fā)BPC是為了想要本地部署云招OurATS的一個核心組件 簡歷解析器bob-parser.

bob-parser是用PHP開發(fā)的,而PHP的源碼加密方案沒有找到一個100%可靠的,并且還想解決軟件授權(quán)問題.

有網(wǎng)友一提到源碼保護什么的,老是會說你的代碼是有多好,多有價值,給我我也不看,屎山一堆.

這個問題我們后邊再討論.

但云招的做事風(fēng)格大致就是這樣,想要解決一個問題時,就會盡可能地想把這個問題解決好.

開發(fā)了BPC一段時間后,發(fā)現(xiàn)實際上不只能解決 php cli 程序的編譯,php web項目通過編譯成動態(tài)鏈接庫當(dāng)作module嵌入apache就好了,再進一步,引入了 althttpd, apache也不需要了.

2. 背景

云招OurATS 是一個招聘管理系統(tǒng), ATS 是 Applicant Tracking System 的縮寫.

非這個領(lǐng)域的人一開始往往會把ATS和招聘渠道(Jobboard)弄混.

招聘渠道是指 Boss直聘/智聯(lián)招聘/51job 等面向求職者的網(wǎng)站.

企業(yè)從招聘渠道獲取到簡歷后,或者說候選人把簡歷投遞給企業(yè)后,下一步進行 簡歷篩選/征求用人部門意見/安排面試/Offer審批/Offer發(fā)放... 等工作時需要的 申請追蹤系統(tǒng) 就是ATS.

當(dāng)然現(xiàn)在的招聘渠道企業(yè)后臺可能也有一部分ATS的功能.

云招OurATS沒怎么搞市場推廣,所以雖然我們從2010年就開始做了,很多網(wǎng)友可能沒聽說過.

3. 友商

這里列幾個大家可能聽過/用過的招聘管理系統(tǒng).

  1. 飛書招聘
  2. 北森招聘管理系統(tǒng)
  3. Moka

4. 為什么不換開發(fā)語言

有些網(wǎng)友認為開發(fā)一套招聘管理系統(tǒng)沒什么難的,找?guī)讉€人搞個半年還能搞不出來?

我們來看看實際案例.

北森在2019重構(gòu)了它的招聘管理系統(tǒng),在其官網(wǎng)發(fā)布的文章中這樣說:

2019年,北森基于Nature Design3.0“高效、愉悅、溫暖”的設(shè)計理念,歷時3年,斥資2億人民幣,重塑新一代體驗優(yōu)先的招聘管理系統(tǒng)。

文章鏈接: https://www.beisen.com/res/848.html

顯然,北森的這次重構(gòu)應(yīng)該沒有更換技術(shù)棧,從其 招聘的崗位 來看,開發(fā)語言應(yīng)該是 java/.net.

在不更換開發(fā)語言的情況下,重做一個招聘管理系統(tǒng)的成本是 3年 + 2億人民幣.

如果換語言的,成本恐怕不只這么多了.

那么這個歷時3年,斥資2億人民幣,重塑新一代的招聘系統(tǒng)有驚艷了市場嗎?看看北森在港股的表現(xiàn)就知道了.

在脈脈上經(jīng)??吹組oka比北森好的評價,可是在脈脈上Moka比北森裁員裁和還狠.

如果還有網(wǎng)友不信邪,可以下水試一試,反正國內(nèi)做ATS的也沒幾家,機會還有.

云招OurATS從2010年開始,到今年已經(jīng)持續(xù)開發(fā)了15年,代碼庫現(xiàn)存代碼上千萬行,換語言重構(gòu)的成本不好估量.

而PHP編譯器BPC從開始開發(fā)到成功編譯云招OurATS,用了3年,資金投入約500萬人民幣.

說到底,PHP真是世界上最好的語言呀!

5. 再說說BPC編譯帶來的好處

首先,完美解決了源碼保護,軟件授權(quán)這兩大基本需求.

如果換java/.net的話,這兩個語言的反編譯比PHP成熟多了.

GraalVM 和 .NET 8 的 Native AOT 是否好用還不好說.

如果換go的話,源碼保護是沒問題,但需要解決軟件授權(quán)的問題,當(dāng)然java/.net也需要解決這個問題.

BPC編譯還帶來了額外好處:

  1. 軟件交付變得簡單了.

    整個云招OurATS招聘系統(tǒng)被編譯成了一個二進制可執(zhí)行文件,日常升級維護就是替換這一個文件(當(dāng)然整個系統(tǒng)的運行還需要其它幾個輔助程序).

  2. 運行環(huán)境更安全了.

    生產(chǎn)環(huán)境不需要PHP解釋器,因為PHP源碼已經(jīng)被BPC最終轉(zhuǎn)譯成C,然后編譯成可執(zhí)行文件了.

    也就是說,服務(wù)器上不能執(zhí)行PHP代碼,很多針對PHP的攻擊手段失效了.

  3. 合作方式更靈活

    PHP項目源碼保護的一個做法是使用編譯型語言編寫部分核心邏輯,然后其它代碼開源.

    有了BPC之后,完全可以把核心PHP代碼編譯成動態(tài)鏈接庫,其它部分開源.

6. 最后說說BPC的美中不足

BPC的目標(biāo)是源碼保護和軟件授權(quán),現(xiàn)階段沒有在生成代碼和運行性能上做特別的優(yōu)化.

因此雖然是編譯成C,但性能在大多數(shù)場景下還不如解釋執(zhí)行的PHP快.

所以如果是性能敏感的項目慎用.

1513 7 0
7個評論

tanhongbin

后面解決 性能問題 基本就完美了 ,感覺有搞頭呀 php加密 然后配合webman性能再上去 這不無敵了嘛 還是靜態(tài)的

  • heguangyu5 2024-07-17

    關(guān)于性能是有一些改進可做,還需要時間.

kakka

目前性能是什么階段

liwenshu

常用的擴展都有嗎

  • heguangyu5 2024-10-08

    ctype
    curl
    date
    event
    fileinfo
    filter
    gd
    gmp
    hash
    iconv
    imagick
    json
    mbstring
    mysqli
    openssl
    pcntl
    pcre
    pdo
    pdo_mysql
    pdo_sqlite
    posix
    scws
    session
    standard
    sysvsem
    tinycdb
    xml
    zip
    zlib

wxy545812093

Oops, something wrong! :):):)

  • 暫無評論
euii

目前支持webman嗎?

euii

截圖

  • heguangyu5 2024-11-11

    勾選了Libs workerman, 需要加上需要的擴展.

  • heguangyu5 2024-11-11

    單純的 echo 'hello' 加上 workerman 沒什么效果的, 可以直接選中 workerman 或者 gatewayworker 的例子來編譯.

xiaobai

點贊支持

  • 暫無評論

heguangyu5

2250
積分
0
獲贊數(shù)
0
粉絲數(shù)
2022-11-24 加入
??