實習生解雇_我們解雇了我們的頂尖人才。 我們做出的最佳決定。

實習生解雇

by Jonathan Solórzano-Hamilton

喬納森·索洛薩諾·漢密爾頓(JonathanSolórzano-Hamilton)

我們解雇了我們的頂尖人才。 我們做出的最佳決定。 (We fired our top talent. Best decision we ever made.)

“You will never be able to understand any of what I’ve created. I am Albert F***ing Einstein and you are all monkeys scrabbling in the dirt.”

“您將永遠無法理解任何 我創造的東西 我是 愛因斯坦(Albert F *** ing Einstein)和你們都是猴子在泥濘中掙扎。

And so our resident genius, our Dr. Jekyll, explosively completed his transformation into Mr. Hyde.

因此,我們的常駐天才杰基爾博士爆炸式地完成了他向海德先生的轉變。

He declared this in front of the product design team, developers, management, and pre-launch customers. One of our project sponsors had the temerity to ask when the problem crippling our product would be fixed.

他在產品設計團隊,開發人員,管理人員和預發布客戶面前宣布了這一點。 我們的一位項目發起人曾急切地問,何時會解決困擾我們產品的問題。

Genius is a fickle beast. Sometimes you have the good fortune to work with a mad genius. Other times you are doomed to work with pure madness. There are also times when it is hard to tell the difference.

天才是善變的野獸。 有時,您有幸與一個瘋狂的天才一起工作。 其他時候,你注定要瘋狂地工作。 在某些情況下,很難分辨出差異。

This story is about the fall from grace of an extremely gifted team member with a deep understanding of our product’s architecture. He had an uncanny ability to forecast future requirements, and a ton of domain-specific knowledge.

這個故事是關于一個對我們的產品架構有深刻理解的極其有才華的團隊成員的恩寵。 他具有預測未來需求的超乎尋常的能力,以及大量的特定領域知識。

He was our top contributor. He was killing our flagship project.

他是我們的杰出貢獻者。 他正在殺死我們的旗艦項目。

We’ll call this person “Rick.”

我們稱這個人為“里克”。

Rick was universally recognized on the team as the top talent. He was the lead developer and architect of our software projects.

里克被公認為車隊中的頂尖人才。 他是我們軟件項目的首席開發人員和架構師。

Any time anyone had a question about code or needed help with a task, they would go to Rick. Rick had a giant whiteboard installed in his office used only for this purpose. It was always cluttered with the ghosts of past discussions that wouldn’t quite erase.

每當有人對代碼有疑問或在任務上需要幫助時,他們都會去Rick。 里克在他的辦公室里安裝了一塊巨大的白板,僅用于此目的。 它總是被過去討論的鬼魂弄得混亂不堪。

Any time there was a particularly challenging problem, Rick would handle it. Rick had a server with the same specs as our production server installed at his desk. He used this to run the entire application stack independently and troubleshoot every layer at once.

任何時候只要遇到特別具有挑戰性的問題,Rick都會解決。 Rick的服務器與安裝在辦公桌上的生產服務器具有相同的規格。 他使用它來獨立運行整個應用程序堆棧,并立即對每個層進行故障排除。

Rick didn’t need anybody else. Rick preferred to work alone in his private work-space.

里克不需要其他人了。 里克更喜歡在自己的私人工作空間中獨自工作。

Rick didn’t need anything anybody else built. He built everything he needed from scratch because it was infinitely better than the paltry offerings of mere mortals.

瑞克不需要任何其他人建造的東西。 他從頭開始構建了他需要的所有東西,因為它比純粹的凡人提供的東西要好得多。

Soon, Rick stopped attending meetings. Rick didn’t have time for meetings any more because there was too much to code.

不久,里克停止參加會議。 瑞克再也沒有時間開會,因為要編寫的代碼太多了。

Rick closed his door. His whiteboard lay fallow. Rick no longer had time to train anyone because he had too much to solve on his own.

里克關上了門。 他的白板休憩。 里克不再有時間訓練任何人,因為他自己想解決的事情太多了。

A backlog grew behind Rick. Bugs were popping up in old tools he’d built. They sapped his attention from meeting commitments on new product development.

里克(Rick)的背后積壓。 他構建的舊工具中出現了錯誤。 他們使他的注意力沒有兌現對新產品開發的承諾。

Of course, these bugs were happening because the users had misstated their assumptions. Of course there wasn’t any problem in his work. Of course.

