按此:WordPress 萬聖節恐怖故事

已發表: 2022-10-28

歡迎來到來自 WMR 的 WordPress 社區播客 Press This。 每集都有來自社區的嘉賓,並討論 WordPress 開發人員面臨的最大問題。 以下是原錄音的抄錄。

由 RedCircle 提供支持

Doc Pop :您正在收聽 Press This,這是 WMR 上的 WordPress 社區播客。 每週,我們都會聚焦 WordPress 社區的成員。 我是您的主持人,Doc Pop,我通過我在 WP Engine 的角色以及我在 TorqueMag.io 上的貢獻來支持 WordPress 社區。 您可以在 Red Circle、iTunes、Spotify 上訂閱 Press This,也可以直接在 wmr.fm 下載劇集。

南瓜香料拿鐵又回來了,12 英尺高的骷髏又在 Home Depot 有庫存,這意味著萬聖節又來了。 現在,萬聖節的起源可以追溯到古代凱爾特人的節日,人們會點燃篝火併穿上服裝來驅鬼。

本著這種精神,我們認為我們會在今天的 Press This 節目中講述來自地獄或安裝出錯的客戶的怪異故事。 因此,當我們聽到我們的第一位客人 WP Engine 的工程經理 Chris Wiegman 講述一個可怕的故事時,請和我一起坐在火爐旁。 克里斯,你能在這裡給我們定下心情嗎? 在你開始講述你的故事之前,請告訴我們它發生的時間以及你在生活中的位置。 有點設定故事的氣氛。

Chris Wiegman:這是一個古老的故事。 它可以追溯到一個很遠的州,並且與我現在所做的工作相去甚遠。 這是我在 WordPress 行業的早期工作之一。 這將是 2014 年的冬天到春天。差不多九年前,這發生了。

DP: 2014 年。你之前告訴我你有一個成功的插件。 你能告訴我們你要講故事的那個插件嗎?

CW:當然,這個故事也是關於早期插件的成功之一。 它是一個現在稱為 iThemes Security 的插件,我將它作為 Better WP Security 賣給了 iThemes。 當我賣掉它時,我們知道我們有超過 200,000 名活躍用戶,記住這是九年前的事了。

那是在他們甚至還沒有可用的下載數量和所有恐怖故事之前——現在已經被刪除了。 這是在這之前甚至是一回事。 所以我們知道我們有很多用戶,我們知道我們有一個非常成功的插件,我們正在發布它的第一個版本,作為從 Better WP Security 到 iThemes Security 的更名。

DP:你實際上讓我想到了這裡,你說的是在跟踪活躍安裝的日子之前。 您是否大致知道您有多少下載量,或者您當時如何知道您有多少活躍用戶?

CW:最好的辦法是積極下載和大量有根據的猜測。 當時,我把它放在谷歌分析中,這樣就清理了很多東西,但是在谷歌分析之前,我們唯一知道的方法就是下載了多少,然後我們可以根據我們有多少活躍用戶來猜測以為有。

DP:好的,所以你有一個非常流行的安全插件,一個 WP 安全插件。 你有很多活躍的安裝,可能還有很多活躍的用戶。 你說這是早期的 WordPress 插件成功案例之一。 你剛剛賣掉了它,所以對你來說一切都很順利。 到目前為止,這是你的恐怖故事中的成功故事,對吧?

CW:到目前為止。 是的,事情進展順利。 我們現在有一個支持人員來全職幫助我。 我有時間,現在是一家公司的一員,我可以投入全部時間來開發它,這樣我們就可以真正做一些事情,比如一個 beta 程序並讓人們對其進行測試,並確保一切正常,並真正花時間來確保當我們準備第一個版本時,一切都應該是正確的,應該一直在工作。

DP :所以事情進展順利。 你為什麼不在這裡進入故事的核心。 告訴我們發生了什麼?

CW:當然。 好吧,發生的事情是該插件有兩個功能。 第一個是 10 年前在 WordPress 中被廣泛認為是安全的一部分,也就是說,我的意思是它根本不是安全的,實際上,尤其是我們現在知道,那就是隱藏管理區域或隱藏 WP 登錄。

通常,您轉到 URL 並彈出登錄表單。 我們曾經喜歡說——我現在承認,即使在那時,它可能更多的是營銷而不是安全——如果你把這些藏起來,網站會更安全。 這有點像把你家的前門放在你家的旁邊,聲稱你的房子更安全。 它沒有那樣工作。 但要實現這一點,讓人們對此感覺更好,這是一個非常複雜的功能。

