ä½çºä¸å網絡æè¡éç¼è ï¼ä½ æ¯å¦æ¾å¥½å¥éå°éç¼ç°å¢é·ç§»è³ macOS ææ¯ææ¨£çé«é©ï¼é·ä¹ 以ä¾ï¼Linux è Windows ä¼¼ä¹å æäºæåå¨ç«¯è客æ¶ç«¯éç¼ççµå°ä¸»æµï¼è macOSï¼é款éè¡å¨èæç¡¬ä»¶ä¸çåªé æä½ç³»çµ±ï¼å ¶è網絡æè¡éç¼çâç¸æ§âç©¶ç«å¦ä½ï¼æ¬æ¬¡ç¾æ¸¬ï¼æåå°æ·±å ¥æ¢è¨ macOS å¨ç¶²çµ¡ç·¨ç¨ãåè°åæãDevOps å·¥å ·éåäºåçéç¼çå ´æ¯ä¸ç實é表ç¾ï¼çºä½ æç¤ºå®è½å¦æçºä½ æä¸é«æä¸ææ çéç¼å©å¨ã
ä¸ã éç®±å³ç¨ç Unix å §æ ¸è強大çµç«¯
macOS çå §æ ¸ Darwin åºäº Unixï¼BSDï¼ï¼éçºç¶²çµ¡éç¼è 帶ä¾äºå 天åªå¢ã系統é è£äºåè½å¼·å¤§ççµç«¯ï¼Terminalï¼ä»¥åä¸å¥å®æ´ç Unix å·¥å ·éï¼å¦ bash/zsh, grep, sed, awk, curl, wget çï¼ãéæå³èï¼å¤§éç Linux æåå¨ç«¯è ³æ¬åå½ä»¤å¯ä»¥ç´æ¥æç¨ä½ä¿®æ¹åéè¡ï¼å¸ç¿èé·ç§»ææ¬é¡¯èä½äº Windowsãå°äºéè¦é »ç¹èé ç¨ Linux æåå¨äº¤äºã編寫èªååè ³æ¬çéç¼è èè¨ï¼é種åççä¸è´æ§ç¡çæ¯å·¨å¤§ççç¢åå æã
äºã å 管çå¨ç鏿ï¼Homebrew ççæ ç¹æ¦®
å¦æèªª Unix åºç¤æ¯åºç³ï¼é£ä¹å
管çå¨å°±æ¯æ§å»ºéç¼ç°å¢çè
³ææ¶ãHomebrew ä½çº macOS ä¸äºå¯¦æ¨æºçå
管çå¨ï¼å
¶çæ
已極çºç¹æ¦®ãç¡è«æ¯ç¶²çµ¡èª¿è©¦å¿
åç tcpdumpãnmapãnetcatï¼éæ¯ç¾ä»£éç¼é¢ä¸éç dockerãkubectlãterraformãansibleï¼äº¦ææ¯å種編ç¨èªè¨ç°å¢ï¼PythonãGoãNode.jsï¼ï¼å¹¾ä¹é½è½ééä¸å¥ brew install è¼æ¾æå®ãå
¶ç°¡æ½çè¨è¨åæ´»èºç社åï¼è®ä¾è³´ç®¡çåç°å¢é
ç½®è®å¾é«æèåªé
ã
ä¸ã 網絡調試èåè°åæå·¥å ·
- åå½¢åå©å¨ï¼Wiresharkï¼macOS å¹³èºææåè½å®æ´ç Wiresharkï¼é å系統æ¬éï¼å¯ä»¥æ¹ä¾¿å°é²è¡æ¬å°å網絡æ¥å£çæ¸æå æç²è深度åæï¼æ¯ææ¥ç¶²çµ¡åè°åé¡çå¿ åå·¥å ·ã
- å½ä»¤è¡ä¼ä¼´ï¼å
§ç½®ç¶²çµ¡å·¥å
·ï¼é¤äºéç¨ç Unix å·¥å
·ï¼macOS éæä¾äºä¸äºç¨æç強大å½ä»¤ï¼å¦
netstatãrouteãifconfigï¼æ°ççºnetworksetupåifconfigçµåï¼ç¨äºç¶²çµ¡é ç½®åçæ æ¥çï¼scutilç¨äºç®¡çå診æ·ç³»çµ±ç¶²çµ¡é ç½®ï¼å°¤å ¶å¨èçå¤ç¶²çµ¡ç°å¢åæåç¼ç¾ï¼å¦ Bonjourï¼æé常æç¨ã - API æ¸¬è©¦èæ¨¡æ¬ï¼
curlç宿´æ¯æèªä¸å¿ 說ï¼å°äº RESTful API æ GraphQL çæ¸¬è©¦ï¼çµååå½¢åå·¥å ·å¦ Postmanï¼åçæ¯æï¼æå½ä»¤è¡å·¥å ·å¦httpieï¼éé Homebrew å®è£ï¼ï¼è½å½¢ææµæ¢ç工使µã
åã 容å¨åèäºåçéç¼é«é©
鿝 macOS è¿å¹´ä¾èååªåçé åã
- Docker Desktop for Macï¼æä¾äºç¡ç¸«ç容å¨éè¡é«é©ãå®ééè¼éç´èæ¬æ©å¨ macOS ä¸éè¡ Linux 容å¨ï¼å°äºéç¼ã測試åºäº Docker å Kubernetes çæç¨é常å好ãæä»¶æè¼ã網絡æ å°ã端å£è½ç¼çæä½ç´è§æç¨ï¼å¹¾ä¹æè¦ºä¸å°å®¿ä¸»ç³»çµ±è Linux 容å¨çéé¡ã
- Kubernetes éæï¼Docker Desktop å
§ç½®äºå®æ©ç Kubernetes é群ï¼ä¸éµåç¨ï¼ä¾¿äºæ¬å°é²è¡å¾®æåç·¨æå測試ãå°äºéè¦é »ç¹èäºä¸ K8s é群交äºçéç¼è
ï¼
kubectlé åkubeconfig管çå¤åä¸ä¸æä¹ååé æ¢ã - äºæåå CLI å·¥å ·ï¼AWS CLIãAzure CLIãGoogle Cloud SDK çåæä¾ macOS åçæ¯ææéé Homebrew å®è£ï¼é ååèªå¼·å¤§çåè½ï¼ç®¡çäºç«¯ç¶²çµ¡è³æºï¼VPCãè² è¼åè¡¡å¨ãå®å ¨çµçï¼å¦å卿¬å°æä½ã
äºã éæéç¼ç°å¢ï¼IDEï¼è編輯å¨
ç¡è«æ¯åè½å ¨é¢ç JetBrains å ¨å®¶æ¡¶ï¼å¦ GoLandãIntelliJ IDEAãPyCharmï¼ï¼éæ¯è¼é強大ç Visual Studio Codeï¼é½çº macOS æä¾äºæ·±åº¦åªåç䏿µçæ¬ãå®åè系統çå¤é»è§¸æ§æ¿ãå ¨å±å¿«æ·éµãåå±åè½ï¼Mission Controlï¼çµåï¼è½å¸¶ä¾è¡äºæµæ°´è¬ç編碼åçªå£ç®¡çé«é©ãå°äº Vim/NeoVim æ Emacs çç¡¬æ ¸ç¨æ¶ï¼çµç«¯ä¸çé ç½®è使ç¨é«é©ä¹è Linux é«åº¦ä¸è´ã
å ã å¯è½éå°çææ°èèé
æ²æå®ç¾ç系統ï¼macOS å¨ç¶²çµ¡éç¼ä¸ä¹æä¸äºéè¦æ³¨æçå°æ¹ï¼
- æä»¶ç³»çµ±å·®ç°ï¼macOS é»èªä½¿ç¨ APFSï¼ä¸åå大å°å¯«ï¼ï¼è Linux æåå¨é常使ç¨åå大å°å¯«çæä»¶ç³»çµ±ï¼å¦ ext4ï¼ãéå¨é¨ç½²é ç®æå¯è½å°è´æ½å¨åé¡ï¼éå¨éç¼æ©ææ³¨æãDocker 容å¨å §é¨é常æ¯åå大å°å¯«çï¼å¯ä»¥é¨åç·©è§£æ¤åé¡ã
- æäºç¹å®å·¥å ·çå ¼å®¹æ§ï¼æ¥µå°æ¸çº Linux 深度å®å¶çåºå±¤ç¶²çµ¡å·¥å ·æå §æ ¸æ¨¡å¡å¯è½ç¡æ³ç´æ¥éè¡ãä½å¾çäºæ´»èºçéæºç¤¾åå Homebrewï¼å¹¾ä¹ç¸½è½æ¾å°æ¿ä»£æ¹æ¡æç·¨è¯æ¹æ³ã
- ç¡¬ä»¶èææ¬ï¼èæç¡¬ä»¶é叏广 ¼è¼é«ï¼ä¸åç´èªç±åº¦æéï¼å¦å §åçæ»ï¼ãéå°äºéè¦å¤§å §åé²è¡å¾©éèæ¬åææ¬å°é群模æ¬çå ´æ¯å¯è½æ§æéå¶ã
###
macOS æåå ¶ç©©åºç Unix åºç¤ã強大ç Homebrew çæ ãåªç§ç硬件è系統æ´å度ï¼çºç¶²çµ¡æè¡éç¼è æä¾äºä¸åæ¥µå ·å¸å¼åç鏿ãå®å¨æ¥å¸¸éç¼ã調試ã容å¨å工使µä¸å±ç¾åºçæµæ¢è髿ï¼å°¤å ¶é©åé£äºåææ³¨ééç¼æçãç³»çµ±ç©©å®æ§èç¨æ¶é«é©çå·¥ç¨å¸«ãå®æè¨±ä¸æ¯éè¡æçµçç¢æåå¨ç鏿ï¼ä½ä½çºéç¼æ©ï¼å ¶âç¸æ§âä¹ä½³ï¼è¶³ä»¥è®ä½ å¨å試éä»½âæ°å£å³âåï¼å¯è½åä¹ä¸æ¿é¢éãå¦æä½ æ£å°æ±ä¸åè½è®ä½ æ´å°æ³¨äºä»£ç¢¼é輯èéç°å¢æé¨°çç²¾è´å¹³èºï¼macOS çµå°å¼å¾ä½ æ·±å ¥ä¸è©¦ã