當然,這些錯誤的發生是因為用戶錯誤地假設了他們。 當然,他的工作沒有任何問題。 當然。

On our project dashboard, green flags changed to yellow. Yellow changed to red. Red lights started blinking. One by one, task statuses changed to “Impeded.” Everyone was waiting for Rick.

在我們的項目儀表板上,綠色標志變為黃色。 黃色變為紅色。 紅燈開始閃爍。 任務狀態一一更改為“已提示”。 每個人都在等待里克。

The project manager got a six-month extension from the sponsor. At the end of the six months, production-readiness was estimated to be seven months away. At the end of a year, production-readiness was two years out.

項目經理從贊助商那里得到了六個月的延期。 在六個月結束時,估計已經可以生產七個月了。 到年底,生產就緒時間已經過去了兩年。

Rick was churning out code faster than ever. He was working seven-day weeks, twelve hours a day.

瑞克比以往更快地編寫代碼。 他每周工作7天,每天工作12個小時。

Everyone knew only Rick could pull the team out of this mess. Everyone held their breath and waited for Rick to invent the miracle cure that would mend this crippled project.

每個人都知道,只有瑞克可以使團隊擺脫困境。 每個人屏住呼吸,等待里克發明創造奇跡的療法,以彌補這個殘缺的項目。

Every day, Rick grew more belligerent and isolated. The mask was coming off. Jekyll was becoming Hyde.

每天,里克變得更加好戰和孤立。 面具掉了。 Jekyll即將成為海德。

I participated in my first meeting with the project team about two years after the original agreed release date. I’d been aware of the project for a while, because it had grown infamous in my organization, but hadn’t been assigned to it.

在最初約定的發布日期之后約兩年,我參加了與項目團隊的第一次會議。 我已經知道這個項目一段時間了,因為它在我的組織中聲名狼藉,但尚未分配給它。

I was sent in to see if we could save it.

我被送去看看我們是否可以保存它。

My first meeting on the project was the aforementioned “Albert Einstein” meeting.

我關于該項目的第一次會議是上述的“愛因斯坦”會議。

Hmm.

I dove into the source code. Rick was right: no-one could possibly understand what Rick had created. Except for Rick. It was a reflection of the workings of his own mind. Some of it was very clever, a lot of it was copy-pasta, it was all very idiosyncratic, and it was not at all documented.

我深入到源代碼。 里克是對的:沒有人可能理解里克創造的東西。 除了里克。 這反映了他自己的想法。 其中有些非常聰明,很多都是復制粘貼的 ,它們都非常特殊,并且完全沒有記錄在案 。

I went to our CIO with the verdict. Only Rick would ever be able to maintain this product. Plus, every day that Rick worked on the project moved the delivery date back a week. Rick was destroying our product faster than he was creating it.

我帶著裁決去了我們的首席信息官。 只有Rick才能維護此產品。 另外,Rick在該項目上工作的每一天都將交貨日期推遲了一周。 Rick銷毀我們的產品的速度比其制造產品的速度快。

We sat down with Rick and had a conversation about his role in the project. We reviewed our concerns. We sidestepped his self-comparison to Albert Einstein.

我們與里克(Rick)坐下來,就他在該項目中的角色進行了交談。 我們審查了我們的擔憂。 我們回避了他與愛因斯坦的自我比較。

We explained our new strategy. The team was going to collaborate on building a new product from scratch.

我們解釋了我們的新策略。 團隊將合作從頭開始構建新產品。

This effort would be very limited in scope and would only provide the bare essentials to get us to production. The whole team would contribute and be able to support it. No more bottlenecks.

這項工作的范圍非常有限,只會提供使我們投入生產的基本要素。 整個團隊將做出貢獻并能夠提供支持。 沒有更多的瓶頸。

How did Rick react to this?

里克對此有何React?

The only way Rick could. Rick exploded.

里克唯一的辦法。 里克爆炸了。

Rick wanted no part of this farce. If we couldn’t appreciate his genius, that was our fault, not his. Rick predicted that within months we’d come crawling back to him begging him to save us.

里克不想要這場鬧劇。 如果我們不能欣賞他的天才,那是我們的錯,而不是他的錯。 里克預言,幾個月后,我們會爬回他身邊,懇求他拯救我們。

Rick screamed that we lacked the basic mental capacity to appreciate genius when it was staring us in the face.

