-
1 # 有夢想的年輕ren
-
2 # 雲峰網際網路
對於新入職場的程式設計師而言,要提升自己的程式設計能力,我從一個老程式設計師的角度,給你以下幾個方面的建議:
1.養成良好的程式設計習慣。
萬丈高樓平地起,基本功很重要。新手一定要耐住性子,從註釋、縮排、變數命名這些最最基礎的做起,培養自己良好的程式設計習慣。
2.熟悉軟體工程的思想
軟體開發是一個團隊協作的工作,熟悉團隊開發的一些工具和思想,對於你未來在工作中與同事合作,會有很大的幫助。
3.提高自己的理論水平
軟體開發是用計算機語言表達自己思想的一個過程。軟體中常用的:分治、遞迴等基本思想要了解。設計模式的設計原則也要熟記。總之,多看書提升自己的理論水平。
4.廣泛涉獵
例如:對大資料、雲計算、物聯網、AI、區塊鏈等前衛到技術原理要懂。
5.多學習業務知識
這一點很重要,業務是技術的前提。這也是程式設計師進階架構師必須掌握的能力。對常見的電商系統、ERP系統、CRM系統、客服系統等有哪些大的業務模組,模組之間的關係是什麼,掌握的越多越好。
6.鍛鍊自己寫文件的能力
軟體開發前面的階段是設計階段,重視自己的文件能力,對於複雜的業務問題轉化為計算機問題,是至關重要的。
最後,祝你在程式設計的道路上,一帆風順。
-
3 # 魚蛋兒影視
程式設計師如何正確的自我提升
首先啊兄弟們,我只是分享一下我的一些學習方法,你可能有自己更好的方法,我只說適合於我的,並且確實有效果的
在開始這個話題之前,可能有些兄弟覺得自我提升嘛.學習,使勁學,這不就是自我提升麼
你說的對,學習就是自我提升,但是如何正確的學習,會直接影響你提升的速度,學習的紮實度等
前言
在接觸計算機有一段時間之後,接觸到越來越多的新知識新概念,
我就像劉姥姥進大觀園,什麼都想學,但是總感覺力不從心,學習效率低下,
不管是複雜的演算法還是簡單的案例demo,我都感覺學的費勁
剛開始我覺得是不是我這腦子不好使,學啥都費勁,後面慢慢的意識到可能是我的學習方法有一些問題
最開始的改變
我開始反思,我當時的學習是如何進行的,我舉個栗子
可能上一秒我在看設計模式,看到其中的某一個未知的概念,我就跑去看這個概念,又從這個概念中看到另一個未知的東西.又跑去看這個…週而復始,導致一個晚上的時候,啥都沒看明白
反思之後,我開始定製有規劃的學習目標
比如 學習設計模式,看到不懂的概念先記錄到便籤中,把設計模式研究明白再去看當時不懂的概念,其實這個時候你只需簡單瞭解下,結合你之前學習的知識點,一點即通
序章
光有規劃的學習還是遠遠不夠的
你需要定製自身的知識體系
比如你是一位java開發工程師,那麼你的知識體系要先從java開始
當java的體系到達一定程度後,
你想轉型,大資料or高併發
此時你仍然需要定製你的知識體系
如果你要轉型大資料,那麼你需要了解大資料知識體系,並且結合有規劃的學習目標進行
而不是今天看看spark明天看看python
序章二
學習適量的深度
目標規劃,知識體系構建你都有了,那在學習的過程中也是會遇到很多問題的
比如今天看某個知識點,完全看懵了,或者一知半解
那這種情況其實很好解釋
因為你學習的這個新知識完全超出了你的認知範圍
這就是從低往高爬經常會遇到的問題
那其實我的建議是對於完全懵逼或者一知半解的這種知識點到即可
因為你再研究下去你依然不懂,不如先學習其他的
等到你的知識體系到達某一個高度之後,你再回頭看你當時的那個問題,就會恍然大悟
當然有人會說你這個邏輯有問題啊,你都不會深層次的東西,怎麼構造高度的知識體系啊
高層次的知識都是把底層的問題抽象化了,可能有些是衍生的新概念,我們看著有些懵逼,
但是大部分的知識還是基於我們最開始學習的知識構建的,你可以先從這方面入手
這就好比你上六年級,讓你做一年級的題一樣,就算當年你一年級學的很爛,你也一樣可以,因為你的知識體系在一個相對較高的水平,前提是六年級的你不是倒數第一[捂臉]
序章三
努力,這個感覺說的就是廢話了
因為你想要提升,想要進步,不是躺著一邊玩著遊戲一邊想著我要變成大牛
當然也不是說每天除了工作,剩下的時間都用來提升自我,
如果真這樣的話,我看你不是提升,你是要昇天了
學習的時間也是要有規劃的,剩下的時間可以健身運動運動
我不提倡以身體換取金錢的學習方式,要適量適當的
比如你是剛開始學習計算機的學生
那你一定要壓榨自己所有的時間進行學習
如果你已經從事這個行業,那麼就可以適當的留一些個人的時間,剩下的時間用來提升自我
序章四
再補充一些
我覺得開發人員無需每天沉迷於學習某個某個框架,
開源框架的社群開發者有上百上千人,你的學習速度是 永遠比不過框架的更新速度的
但是強調 我不是說不需要學,而是沒必要沉迷於學習框架
框架無非就是我們開發中的一個工具,一個輪子而已
最最重要的還是計算機的底層原理
世界上只有兩種人,一種是懂二進位制的人,一種是有女朋友的人 --哈哈
當然框架也有很多我們可以學習的地方,比如它的設計模式,它的程式碼規劃等等
但第一重點還是底層原理以及你學習的語言的底層原理,
比如我最近最近在看的計算機編譯與jvm,jdk原始碼解析等
保持自己的對程式設計的熱情,不要說自己從事程式設計行業是為了錢,沒有能力誰會給你錢呢?
-
4 # 頭號駭客
先推薦幾本程式猿的書吧
《c語言從研發到脫髮》
《C++從入門到放棄》
《Java從跨平臺到跨行業》
《Ios開發從入門到下架》
《Android開發大全——從開始到轉行》
《PHP由初學至搬磚》
《Mysql從刪庫到跑路》
《伺服器運維管理從網路異常到硬碟全紅》
《伺服器運維管理從網維到網管》
《Debug455個經典案例,讓電腦開機藍色畫面》
《零基礎學c語言,學完負基礎》
《Css從繪製框架到改行畫畫》
看過了這些如果你覺得程式猿太難,那再來試試資訊保安吧!
程式猿與滲透測試攻城獅,本來也有相似相通之處,這裡你也可以參考資訊保安行業的滲透測試工程師的一些學習要點!
瞭解以後,或許對你來說,做資訊保安也是一條不錯的道路!
《駭客攻防:從入門到入 獄》
一、常見漏洞
1.SQL注入
SQL注入原理、聯合注入、注入型別、別名提升許可權、讀取檔案、html錨點、Mysql布林注入、延時注入、
別名講解、MYSQL-BUG注入、MYSQL函式報錯、修復SQL注入、判斷網站是否存在注入、
寬位元組注入、多語句注入、Values注入、Delete注入、UPdate型注入、注入常用函式、防火牆、其它資料庫注入。
2.XSS漏洞
XSS原理、ajax、儲存型XSS、反射型XSS、dom-xss、X-XSS-Protection、CRLF+XSS、XSS修復、閉合XSS
3.Csrf-XSS蠕蟲-SSrf-XXE 瞭解CSRF-CSRF攻擊、Csrf漏洞修復、XSS蠕蟲、XXE原理、XXE修復
4.檔案上傳 空位元組的理解、上傳流程、JS驗證、截斷上傳、黑名單驗證上傳、二次上傳、上傳分析、MiMe型別繞過、解析漏洞、雙檔案上傳、上傳已知漏洞
5.Webshell PHP、asp、aspx一句話、大馬、小馬、後門、查殺
6.Mysql注入進階-DNS查詢 DNS的理解、Sql注入的利用、搭建測試環境、其它資料庫注入、修復
7.讀取及程式碼執行命令 檔案包包含修復、檔案讀取、利用檔案包含漏洞拿到許可權、理解序列化、反序列化漏洞、Exp-Poc-Payload講解
8.邏輯漏洞 邏輯漏洞原理、挖掘密碼重置漏洞、驗證碼漏洞、未授權漏洞、越權
9.資訊洩露 瞭解什麼是資訊洩露、Google用法、網站路徑、判斷網站CMS、Robots.txt講解、各種找資訊、預付資訊洩露總結
二、工具介紹
Burp、Msf、APPScan、WVS、Sqlmap、Nmap、Nessus、Hydra…
熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相關工具的使用。
1.瞭解該類工具的用途和使用場景,先用軟體名字Google/SecWiki;
2.下載無後門版的這些軟體進行安裝;
3.學習並進行使用,具體教材可以在SecWiki上搜索,例如:Brup的教程、sqlmap;
三、中間人攻擊與抓包
Arp原理、Wireshark、Bettercap介紹、嗅探、指令碼、DNS劫持與預防、cain+NetFuke使用
原理講解、正反向代理搭建、windows_nc反彈、inux_nc安裝與反彈。LCX
五、許可權提升
伺服器安全配置、Windows、Linux提權講解
六、靶機實戰
網站內建靶機題目,是按照闖關模式的,當然,您可以從文章中學習到技巧以及方法,來到我們的靶機上做滲透測試,瞭解漏洞危害,我們會根據文章,在文章底部設定靶機入口,您可直接聯絡!
熟悉Windows/Kali Linux
學習Windows/Kali Linux基本命令、常用工具;
1.熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill等;
2.熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;
3.熟悉Kali Linux系統下的常用工具,可以參考SecWiki,《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;
4.熟悉metasploit工具,可以參考SecWiki、《Metasploit滲透測試指南》
伺服器安全配置
學習伺服器環境配置,並能透過思考發現配置存在的安全問題。
1.Windows2003/2008環境下的IIS配置,特別注意配置安全和執行許可權,可以參考:SecWiki-配置;
2.Linux環境下的LAMP的安全配置,主要考慮執行許可權、跨目錄、資料夾許可權等,可以參考:SecWiki-配置;
3.遠端系統加固,限制使用者名稱和口令登陸,透過iptables限制埠;
4.配置軟體Waf加強系統安全,在伺服器配置mod_security等系統,參見SecWiki-ModSecurity;
5.透過Nessus軟體對配置環境進行安全檢測,發現未知安全威脅。
指令碼程式設計學習
選擇指令碼語言Perl/Python/PHP/Go/Java中的一種,對常用庫進行程式設計學習
1.搭建開發環境和選擇IDE,PHP環境推薦Wamp和XAMPP,IDE強烈推Sublime,一些Sublime的技巧:SecWiki-Sublime;
2.Python程式設計學習,學習內容包含:語法、正則、檔案、網路、多執行緒等常用庫,推薦《Python核心程式設計》,不要看完;
3.用Python編寫漏洞的exp,然後寫一個簡單的網路爬蟲,可參見SecWiki-爬蟲、影片;
4.PHP基本語法學習並書寫一個簡單的部落格系統,參見《PHP與MySQL程式設計(第4版)》、影片;
5.熟悉MVC架構,並試著學習一個PHP框架或者Python框架(可選);
6.瞭解Bootstrap的佈局或者CSS,可以參考:SecWiki-Bootstrap;
原始碼審計與漏洞分析
能獨立分析指令碼原始碼程式並發現安全問題。
1.熟悉原始碼審計的動態和靜態方法,並知道如何去分析程式,參見SecWiki-審計;
2.從Wooyun漏洞庫上尋找開源程式的漏洞進行分析並試著自己分析;
3.瞭解Web漏洞的形成原因,然後透過關鍵字進行查詢分析,參見SecWiki-程式碼審計、高階PHP應用程式漏洞稽核技術;
4.研究Web漏洞形成原理和如何從原始碼層面避免該類漏洞,並整理成checklist。
安全體系設計與開發
能建立自己的安全體系,並能提出一些安全建議或者系統架構。
1.開發一些實用的安全小工具並開源,體現個人實力;
2.建立自己的安全體系,對公司安全有自己的一些認識和見解;
3.提出或者加入大型安全系統的架構或者開發。
-
5 # 阿福福福福福
如果在工作就按照要求直接開幹,不懂就網上搜索,一般別輕易問同事,畢竟大家都挺忙的,遇到語言不會就看網上的入門教程,框架不會就看官網的tutorial什麼的。
如果還在自學階段,給自己定一些目標吧,比如做一個簡單的部落格系統,按照自己的設想找目前搜尋的人多熱門的語言開寫,遇到問題同上解決,一開始你會發現舉步維艱,到處都是不會不懂的,後面就慢慢的有點自信了,就算不會也可以學,有了這個信心你就入門了。
-
6 # 快樂工作生活每一天
最快的方法,在淘寶上買個做專案影片,就幾塊錢,按影片老師,一步一步的做。這樣,又的得到程式設計技能,有得到專案經驗。出去,找工作,就把你做的說出來。面試官,會認為你是有經驗的人員,工資也高些。
-
7 # Monkeys
首先看你現在是處於程式設計什麼階段,如果是新手可以找一些簡單的程式語言,網路一搜一大把的基礎教程。如果已經有一定基礎了,就應該學習對應進階需要的程式設計知識。。。。
看你的問題,應該是新手小白。建議你學習c#或者java,這兩個語言比較簡單。不建議學習python語言。雖然網路上好多人都建議學習這個,認為這個簡單。但是個人認為不適合新手,裡面的縮寫和第三方庫,不適合你學習程式設計思路。。。尤其是學習好後就業面窄,除非你想做爬蟲。。。。畢竟c#和java可以實現爬蟲語言的功能。。。如果你工作中想提高工作效率,想自己編寫工具,建議用c#,簡單,快速。
-
8 # 知識每一天
興趣是最好的老師。
比如最常見的爬蟲,如果只是一味的爬蟲那麼比較枯燥。
那如果我想爬微博上女生最喜歡什麼樣的男生。這個是不是會有意思一點,
隨著你編寫爬蟲,勢必會遇到正則,xpath,以及py常見的網路框架,
微博也有相應的人機驗證機制,
不得已,你會接觸到一些反爬技術,以及繞過驗證碼,
相關技術比如無頭瀏覽器,機器學習識別驗證。
等你繞過網站之後,成功獲取資料,
隨之而來的是統計學的相關知識,以及自然語言處理。
如何分析,如何做使用者畫像,
如何做視覺化等等。
所以建議從一個你感興趣的領域開始,不斷拆解並實現他,
你會發現你學到的東西有很多。
-
9 # 大鬍子網路
可以看看我的文章哦,看看你要學什麼,我是Python開發的,網上度盤裡面有很多相關的影片資料的,找一個搜網盤的軟體,一搜都是的,一大把。
-
10 # 掌心學習
從解決實際需求為目的開始學習。
從完整的例子開始模仿學習,掌握基礎知識。
同時檢視相關語言的基礎文件。
-
11 # 上海千鋒教育
網際網路公司本身結構比較扁平,管理崗位較少,程式設計師只學到技術就可以了嗎?你想過自己的未來規劃嗎?那麼我們該如何進行職業規劃和技能儲備,才能從激烈的競爭當中脫穎而出實現自我提升。
一、拓寬業務場景
這裡的業務場景分為大業務場景,也分為小業務場景。大業務場景即不同的細分行業,如電商、內容、影片、共享平臺等等。千鋒建議程式設計師們在進行工作選擇的時候不要被自己原先所屬的細分領域太過限制,認為自己原來在電商公司以後也必須在電商公司。事實上,多去嘗試不同領域的公司,去了解不同領域的公司在技術實現上有什麼異同,對於程式設計師更深入地理解技術是很有幫助的。
二、把握職場節奏
在職場上有一個時間標準:3 年。 3 年時間,一定要在工作內容和職級上有一個質的變化,這個變化可以靠升職得到,也可以靠跳槽達成目標。
初入職場的 3 年,主要的工作內容就是夯實基礎,此時基本處於「完成上級交付的任務」這樣的階段。但在這個過程中,員工不能僅僅完成任務了事,而是要不斷思考為什麼上級要佈置這個任務,這個需求是怎麼來的,用於解決什麼問題,有沒有更好的解決方案等等。
之後的 3 年,也就是職業生涯的 3-5 年,作為程式設計師,需要達到一個小 leader 的層級,即帶領一個小團隊(可以僅僅有幾個人)負責某一個某塊或是功能的研發,此時在上個階段積累的經驗和關於解決方案的各種想法的作用便凸顯出來。而此時作為小團隊負責人的角色,程式設計師更多地需要關注上下游的邏輯,能夠形成完整的邏輯鏈條。
工作經驗的 5-8 年,此時程式設計師已經進階成了技術負責人,可以獨立負責某一個產品的研發,可以成功地推動產品從 0-1 的階段,此時更多需要關注的便是跨部門之間的合作與溝通,確保研發行程的按時交付。與此同時,更多地關注一些產品設計方面的內容,會對進一步的晉升很有幫助。
末後一個階段,即工作 10 年以上,此時達到研發總監或是更高的職位會是一個比較理想的狀態,而對於這個層次的要求,是對於整個行業能有比較清晰深入的判斷,能夠感知未來技術發展的方向併為公司提前佈局。
三、訓練複合技能
除了程式設計之外,程式設計師要儘量培養一些其他方面的技能,例如演講、寫作等等。這樣做一方面可以為程式設計師提供一些兼職機會,如主講技術相關的直播課程、參考文章或書籍的撰寫等。類似的機會在提供報酬的同時也會增加員工的知名度和行業影響力,更有甚者,在社交媒體上發表了相關文章之後,吸引了一批志同道合的同行,開始合夥創業,有了更大的機遇。
就算沒有這些額外的收益,複合技能的人才在公司內部也會受到青睞。
四、保持緊密溝通
有些程式設計師認為自己做的是技術性工作,只要寫好程式碼就可以了。這是錯誤的認知。根據以往服務候選人的經驗來看,那些有意識在工作之餘關注行業動態,積攢人脈資源,並且樂於與同行溝通的程式設計師,往往在職業發展的路上走得更遠。
大資料程式設計師除了專業的技術外,還需要一份合格的職業規劃。
-
12 # 安小彥
新手程式設計師如何自我提升呢,學習是必然的,想要學習無從下手,小編建議先根據自己的實際情況設定一個學習計劃,學習週期,然後開始查詢相關資料進行篩選,找到適合自己的學習資料,可以看書也可以看影片教程,不過比較建議看教程資料,畢竟看書的話,書不一定是什麼時候出版的,不一定會適合提升學習,
不管你是從事哪一個崗位的程式設計師,提升最主要的就是技術能力,一定要找一些最新的技術影片學習,可以參考培訓機構的課程大綱來學習,畢竟思路,學習路線都有了,學習起來也會有計劃,如果條件允許,可以考慮購買線上課程,這樣學習起來會更好,堅持學習是最主要的,不能三天打魚兩天曬網,有點成績就驕傲,一定要堅持學習,給自己設定好學習目標,祝好
-
13 # 雲掣小助手
實踐是檢驗真理的唯一標準!!!
(就會這一句文辭別打我)
兄dei們,舉槍的時間再多,也不如直接去戰場廝殺啊!!!
咱們夯實基礎就直接上戰場吧!!!去實習!就歷練!去經歷這時間的困苦!!!
實習的時候真的你的程式設計能力直線向上,都是使用場景,身邊都是大佬,不會問就可以了!!!
想不提高都難!
回覆列表
作為一個工作5年Java開發工程師,我講述自己看法。
1.1-2年能幹活就行,3-4年就是效能,原始碼,在網上就是架構了。
2.學習可以從部落格園,知乎,CSDN等專欄看別人的總結,都是別人的經驗,直接汲取對自己提升特別快。
3.可以多進一些技術交流群,看別的公司使用什麼技術,不至於自己落後。必要的時候多面試。
5.還是要自律吧。
溫馨提示:程式設計師比較辛苦。