偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

老曹眼中的開發(fā)學習環(huán)境

開發(fā) 開發(fā)工具
Mac OS是類Unix操作系統(tǒng),并且POSIX compliant,這意味著大量針對Linux編寫的程序可以在OS X直接編譯。也就是說,Mac下寫C、C++的系統(tǒng)程序一般情況下也可以直接移植到Linux下運行。

 [[177589]]

“工其事必先利其器”,對于一個全棧而言,一個與自己匹配的開發(fā)和學習環(huán)境,能夠極大地提高個人的工作效率,很多時候都可以做到事半而功倍。環(huán)境也是一個外延很廣的概念,這里我所涉及的包括硬件環(huán)境,集成開發(fā)環(huán)境與工具,數(shù)據庫環(huán)境,操作系統(tǒng)環(huán)境,溝通工具和個人筆記本。

硬件環(huán)境

MacBook Pro 是硬件環(huán)境的不二之選。

[[177590]]

筆記本電腦,至少要有i5 CPU、8G以上內存,SSD之類的,硬盤也最好在256G以上,在這樣的要求下,MacBook無疑是很好的選擇,和MacBook達到相同配置、具有相同續(xù)航水平的其它筆記本電腦基本都在和MacBook一樣的價位。但考慮到MacBook的工業(yè)設計水平,MacBook確實成了合適的選擇。

做iOS開發(fā),那mac更是必須的。盡管xcode沒有vs好用,但是搞iOS開發(fā),默認就得用它,不要談什么黑蘋果,那是得不償失的事。

更重要的是,Mac OS是類Unix操作系統(tǒng),并且POSIX compliant,這意味著大量針對Linux編寫的程序可以在OS X直接編譯。也就是說,Mac下寫C、C++的系統(tǒng)程序一般情況下也可以直接移植到Linux下運行。在類Unix操作系統(tǒng)里,只有gcc和clang可以選擇,Linux選擇的是gcc,OS X和FreeBSD選擇的是clang。gcc的好處是在Linux下有最好的兼容性,系統(tǒng)內核、系統(tǒng)的library都是gcc編譯的。clang相比gcc的優(yōu)勢大概就是編譯速度,和對標準支持的速度。clang的編譯速度是比gcc要快一些的,而且通常給出的錯誤信息更友好一些。在標準的支持方面,gcc 4.9才完全支持C++11標準(regex的bug到4.9才修正),而clang 3.3就已經完全支持C++11標準,clang 3.4已經完全支持C++14標準。gcc相比于clang也有一個優(yōu)勢,在有些情況下gcc的優(yōu)化器比clang更好。

除了Unix哲學,如果看youtube上的各類技術分享,常見到的也是mac,記得前幾年Hacker News上有個問卷,黑客們都用的什么操作系統(tǒng),mac OS X 是排第一位的,甚至超越了linux 操作系統(tǒng)為用戶提供編程環(huán)境。

總之,Mac比Linux更舒服的界面,比Windows更簡潔的環(huán)境。

工具與IDE

Mac 上自帶了很多工具,使開發(fā)和學習更加便捷。比如自帶Git,可以直接從Terminal啟動Git服務。最好會使用命令行操作,如果實在不習慣的話,SourceTree 應該是目前比較好用的Git圖形化界面了。Mac 自帶了Vi和Emacs,自帶Apache服務器,配置wordpress做自己的博客是分分鐘的事情。Mac 還自帶了對Python、PHP等語言的支持,macport和homebrew 對應用的安裝下載也很方便。

XCode

Xcode 是運行在操作系統(tǒng)Mac OS X上的集成開發(fā)工具(IDE),由蘋果公司開發(fā)。Xcode是開發(fā)OS X 和 iOS 應用程序的最快捷的方式。Xcode 具有統(tǒng)一的用戶界面設計,編碼、測試、調試都在一個簡單的窗口內完成。

Xcode 8能夠方便創(chuàng)建漂亮的iPhone、iPad、Mac、Apple Watch和Apple TV 應用程序,是更快的一個IDE版本,使用編輯器擴展可以完全定制化自我的編碼經驗。新的運行時可以提醒隱藏的bug并部分指出內存泄漏,這都是蠻不錯的。

Eclipse

Eclipse 是一個開源的基于Java的可擴展開發(fā)平臺,本身只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。Eclipse 附帶了一個標準的插件集,包括Java開發(fā)工具等。

Eclipse 是個通用的集成開發(fā)環(huán)境,是應用開發(fā)的必備免費工具。不僅是java,通過插件形式可以行程各種開發(fā)語言的IDE,例如PyDev 用于Python開發(fā)的,ADT 支持Android 開發(fā),遺憾的是,近來google停止了對ADT的支持。

Android Studio

Android Studio 是一個Android集成開發(fā)工具,基于IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發(fā)工具用于開發(fā)和調試。

Android Studio基于Gradle的構建方式與ADT有著較大的不同,編譯和運行的速度都有了明顯的改善,是android 領域的XCode。

sublime Text

對于腳本話語言來說,尤其是Javascript,sublime 作為輕量級IDE還是不錯的。Sublime Text 支持多種編程語言的語法高亮、擁有優(yōu)秀的代碼自動完成功能,還擁有代碼片段的功能,可以將常用的代碼片段保存起來,在需要時隨時調用。

Sublime 支持 VIM 模式,可以使用Vim模式下的多數(shù)命令。支持宏,播放錄制的操作或者命令。

數(shù)據庫

數(shù)據庫是全棧必須掌握的技能,數(shù)據庫的種類很多,除了關系型數(shù)據庫之外,還有各種的NoSQL, 擁有一個本地的數(shù)據庫環(huán)境,可以更方便地開發(fā)調試。

MySQL