里克尖叫說,當我們盯著我們的臉時,我們缺乏欣賞天才的基本心理能力。

Sadly, after this, Rick rejected months of overtures by leadership. He refused to take time off or allow any work to be delegated. He rejected repeated attempts to introduce free open source frameworks to replace his hard-to-maintain bespoke tools.

可悲的是,此后,里克拒絕了領導層幾個月的提議。 他拒絕請假或允許委派任何工作。 他拒絕反復嘗試引入免費的開放源代碼框架來替換他難以維護的定制工具。

He reverted code changes — including tested bug fixes — by other developers. He asserted that he wouldn’t be held accountable for supporting other people’s work. He continued publicly belittling his colleagues.

他還原了其他開發人員的代碼更改(包括經過測試的錯誤修復)。 他斷言自己不會為支持他人的工作負責。 他繼續公開貶低他的同事。

We fired Rick.

我們解雇了瑞克。

It took about a week for the dust to settle. It took time for the shocked team to gather themselves after losing their embattled guru.

塵埃落定大約花了一個星期。 震驚的團隊在失去他們四面楚歌的大師后花了很多時間才能康復。

Then I saw them huddled around a whiteboard.

然后我看到他們擠在白板上。

They collaborated. They designed a replacement product. It would be much simpler.

他們合作了。 他們設計了替代產品。 這樣會更簡單。

It wouldn’t have all the bells and whistles. Nor would it anticipate requirements from five years down the product road map.

它沒有所有的花招。 從產品路線圖的五年來看,它也不會期望有任何需求。

Rick’s product supported a dynamic workflow with over fifteen thousand permutations. In reality 99% of our use cases followed one of three paths. The team hard-coded the workflow. This removed over 30% of Rick’s work.

Rick的產品支持具有一萬五千多種排列的動態工作流程。 實際上,我們99%的用例遵循以下三種路徑之一。 團隊對工作流程進行了硬編碼。 這刪除了Rick超過30%的工作。

It wouldn’t have custom hand-coded components for every task. They stripped out every bespoke dependency that they could buy instead of build.

它不會為每個任務都提供自定義的手工編碼組件。 他們剔除了可以購買而不是購買的所有定制依賴。

This removed hundreds of hours of Rick’s contribution. But it also removed thousands of hours of technical debt.

這消除了瑞克數百小時的貢獻。 但這也消除了數千小時的技術債務 。

We obtained an agreement from the project sponsor to shut off some edge-case functionality.

我們從項目發起人那里獲得了一項協議,以關閉某些極端情況下的功能。

This had served only 5% of our pre-launch user group and was responsible for about a quarter of the product’s complexity.

這僅服務于我們發布前的用戶組的5%,約占產品復雜性的四分之一。

We re-released the product to this group. It consisted of 10% of Rick’s original code which was pretty stable. It also had a few thousand lines of new code to replace about 150,000 lines of incomprehensible mess.

我們將產品重新發布給該組。 它由Rick原始代碼的10%組成,相當穩定。 它還有幾千行新代碼來替換約15萬行難以理解的混亂。

The team had replaced five years of work in about six months. Over the next few months we expanded from pilot to full customer release.

該團隊在大約六個月的時間里替換了五年的工作。 在接下來的幾個月中,我們從試用版擴展到了完整的客戶版本。

Not only had we replaced what Rick had built, we sped past him and fully launched the product — all in under a year. The result was less than a fifth the size and complexity of what Rick had built.

我們不僅更換了里克(Rick)所制造的東西,還超越了他,并在不到一年的時間內就全面推出了該產品。 結果不到Rick制造的產品的大小和復雜性的五分之一。

It was also hundreds of times faster and nearly bug-free despite having been assembled in a fraction of the time and serving ten times as many customers.

盡管組裝時間只有一小部分,并且服務的客戶數量是原來的十倍,但它的速度也快了數百倍,而且幾乎沒有錯誤。

The team went back to Rick’s other products. They threw away his old code there, too.

團隊回到了Rick的其他產品。 他們也把他的舊密碼丟掉了。

They re-released another product of his after three years in development, with three months of concerted team effort.

經過三個月的團隊合作,他們經過三年的開發,重新發布了他的另一款產品。

There were no Ricks left on the team. We didn’t have any mad geniuses building everything from scratch. But our productivity was never higher.

