了,就來簡單的說說玩GO吧
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比西秀網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式西秀網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋西秀地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。
一開始玩G0是一 款很像taptap的產(chǎn)品,類似的首頁,首頁同樣是游戲推薦,類似的游
戲詳情頁,類似的排行榜,只不過多了游戲禮包的功能,還有可以找到不少破解游戲和漢
化游戲的下載,有時(shí)候一些比較偏[ 門的小眾的游戲都可以在上面找到,以至于還在上面碰
到過阿拉伯地區(qū)的人(- -臉懵逼)。
后來慢慢地加入了一些游戲話題,什么解謎游戲合集這樣子的,都算是對于游戲內(nèi)容
的補(bǔ)充吧。還有一些游戲評測,會有對游戲的介紹分析,倒是發(fā)現(xiàn)了不少有趣的游戲,另
外也確實(shí)發(fā)現(xiàn)國內(nèi)的一些游戲(獨(dú)立游戲)慢慢的有不少起色了。
從開始的游戲推薦、游戲下載、禮包領(lǐng)取的特色然后來到了最新版本的話題。
最新的玩G0怎么說呢?一開始有點(diǎn)不習(xí)慣,畢竟尼瑪和原來長得完全不一-樣啊。但是
后來用著還挺有意思的,就是剛開始的時(shí)候內(nèi)容有點(diǎn)少,其實(shí)目前內(nèi)容還是少,有些話題
更新的速度有點(diǎn)慢。
經(jīng)過一-段時(shí)間的使用之后發(fā)現(xiàn)現(xiàn)在的玩GO能夠做到下載游戲,又能夠根據(jù)游戲區(qū)選擇
喜歡的話題,獲取更多的游戲資訊(只是部分小游戲會難以找到對應(yīng)的話題),而且話題
內(nèi)容的多樣性讓每個(gè)游戲都形成了一個(gè)小的生態(tài)圈特別有意思,里面的視頻還有動圖什么
的都挺有意思的,我有時(shí)候會翻翻游戲資訊,然后再去玩游戲這個(gè)體驗(yàn)也不錯(cuò)。相對原來
簡單的游戲推薦有了更多的選擇,變成了基于興趣的主動選擇游戲、發(fā)現(xiàn)游戲的過程。算
是一種新的游戲推薦方式(突然震驚,我是不是發(fā)現(xiàn)了什么)。
當(dāng)然相對于原先的游戲推薦模式來說,除非有目的,否則的話過程邊長了,但是長期
游戲推薦體驗(yàn)得到了提升,外加_上后續(xù)游戲生態(tài)的加入,整個(gè)過程變得流暢了。
希望后面玩G0會帶來更大的驚喜吧。
上周從零學(xué)習(xí)了golang,語法簡單關(guān)鍵字少,寫個(gè)爬蟲熟悉一下語法結(jié)構(gòu)。
首先選用了原生的net/http包,基本上涵蓋了所有的get/post請求,各種參數(shù)都可以設(shè)置,網(wǎng)上google到html頁面解析goquery神器,很輕松就可以解決頁面解析問題。
首先就寫了個(gè)爬取匯率的爬蟲。然后重寫之前php的一個(gè)請求類,請求類的邏輯有點(diǎn)混亂不清晰,往往把兩個(gè)不同的功能合并到一起寫,粒度大,后來發(fā)現(xiàn)了一個(gè)好用的框架——colly,之后再試試好不好用
Windows 10 Golang
依賴包:goquery
較常用的方法有Find和Each
爬取中國銀行的匯率牌價(jià)表,golang依賴net/http包和goquery包
唯一的難點(diǎn)是對于goquery方法的使用,需要閱讀官方文檔:
使用原生的net/http包基本上可以解決大多數(shù)的網(wǎng)頁請求,使用goquery可以解決頁面解析問題
可以利用golang的協(xié)程特性進(jìn)行異步多協(xié)程爬取
增加安全性可以通過幾個(gè)方面進(jìn)行改進(jìn):
1.首先可以限制爬蟲的爬取速度
2.每次對網(wǎng)頁的請求都隨機(jī)選用一個(gè)客戶端
3.選用IP代理池,防止IP誤封(及限制ip訪問次數(shù))
構(gòu)造請求代理ip網(wǎng)站的鏈接→獲取網(wǎng)頁內(nèi)容→ 提取網(wǎng)頁中IP地址和端口號→驗(yàn)證IP的有效性并存儲
輕量級反爬蟲方案
淺談JSP
golang帶json的Http請求
Get/Post
HTTP請求中的Form Data和Request Payload的區(qū)別
HTTP Json請求
net/http:
golang HTTP操作
python建立爬蟲代理ip池
爬蟲黑科技之讓你的爬蟲程序更像人類用戶的行為
特點(diǎn):事件監(jiān)聽,通過callback執(zhí)行事件處理
基于colly開發(fā)的web管理界面
隨著 PHP 有著越來越深入的了解,以及遇到越來越多的不同業(yè)務(wù)時(shí),使用 PHP 總會讓我有一種莫名的無力感。當(dāng)然,并不是我一個(gè)人在使用 PHP 的時(shí)候遇到了問題。事實(shí)上,每個(gè)略微有一些經(jīng)驗(yàn),接觸過一些需求的人都會有同樣的困惑。各種配合 LAMP(或者LNMP?)架構(gòu)的后端技術(shù)也因此被發(fā)明或被發(fā)現(xiàn),進(jìn)而整合到 PHP 的開發(fā)的技術(shù)體系中。從簡單的 Memcached作為數(shù)據(jù)中轉(zhuǎn),cron 后端定時(shí)處理;到 Gearman、RabbitMQ 這些隊(duì)列神器;最近 Laruence 甚至封裝了利用 libcurl 的異步特性實(shí)現(xiàn)并發(fā) RPC 調(diào)用的 yar 擴(kuò)展。幾乎整個(gè)社區(qū)都在尋找 PHP 的摩西之路。好吧,說了一大堆,回歸主題。之前我寫了一篇英文練筆《Why you PHP guys should learn Golang》,獲得不少國際友人的關(guān)注。排除拼寫和語法被他們詬病外,主要是有許多朋友覺得我沒把事情說清楚。所以這里我用母語重新聊聊這個(gè)事情,只是這些國際友人什么時(shí)候能學(xué)會閱讀中文呢?;)Go 或者 Golang,是由 Google 支持的快速、一致、穩(wěn)定的,有活躍的社區(qū)支持的開源編程語言。越來越多的應(yīng)用選擇使用 Golang 進(jìn)行構(gòu)建。雖然 Rob Pike 說“… 我們希望 C++ 程序員來了解 Go 并作為一個(gè)可選的語言 …”,不過我真得認(rèn)為:PHPer 應(yīng)當(dāng)學(xué)習(xí) Golang! 接下來我們就來談?wù)勗?。容易學(xué)習(xí)PHP 相當(dāng)容易學(xué)習(xí)。Golang 也是!在這點(diǎn)上,一群大老外對我的觀點(diǎn)進(jìn)行了猛烈的抨擊。他們認(rèn)為我羞辱了 PHPer,說得好像只有簡單的東西 PHPer 才能學(xué)會一樣。但是,這難道不是事實(shí)嗎?或者換個(gè)說法:像我一樣的喜歡 PHP 的人,或多或少都會更喜歡簡單的東西。PHP 的語法接近 C 族編程語言(C/C++/Java等等)。如果有這些語言的經(jīng)驗(yàn),在第一次遇到 PHP 的時(shí)候立刻就能開始上手編寫代碼。在我看來,編寫 PHP 代碼或許更加考驗(yàn)程序員的記憶力,而不是智力(當(dāng)你面對各種不同風(fēng)格的函數(shù)定義、各種擴(kuò)展的特殊約定時(shí),你一定會相當(dāng)認(rèn)同我的觀點(diǎn))。Golang 同樣是一個(gè) C 族編程語言。呃,或者有一些不同吧。例如關(guān)鍵字 “for”,功能上和 PHP 的接近,但是沒有括號。條件語句 “if” 同樣無需括號??梢蚤喿x Effective Go 了解更多內(nèi)容。Golang 只有 3025 個(gè)關(guān)鍵字和 47 個(gè)操作符號、分隔符號或其他特殊標(biāo)記。記住這些標(biāo)記確實(shí)不需要什么特別的努力。精巧的類型系統(tǒng)相當(dāng)容易使用。實(shí)用的,具有方法的結(jié)構(gòu)體類型代替了笨重的對象系統(tǒng)。接口的設(shè)計(jì)是 Golang 中我最喜歡的部分。當(dāng)完成了《Go 指南》的學(xué)習(xí)之后,利用 PHP 積累的經(jīng)驗(yàn),立刻就可以開始使用 Golang 處理一些簡單的任務(wù)。容易使用PHP 腳本是由 SAPI 組件進(jìn)行解析執(zhí)行的,如 Web 服務(wù)器模塊、PHP-FPM 或者 CLI。部署 PHP 所需要的全部東西就是一個(gè) SAPI 環(huán)境。配置這個(gè)環(huán)境對于新手來說可能是學(xué)習(xí) PHP 過程中最為困難的部分。所有的 Golang 代碼會編譯和鏈接為本地碼。所以除了編譯環(huán)境,執(zhí)行時(shí)無需再為其進(jìn)行任何特別的部署。對比 PHP 環(huán)境的配置,這要簡單很多。你真得認(rèn)為配置 PHP 環(huán)境很復(fù)雜嗎?我不覺得,真的!而配置 Golang 編譯環(huán)境比那還要簡單點(diǎn)。我確信已經(jīng)有大量的 Golang 相關(guān)的書籍、文章介紹過如何進(jìn)行編譯環(huán)境的配置了。為了更加清晰,我這里梳理一下思路。
有三個(gè)步驟需要處理:下載Golang 的源代碼;根據(jù)《[翻譯]Go 環(huán)境設(shè)置》的提示設(shè)置環(huán)境變量;運(yùn)行源代碼 src 目錄中的 all.bash?;蛘咭徊降轿唬菏褂枚M(jìn)制包進(jìn)行安裝。然后就會得到一個(gè)叫做“go”的工具集合。使用“go”工具和使用 PHP 的 CLI 工具一樣簡單?!禰翻譯]go 工具》對此進(jìn)行了詳細(xì)的解釋。PHP 的迷思如果一個(gè)編程語言容易學(xué)習(xí)和使用,我們是不是就應(yīng)當(dāng)學(xué)習(xí)它呢?有許多容易學(xué)習(xí)和使用的編程語言。難道要把它們都學(xué)一遍?答案是顯然的:NO!但是 呢?只是因?yàn)樗芸幔∈堑?,我在開玩笑,但是這是真的。無論如何先從 PHP 自身談起吧。PHP “原本是為了開發(fā)動態(tài)的 Web 頁面而設(shè)計(jì)的服務(wù)器端通用語言(Wikipedia)”。PHP 一個(gè)重要的特性就是可以嵌入到 HMTL 中。代碼編寫在“?php … ?”標(biāo)簽內(nèi);HTML 寫在標(biāo)簽外。它有一個(gè)強(qiáng)大的擴(kuò)展系統(tǒng)。擴(kuò)展使用 C 調(diào)用 Zend API 編寫。數(shù)據(jù)的處理實(shí)際上要利用這些擴(kuò)展完成。在我看來,PHP 是世界上最好的模板語言。但是當(dāng)積累了一些 PHP 的經(jīng)驗(yàn),并且開始面對一些更加復(fù)雜的 Web 應(yīng)用時(shí),你一定會對 PHP 產(chǎn)生一種無力的感覺。它沒有內(nèi)建的并行機(jī)制,沒有線程、進(jìn)程(你真得認(rèn)為那個(gè)簡陋的進(jìn)程控制可以不加改造的用在高并發(fā)的生產(chǎn)環(huán)境?),或者其他某“程”。一個(gè)慢數(shù)據(jù)源可以阻塞整個(gè)頁面的處理。消息隊(duì)列、緩存、代理……系統(tǒng)開始不僅僅是 PHP 這么單純,還包括了許多服務(wù)和系統(tǒng)組件。這時(shí),PHP 只處理很少的業(yè)務(wù)邏輯,成為真正的模板語言了。PHPer 們總是在尋找解決這一問題的辦法,如“PHP multithread”或者PHP RPC 并發(fā)框架。我很難說哪種會更好一些。不過我肯定你會需要選擇一些編程語言用于后端工作的開發(fā)。就我自己的經(jīng)驗(yàn),我嘗試過 C(一直在和 malloc/free 進(jìn)行搏斗)/Java(陷入到了 jar 地獄中)/Python(從來沒能做到 Pythonic 不說,還總是在錯(cuò)誤的類型中打轉(zhuǎn))……如果想要獲得性能,就得同內(nèi)存管理進(jìn)行搏斗;如果用 GC,就得部署和調(diào)優(yōu) VM;當(dāng)獲得便利性的時(shí)候,同時(shí)也是走在刀尖上,一個(gè)小錯(cuò)誤就引起巨大的災(zāi)難……每個(gè)都有優(yōu)勢,同樣每個(gè)都有問題。好吧!現(xiàn)在回到 Golang!Golang 有 GC,無需關(guān)心內(nèi)存管理(或者可以用較少的精力去關(guān)注它)。代碼被編譯為本地碼,因此“cp”和“mv”就是部署 Golang 編寫的應(yīng)用所需要的全部工具。噢,我剛才已經(jīng)說過了,Golang 是一個(gè)具有靜態(tài)類型系統(tǒng)的編譯語言。所以你沒有機(jī)會弄亂變量的類型。當(dāng)然,PHPer 應(yīng)該學(xué)習(xí) Golang 的一個(gè)重要原因是“轉(zhuǎn)到Go 是因?yàn)樗麄儾⑽捶艞壧嗟谋磉_(dá)能力,但是獲得了性能,并且與并發(fā)共舞(Rob Pike)”?!禬hy Not Go?(英文)》對此進(jìn)行了深入的分析。我可以分享一些我的經(jīng)驗(yàn):有一個(gè) Gearman 的worker 用于處理后端數(shù)據(jù)。PHP 通過其 API 連接到 Gearman 的 Job Server 向 worker 發(fā)起請求。最初 worker 是使用 python 編寫的(還有更加原始的版本,PHP 的,但是你能想像它工作起來……唉,不說了……)。這個(gè)版本有許多的問題(是我們自己的問題,不關(guān) Python 的事),但是至少它能工作。后來用 Golang 重寫了這個(gè) worker。為此我開發(fā)了 Golang 的 Gearman API,并使用 Zend API 編寫了一個(gè)在 Golang 中執(zhí)行 PHP 腳本的包。然后將它們放在一起:一個(gè)可以執(zhí)行 PHP 的 Gearman worker。它已經(jīng)工作了一段時(shí)間了,看起來還不錯(cuò)!哦,受到 Yar 的啟發(fā),這里還有一個(gè) Golang 編寫的 RPC 合并器,用來合并 PHP 腳本中的 RPC 調(diào)用?,F(xiàn)在還是個(gè)玩具,不過或許日后能用得著。這其實(shí)是將 Golang 的 channel 當(dāng)作消息隊(duì)列來用。我在《Golang:有趣的 channel 應(yīng)用》中對此有一些說明。世界真美好啊。謝謝 Golang!無論如何,大多數(shù) PHPer 在進(jìn)行后端開發(fā)的時(shí)候都會需要學(xué)習(xí)一些其他語言。如果你正在尋找,或者已經(jīng)嘗試了一些其他語言。為什么不來試試 Golang?它真得可以讓你的生活更加輕松和快樂。讓你可以有更多的時(shí)間陪伴你的家人和朋友,吃你愛吃的東西,去你想去的地方。貌似我還是沒說清楚???好吧,沒關(guān)系,在下個(gè)月的中國軟件開發(fā)者大會上再跟大家就這個(gè)話題做一個(gè)探討吧。
Chocolatey 是一款Windows環(huán)境下的包管理工具。其依賴于微軟旗下的Nuget項(xiàng)目及其核心,可以將其視為Windows的apt-get。
推薦使用win8/win10操作系統(tǒng)。
以管理員身份運(yùn)行CMD,執(zhí)行以下腳本:
如果你習(xí)慣用PowerShell.exe,也可以使用管理員身份運(yùn)行PowerShell后執(zhí)行:
舉個(gè)栗子,你如果想安裝7Zip,你可以在命令行輸入:
就會自動安裝這個(gè)壓縮軟件。
安裝go語言,輸入:
安裝Visual Studio 2013 Ultimate這個(gè)巨無霸也是可以的:
軟件列表,可以在Chocolatey的軟件索引查到。
Chocolatey在命令行里的命令是 choco ,具體的命令如下:
其中的 choco install 可以簡化為 cinst
理想是美好的,然后現(xiàn)實(shí)里那無所不在的墻會讓你崩潰,所以我們要使用一個(gè)私有源來解決這個(gè)尷尬的問題。
首先我們來看一下默認(rèn)的源:
可以看到系統(tǒng)中只有一個(gè)官方的源,注意一下其中的Priority,來看看官方怎么解釋的。
我們要的目的是加一個(gè)seuic內(nèi)部源,并且讓我們的源優(yōu)先級高于官方源,let's go!好奇寶寶難道不問下為什么要內(nèi)部源優(yōu)先?這里主要是要解決choco安裝依賴的問題。舉栗子:比如安裝android-sdk依賴jdk8,指定android-sdk在內(nèi)部源查找,但是依賴的jdk8則會按照優(yōu)先級挨個(gè)源去找。
讓我們來檢查一下吧。
可以用下面的命令來看看我們seuic源上的東西:
cmder是windows下替代cmd的神器,多說無益,一用就知道。安裝完后win+R輸入cmder即可使用。
androidstudio依賴android-sdk和jdk8,android-sdk依賴jdk8。choco安裝時(shí)會自動安裝依賴,所以三件套都裝的話只要cinst androidstudio -y -s"seuic"即可。這些東西不是要翻墻就是要去oracle網(wǎng)站死磕,現(xiàn)在只要一行命令輕松搞定。
vagrant更適合給開發(fā)大爺們創(chuàng)造一個(gè)統(tǒng)一的開發(fā)、測試、接近于完全隔離的環(huán)境,以及提高對高配機(jī)的閑置利用。docker更方便地解決了同一機(jī)器上的環(huán)境隔離,以及提高運(yùn)維鍋們解決部署時(shí)環(huán)境依賴的效率。
這個(gè)就非常多了,下面我以常見的編程開發(fā)軟件和數(shù)據(jù)庫管理軟件為例,簡單介紹幾種,感興趣的朋友可以嘗試一下:
01 編程開發(fā)軟件
這個(gè)要看具體編程語言了,不同語言開發(fā)工具自然不同,這里以常見的C/C++、Java和Python為例,簡單介紹3種比較常用的軟件:
這是Windows平臺下一個(gè)非常專業(yè)的集成開發(fā)工具,號稱宇宙第一IDE環(huán)境,不僅僅只是C/C++,常見的C#、VB等編程語言,這個(gè)軟件都能很好支持,智能補(bǔ)全、代碼高亮、語法檢查等功能非常不錯(cuò),除此之外,還支持單元測試、代碼重構(gòu)和分析等高級功能,因此非常適合大型項(xiàng)目開發(fā)和維護(hù):
這是一個(gè)非常專業(yè)智能的Java開發(fā)工具,在企業(yè)和個(gè)人桌面中,有著非常高的使用率和歡迎度,自動補(bǔ)全、語法提示、代碼高亮等功能非常不錯(cuò),除此之外,還支持JUnit、CVS整合、代碼重構(gòu)等高級功能,自帶有Maven和Gradle構(gòu)建工具,因此更適合Java項(xiàng)目開發(fā)和維護(hù),個(gè)人使用起來非常不錯(cuò):
這是一個(gè)非常專業(yè)的Python開發(fā)軟件,和IntelliJ IDEA一樣,Jetbrains公司的產(chǎn)品,在業(yè)界非常流行、受歡迎,智能補(bǔ)全、代碼高亮、語法提示等功能非常不錯(cuò),除此之外,還支持代碼重構(gòu)和分析、單元測試等高級功能,因此更適合大型項(xiàng)目,個(gè)人使用來說,也非常簡單,很容易上手和掌握:
02 數(shù)據(jù)庫管理軟件
這個(gè)就非常多了,不同數(shù)據(jù)庫都有專門的管理軟件和工具,這里簡單介紹3個(gè)比較通用的數(shù)據(jù)庫管理軟件,分別是HeidiSQL、DBeaver和DataGrip,對于日常使用來說,非常不錯(cuò):
這是Windows平臺下一個(gè)非常輕巧靈活的數(shù)據(jù)庫管理軟件,基于Delphi開發(fā)而來,目前支持MySQL、MariaDB、MSSQL、PostgreSQL等主流數(shù)據(jù)庫,常見的建庫建表、視圖索引、觸發(fā)器等基本功能,這個(gè)軟件都能很好兼容,除此之外,還支持SQL腳本導(dǎo)入導(dǎo)出、數(shù)據(jù)備份恢復(fù)等功能,對于日常數(shù)據(jù)庫管理來說,非常不錯(cuò):
這是一個(gè)基于Java開發(fā)的數(shù)據(jù)庫管理軟件,免費(fèi)、開源、跨平臺,目前支持Oracle、MySQL、PostgreSQL、SQL Server等十幾種主流數(shù)據(jù)庫開發(fā),建庫建表、視圖索引、觸發(fā)器、存儲過程等基本功能 都 可輕松查看和設(shè)計(jì),數(shù)據(jù)庫導(dǎo)入導(dǎo)出、數(shù)據(jù) 恢復(fù) 備份等功能也都非常不錯(cuò),對于日常數(shù)據(jù)庫管理和維護(hù)來說,是一個(gè)非常不錯(cuò)的工具:
這也是一個(gè)通用的數(shù)據(jù)庫管理軟件,Jetbrains公司的產(chǎn)品,支持跨平臺,但原則上針對個(gè)人不免費(fèi),常見的PostgreSQL、MySQL、Oracle等數(shù)據(jù)庫,這個(gè)軟件都能很好支持, 數(shù)據(jù)導(dǎo)入導(dǎo)出( 恢復(fù)備份 )、 智能代碼填充、版本 集成 控制等功能非常不錯(cuò),對于日常數(shù)據(jù)庫管理來說,也是一個(gè)不錯(cuò)的工具:
每天常用開發(fā)工具:
0.Git:分布式版本控制系統(tǒng);
1.IntelliJ IDEA:java語言開發(fā)的集成環(huán)境,IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具之一;
2.Sublime Text:不只是代碼編輯器;
3.Postman:Http請求模擬工具和功能強(qiáng)大的網(wǎng)頁調(diào)試工具;
4.DataGrip:支持幾乎所有主流的關(guān)系數(shù)據(jù)庫、多功能的數(shù)據(jù)庫操作工具;
5.Vagrant:用于創(chuàng)建和部署虛擬化開發(fā)環(huán)境,配合虛擬機(jī)使用;
6.Gradle:自動化構(gòu)建工具;
7.JIRA:項(xiàng)目與事務(wù)跟蹤工具;
8.iTerm2:Mac上的終端工具;
9.Jenkins:持續(xù)集成工具。
做了一個(gè)寫代碼用了十幾年的人,很多編程的習(xí)慣已經(jīng)養(yǎng)成了,現(xiàn)在就羅列下每天必用的軟件:
直接安裝的linux系統(tǒng),因?yàn)閹缀跛械拇a都是在linux下完成
java開發(fā)環(huán)境
C/C++代碼編輯工具
linux下虛擬windows系統(tǒng)virtualBox
軟件提交工具git
不同的開發(fā)語言,每天要用到的軟件可能不一樣。
我是開發(fā)java web的,電腦安裝了很多工具,但是說每天要用到的好像就幾個(gè)。
作為程序員使用最多的軟件,莫過于編程開發(fā)所用到的軟件編輯器,但是編輯器的種類有很多。我們需要做到的是,找到你最喜歡的編輯器然后熟練的使用它。
同時(shí)掌握常見的一些快捷鍵的操作方式,從而來提升我們的工作效率,而不是以軟件而論軟件,什么都去接觸使用。畢竟軟件是工具是幫助我們提升開發(fā)效率。
下面我就列舉我們PHP經(jīng)常使用的軟件
IDE工具類軟件
這一類是開發(fā)軟件編寫代碼用的。這一類的軟件非常多,我就推薦一個(gè)經(jīng)常使用的PHPStorm,因?yàn)樘嗟脑挻蠹乙灿貌坏?,也沒有那么多的精力去熟練每一個(gè)編輯器。
PHPStorm是 JetBrains 公司開發(fā)的一款商業(yè)的 PHP 集成開發(fā)工具,旨在提高用戶效率,可深刻理解用戶的編碼,提供智能代碼補(bǔ)全,快速導(dǎo)航以及即時(shí)錯(cuò)誤檢查??梢哉f是PHP開發(fā)程序員必備的神器。
常用快捷鍵如下:
1.復(fù)制快捷方式
F5 復(fù)制文件/文件夾
CTRL+C 復(fù)制
CTRL+V 粘貼
CTRL+X 剪 切,刪除行
CTRL+D 復(fù)制行
CTRL+SHIFT+V 可以復(fù)制多個(gè)文本
2.自動代碼
ALT+回車 導(dǎo)入包,自動修正
CTRL+ALT+L 格式化代
碼CTRL+ALT+I 自動縮進(jìn)
CTRL+ALT+O 優(yōu)化導(dǎo)入的類和包
CTRL+SHIFT+SPACE 切換窗口
CTRL+SPACE空格 代碼自動完成,代碼提示,一般與輸入法沖突
CTRL+ALT+SPACE 類 名或接口名提示(與系統(tǒng)沖突)
CTRL+P 方法參數(shù)提示,顯示默認(rèn)參數(shù)
CTRL+J 自動代碼提示,自動補(bǔ)全
CTRL+ALT+T 把選中的代碼放在 TRY{} IF{} ELSE{} 里ALT+INSERT 生成代碼(如GET,SET方法,構(gòu)造函數(shù)等)
3.運(yùn)行
Alt + Shift + F10 選擇的配置和運(yùn)行
Alt + Shift + F9 選擇配置和調(diào)試
Shift + F10 運(yùn)行
Shift + F9調(diào)試
Ctrl + Shift + F10運(yùn)行范圍內(nèi)配置編輯器
Ctrl + Shift + X運(yùn)行命令行
4.其他快捷方式
CTRL+Z 倒退(代碼后悔)
CTRL+SHIFT+Z 向前
CTRL+H 顯 示類結(jié)構(gòu)圖
Ctrl +F12 文件結(jié)構(gòu)彈出
CTRL+O 魔術(shù)方法
CTRL+/ 注釋//取消注釋
CTRL+SHIFT+/ 注釋/*...*/
ctrl + '.': 折疊選中的代碼的代碼
ALT+ / 切換代碼視圖,標(biāo)簽切換
5.其他快捷方式
CTRL+Z 倒退(代碼后悔)
CTRL+SHIFT+Z 向前
CTRL+H 顯 示類結(jié)構(gòu)圖
Ctrl +F12 文件結(jié)構(gòu)彈出
CTRL+O 魔術(shù)方法CTRL+/ 注釋//取消注釋
CTRL+SHIFT+/ 注釋/*...*/
ctrl + '.': 折疊選中的代碼的代碼
ALT+ / 切換代碼視圖,
數(shù)據(jù)庫相關(guān)常用的工具
Navicat for MySQL是管理數(shù)據(jù)庫的操作工具,都是可以連接遠(yuǎn)程的云數(shù)據(jù)庫。方便簡化開發(fā),還可以手動備份、可視化的sql分析。
常用快捷鍵:
ctrl+q 打開查詢窗口
ctrl+/ 注釋sql語句
ctrl+shift +/ 解除注釋
ctrl+r 運(yùn)行查詢窗口的sql語句
ctrl+shift+r 只運(yùn)行選中的sql語句
F6 打開一個(gè)mysql命令行窗口
ctrl+d (1):查看表結(jié)構(gòu)詳情,包括索引 觸發(fā)器,存儲過程,外鍵,唯一鍵;(2):復(fù)制一行
ctrl+l 刪除一行
ctrl+n 打開一個(gè)新的查詢窗口
ctrl+w 關(guān)閉一個(gè)查詢窗口
ctrl+tab 多窗口切換
服務(wù)器連接軟件
XShell6是非常強(qiáng)大的SSH遠(yuǎn)程終端客戶端,幫助我們連接遠(yuǎn)程的Linux服務(wù)器來進(jìn)行操作。
粘貼:Shift+Insert
歷史 命令編輯ctrl + p 返回上一次輸入命令字符
alt + 返回上一次執(zhí)行命令
其它
ctrl + s 鎖住終端
ctrl + q 解鎖終端
ctrl + l 清屏相當(dāng)于命令clear
Tab鍵,快速補(bǔ)全命令
輕量級文本編輯器
Notepad++。這個(gè)很輕量,打開一下文本非常的方便。
常用快捷鍵
Ctrl+C 復(fù)制
Ctrl+X 剪切
Ctrl+V 粘貼
Ctrl+Z 撤消
Ctrl+Y 恢復(fù)
Ctrl+A 全選
Ctrl+F 鍵查找對話框啟動
Ctrl+H 查找/替換對話框
Ctrl+D 復(fù)制并粘貼當(dāng)行
Ctrl+F2 切換書簽
F2 轉(zhuǎn)到下一個(gè)書簽Shift+F2 轉(zhuǎn)到上一個(gè)書簽
F11 全屏模式
綜上所述,軟件只是一個(gè)工具,我們需要找到自己喜歡使用的,然后熟練一些常用的快捷方式即可,而并不是在于數(shù)量多。
前端 :
visual studio code
后端:
pycharm
IDEA
安卓:
android studio
瀏覽器:
谷歌
火狐
數(shù)據(jù)庫管理:
navicat
遠(yuǎn)端鏈接:
fileZilla
xshell
electerm(mac上使用)
流程圖設(shè)計(jì):
xmind
processOn
筆記:
為知筆記(付費(fèi)一年60)
有道云筆記
虛擬機(jī)(容器)
VMware Fusion(mac上)
docker
其他:
postman
jmeter
作為一個(gè)12年開發(fā)經(jīng)驗(yàn)的前端程序員,我來聊聊每天必用的幾個(gè)軟件。
寫代碼自然離不開 編輯器 。目前我主要使用的是微軟的 Visual Studio Code 。VS Code比較輕量,功能足夠應(yīng)付日常開發(fā)所需,跨平臺,而且完全免費(fèi) 。因?yàn)橹伴L期使用Visual Studio在Windows平臺上做開發(fā),后來技術(shù)棧變化,經(jīng)常需要在Linux和MacOS上做開發(fā),VS Code就成了我順理成章的選擇。后來干脆在Windows上也用VS Code了。目前整個(gè)團(tuán)隊(duì)都已經(jīng)被VS Code圈粉了。其它類似的如Sublime Text(需要付費(fèi))和Atom也有不少人使用。
因?yàn)槭菆F(tuán)隊(duì)開發(fā), 源代碼管理工具 自然必不可少,而 git 是目前最熱門的一個(gè)。我們公司也不例外,幾年前從Perforce遷移到了 GitHub企業(yè)版 (和公眾版本UI完全相同)。平時(shí)的代碼審查也都是在GitHub企業(yè)版上完成的,不再使用單獨(dú)的代碼審查工具。有些不習(xí)慣使用命令行方式的同事使用 SourceTree 完成日常的代碼分支管理和提交,而我則比較熱衷于命令行方式。VS Code也提供了比較完善的git集成,但因?yàn)榱?xí)慣的原因,除了直觀比較不同代碼版本的差異,我一般也不用VS Code執(zhí)行g(shù)it操作。
作為一個(gè)Web前端, 瀏覽器及前端調(diào)試工具 自然不可或缺, Google Chrome + Developer Tools (F12) 自然是首選。使用Developer Tools,可以對JavaScript進(jìn)行調(diào)試,監(jiān)控HTTP請求/響應(yīng),分析CSS計(jì)算問題和JS性能問題。 Chrome下還有很多功能強(qiáng)大的插件,個(gè)人比較常用的包括React Developer Tools、PostMan、Proxy SwitchOmega和AdBlock。當(dāng)然,因?yàn)榻?jīng)常面對瀏覽器兼容性問題,F(xiàn)irefox、IE、Edge、Apple Safari以及各自的Developer Tools都是免不了要用的。
團(tuán)隊(duì)目前使用Scrum模型,自然需要一個(gè)做 任務(wù)規(guī)劃和質(zhì)量管理 的工具。我們采用了 JIRA , 每天的站會(daily standup meeting)都會對scrum看板(board)進(jìn)行更新。
遇到技術(shù)問題,自然免不了要上網(wǎng)查找資料。 Google 的使用頻率非常高(需要科學(xué)上網(wǎng))。大部分問題都能在 StackOveflow 上找到線索,但有時(shí)候也不得不跑到大名鼎鼎的同性交友網(wǎng)站 GitHub 上看源碼。 MDN (Mozilla Developer Network)對于前端開發(fā)也是不可或缺(此處鄙視一下w3cschool,上面到處是錯(cuò)誤知識)。
其它如node.js/npm、docker等,因?yàn)楹途唧w的技術(shù)棧相關(guān),就不具體展開講了。
作為一個(gè)開發(fā)人員,你每天使用什么軟件呢,歡迎說說看。
盡管我是后端出身的,不過也經(jīng)常寫前端代碼,甚至還用C#/C++參與過一些客戶端開發(fā),自認(rèn)為也算是一個(gè)Web全棧工程師。隨著前端技術(shù)的不斷進(jìn)步,現(xiàn)在的前端已經(jīng)不再是寫寫頁面這么簡單了,很多邏輯在前端就寫了,我建議每一個(gè)出色的開發(fā)者應(yīng)該盡可能對前后端都能有不錯(cuò)的掌握。
今天給大家推薦一些我認(rèn)為前端和后端開發(fā)都需要經(jīng)常用到的一些軟件,這里面包括了查詢資料工具、原型工具、文本編輯器、版本管理工具。
原型工具
不管前端還是后端,尤其是前端程序員,在跟產(chǎn)品經(jīng)歷溝通之后肯定會要查看原型的,方便自己在開發(fā)過程中使用,基本上大公司輸出的原型都比較規(guī)范,除非你遇到張小龍這種級別的大神,哥們兒直接盯著你做了。
目前主流的原型工具主要有Axure、MockPlus、墨刀等,其中Axure依然是應(yīng)用最為廣泛的原型工具,大多數(shù)開發(fā)者也都應(yīng)該用來看原型。
文本編輯器
不管是前端還是后端程序員,當(dāng)然前端程序員就不說了,在WebStorm出現(xiàn)之前,沒有一款真正可以叫做IDE的前端開發(fā)工具,那么基本上文本編輯器就是前端程序員最重要的編程工具。同樣后端程序員即使不需要寫前端代碼,文本編輯器也是必備的,您不需要每次看代碼都打開龐大的集成開發(fā)環(huán)境,像IDEA這種比較耗費(fèi)資源的,平時(shí)查看代碼啥的完全沒有必要,何況你還經(jīng)常要看一些前端代碼。
當(dāng)然你比較習(xí)慣Linux/Unix下開發(fā),Emacs/Vim可能是你用得比較多的文本編輯器,還有UltraEdit、Sublime Text、EditPlus、Atom這些老牌的文本編輯器,不過現(xiàn)在我覺得每個(gè)程序員都應(yīng)該下載一個(gè)Visual Studio Code,支持的語言比較多,而且插件非常豐富,是微軟官方支持的開發(fā)者工具,開源免費(fèi)而且顏值非常高。
查詢資料、版本管理工具
不用多說,每個(gè)程序員都要學(xué)會很好的使用Google、Stack Overflow兩個(gè)工具,可以說你日常開發(fā)當(dāng)中可能遇到的問題,通過這兩個(gè)工具你全都能找到解決方案。
另外一個(gè)是Dash文檔管理工具,Dash是一個(gè)非常好的開發(fā)者幫助文檔工具,這個(gè)工具的好處是給所有的開發(fā)文檔做了一個(gè)整合,C/C++、Java、PHP、Python、Latex、Emacs Lisp、Haskell、JavaScript、Go語言等文檔都能夠在這個(gè)工具當(dāng)中下載使用。
最后一個(gè)就是版本管理了,SVN和Git依然是目前使用最為廣泛的版本管理工具,不過就使用來說我還是推薦Git版本控制系統(tǒng),可以說這個(gè)時(shí)代Git就是最好的版本管理工具了,尤其是開源時(shí)代、互聯(lián)網(wǎng)時(shí)代,Git已經(jīng)成為了最重要的版本管理工具,不管是命令行管理還是使用Github等客戶端工具,堪稱完美。
入行十一年,現(xiàn)在主要做一些管理和架構(gòu)方面的工作,也會做一些Coding,主要是一些新技術(shù)的研究和“踩坑”。
編輯器
首先是EditPlus,這是一個(gè)文本編輯器。最常用的兩個(gè)功能:正則表達(dá)式查詢和文件夾內(nèi)所有文件內(nèi)容搜索。
平時(shí)經(jīng)常需要看一些系統(tǒng)日志,甚至要從好幾天幾十個(gè)日志文件中找到內(nèi)容,這個(gè)軟件很好用。(原諒我們沒有上日志平臺)
然后就是IDE啦,我還是喜歡用Eclipse,有時(shí)候會用STS(Spring Tool Suite),它也是一個(gè)被包裝過的Eclipse,方便做一些Spring框架的研究。
數(shù)據(jù)庫工具
一個(gè)是DbVisualizer,凡是具有JDBC數(shù)據(jù)庫接口的數(shù)據(jù)庫都可以管理,什么數(shù)據(jù)庫都能連。
還有一個(gè)是SQLyog,這是一個(gè)快速而簡潔的圖形化管理MYSQL數(shù)據(jù)庫的工具,我只用里面一個(gè)功能,就是數(shù)據(jù)的導(dǎo)入導(dǎo)出,效率非常高!
接口測試工具
大部分項(xiàng)目只對外提供接口服務(wù),所以接口測試工具少不了,我一般使用SoapUI,WebService/Rest都可以進(jìn)行測試。
其他
每天肯定會用的肯定不止上面幾個(gè),還有版本控制工具svn和git,都會用到是因?yàn)閱挝籹vn現(xiàn)在開始往git遷移。
因?yàn)橛玫腟crum敏捷開發(fā)流程,所以JIRA、Sonar、Fisheye這些也是都會用到的。
Maven也不用說了,幾個(gè)項(xiàng)目基本都是基于Maven構(gòu)建的。
必用的基本就是這些,只要電腦開著,這幾個(gè)軟件基本都是打開狀態(tài)。
匯總下關(guān)于安全的幾款必備工具:
Burp Suite 是用于攻擊web 應(yīng)用程序的集成平臺,http協(xié)議分析神器,里面包括了不少安全必備的功能,重放、爆破、掃描并且支持自定義腳本,實(shí)現(xiàn)自己想要的功能。Burp Suite為這些工具設(shè)計(jì)了許多接口,以加快攻擊應(yīng)用程序的過程。所有工具都共享一個(gè)請求,并能處理對應(yīng)的HTTP 消息、持久性、認(rèn)證、代理、日志、警報(bào)。
工具下載地址:
工具運(yùn)行需要Java環(huán)境,請自行安裝。
Nmap,也就是Network Mapper,最早是Linux下的網(wǎng)絡(luò)掃描和嗅探工具包,掃描網(wǎng)絡(luò)情況和端口開放情況,也可以加載nmap內(nèi)置的poc腳本發(fā)現(xiàn)安全漏洞
官網(wǎng):
nmap是一個(gè)網(wǎng)絡(luò)連接端掃描軟件,用來掃描網(wǎng)上電腦開放的網(wǎng)絡(luò)連接端。確定哪些服務(wù)運(yùn)行在哪些連接端,并且推斷計(jì)算機(jī)運(yùn)行哪個(gè)操作系統(tǒng)(這是亦稱 fingerprinting)。它是網(wǎng)絡(luò)管理員必用的軟件之一,以及用以評估網(wǎng)絡(luò)系統(tǒng)安全。
正如大多數(shù)被用于網(wǎng)絡(luò)安全的工具,nmap 也是不少黑客及駭客(又稱腳本小子)愛用的工具 。系統(tǒng)管理員可以利用nmap來探測工作環(huán)境中未經(jīng)批準(zhǔn)使用的服務(wù)器,但是黑客會利用nmap來搜集目標(biāo)電腦的網(wǎng)絡(luò)設(shè)定,從而計(jì)劃攻擊的方法。
Nmap 常被跟評估系統(tǒng)漏洞軟件Nessus 混為一談。Nmap 以隱秘的手法,避開闖入檢測系統(tǒng)的監(jiān)視,并盡可能不影響目標(biāo)系統(tǒng)的日常操作。
這個(gè)主要是利用sql注入漏洞的工具,可以自定義掃描規(guī)則和方式,若是通讀源碼之后對sql注入會有相當(dāng)深的理解
官網(wǎng):
這個(gè)是域名爆破工具,owasp開發(fā)的,該工具采用Go語言開發(fā),它可以通過遍歷等形式爬取數(shù)據(jù)源和Web文檔,或利用IP地址來搜索相關(guān)的網(wǎng)塊和ASN,并利用所有收集到的信息來構(gòu)建目標(biāo)網(wǎng)絡(luò)拓?fù)?。速度和發(fā)現(xiàn)都相當(dāng)不錯(cuò)。
項(xiàng)目地址:
官網(wǎng)
ubuntu下安裝命令如下:
Masscan,是 robertdavidgraham 在 Github 上開源的端口掃描工具。
Masscan 性能優(yōu)越,極限速度可以從單機(jī)每秒發(fā)送1000萬個(gè)數(shù)據(jù)包。Masscan 使用了與另一個(gè)著名的掃描工具 —— nmap 類似的命令行參數(shù),方便進(jìn)行上手使用。
Masscan 針對 TCP 端口進(jìn)行掃描,使用 SYN 掃描的方式,不建立一個(gè)完全的 TCP 連接,而是首先發(fā)送一個(gè) SYN 數(shù)據(jù)包到目標(biāo)端口,然后等待接收。如果接收到 SYN-ACK 包,則說明該端口是開放的,此時(shí)發(fā)送一個(gè) RST 結(jié)束建立過程即可;否則,若目標(biāo)返回 RST,則端口不開放。 這個(gè)用來發(fā)現(xiàn)大規(guī)模網(wǎng)絡(luò)下存活的ip和端口還是不錯(cuò),配合nmap發(fā)現(xiàn)服務(wù)可快速掃描網(wǎng)絡(luò)
項(xiàng)目代碼位于
安裝 Masscan 可以從源碼進(jìn)行編譯,在 Debian/Ubuntu 平臺上,使用命令:
編譯得到的二進(jìn)制程序位于子文件夾 masscan/bin。由于代碼中包含了大量的小文件,可以開啟多線程模式進(jìn)行編譯:
Wireshark(前稱Ethereal)是一個(gè)網(wǎng)絡(luò)封包分析軟件。網(wǎng)絡(luò)封包分析軟件的功能是截取網(wǎng)絡(luò)封包,并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)封包資料。Wireshark使用WinPCAP作為接口,直接與網(wǎng)卡進(jìn)行數(shù)據(jù)報(bào)文交換。
下載地址
7、metasploit
Metasploit是一款開源的安全漏洞檢測工具,可以幫助安全和IT專業(yè)人士識別安全性問題,驗(yàn)證漏洞的緩解措施,并管理專家驅(qū)動的安全性進(jìn)行評估,提供真正的安全風(fēng)險(xiǎn)情報(bào)。這些功能包括智能開發(fā),代碼審計(jì),Web應(yīng)用程序掃描, 社會 工程。團(tuán)隊(duì)合作,在Metasploit和綜合報(bào)告提出了他們的發(fā)現(xiàn)。
下載地址
Cobalt Strike是一款基于java的滲透測試神器,常被業(yè)界人稱為CS神器。自3.0以后已經(jīng)不在使用Metasploit框架而作為一個(gè)獨(dú)立的平臺使用,分為客戶端與服務(wù)端,服務(wù)端是一個(gè),客戶端可以有多個(gè),非常適合團(tuán)隊(duì)協(xié)同作戰(zhàn),多個(gè)攻擊者可以同時(shí)連接到一個(gè)團(tuán)隊(duì)服務(wù)器上,共享攻擊資源與目標(biāo)信息和sessions,可模擬APT做模擬對抗,進(jìn)行內(nèi)網(wǎng)滲透。
Cobalt Strike集成了端口轉(zhuǎn)發(fā)、服務(wù)掃描,自動化溢出,多模式端口監(jiān)聽,win exe木馬生成,win dll木馬生成,java木馬生成,office宏病毒生成,木馬捆綁;釣魚攻擊包括:站點(diǎn)克隆,目標(biāo)信息獲取,java執(zhí)行,瀏覽器自動攻擊等等。
mimikatz可以從內(nèi)存中提取明文密碼、哈希、PIN 碼和 kerberos 票證。 mimikatz 還可以執(zhí)行哈希傳遞、票證傳遞或構(gòu)建黃金票證。
下載地址
這個(gè)是內(nèi)網(wǎng)端口轉(zhuǎn)發(fā)工具,對于無法出網(wǎng)的端口相當(dāng)好用。有Windows版和Linux版兩個(gè)版本,Windows版是lcx.exe,Linux版為portmap。
lcx有兩大功能:
代理隧道工具,可以讓工具走隧道進(jìn)入內(nèi)網(wǎng)環(huán)境,配合msf中的代理相當(dāng)好用
github地址
1.建立文件夾proxychains,并進(jìn)入下載
2.解壓縮
3.進(jìn)入解壓縮后的目錄進(jìn)行安裝
4.配置環(huán)境變量 打開文件.bashrc
將下面一段話考入該文件
使改變生效
有管理員權(quán)限 直接執(zhí)行以下命令
netcat被譽(yù)為網(wǎng)絡(luò)安全界的‘瑞士軍刀’,命令用于設(shè)置路由器。 一個(gè)簡單而有用的工具,透過使用TCP或UDP協(xié)議的網(wǎng)絡(luò)連接去讀寫數(shù)據(jù)。它被設(shè)計(jì)成一個(gè)穩(wěn)定的后門工具,能夠直接由其它程序和腳本輕松驅(qū)動。同時(shí),它也是一個(gè)功能強(qiáng)大的網(wǎng)絡(luò)調(diào)試和探測工具,能夠建立你需要的幾乎所有類型的網(wǎng)絡(luò)連接,還有幾個(gè)很有意思的內(nèi)置功能(詳情請看下面的使用方法)。
【沒有找到該工具logo,隨便找一個(gè)湊數(shù)】
中國蟻劍是一款開源的跨平臺網(wǎng)站管理工具,它主要面向于合法授權(quán)的滲透測試安全人員以及進(jìn)行常規(guī)操作的網(wǎng)站管理員。
通俗的講:中國蟻劍是 一 款比菜刀還牛的shell控制端軟件。
唯一官方github下載地址:
嫌棄一個(gè)個(gè)下載麻煩的同學(xué)有福了, 一口君已經(jīng)下載,并存放在網(wǎng)盤里,
后臺回復(fù): 安全工具 即可下載
文章題目:go語言定時(shí)神器 go 定時(shí)器
網(wǎng)站網(wǎng)址:http://jinyejixie.com/article30/dosdgpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、面包屑導(dǎo)航、網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、全網(wǎng)營銷推廣、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)