我們在這個版本中打破的第二個功能是所謂的“離開模式”,基本上,如果你在一個朝九晚五的辦公室,並且你根本不希望人們在工作之外進入它小時,例如對於學校或醫生辦公室或類似的東西,此功能將設置該表格完全可用的時間。 因此,您無法登錄該網站。 除了站點管理員指定的時間之外,您無法進入後端。

為此,這兩個功能都被大量重寫。 我認為這個數字是我們在 3 月初發布的 4.0 版本。 因此,從我開始並出售它到最終能夠全職工作,這是四個月的時間。 你知道,這一直是我的副業。 我在其他公司和學校有一份全職工作。 這是我第一次能夠全職開發插件。

所以我們開始了一個測試計劃,我們重寫了這些功能並發布了它們,我想說的是在 3 月 1 日左右給予或接受。 所以在那次發布後的兩三天裡,一切看起來都還不錯。 反饋似乎是積極的,我們從未聽說過 beta 測試人員有任何問題。 我們有 100 個人對這個東西進行 beta 測試,一切看起來都很好。 然後問題開始出現。人們無法訪問他們的站點。 我現在不記得它是否只是儀表板,我認為在某些情況下整個網站都崩潰了,我們無法弄清楚原因。

好吧,你一定是做錯了什麼。 事情已經發生了足夠的變化,也許你的配置是錯誤的。 我們就這樣走了一天左右。 然後它爆炸了。 我們沒有關閉一兩個有錯誤的站點,我們確實找到了錯誤,並且在最初發布後的大約一周內修復了錯誤。 根據使用次數和我們知道有多少人在使用這個功能以及這個和那個,我們通過這個錯誤估計減少了 10 到 20,000 個站點。

離開模式和隱藏後端的組合只是讓事情陷入循環。 你無法登錄,你無法訪問任何東西,網站實際上已經死了。 而且您不能只登錄並禁用該插件。 你必須進入託管。 現在,如果您曾經與主機和 WordPress 用戶打過交道,有時這真的很容易。 告訴別人嘿,登錄並禁用插件很容易,這將解決您的問題。 但是,如果您無法登錄怎麼辦? 你如何去那個插件來禁用它? 所以我們在幾天之內就收到了幾百條一星評論。 它剛剛爆炸,對任何人來說都不是一個好情況。

DP:哇。 所以你認為大約有 10 到 20,000 個網站在使用這個插件,並且在四個月的時間裡得到了這個漂亮的更新,並且有一個 beta 程序,並且經過了很好的測試,你有一個支持它的團隊。 但它並沒有立即讓這些網站崩潰,而是一系列滾動的崩潰。 起初看起來像是用戶錯誤,很快就變成了,“不,這是我們做的事情。” 那麼,在您知道數百條負面評論和數千個網站關閉之後,您是如何反應的,您的下一步是什麼?

CW:嗯,你能做的只有這麼多。 我們的目標是 A) 解決問題。 有些人回來了,很多人隨著時間的推移回來了,有些人再也不會接觸產品了,這是可以理解的。 我們打破了對它的信任。

然後第二件事是確保我們甚至在此基礎上有所改進。 未來版本的一些功能測試和類似的東西。 在我完全離開該插件工作之前,我只使用 iThemes 的 14 個月的插件。 我們制定了相當多的計劃,相當多的測試,相當多的程序來確保類似的事情不會再次發生。 據我所知,這種類型的插件或特定的插件從來沒有。

DP:那對你來說一定是有壓力的。 你覺得你從這次經歷中學到了什麼嗎? 從那以後你有沒有因為這次經歷而改變?

CW:從那以後我沒有做過這樣的商業插件。 我學到的一個教訓是,即使是 beta 程序,你也必須在 beta 程序中獲取正確的數據。 我們能發現這個嗎? 很明顯,通過正確的設置組合,是的,我們可能已經在測試版中發現了它。 但相反,我們剛剛打開了一個測試版並說,“來試試吧。 如果你看到任何東西,請告訴我們”,沒有任何指示。 而不是“專門嘗試這個”或“專門嘗試那個”。 你把它和其他所有事情結合起來。 如果有一個弱點,那就是缺乏方向,缺乏檢查測試版中的每個功能,只是從大局而不是具體細節來看待一切。

DP:所以,如果 Chris 剛剛告訴你的故事是 20,000 個網站在聽起來像是成功推出了一個新插件之後出現了問題,那麼請在這次休息後繼續關注另一個恐怖故事。 我們馬上回來。