團隊中沒有剩下Ricks。 我們沒有任何瘋狂的天才從頭開始構建所有東西。 但是我們的生產力從未如此高。

Rick was a very talented developer. Rick could solve complex business logic problems and create sophisticated architectures to support his lofty designs. Rick could not solve the problem of how to work effectively on a team.

里克是一個非常有才華的開發人員。 Rick可以解決復雜的業務邏輯問題并創建復雜的體系結構以支持他的崇高設計。 里克無法解決如何在團隊中有效工作的問題。

Rick’s presence was destructive in several ways.

里克(Rick)的到來在幾個方面都具有破壞性。

First, he created a cult of dependence. Any problem eventually became a Rick problem, a myth he encouraged. Developers learned to stop trying and just wait for Rick.

首先,他創建了一種依賴性崇拜。 任何問題最終都變成了里克問題,這是他鼓勵的神話。 開發人員學會了停止嘗試,只等Rick。

Second, he didn’t write maintainable code. He never documented or tested anything, and so failed in spite of his own intelligence. His belief in his personal infallibility trumped common sense.

其次,他沒有編寫可維護的代碼。 他從未記錄或測試任何東西,因此盡管他有自己的智慧,但還是失敗了。 他對個人無誤的信念勝過常識。

Third, he was personally destructive. Team members didn’t want to speak up and offer their own ideas because he always berated them for it. Rick only respected Rick and went out of his way to make everyone else feel small.

第三,他個人具有破壞性。 團隊成員不想大聲說出自己的想法,因為他總是為此而指責他們。 里克只尊敬里克,并竭盡全力讓其他人感到渺小。

Fourth, he lacked all personal accountability. No failure was his fault. He sincerely believed this, and it prevented him from learning from his own mistakes.

第四,他缺乏個人責任感。 沒有失敗是他的錯。 他真誠地相信這一點,這使他無法從自己的錯誤中吸取教訓。

I don’t believe Rick started out this way. I saw him at his worst. This was after years of working escalating overtime and facing increasing criticism from customers and colleagues.

我不相信里克是這樣開始的。 我看到他處于最糟糕的狀態。 這是經過多年加班工作以及面對客戶和同事越來越多的批評之后的結果。

It’s sad that Rick descended this far. His manager shares in this responsibility. In fact, the original management team was held accountable: they were let go first.

可悲的是里克走了這么遠。 他的經理分擔這項責任。 實際上,最初的管理團隊要承擔責任:他們首先被放開了。

Unfortunately Rick was so far gone that he couldn’t, or wouldn’t, be brought back. No amount of coaching, feedback, time off, or assignment to other projects changed his toxic behavior.

不幸的是,里克已經走了很遠,以至于他無法,也不會被帶回來。 沒有多少教練,反饋,休假或分配給其他項目改變了他的有毒行為。

By this point the whole team knew he was destructive. But the cult of dependence was so strong that everyone believed he was the only option.

至此,整個團隊都知道他具有破壞性。 但是依賴的崇拜是如此強烈,以至于每個人都認為他是唯一的選擇。

There is always another option.

總有另一種選擇。

Your team’s strength is not a function of the talent of individual members. It’s a function of their collaboration, tenacity, and mutual respect.

您團隊的實力與單個成員的才能無關。 這是他們的協作,堅韌和相互尊重的功能。

Focus on building teams that value each other and try to bring the best out of one another.

專注于建立彼此珍視的團隊,并努力將彼此之間的優勢融合在一起。

Together, they’ll be able to tackle greater challenges than Rick could ever fathom.

在一起,他們將能夠解決比Rick難以想象的更大的挑戰。

The events described in this essay took place many years ago and do not reflect the opinions or experience of my current employer.

本文中描述的事件發生在很多年前,并不反映我當前雇主的觀點或經驗。

I have published a follow-up story with our lessons learned if you are interested in reading more! You may also be interested in reading about my first job at a startup, which happened to be imploding around me.

如果您有興趣內容,我已經發布了后續故事以及我們的經驗教訓 ! 您可能也有興趣閱讀有關我在一家初創公司的第一份工作,而這恰好在我周圍崩潰 。

You can follow me here or on Twitter @jhsolor for more updates.

您可以在這里或在Twitter @jhsolor上關注我以獲取更多更新。

Note: Some details (such as names) have been changed. I’ve never actually worked with anyone named Rick.