MySQL 最流行的關系型數(shù)據庫管理系統(tǒng),在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關系數(shù)據庫管理系統(tǒng)) 應用軟件之一。 MySQL所使用的 SQL 語言是用于訪問數(shù)據庫的最常用標準化語言。MySQL 軟件采用了雙授權政策,它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發(fā)都選擇 MySQL 作為網站數(shù)據庫。

MySQL也有mac客戶端---Sequel Pro ,可以輕松的進行MySQL的各種操作,關鍵還是免費的,有意思的是,可以通過一層SSH隧道進行MySQL的連接。

Redis

Redis 是一個高性能的key-value數(shù)據庫。 redis的出現(xiàn),很大程度補償了memcached這類key/value存儲的不足,在部 分場合可以對關系數(shù)據庫起到很好的補充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便。

在Mac環(huán)境中,使用 sudo brew install redis 命令可以一鍵安裝Redis。

MongoDB

MongoDB是一個基于分布式文件存儲的數(shù)據庫。由C++語言編寫,可以為WEB應用提供可擴展的高性能數(shù)據存儲解決方案。MongoDB 是NoSQL當中功能最豐富,最像關系數(shù)據庫的。他支持的數(shù)據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數(shù)據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現(xiàn)類似關系數(shù)據庫單表查詢的絕大部分功能,而且還支持對數(shù)據建立索引。

在Mac環(huán)境中,使用 sudo brew install mongodb命令可以一鍵安裝mongodb。

另外,Mac自帶了SQLite數(shù)據庫,是一款輕型的數(shù)據庫,是遵守ACID的關系型數(shù)據庫管理系統(tǒng),它包含在一個相對小的C庫中。它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了,在iOS和Android 開發(fā)時是必備的選項。

多環(huán)境與多系統(tǒng)

對于多環(huán)境和多操作系統(tǒng)而言,不建議多分區(qū)的方式,用虛擬機比較好。VirtualBox號稱是最強的免費虛擬機軟件,它不僅具有豐富的特色,而且性能也很優(yōu)異!它簡單易用,可虛擬的系統(tǒng)包括Windows系列、Mac OS X、Linux、OpenBSD、Solaris、IBM OS2甚至Android等操作系統(tǒng)。

可以方便地在VirtualBox上安裝并且運行上述的這些操作系統(tǒng),與同性質的VMware相比,VirtualBox獨到之處包括遠端桌面協(xié)定(RDP)、iSCSI及USB的支持,VirtualBox在客戶端操作系統(tǒng)上已可以支持USB 2.0的硬件裝置了。

溝通與網絡

溝通與協(xié)作是必須的,微信和QQ成了首選的工具,Mac上都有對應的客戶端。

對于團隊溝通而言,Trello 是個不錯的云服務,國內的worktile 也很贊,其它的工具就因人而異了。近年來比較火爆的slack,最看好的是它web hook 特性,是工具化中的一種趨勢。

對于上網查看資料而言,chrome 和mac 自帶的safari 都很好。對開發(fā)者而言,更喜歡google,如果自己不購買VPN的話,lantern 就是一個無奈的選擇了。

email 更是必備,有了VPN, gmail就可以作為一個郵件服務的候選。

國內的郵件服務商,163郵箱非常不錯,當然QQ郵箱也是勉強可用的。

隨手筆記

“好記性不如爛筆頭”,不論是網絡上的知識,還是自己的感悟都最好紀錄下來,Evernote 是我的最愛。

[[177602]]

EverNote界面類似于微軟的OneNote,以超強的內容捕捉,實時搜索,標簽分類,支持大數(shù)據庫,圖像內文字的識別和手寫圖形的識別而著稱。EverNote支持多終端同步,可以隨時隨地訪問自己的筆記,使在地鐵上梳理心得變成了一段快樂的時光。

紀錄的內容多了,就需要使用云盤,百度云盤不錯。但是如果服務商關了服務,導出的成本還是蠻高的,360云盤的關閉估計倒霉了一批人。保險起見,還是要有自己的大型移動硬盤作為備份工具。

通過隨手筆記和云盤等存儲,逐步整理的所學所用,就可以初步形成自己的知識體系,完成個人的知識管理了。開發(fā)學習環(huán)境中還包括很多的工具集, 以后再逐一補充吧。

【本文來自51CTO專欄作者老曹的原創(chuàng)文章,作者微信公眾號:喔家ArchiSelf,id:wrieless-com】

責任編輯:武曉燕 來源: 喔家ArchiSelf
相關推薦

2016-12-19 09:43:59

軟件開發(fā)架構

2016-12-01 14:16:18

GitSCM配置

2016-12-01 15:03:36

緩存技術客戶端

2016-12-01 14:47:05

負載均衡DNS

2016-12-02 08:55:18

Linux系統(tǒng)

2017-05-18 14:11:22

CRM圖解交付

2016-12-02 08:54:18

Lambda代碼云計算

2017-02-05 16:51:35

網絡編程網絡系統(tǒng)

2016-12-02 09:09:18

MySQL調優(yōu)數(shù)據庫

2016-12-06 20:01:56

數(shù)據架構數(shù)據機器學習

2024-01-15 15:11:03

物聯(lián)網5G數(shù)字孿生

2018-10-17 22:01:06

2017-09-18 08:21:42

碼農AI人工智能

2016-12-08 15:52:09

互聯(lián)網數(shù)據計算

2017-03-27 08:45:47

全棧技術管理

2017-04-17 08:44:43

構造函數(shù)線程安全

2018-01-16 15:02:20

存儲RAIDSAN

2018-01-09 15:35:54

Python編程基礎

2012-03-09 09:45:50

2009-05-12 09:35:40

移動MoblinAndroid
點贊
收藏

51CTO技術棧公眾號