DP:歡迎回到萬聖節版的 Press This,一個 WordPress 社區播客。 在這一集中,我們講述了插件出錯的可怕故事和其他 WordPress 恐怖故事。 我是您的主持人 Doc Pop,現在我正在與同時製作 WordPress 插件的網頁設計師和開發人員 Derek Ashauer 交談。 德里克,我聽說你給我們講了一個鬼故事。 你能設置場景嗎?

Derek Ashauer:是的,所以這是我職業生涯的早期,很久以前。 我仍然在一家正常的公司全職工作,製作和建立網站,但我正在做一些兼職工作。 我幫助一個小型音樂會場地建立了一個定制的票務系統,因為他們真的很討厭 Ticketmaster。 他們是一種獨立的場所,所以他們想做任何事情來避開那些大公司。 但我建立了這個相當不錯的票務系統,至少我是這麼想的。 在 Blink-182 真正流行的那一天,他們將舉辦一場盛大的音樂會。 他們將把它們放在他們的場地,他們將以每張 1 美元的價格出售門票。 所以當他們發布門票時,這件事會在一夜之間得到絕對的抨擊。

所以我們設置了它,進行了各種測試,並認為它工作得很好。 然後到了我們應該發布它的早晨。 我想這就像一個星期一的早上 10:00。 我們有一些規則,一些基本的東西,比如你不能買超過八張票來嘗試讓盡可能多的人有機會獲得票之類的東西。 再說一次,在我職業生涯的早期,所以我在檢查事情方面做得併不好。 但場地本身可容納約 1,000 人。 所以我們有一個限制,一旦達到 1,000 張門票就基本停止銷售。

我們在 10 點發布,我在正常的日常工作中做我的事。 我有點檢查它,以確保該網站至少正在加載和類似的東西,但並不太擔心。 幾分鐘過去了,一切似乎都在進行中。 然後,突然間我開始收到短信。 然後我接到一個電話。 然後我收到另一條短信,我正在做我的正常工作,所以我真的不能輕易接受這些。

事實證明,我忘記進行小查詢檢查以檢查已售出的最大門票。 突然間,它將達到 1,000、1,050、1,100、1,200。 我認為在我最終能夠登錄服務器並基本上拔掉插頭之前,它售出了大約 1,600 張票。 很明顯,場館的老闆們都慌了,嚇壞了,他們有一個千座的場館,已經賣出了大約1600張門票,所以他們顯然很恐慌。 我在工作日的中間驚慌失措。 我將如何解決這個問題? 我要怎麼做? 我得做我正常的工作,處理這個自由職業者的事情。 那一刻簡直是一場災難。

值得慶幸的是,事情最終做得非常好。 有趣的是,我沒有檢查的另一件不幸的事情是,人們繞過最大門票的一種方法是他們會多次購買但使用相同的電子郵件地址。 同樣,這是我職業生涯的早期階段。 我不太擅長弄清楚如何處理人們會嘗試解決的可能情況。 所以他們檢查了所有的訂單,發現一個使用相同電子郵件地址的人訂購了 24 張門票,所以他們聯繫了他們,退款,並儘可能多地這樣做。 他們把它減少到大約 11-1,200 張門票。 這是很久以前的事了,我不記得確切的數字了。 但他們把它歸結為關於那麼多。

然後事件發生的那一天發生了,他們仍然有點擔心能否適合每個人。 我認為最終只有600人出現。 原因是它只有1美元,所以很多人買了票以防萬一,然後很多人不能出現。 所以他們從來沒有遇到過容量問題。 這一切都結束得很好。

但是當所有這些門票都在處理並獲得報酬並做所有這些事情時,這是一個壓力很大的時期。 謝天謝地,最終客戶非常高興並且可以理解,他們並沒有生我的氣。 一旦我修補了那個小東西,他們最終就使用了那個精確的票務系統。 他們最終使用了我製作了大約 10 到 12 年的票務系統。 所以,是的,他們很高興,我們把這一切都解決了。 即使對我來說,客戶也做了所有的跑腿工作,接觸到所有這些購買並做所有這些事情。 所以我只需要關閉服務器然後修復這個小補丁就不必處理太多後果了,謝天謝地。 但是,當我們試圖弄清楚發生了什麼以及那裡發生了什麼時,這是一個非常緊張的幾個小時。

DP:那是過山車,德里克。 你正在設置這個場景,而我對它發生的時間有一點暗示。 你知道,Blink-182 有點受歡迎。 我假設您需要一個自定義插件,因為沒有像現在這樣好的選項。

DA:那是 2005 年。很久很久以前。 在附近的某個地方,是的。

