我,大專非科班出身,自學PHP+js入行。今年第5個年頭,在2家公司待過,第一家待了3年,現在這家已經滿2年。第一家公司學習沉澱了lnmp環境下WEB開發前後端的基本技能,學了python.和JAVA,JAVA只在一個項目中的部分任務中用過,如今只剩下模糊的記憶。
換了工作後最近2年,自己計劃的學習路線一度被打斷,一直被公司的業務牽著鼻子走,先後學習了lua,openresty.這些小腳本還好,要命的是最近半年接手公司的搜尋服務,後端用C/C++維護ES索引。 C/C++學了點皮毛,ES搜尋引擎也學不好,工作都要焦頭爛額了,一度想離職,只是考慮到隨便離職會給自己帶來糟糕的履歷。
像我這樣簡直不倫不類了,樣樣會點沒樣精通(至少學來的僅用在堆業務邏輯上面)。或者說給自己定個大目標,後端全端程式設計師,這些都要學,只是目前還不夠精通而已。 。 。
回覆內容:
我,大專非科班出身,自學PHP+js入行。今年第5個年頭,在2家公司待過,第一家待了3年,現在這家已經滿2年。第一家公司學習沉澱了lnmp環境下WEB開發前後端的基本技能,學了python.和JAVA,JAVA只在一個項目中的部分任務中用過,如今只剩下模糊的記憶。
換了工作後最近2年,自己計劃的學習路線一度被打斷,一直被公司的業務牽著鼻子走,先後學習了lua,openresty.這些小腳本還好,要命的是最近半年接手公司的搜尋服務,後端用C/C++維護ES索引。 C/C++學了點皮毛,ES搜尋引擎也學不好,工作都要焦頭爛額了,一度想離職,只是考慮到隨便離職會給自己帶來糟糕的履歷。
像我這樣簡直不倫不類了,樣樣會點沒樣精通(至少學來的僅用在堆業務邏輯上面)。或者說給自己定個大目標,後端全端程式設計師,這些都要學,只是目前還不夠精通而已。 。 。
我也是野路子出身, 技能加點也是跟著公司業務走哪打哪, 遊走於各種框架之間, 疲於奔命苦不堪言. 偶在知乎看到蕭井陌的這篇專欄文章, 深感自己基礎不厚, 現在在Coursera上跟一些名校的基礎課, 已經搞定所有Python
課程, 正在惡補編譯原理, 算法等基礎知識, 明顯的進步是現在也可以自己造點輪子了, 雖然還很拙劣.
題主能意識到自己的問題已經比很多渾渾噩噩混日子的碼農強了不少, 我覺得不管科班非科班程序員以下幾點非常重要:
英語(必須的)
基礎(各種框架輪子滿天飛, 其實萬變不離其宗)
面向Google / StackOverflow編程(就是有輪子先用輪子交活, 騰出時間惡補技能點)
Stay hungry, Stay foolish.
保重身體
以上, 共勉~
個人覺得未免題主有點太浮躁了,而且走入了一個很大的誤區,感覺學好一門語言或學精一門才是一個程式設計師的必經之路?
個人建議千萬別去這麼想問題,否則你可能一輩子都是一個程式設計師
萬事看本質,程式設計師的價值在哪裡?
就是解決問題的能力,所以語言、架構等等只是解決問題的輔助工具,還要從更廣更全面的去考慮問題,這樣你的思路才能拓寬。
舉例:不要為了公司說要做搜索就去做搜索,先考慮為什麼要做搜索,公司現狀、人員配備、後續維護等等,然後在考慮技術方案,比如除了ES還有沒有其他方案?還是高大上的方案介入太早還要帶來龐大的工作量?是否可以現有技術堆疊內的解決方案例如看上去有點Low的xunsearch,然後碰到了性能瓶頸的時候再去調研新的東西,因為已經在生產了,或許有足夠的時間去研究ES,同時踩過搜尋的坑,發現去研究去選型的時候更有專注點了
另外個人認為程式設計師的發展路線應該是先廣再深。只有系統需要深入的時候才會深,這個要看你公司的發展以及定位。
但是絕大部分都是「廣」這一步就夠了,因為現狀決定沒有那麼多的公司那麼多的系統需要非常深入的去研究語言本身,更多時候解決系統問題或者技術問題,更多的時候瓶頸在於思路而不是語言。
由於每個人對廣和深理解都有差別,所以以上都是個人建議,僅供參考。
或許你應該補補科班。
例如:
http://study.163.com/curricul...
不用太深入,可以選擇系統的了解一下。
然後根據你的選擇再確定方向。
能理解你的心情,目標肯定是要的,不然這種下去只會增廣視野缺沒有深度的積累.
給出一些個人建議
1.深入某種語言學習,從語言層面到框架,從寫業務到寫基礎架構.
2.了解各種環境,例如PHP的nginx,appache,你至少要熟練
3.熟悉語言相關技術,比如redis,並發,優化等
其實總結就一句話,人的時間和精力是有限的,能做好一件事情,學精一門語言就足夠了.
科不科班沒關係,工作的東西學校根本教不了。
技術這東西永遠學不完,現在工作引導學習的很多,這也正常。如果有什麼工作可以按照自己的學習計畫下去,那根本不可能。而且技術更新換代很快,沒準你學完就不流行了。
程式設計的本質是為了更好的為人們去服務,如果單純的考慮自己學會了什麼,能牢固掌握什麼,工資可以達到什麼程度來衡量自己的話,那根本不准確。一般來說,前期無所謂吧,換一份工作換一種語言或技術,多學點是沒錯啦。不過必須深入去理解這項工作的本質,累積經驗,學以致用。如果換了多份工作,感覺每次都要重新學起,而且基本上都是皮毛的入門,這只能說學的不深了,需要好好總結一下了。
我的想法是,找一種自己有興趣的來學,專門學精。皮毛學會了,就學優化,學軟體開發的流程,學團隊管理,深入到軟體開發的所有環節。
真的,你已經到了需要係統知識(科班知識)的時候了。
系統知識對你解決沒有具體細節問題可以作用並不是太明顯,但是對於管理項目,管理自己的知識體系,宏觀的看問題很有幫助。
另外,全棧什麼的就先聽聽吧,每一個真正全棧都有至少一個特別精的專業方面,因為語言的相同所以對相關業務稍作研究也會有不錯的成績;而所有方面都只會一點皮毛的那不算全棧,說好聽的叫工程師助理,難聽的其實就是打雜的。
建議如果立志做一個全棧,先是確定一個專的點,先做專後做廣。一口吃不成個胖子。
還有,不要被公司的業務牽制,公司不需要對你的未來負責。你自己需要鑽研什麼和公司給你的任務是什麼並不是必然相關,充分利用好你的業餘時間。等你某項專精後,你才有權利選擇更適合你能力的任務。
身為剛入行的新人我也幫不到了題主你什麼,給你加個油~
所謂技多不壓身,總會有一天你會覺得前面學的「皮毛」並不沒有白學。
程式設計師要有廣度更要有深度,建議你找到自己的興趣所在深入研究,共勉。
首先題主你要有目標,就像樓上說的全才還是專才?你要考慮清楚。
誰說辭職就會有糟糕的履歷的?如果你覺得自己想要做專才,在一門技術上鑽研到底,把一門語言弄精弄通,那麼公司的發展前景和你的人生規劃產生矛盾,你辭職離開也是帶著浩然正氣的。反之,如果你選擇全才,想創業,那麼你的工作經歷剛好和你的目標相同,也不會有什麼怨言了。 (說一點題外話,我認識一個5年的PHP大牛,在5年的瓶頸期,一直“居無定所”,基本三個月一跳槽,還是有用人單位會用,他說,公司不合適就走,都這個年代了,還憋屈自己在一個和自己人生價值觀、世界觀不同的公司裡,我們還是60、70年代的人嗎)
人生道路上,老天不會只給你一個選擇,他會給你多種選擇,至於你要選擇哪一條,都是你自己的路。想好再出發,堅持到底!題主加油~
所謂技多不壓身也是在精力範圍內搞。樓主,我覺得你可以離職。
天道酬勤,厚積薄發
全而精,簡而潔,加油! ! !
謝謝各位大神指點,許多回覆很有參考性的指點意義!