注意:某些詳細信息(例如名稱)已更改。 我從未真正與任何叫里克的人一起工作。

Jonathan leads enterprise software development and architecture teams.

Jonathan領導企業軟件開發和體系結構團隊。

He earned a Physics degree from Stanford University and has since spent over 10 years working in information systems architecture, data-driven business process improvement, and organizational leadership.

他獲得了斯坦福大學的物理學學位,并且在信息系統體系結構,數據驅動的業務流程改進和組織領導方面工作了10多年。

翻譯自: https://www.freecodecamp.org/news/we-fired-our-top-talent-best-decision-we-ever-made-4c0a99728fde/

實習生解雇

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/395380.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/395380.shtml
英文地址,請注明出處:http://en.pswp.cn/news/395380.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微信企業號第三方應用開發[二]——創建應用

在應用套件里添加應用 當你創建完應用套件后,需要在套件配置應用,應用的信息填寫如下。 基本信息: 信息項要求及說明應用Logo應用的Logo,小于2M,640*640,在授權頁會被用于展示。應用名稱應用的名稱&#xf…

es6新增的html標簽,javascript – 如何導入已在html中的標簽中定義的es6模塊?

我可以在我的html文件me.html中定義一個模塊:import Atom from ./atom.js;console.log("definition of getAtom")export default function getAtom(){return new Atom(atom);}console.log("exported getAtom")另見>是否可以將該“匿名”模塊…

jQ效果:簡單的手風琴效果

實現效果如圖所示&#xff1a; html結構&#xff1a; <div class"item_box box10"><div class"item_box_wp"><div class"voice_2"><ul><li class"li1" id"li1"><div class"fold"…

golang 日志分析_容器日志采集利器:Filebeat深度剖析與實踐

在云原生時代和容器化浪潮中&#xff0c;容器的日志采集是一個看起來不起眼卻又無法忽視的重要議題。對于容器日志采集我們常用的工具有filebeat和fluentd&#xff0c;兩者對比各有優劣&#xff0c;相比基于ruby的fluentd&#xff0c;考慮到可定制性&#xff0c;我們一般默認選…

機器學習做自動聊天機器人_建立聊天機器人需要什么? 讓我們找出答案。

機器學習做自動聊天機器人by Vanco Stojkov通過Vanco Stojkov 建立聊天機器人需要什么&#xff1f; 讓我們找出答案。 (What does it take to build a chatbot? Let’s find out.) Without any delay, the image below shows what we are building:沒有任何延遲&#xff0c;下…

UVA 11582 Colossal Fibonacci Numbers!【數學】

大一剛開始接觸ACM就買了《算法競賽入門經典》這本書&#xff0c;當時只能看懂前幾章&#xff0c;而且題目也沒做&#xff0c;粗鄙地以為這本書不適合自己。等到現在快大三了再回過頭來看&#xff0c;發現劉老師還是很棒的&#xff01; 扯遠了。。。 題意&#xff1a;問f[a^b]%…

Codeforces 919D Substring (拓撲圖DP)

手動博客搬家: 本文發表于20180716 10:53:12, 原地址https://blog.csdn.net/suncongbo/article/details/81061500 給定一個\(n\)個點\(m\)條邊的有向圖&#xff08;不一定無環&#xff09;&#xff0c;每個點上有一個小寫字母。要找一條路徑&#xff0c;使得路徑上出現次數最多…

layui自定義查詢條件html頁面,Layui的數據表格+springmvc實現搜索功能的例子_飛雲_前端開發者...

如下所示&#xff1a;主要在前端頁面加&#xff1a;搜索ID&#xff1a;useridcontent搜索在reload:function () {var keyWord$("#keyWord").val();var keyType$("#key_type option:selected").val();table.reload(contenttable,{method:post,where:{keyWor…

mysql+keepalived 雙主熱備高可用

理論介紹&#xff1a;我們通常說的雙機熱備是指兩臺機器都在運行&#xff0c;但并不是兩臺機器都同時在提供服務。當提供服務的一臺出現故障的時候&#xff0c;另外一臺會馬上自動接管并且提供服務&#xff0c;而且切換的時間非常短。MySQL雙主復制&#xff0c;即互為Master-Sl…

java ldap userpassword 解密_Spring Boot中使用LDAP來統一管理用戶信息