DP:你正在構建一個自定義插件。 好吧,所以 Blink-182 的人氣最高,門票是 1 美元。 這太瘋狂了。 所以很明顯會有很多需求。 整個過山車就像,“哦,不,我們賣的太多了。” 我以為你會告訴我你又賣了幾萬。 我很幸運你只超賣了 600 張門票,因為這可能會更糟。 然後是黃牛,男孩它成功了。 尤其是因為客戶本可以把所有這些都交給你,以便伸出援手,提供技術支持,並取消這些票。 伙計,這是過山車。

DA:是的。 這是我第一個真正的大型開發項目,我開發過的最大的事情就是這個。 所以我只是不知道事情會如何出錯,事情會出錯到什麼程度,甚至要檢查什麼,這是一次非常好的學習經歷,這是肯定的。 我與客戶的關係很好,所以他們很高興,因為老實說,這是我做事的早期階段,我幾乎沒有收取任何費用。 所以這並不是說我向他們收取了 50,000 美元的費用,然後突然之間它就不起作用了。 我得到了誠實的報酬,以每張票為基礎。 當時我每張票 10 美分,他們通過他們的東西賣掉了,而我才 20 多歲,每月多賺幾千美元。 那是驚人的。 這太棒了。 所以這是一個很好的情況。 但是,是的,就像我說的,他們一直使用它十多年,完全相同的系統。

DP:所以你為一個相當大的活動建立了這個票務系統。 正如我們所說,那個事件有點失控。 但聽起來這兩個問題有某種方法可以阻止黃牛至少使用同一封電子郵件。

DA:是的,沒錯。 我什至沒有這樣做,因為系統中沒有用戶帳戶。 這很簡單。 這只是一次客人結帳。 所以它甚至沒有檢查電子郵件地址或任何東西。 它確實會在每次售出門票時進行跟踪。 它記錄了一個總數。 只是當人們訪問該頁面時,它忘記了檢查已售出多少張門票以及我們是否通過了該數字,並阻止它出售更多門票。

DP:所以這兩件事都得到了解決,而且這工作了 10 年,幾乎是一種運行本身?

DA:是的,在那之後我再也沒有真正碰過它。 它只是一直在巡航,直到他們最終變得足夠大,以至於他們不得不進行一些業務合併,就像其他音樂公司之一一樣,我忘記了它是什麼。 他們基本上被收購了,所以他們就像,不,我們必須使用 Ticketmaster 或其他類似的東西,所以他們最終出於商業原因被迫放棄它。

DP:他們可能被 Clear Channel 收購了。

DA:是的,就是這樣,Clear Channel。 是的,就是這樣的。

DP:所以只是回顧一下。 根據您的經驗,您會給處理類似項目的人提供什麼建議。 你要警告他們的一件事是什麼?

DA:我的意思是,這顯然是在測試。 這很重要,只是在盡可能多的情況下盡可能多地測試你的東西。 我的意思是,我現在仍然在做自己的插件,實際上我剛剛收到了一個請求,就在今天早上,實際上,我回复說:“我什至從未考慮過有人這樣做。 曾經。”

我有一個五彩紙屑插件,他說:“我在頁面上放了兩次五彩紙屑。 一旦頁面加載完畢並隨著用戶向下滾動,它就會再次出現。” 而且我從來沒有考慮過有人在一頁紙上做兩次五彩紙屑。 所以你知道,你可以隨心所欲地測試,但有時你會遇到那些你沒有想到的場景,但你仍然必須盡可能多地進行測試。

DP: Derek Ashauer,我真的很感謝你的時間。 您正在收聽 Press This。 我們要休息一下,等我們回來的時候,我們會有一個最後的萬聖節故事讓你不寒而栗。 所以請繼續關注。

DP :歡迎回到 Press This WMR 上的 WordPress 社區播客。 這是一個特殊的萬聖節故事。 早些時候我們收到了 Chris Weigman 的消息,我想我會讓 Chris 回來聽我唯一的 WordPress 恐怖故事。

克里斯,你熟悉 Midjourney 和文本到文本圖像生成器嗎?

CW:像 Dall-e 之類的? 開放人工智能之類的東西?