PHPSession失效的原因包括配置錯誤、Cookie問題和Session過期。 1.配置錯誤:檢查並設置正確的session.save_path。 2.Cookie問題:確保Cookie設置正確。 3.Session過期:調整session.gc_maxlifetime值以延長會話時間。

在PHP中調試會話問題的方法包括:1.檢查會話是否正確啟動;2.驗證會話ID的傳遞;3.檢查會話數據的存儲和讀取;4.查看服務器配置。通過輸出會話ID和數據、查看會話文件內容等方法,可以有效診斷和解決會話相關的問題。

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

在PHP中配置會話生命週期可以通過設置session.gc_maxlifetime和session.cookie_lifetime來實現。 1)session.gc_maxlifetime控制服務器端會話數據的存活時間,2)session.cookie_lifetime控制客戶端cookie的生命週期,設置為0時cookie在瀏覽器關閉時過期。

使用數據庫存儲會話的主要優勢包括持久性、可擴展性和安全性。 1.持久性:即使服務器重啟,會話數據也能保持不變。 2.可擴展性:適用於分佈式系統,確保會話數據在多服務器間同步。 3.安全性:數據庫提供加密存儲,保護敏感信息。

在PHP中實現自定義會話處理可以通過實現SessionHandlerInterface接口來完成。具體步驟包括:1)創建實現SessionHandlerInterface的類,如CustomSessionHandler;2)重寫接口中的方法(如open,close,read,write,destroy,gc)來定義會話數據的生命週期和存儲方式;3)在PHP腳本中註冊自定義會話處理器並啟動會話。這樣可以將數據存儲在MySQL、Redis等介質中,提升性能、安全性和可擴展性。

SessionID是網絡應用程序中用來跟踪用戶會話狀態的機制。 1.它是一個隨機生成的字符串,用於在用戶與服務器之間的多次交互中保持用戶的身份信息。 2.服務器生成並通過cookie或URL參數發送給客戶端,幫助在用戶的多次請求中識別和關聯這些請求。 3.生成通常使用隨機算法保證唯一性和不可預測性。 4.在實際開發中,可以使用內存數據庫如Redis來存儲session數據,提升性能和安全性。

在無狀態環境如API中管理會話可以通過使用JWT或cookies來實現。 1.JWT適合無狀態和可擴展性,但大數據時體積大。 2.Cookies更傳統且易實現,但需謹慎配置以確保安全性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器