面试官:断网了,还能 ping 通 127.0.0.1 吗?
mall瀛︿範鏁欑▼瀹樼綉锛歮acrozheng.com
鍙兘鐪嬪埌鏍囬锛屼綘灏辩煡閬撶瓟妗堜簡锛屼絾鏄綘浜嗚В鑳屽悗鐨勫師鍥犲悧锛熼偅濡傛灉鎶
127.0.0.1
鎹㈡垚 0.0.0.0
鎴 localhost
浼氭庝箞鏍峰憿锛熶綘鐭ラ亾杩欏嚑涓IP
鏈変粈涔堝尯鍒悧锛浠ュ墠闈㈣瘯鐨勬椂鍊欏氨閬囧埌杩囪繖涓棶棰橈紝澶у鐪嬩釜鍔ㄥ浘浜嗚В涓嬮潰璇曞畼鍜屾垜褰撴椂鐨勫満鏅紝姹傚綋鏃跺皬鐧界殑蹇冮噷闃村奖闈㈢Н銆
璇濅笉澶氳锛屾垜浠洿鎺ュ紑杞︺
鎷旀帀缃戠嚎锛屾柇缃戙
鐒跺悗鍦ㄦ帶鍒跺彴杈撳叆
ping 127.0.0.1
銆$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.080 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.093 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.074 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.079 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.079 ms
^C
--- 127.0.0.1 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.074/0.081/0.093/0.006 ms
璇存槑锛屾嫈浜嗙綉绾匡紝
ping 127.0.0.1
鏄兘ping閫氱殑銆鍏跺疄杩欑瘒鏂囩珷鐪嬪埌杩欓噷锛屾爣棰樺墠鍗婁釜闂宸茬粡琚洖绛斾簡銆備絾鏄垜浠彲浠ュ啀鎯虫繁涓鐐广
涓轰粈涔堟柇缃戜簡杩樿兘
ping
閫 127.0.0.1
鍛紵杩欒兘璇存槑浣犱笉鐢ㄤ氦缃戣垂灏辫兘涓婄綉鍚楋紵
涓嶈兘銆
棣栧厛鎴戜滑闇瑕佽繘鍏ュ熀纭绉戞櫘鐜妭銆
涓嶆噦鐨勫悓瀛︾湅浜嗗氨鎳備簡锛屾噦鐨勭湅浜嗗氨褰撴煡婕忚ˉ缂哄惂銆
杩欐垨璁告槸涓涓浣犳湁鐢ㄧ殑寮婧愰」鐩紝mall椤圭洰鏄竴濂楀熀浜 SpringBoot + Vue + uni-app 瀹炵幇鐨勭數鍟嗙郴缁燂紙Github鏍囨槦60K锛夛紝閲囩敤Docker瀹瑰櫒鍖栭儴缃诧紝鍚庣鏀寔澶氭ā鍧楀拰寰湇鍔℃灦鏋勩傚寘鎷墠鍙板晢鍩庨」鐩拰鍚庡彴绠$悊绯荤粺锛岃兘鏀寔瀹屾暣鐨勮鍗曟祦绋嬶紒娑电洊鍟嗗搧銆佽鍗曘佽喘鐗╄溅銆佹潈闄愩佷紭鎯犲埜銆佷細鍛樸佹敮浠樼瓑鍔熻兘锛
- Boot椤圭洰锛歨ttps://github.com/macrozheng/mall
- Cloud椤圭洰锛歨ttps://github.com/macrozheng/mall-swarm
- 瑙嗛鏁欑▼锛歨ttps://www.macrozheng.com/video/
椤圭洰婕旂ず锛
浠涔堟槸127.0.0.1
棣栧厛锛岃繖鏄釜
IPV4
鍦板潃銆IPV4
鍦板潃鏈 32
浣嶏紝涓涓瓧鑺傛湁 8
浣嶏紝鍏 4
涓瓧鑺傘鍏朵腑127 寮澶寸殑閮藉睘浜庡洖鐜湴鍧锛屼篃鏄
IPV4
鐨勭壒娈婂湴鍧锛屾病浠涔堥亾鐞嗭紝灏辨槸浜轰负瑙勫畾鐨勩鑰
127.0.0.1
鏄紬澶氬洖鐜湴鍧涓殑涓涓備箣鎵浠ヤ笉鏄 127.0.0.2
锛岃屾槸 127.0.0.1
锛屾槸鍥犱负婧愮爜閲屽氨鏄繖涔堝畾涔夌殑锛屼篃娌′粈涔堥亾鐞嗐/* Address to loopback in software to local host. */
#define INADDR_LOOPBACK 0x7f000001 /* 127.0.0.1 */
IPv4
鐨勫湴鍧鏄 32
浣嶇殑锛2鐨32娆℃柟锛屽ぇ姒傛槸40+浜
銆傚湴鐞冨厜浜哄彛灏76浜夸簡锛40浜縄P杩欑偣閲忥紝濉炵墮缂濋兘涓嶅锛屽疄闄呬笂IP涔熺‘瀹炵敤瀹屼簡銆鎵浠ュ氨鏈変簡
IPV6
锛 IPv6
鐨勫湴鍧鏄 128
浣嶇殑锛屽ぇ姒傛槸2鐨128娆℃柟鈮10鐨38娆℃柟銆傛嵁璇村湴鐞冪殑娌欏瓙鏁伴噺澶ф鏄 10鐨23娆℃柟锛屾墍浠PV6鐨処P鍙互璁や负鐢ㄤ笉瀹屻IPV4浠8浣嶄竴缁勶紝姣忕粍涔嬮棿鐢 . 鍙烽殧寮銆
IPV6灏变互16浣嶄负涓缁勶紝姣忕粍涔嬮棿鐢 : 鍙烽殧寮銆傚鏋滃叏鏄0锛岄偅涔堝彲浠ョ渷鐣ヤ笉鍐欍
鍦↖PV4涓嬬殑鍥炵幆鍦板潃鏄
127.0.0.1
锛屽湪IPV6
涓嬶紝琛ㄨ揪涓 ::1
銆備腑闂存妸杩炵画鐨0缁欑渷鐣ヤ簡锛屼箣鎵浠ヤ笉鏄7涓 鍐掑彿锛岃屾槸2涓啋鍙: 锛 鏄洜涓轰竴涓 IPV6 鍦板潃涓彧鍏佽鍑虹幇饧娆′袱涓繛缁殑鍐掑彿銆
澶氳涓鍙ワ細鍦↖PV4涓嬬敤鐨勬槸 ping 127.0.0.1 鍛戒护銆傚湪IPV6涓嬬敤鐨勬槸 ping6 ::1 鍛戒护銆
浠涔堟槸 ping
ping 鏄簲鐢ㄥ眰鍛戒护锛屽彲浠ョ悊瑙d负瀹冭窡娓告垙鎴栬呰亰澶╄蒋浠跺睘浜庡悓涓灞傘傚彧涓嶈繃鑱婂ぉ杞欢鍙互鏀跺彂娑堟伅锛岃繕鑳界偣涓禐浠涔堢殑锛屾湁寰堝澶嶆潅鐨勫姛鑳姐傝 ping 浣滀负涓涓皬杞欢锛屽畠鐨勫姛鑳芥瘮杈冪畝鍗曪紝灏辨槸灏濊瘯鍙戦佷竴涓皬灏忕殑娑堟伅鍒扮洰鏍囨満鍣ㄤ笂锛屽垽鏂洰鐨勬満鍣ㄦ槸鍚﹀彲杈撅紝鍏跺疄涔熷氨鏄垽鏂洰鏍囨満鍣ㄧ綉缁滄槸鍚﹁兘杩為氥
ping搴旂敤鐨勫簳灞傦紝鐢ㄧ殑鏄綉缁滃眰鐨処CMP鍗忚銆
铏界劧ICMP鍗忚鍜孖P鍗忚閮藉睘浜庣綉缁滃眰鍗忚锛屼絾鍏跺疄ICMP涔熸槸鍒╃敤浜咺P鍗忚杩涜娑堟伅鐨勪紶杈撱
鎵浠ワ紝澶у鍦ㄨ繖閲屽畬鍏ㄥ彲浠ョ畝鍗曠殑鐞嗚В涓 ping 鏌愪釜IP 灏辨槸寰鏌愪釜IP鍦板潃鍙戜釜娑堟伅銆
TCP鍙戞暟鎹拰ping鐨勫尯鍒
涓鑸儏鍐典笅锛屾垜浠細浣跨敤 TCP 杩涜缃戠粶鏁版嵁浼犺緭锛岄偅涔堟垜浠彲浠ョ湅涓嬪畠鍜 ping 鐨勫尯鍒
ping鍜屽叾浠栧簲鐢ㄥ眰杞欢閮藉睘浜庡簲鐢ㄥ眰銆
閭d箞鎴戜滑妯悜瀵规瘮涓涓嬶紝姣旀柟璇磋亰澶╄蒋浠讹紝濡傛灉鐢ㄧ殑鏄疶CP鐨勬柟寮忓幓鍙戦佹秷鎭
涓轰簡鍙戦佹秷鎭紝閭e氨寰楀厛鐭ラ亾寰鍝彂銆俵inux閲屼竾鐗╃殕鏂囦欢锛岄偅浣犺鍙戞秷鎭殑鐩殑鍦帮紝涔熸槸涓枃浠讹紝杩欓噷灏卞紩鍑轰簡socket 鐨勬蹇点
瑕佷娇鐢
socket
, 閭d箞棣栧厛闇瑕佸垱寤哄畠銆鍦 TCP 浼犺緭涓垱寤虹殑鏂瑰紡鏄
socket(AF_INET, SOCK_STREAM, 0);
锛屽叾涓 AF_INET
琛ㄧず灏嗕娇鐢 IPV4 閲 host:port 鐨勬柟寮忓幓瑙f瀽寰呬細浣犺緭鍏ョ殑缃戠粶鍦板潃銆SOCK_STREAM
鏄寚浣跨敤闈㈠悜瀛楄妭娴佺殑 TCP 鍗忚锛屽伐浣滃湪浼犺緭灞傘鍒涘缓濂戒簡
socket
涔嬪悗锛屽氨鍙互鎰夊揩鐨勬妸瑕佷紶杈撶殑鏁版嵁鍐欏埌杩欎釜鏂囦欢閲屻傝皟鐢 socket 鐨sendto
鎺ュ彛鐨勮繃绋嬩腑杩涚▼浼氫粠鐢ㄦ埛鎬佽繘鍏ュ埌鍐呮牳鎬侊紝鏈鍚庝細璋冪敤鍒 sock_sendmsg
鏂规硶銆鐒跺悗杩涘叆浼犺緭灞傦紝甯︿笂
TCP
澶淬傜綉缁滃眰甯︿笂IP
澶达紝鏁版嵁閾捐矾灞傚甫涓 MAC
澶寸瓑涓绯诲垪鎿嶄綔鍚庛傝繘鍏ョ綉鍗$殑鍙戦侀槦鍒 ring buffer 锛岄『鐫缃戝崱灏卞彂鍑哄幓浜嗐鍥炲埌
ping
锛 鏁翠釜杩囩▼涔熷熀鏈窡 TCP
鍙戞暟鎹被浼硷紝宸紓鐨勫湴鏂逛富瑕佸湪浜庯紝鍒涘缓 socket
鐨勬椂鍊欑敤鐨勬槸 socket(AF_INET,SOCK_RAW,IPPROTO_ICMP)
锛SOCK_RAW
鏄師濮嬪鎺ュ瓧 锛屽伐浣滃湪缃戠粶灞傦紝 鎵浠ユ瀯寤ICMP
锛堢綉缁滃眰鍗忚锛夌殑鏁版嵁锛屾槸鍐嶅悎閫備笉杩囦簡銆俻ing 鍦ㄨ繘鍏ュ唴鏍告佸悗鏈鍚庝篃鏄皟鐢ㄧ殑 sock_sendmsg
鏂规硶锛岃繘鍏ュ埌缃戠粶灞傚悗鍔犱笂ICMP鍜孖P澶村悗锛屾暟鎹摼璺眰鍔犱笂MAC澶达紝涔熸槸椤虹潃缃戝崱鍙戝嚭銆傚洜姝 鏈川涓妏ing 璺 鏅氬簲鐢ㄥ彂娑堟伅 鍦ㄧ▼搴忔祦绋嬩笂娌″お澶у樊鍒杩欎篃瑙i噴浜**涓轰粈涔堝綋浣犲彂鐜版鐤戠綉缁滄湁闂鐨勬椂鍊欙紝鍒汉绗竴鏃堕棿鏄棶浣犺兘ping閫氬悧锛**鍥犱负鍙互绠鍗曠悊瑙d负ping灏辨槸鑷繁缁勪簡涓暟鎹寘锛岃绯荤粺鎸夌潃鍏朵粬杞欢鍙戦佹暟鎹殑璺緞寰澶栧彂涓閬嶏紝鑳介氱殑璇濊鏄庡叾浠栬蒋浠跺彂鐨勬暟鎹篃鑳介氥
涓轰粈涔堟柇缃戜簡杩樿兘 ping 閫 127.0.0.1
鍓嶉潰鎻愬埌锛屾湁缃戠殑鎯呭喌涓嬶紝ping 鏈鍚庢槸閫氳繃缃戝崱灏嗘暟鎹彂閫佸嚭鍘荤殑銆
閭d箞鏂綉鐨勬儏鍐典笅锛岀綉鍗″凡缁忎笉宸ヤ綔浜嗭紝ping 鍥炵幆鍦板潃鍗翠竴鍒囨甯革紝鎴戜滑鍙互鐪嬩笅杩欑鎯呭喌涓嬬殑宸ヤ綔鍘熺悊銆
浠庡簲鐢ㄥ眰鍒颁紶杈撳眰鍐嶅埌缃戠粶灞傘傝繖娈佃矾寰勮窡ping澶栫綉鐨勬椂鍊欐槸鍑犱箮鏄竴鏍风殑銆傚埌浜嗙綉缁滃眰锛岀郴缁熶細鏍规嵁鐩殑IP锛屽湪璺敱琛ㄤ腑鑾峰彇瀵瑰簲鐨勮矾鐢变俊鎭紝鑰岃繖鍏朵腑灏卞寘鍚夋嫨鍝釜缃戝崱鎶婃秷鎭彂鍑恒
褰撳彂鐜扮洰鏍嘔P鏄缃慖P鏃讹紝浼氫粠"鐪熺綉鍗"鍙戝嚭銆
褰撳彂鐜扮洰鏍嘔P鏄洖鐜湴鍧鏃讹紝灏变細閫夋嫨鏈湴缃戝崱銆
鏈湴缃戝崱锛屽叾瀹炲氨鏄釜"鍋囩綉鍗"锛屽畠涓嶅儚"鐪熺綉鍗"閭f牱鏈変釜
ring buffer
浠涔堢殑锛"鍋囩綉鍗"浼氭妸鏁版嵁鎺ㄥ埌涓涓彨 input_pkt_queue
鐨 閾捐〃 涓傝繖涓摼琛紝鍏跺疄鏄墍鏈夌綉鍗″叡浜殑锛屼笂闈㈡寕鐫鍙戠粰鏈満鐨勫悇绉嶆秷鎭傛秷鎭鍙戦佸埌杩欎釜閾捐〃鍚庯紝浼氬啀瑙﹀彂涓涓蒋涓柇銆涓撻棬澶勭悊杞腑鏂殑宸ュ叿浜"ksoftirqd" 锛堣繖鏄釜鍐呮牳绾跨▼锛夛紝瀹冨湪鏀跺埌杞腑鏂悗灏变細绔嬮┈鍘婚摼琛ㄩ噷鎶婃秷鎭彇鍑猴紝鐒跺悗椤虹潃鏁版嵁閾捐矾灞傘佺綉缁滃眰绛夊眰灞傚線涓婁紶閫掓渶鍚庣粰鍒板簲鐢ㄧ▼搴忋
ping 鍥炵幆鍦板潃鍜岄氳繃TCP绛夊悇绉嶅崗璁彂閫佹暟鎹埌鍥炵幆鍦板潃閮芥槸璧拌繖鏉¤矾寰勩傛暣鏉¤矾寰勪粠鍙戝埌鏀讹紝閮芥病鏈夌粡杩"鐪熺綉鍗"銆備箣鎵浠127.0.0.1鍙湰鍦板洖鐜湴鍧锛屽彲浠ョ悊瑙d负锛屾秷鎭彂鍑哄埌杩欎釜鍦板潃涓婄殑璇濓紝灏变笉浼氬嚭缃戠粶锛屽湪鏈満鎵撲釜杞氨鍙堝洖鏉ヤ簡銆傛墍浠ユ柇缃戯紝渚濈劧鑳
ping
閫 127.0.0.1
銆ping鍥炵幆鍦板潃鍜宲ing鏈満鍦板潃鏈変粈涔堝尯鍒
鎴戜滑鍦╩ac閲屾墽琛
ifconfig
銆$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
...
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.31.6 netmask 0xffffff00 broadcast 192.168.31.255
...
鑳界湅鍒 lo0锛岃〃绀烘湰鍦板洖鐜帴鍙o紝瀵瑰簲鐨勫湴鍧锛屽氨鏄垜浠墠闈㈡彁鍒扮殑 127.0.0.1 锛屼篃灏辨槸鍥炵幆鍦板潃銆
鍜 eth0锛岃〃绀烘湰鏈虹涓鍧楃綉鍗★紝瀵瑰簲鐨処P鍦板潃鏄192.168.31.6锛岀瀹冨彨鏈満IP銆
涔嬪墠涓鐩磋涓簆ing鏈満IP鐨勮瘽浼氶氳繃"鐪熺綉鍗"鍑哄幓锛岀劧鍚庨亣鍒扮涓涓矾鐢卞櫒锛屽啀鍙戝洖鏉ュ埌鏈満銆
涓轰簡楠岃瘉杩欎釜璇存硶锛屽彲浠ヨ繘琛屾姄鍖咃紝浣嗙粨鏋滆窡涓婇潰鐨勮娉曞苟涓嶇浉鍚屻
鍙互鐪嬪埌 ping 鏈満IP 璺 ping 鍥炵幆鍦板潃涓鏍凤紝鐩稿叧鐨勭綉缁滄暟鎹紝閮芥槸璧扮殑 lo0锛屾湰鍦板洖鐜帴鍙o紝涔熷氨鏄墠闈㈡彁鍒扮殑"鍋囩綉鍗"銆
鍙璧颁簡鏈湴鍥炵幆鎺ュ彛锛岄偅鏁版嵁閮戒笉浼氬彂閫佸埌缃戠粶涓紝鍦ㄦ湰鏈虹綉缁滃崗璁爤涓厹涓鍦堬紝灏卞彂鍥炴潵浜嗐傚洜姝 ping鍥炵幆鍦板潃鍜宲ing鏈満鍦板潃娌℃湁鍖哄埆銆
127.0.0.1 鍜 localhost 浠ュ強 0.0.0.0 鏈夊尯鍒悧
鍥炲埌鏂囩珷寮澶村姩鍥鹃噷鐨勬彁闂紝绠楁槸闈㈣瘯鍏偂鏂囬噷鐨勮佸父瀹簡銆
浠ュ墠绗竴娆$敤
nginx
鐨勬椂鍊欙紝鍙戠幇鐢ㄨ繖鍑犱釜 IP
锛岄兘鑳芥甯歌闂埌 nginx
鐨勬杩庣綉椤点備竴搴﹁涓鸿繖鍑犱釜 IP
閮芥槸涓鏍风殑銆浣嗘湰璐ㄤ笂杩樻槸鏈変簺鍖哄埆鐨勩
棣栧厛
localhost
灏变笉鍙 IP
锛屽畠鏄竴涓煙鍚嶏紝灏辫窡 "baidu.com"
,鏄竴涓舰寮忕殑涓滆タ锛屽彧涓嶈繃榛樿浼氭妸瀹冭В鏋愪负 127.0.0.1
锛屽綋鐒惰繖鍙互鍦 /etc/hosts
鏂囦欢涓嬭繘琛屼慨鏀广鎵浠ラ粯璁ゆ儏鍐典笅锛屼娇鐢
localhost
璺熶娇鐢 127.0.0.1
纭疄鏄病鍖哄埆鐨勩鍏舵灏辨槸
0.0.0.0
锛屾墽琛 ping 0.0.0.0 锛屾槸浼氬け璐ョ殑锛屽洜涓哄畠鍦IPV4
涓〃绀虹殑鏄棤鏁堢殑鐩爣鍦板潃銆$ ping 0.0.0.0
PING 0.0.0.0 (0.0.0.0): 56 data bytes
ping: sendto: No route to host
ping: sendto: No route to host
浣嗗畠杩樻槸寰堟湁鐢ㄥ鐨勶紝鍥炴兂涓嬶紝鎴戜滑鍚姩鏈嶅姟鍣ㄧ殑鏃跺欙紝涓鑸細
listen
涓涓 IP 鍜岀鍙o紝绛夊緟瀹㈡埛绔殑杩炴帴銆濡傛灉姝ゆ椂
listen
鐨勬槸鏈満鐨 0.0.0.0
, 閭d箞瀹冭〃绀烘湰鏈轰笂鐨勬墍鏈塈PV4鍦板潃銆/* Address to accept any incoming messages. */
#define INADDR_ANY ((unsigned long int) 0x00000000) /* 0.0.0.0 */
涓句釜渚嬪瓙銆傚垰鍒氭彁鍒扮殑
127.0.0.1
鍜 192.168.31.6
锛岄兘鏄湰鏈虹殑IPV4鍦板潃锛屽鏋滅洃鍚 0.0.0.0
锛岄偅涔堢敤涓婇潰涓や釜鍦板潃锛岄兘鑳借闂埌杩欎釜鏈嶅姟鍣ㄣ褰撶劧锛 瀹㈡埛绔
connect
鏃讹紝涓嶈兘浣跨敤 0.0.0.0
銆傚繀椤绘寚鏄庤杩炴帴鍝釜鏈嶅姟鍣↖P銆鎬荤粨
127.0.0.1
鏄洖鐜湴鍧銆localhost
鏄煙鍚嶏紝浣嗛粯璁ょ瓑浜127.0.0.1
銆ping
鍥炵幆鍦板潃鍜ping
鏈満鍦板潃锛屾槸涓鏍风殑锛岃蛋鐨勬槸lo0 "鍋囩綉鍗"锛岄兘浼氱粡杩囩綉缁滃眰鍜屾暟鎹摼璺眰绛夐昏緫锛屾渶鍚庡湪蹇鍑虹綉鍗″墠鐙犵嫚鎷愪簡涓集锛 灏嗘暟鎹彃鍏ュ埌涓涓摼琛ㄥ悗灏辫蒋涓柇閫氱煡 ksoftirqd 鏉ヨ繘琛屾敹鏁版嵁鐨勯昏緫锛屽帇鏍瑰氨涓嶅嚭缃戠粶銆傛墍浠ユ柇缃戜簡涔熻兘ping
閫氬洖鐜湴鍧銆- 濡傛灉鏈嶅姟鍣
listen
鐨勬槸0.0.0.0
锛岄偅涔堟鏃剁敤127.0.0.1
鍜屾湰鏈哄湴鍧閮藉彲浠ヨ闂埌鏈嶅姟銆
Github涓
鏍囨槦60K
鐨勭數鍟嗗疄鎴橀」鐩甿all锛屽叏濂 瑙嗛鏁欑▼锛2023鏈鏂扮増锛 宸叉洿鏂板畬姣曪紒鍏ㄥ鏁欑▼绾40灏忔椂锛屽叡113鏈
锛岄氳繃杩欏鏁欑▼浣犲彲浠ユ嫢鏈変竴涓娑电洊涓绘祦Java鎶鏈爤鐨勫畬鏁撮」鐩粡楠
锛屽悓鏃舵彁楂樿嚜宸鐙珛寮鍙戜竴涓」鐩殑鑳藉姏
锛屼笅闈㈡槸椤圭洰鐨勬暣浣撴灦鏋勫浘锛屾劅鍏磋叮鐨勫皬浼欎即鍙互鐐瑰嚮閾炬帴 mall瑙嗛鏁欑▼ 鍔犲叆瀛︿範銆鏁村 瑙嗛鏁欑▼ 鐨勫唴瀹硅繕鏄潪甯稿畬鍠勭殑锛屾兜鐩栦簡mall椤圭洰鏈浣冲涔犺矾绾裤佹暣浣撴鏋舵惌寤恒佷笟鍔′笌鎶鏈疄鐜板叏鏂逛綅瑙f瀽銆佺嚎涓奃ocker鐜閮ㄧ讲銆佸井鏈嶅姟椤圭洰瀛︿範绛夊唴瀹癸紝鍏蜂綋澶х翰鍙互鍙傝冧笅鍥撅紝浣犱篃鍙互鐐瑰嚮閾炬帴 mall瑙嗛鏁欑▼ 浜嗚В鏇村鍐呭銆
鎺ㄨ崘闃呰
- 69K Star锛佽繖鏄垜瑙佽繃鏈寮虹殑寮婧愮數鍟嗙郴缁 锛侊紒
- Github鏍囨槦60K锛佷竴濂楀畬鏁寸殑椤圭洰瀹炴垬鏁欑▼鏉ヤ簡锛屼富娴丣ava鎶鏈竴缃戞墦灏斤紒
- 鐪嬩簡鎴戦」鐩腑璐墿杞︺佽鍗曘佹敮浠樹竴鏁村璁捐锛屽悓浜嬩篃寮濮嬫倓鎮勬ā浠夸簡...
- 璁㈠崟绯荤粺灏辫杩欎箞璁捐锛岀ǔ鐨勪竴鎵癸紒
- 鏀粯绯荤粺灏辫杩欎箞璁捐锛岀ǔ鐨勪竴鎵癸紒
- 鏉冮檺绯荤粺灏辫杩欎箞璁捐锛岀ǔ鐨勪竴鎵癸紒