DP:是的,Dall-e。 我正在使用它們並嘗試不同的東西,作為一個經常溜溜球的人,我嘗試的第一件事就是溜溜球表情符號。 溜溜球表情符號在那裡真的沒有得到任何好的結果。 例如,它沒有得到任何看起來像 yo-yo 的東西,而且 yo-yo 這個詞也沒有讓我在文本到圖像生成器中得到任何東西。 但這真的讓我很感興趣,因為我一直得到非常一致的結果。 每當我使用悠悠球表情符號時,我都會得到這個看起來很酷的粉色和藍色場景,背景是三座山峰,前景是一個人影。 這應該是一種隨機的,我不斷得到非常不同的圖像,有粉紅色和藍色柔和的顏色、人物和前景之類的東西。 所以我真的開始深入研究為什麼這個表情符號給了我這個,我花了幾個小時研究不同的表情符號組合。 這個表情符號有什麼作用? 當我做兩個溜溜球表情符號時會發生什麼?

我寫了這篇龐大的博客文章。 這會像在 Dall-e 和 Midjourney 中發生的奇怪事情一樣打開案件,為什麼這個表情符號會給我這個圖像? 為什麼其他表情符號實際上會給我,你知道,椒鹽捲餅會給我看起來像烘焙食品的東西,或者咖啡會給我看起來像咖啡店的東西。 但是悠悠球表情符號不斷給我這個奇怪的場景。

因此,在我寫完這篇龐大的博文之後,我的意思是,我花了數小時的時間進行研究、記錄和做筆記。 然後是寫作,我討厭寫作,就像拔牙一樣,我點擊發布就睡覺了。 現在是星期天晚上,我整個星期天都在研究這篇文章。

星期一早上人們就像,“當我去你的網站時,我看到的都是正方形,博士。 我看到你說方形表情符號給了我這個結果,但方形表情符號給了我這個結果。” 我去檢查了。 你知道儀表板在後端看起來很棒,就像我這邊和古騰堡編輯器一樣。 它看起來很漂亮。 在前端,它都是正方形。 所有這些工作都是絕對拍攝的。 你知道為什麼嗎,克里斯?

CW:為什麼會這樣? 機器裡有鬼? 小精靈?

DP:我的 WordPress 網站太舊了,數據庫不支持表情符號。 完全一樣。 這就像15歲。 如果我在過去八年里安裝了一些東西,它仍然很舊,但它會在某種程度上支持表情符號。

我的 WordPress 網站上的數據庫沒有——如果您真的不知道自己在做什麼,那麼您不想做的一件事就是在您的 WordPress 數據庫中四處尋找。 這就是我需要的,更新我的 WordPress 數據庫,所以克里斯,這就是我的恐怖故事。 我去尋找一個插件來輕鬆轉換為支持表情符號的東西。 任何可以做到這一點的數據庫。 現在我將不得不僱人來更新數據庫,這樣我才能得到這篇我花了 10 個小時才真正以合乎邏輯的方式出現在我的網站上的帖子。

CW:那就行了。 舊技術就像殭屍一樣等著給你帶來麻煩,對吧?

DP:是的,你知道,而且它也教會了我很多東西。 就像,我可以在我的主機上進入我的門戶網站,然後單擊一下,我就可以更新我的 PHP。 我可以做所有其他的事情。 但是,是的,那個數據庫,不,你必須知道你需要什麼。 沒有簡單的解決方法。 而且我認為可能有,因為那些正在推出,但我有點錯過了浪潮,就像那些修復數據庫的東西,你知道,在這一點上更新它們,它們甚至已經過時了技術,這就是我的 WordPress 恐怖故事。 克里斯,它並沒有讓 20,000 個網站倒閉,但老實說,這真是太糟糕了,看到那篇博文並想到它可能是什麼,我仍然不寒而栗。

但這就是我們的萬聖節劇集 Press This,WMR 上的 WordPress 社區播客。 我要感謝我的所有客人今天加入我的行列。 克里斯,非常感謝你加入我。 您可以在 Twitter @thetorquemag 上關注我在 Torque 雜誌上的冒險經歷,或者您可以訪問 Torquemag.io,我們每天都會提供類似的教程、視頻和採訪。 因此,請查看 torquemag.io 或在 Twitter 上關注我們。 您可以在 Red Circle、iTunes、Spotify 上訂閱 Press This,也可以直接在 wmr.fm 下載。

我們是每周播客,下週我們將有 Fran Agulto,告訴我們如何克服您對 WordPress 無頭的恐懼。 我們將討論 headless 的優缺點,如果你擔心跳到 headless,你擔心學習 JavaScript,或者任何你需要做的事情來實現這個跳躍,Fran 會有給你一些很好的建議,所以請繼續關注那一集。 我是你的主人,流行醫生。 我通過我在 WP Engine 和 Torque 雜誌的角色支持 WordPress 社區,我喜歡每週在 Press This 上關注該社區的成員。