LDAP簡介LDAP(輕量級目錄訪問協議&#xff0c;Lightweight Directory Access Protocol)是實現提供被稱為目錄服務的信息服務。目錄服務是一種特殊的數據庫系統&#xff0c;其專門針對讀取&#xff0c;瀏覽和搜索操作進行了特定的優化。目錄一般用來包含描述性的&#xff0c;基于…

第三章之枚舉、注解

2019-01-22內容&#xff1a;枚舉、注解一、自定義一個枚舉類1 public class TestSeason {2 3 public static void main(String[] args) {4 Season spring Season.Spring;5 System.out.println(spring);6 }7 }8 public class Season {9 //將屬性定…

html打開后默認瀏覽器頁面,使用VBA打開默認瀏覽器中的html頁面?

您可以使用Windows API函數ShellExecute來執行此操作&#xff1a;Option ExplicitPrivate Declare Function ShellExecute _Lib "shell32.dll" Alias "ShellExecuteA" ( _ByVal hWnd As Long, _ByVal Operation As String, _ByVal Filename As String, _Op…

數據科學r語言_您應該為數據科學學習哪些語言?

數據科學r語言Data science is an exciting field to work in, combining advanced statistical and quantitative skills with real-world programming ability. There are many potential programming languages that the aspiring data scientist might consider specializi…

Linux平臺不同解壓縮命令的使用方法

作者&#xff1a;郭孝星 微博&#xff1a;郭孝星的新浪微博 郵箱&#xff1a;allenwells163.com 博客&#xff1a;http://blog.csdn.net/allenwells github&#xff1a;https://github.com/AllenWell 一 .tar 解包 tar xvf FileName.tar 打包 tar cvf FileName.tar DirName 注意…

unity中怎么做河流_【干貨】工作中怎么做工業設計的?(一)

最近在找工作&#xff0c;一直在看招聘信息。看到工業設計工資還是蠻高的。應屆畢業生一般是4-6K&#xff0c;1-3年工作經驗是6-8K&#xff0c;3年以后的差不多是8K以上了。我沒有嫉妒羨慕恨&#xff0c;發誓&#xff0c;真的沒有。工業設計已經被重視&#xff0c;未來的道路會…

[易學易懂系列|golang語言|零基礎|快速入門|(一)]

golang編程語言&#xff0c;是google推出的一門語言。 主要應用在系統編程和高性能服務器編程&#xff0c;有廣大的市場前景&#xff0c;目前整個生態也越來越強大&#xff0c;未來可能在企業應用和人工智能等領域占有越來越重要的地位。 本文章是【易學易懂系列|編程語言入門】…

APUE學習之三個特殊位 設置用戶ID(set-user-ID),設置組ID(set-group-ID),sticky...

設置用戶ID&#xff08;set-user-ID&#xff09;&#xff0c;設置組ID&#xff08;set-group-ID&#xff09;&#xff0c;stickyset-user-ID: SUID當文件的該位有設置時&#xff0c;表示當該文件被執行時&#xff0c;程序具有文件所有者的權限而不是執行者的權限。這樣說有點繞…

微信調用html退后方法,微信瀏覽器后退關閉頁面

不需要引用 微信jssdk 關閉瀏覽器WeixinJSBridge.invoke(closeWindow, {}, function (res) { });參考&#xff1a;https://mp.weixin.qq.com/wiki/12/7dd29a53f4b55a8ddc6177ab60e5ee2c.html監聽微信、支付寶等移動app及瀏覽器的返回、后退、上一頁按鈕的事件方法參考&#xff…

在gitlab 中使用webhook 實現php 自動部署git 代碼

在技術團隊討論中&#xff0c;我們決定從svn 遷移到 git ,于是使用了gitlab&#xff0c;代碼自動部署使用了webhook在服務器上 1.開啟PHP需要的環境支持 服務器環境必須先安裝git 環境&#xff0c;webhook 依賴php運行環境&#xff0c;同時需要使用shell_exec 和 exec 等函數。…

spi收發時的寄存器sr不變_「正點原子Linux連載」第二十七章SPI實驗(二)

1)實驗平臺&#xff1a;正點原子Linux開發板2)摘自《正點原子I.MX6U嵌入式Linux驅動開發指南》關注官方微信號公眾號&#xff0c;獲取更多資料&#xff1a;正點原子文件bsp_spi.c中有兩個函數&#xff1a;spi_init和spich0_readwrite_byte&#xff0c;函數spi_init是SPI初始化函…