ToCode
Kanalga Telegram鈥檇a o鈥榯ish
讟讬驻讬诐 拽爪专讬诐 诇诪转讻谞转讬诐 诪讗转 讬谞讜谉 驻专拽
Ko'proq ko'rsatish1 419
Obunachilar
-224 soatlar
-17 kunlar
-130 kunlar
Postlar arxiv
1 419
# 讛诇讗讛
讬砖讘转讬 讛讬讜诐 注诐 讛讘转 砖诇讬 注诇 诪砖讞拽 讗讜转讬讜转 驻砖讜讟: 诇拽讞谞讜 5 讻专讟讬住讬讜转, 讻转讘谞讜 注诇讬讛诐 讗转 讛讗讜转讬讜转 "讙", "讚", "讜", "诇" 讜-"讛" 讜诇讬诪讚转讬 讗讜转讛 讗讬讱 诇讛专讻讬讘 讗转 讛诪讬诇讛 "讙讚讜诇讛" (讻讬 讛讬讗 讻讘专 讬诇讚讛 讙讚讜诇讛 砖讬讜讚注转 讗讜转讬讜转). 讝讛 诇拽讞 讻诪讛 谞讬住讬讜谞讜转 讗讘诇 讘住讜祝 讛讬讗 讛爪诇讬讞讛 诪诪砖 讟讜讘 诇讛专讻讬讘 讗转 讛诪讬诇讛, 诇讗 诪砖谞讛 讻诪讛 注专讘讘转讬 讗转 讛讻专讟讬住讬讜转 讜讗驻讬诇讜 讻砖讛讜住驻转讬 讻专讟讬住讬讜转 注诐 讗讜转讬讜转 诇讗 拽砖讜专讜转 诇诪讬诇讛 讝讛 诇讗 讛驻专讬注 诇讛.
讛讬讗 讛住讻讬诪讛 诇讻诇 讟专讬拽 砖专爪讬转讬 诇讛讜住讬祝 诇诪砖讞拽 诪诇讘讚 讗讞讚 - 专拽 诇讗 诇讛讞诇讬祝 诪讬诇讛.
诪专讙注 砖讛讬讗 拽诇讟讛 砖讛讬讗 讬讜讚注转 诇讛专讻讬讘 讗转 讛诪讬诇讛 "讙讚讜诇讛" 讛讬讗 诇讗 讛讬转讛 诪讜讻谞讛 诇讜讜转专 注诇 讛转讞讜砖讛 砖诇 诇注砖讜转 诪砖讛讜 讻诪讜 砖爪专讬讱. 讛诪讞砖讘讛 注诇 讛讞讝专讛 讗讞讜专讛 诇讟注讜讬讜转, 诇讘诇讘讜诇, 诇讞讜住专 讜讜讚讗讜转 驻砖讜讟 讛讜爪讬讗讛 诇讛 讗转 讛讞砖拽 诇诇诪讜讚.
讗讜转讜 驻讞讚 诪讛讞讝专讛 诇讘诇讘讜诇, 诇讟注讜讬讜转 讜诇讞讜住专 讛讜讜讚讗讜转 诇讗 谞注诇诐 注诐 讛讙讬诇 讜诇讗 诪砖转谞讛 讻砖注讜讘专讬诐 诇诇诪讜讚 讚讘专讬诐 讬讜转专 拽砖讬诐 诪讗讜转讬讜转 讜诪讬诇讬诐. 讛讜讗 砖诐 讻砖讗谞讬 诪转诇讘讟 讗诐 讝讛 讝诪谉 讟讜讘 注讻砖讬讜 诇讛讬讻谞住 诇注讜诇诐 讛 Front End, 讗讜 讗诐 砖讜讜讛 诇诇诪讜讚 讗讬讱 注讜讘讚讬诐 讞讜讝专讬诐 讞讻诪讬诐 讜讬讜讚注 砖讻讘专 诪讛爪注讚 讛专讗砖讜谉 讘转讞讜诐 讛讞讚砖 讗专讙讬砖 讗转 讗讜转讜 转住讻讜诇, 讗讜转讜 讘诇讘讜诇 讜讗讜转讜 讞讜住专 讜讜讚讗讜转.
讛诇讗讛.
诇诪讬诇讛 讛讘讗讛. 诇讟讻谞讜诇讜讙讬讛 讛讘讗讛. 诇转讞讜诐 讛讘讗. 讻诪讜 砖诇诪讚谞讜 讗转 讛讚讘专 砖讗谞讞谞讜 注讻砖讬讜 讟讜讘讬诐 讘讜, 谞爪诇讬讞 诇诇诪讜讚 讙诐 讗转 讛讚讘专 讛讘讗. 讜讗讞专讬? 谞诪砖讬讱 诇诪讬诇讛 讛讘讗讛 讻诪讜讘谉.
1 419
# 诇讛讜专讬讚 专注讬讜谞讜转 诪讛砖讜诇讞谉
讗讞讚 讛讚讘专讬诐 砖讗谞讞谞讜 讬讜讚注讬诐 注诇 转讻谞讜转 讝讛 砖诇讗 转诪讬讚 讛专注讬讜谉 讛专讗砖讜谉 砖谞讙讬注 讗诇讬讜 讬讛讬讛 讛讻讬 讟讜讘 讛讗驻砖专讬, 讜讬讜转专 讙专讜注, 诇讗 转诪讬讚 讛专注讬讜谉 讛专讗砖讜谉 砖谞讙讬注 讗诇讬讜 讬讛讬讛 讘讻诇诇 讬砖讬诐. 讝讗转 讗讞转 讛住讬讘讜转 砖诇驻注诪讬诐 诪讘讬讱 诇爪驻讜转 讘 Live Coding - 讗转讛 诪住转讻诇 注诇 讘谉 讗讚诐 诪谞住讛 诇讛转拽讚诐 讘讻讬讜讜谉 砖诇讗 讬讻讜诇 诇注讘讜讚 讘讙诇诇 诪讙讘诇讛 砖讛讜讗 注讚讬讬谉 诇讗 讛讘讬谉 讗讜转讛, 讜讗转讛 讬讜讚注 砖注讜讚 专讙注 讛讜讗 讛讜诇讱 诇讛转谞讙砖 讘拽讬专 讜讝讛 讛讜诇讱 诇讻讗讜讘.
讗讘诇 诪讞讜抓 诇 Live Coding, 讘注讜诇诐 讛讗诪讬转讬, 讛讞讜讜讬讛 砖诇 诇讛转拽讚诐 注诐 专注讬讜谉 注讚 砖诪转谞讙砖讬诐 讘拽讬专 讛讬讗 讞诇拽 讘诇转讬 谞驻专讚 诪转讛诇讬讱 讛诇讬诪讜讚 讘诪讬讜讞讚 砖诇 讟讻谞讜诇讜讙讬讜转 讞讚砖讜转. 讬砖 诇讬 讗讬讝讛 讻讬讜讜谉 诇讙讘讬 讘讞讬专讛 讟讻谞讜诇讜讙讬转, 讗谞讬 讻讜转讘 住讘讬讘讜 讗转 讛拽讜讚, 诪讻谞讬住 诇诪注专讻转 谞转讜谞讬诐 讗诪讬转讬讬诐 讜专讜讗讛 讗讬讱 讛讬讗 诪转专住拽转. 讞诇拽 诪讛驻注诪讬诐 讛讬讗 转转专住拽 讘讙诇诇 砖砖讻讞转讬 诪砖讛讜 拽讟谉 讜讗谞讬 诪讬讚 讬讻讜诇 诇转拽谉 讜诇讛转拽讚诐, 讜驻注诪讬诐 讗讞专讜转 讛讬讗 转转专住拽 讻讬 讞砖讘转讬 砖讛诪讬讚注 讬注讘讜专 讘专砖转 诪住驻讬拽 诪讛专 讜专讗讬转讬 砖讘注讜诇诐 讛讗诪讬转讬 讛诪注专讻转 注讜讘讚转 讛专讘讛 讬讜转专 诇讗讟 诪讗砖专 讘转讜讻谞讬转 砖诇讬.
"诇讗, 讗转讛 诇讗 讬讻讜诇 诇讻转讜讘 住拽专讬驻讟 砖诪讜砖讱 讗转 讛谞转讜谞讬诐 诪讛讗转专 讛讛讜讗 讻讬 讬砖 砖诐 诪谞讙谞讜谞讬 讛讙谞讛 讞讝拽讬诐" 讝讛 诇拽讞 讟讜讘 砖注讜讝专 诇谞讜 讘驻注诐 讛讘讗讛 诇讛转讞讬诇 诪讘讚讬拽转 诪谞讙谞讜谞讬 讛讛讙谞讛 诇驻谞讬 砖专爪讬诐 诇讻转讜讘 讗转 讛住拽专讬驻讟. 讜讘专讙注 砖讛讜专讚转讬 讗转 讛专注讬讜谉 讛讝讛 诪讛砖讜诇讞谉 讗谞讬 驻讜转讞 讗转 讛讚诇转 诇专注讬讜谞讜转 讞讚砖讬诐 砖讗讜诇讬 讻谉 讬注讘讚讜 讟讜讘 讬讜转专.
1 419
# 讙讬砖讛 讙专驻讬转 诇砖专转 讬讜谞讬拽住 诪专讜讞拽
专讜讘 讛驻注诪讬诐 砖谞爪讟专讱 诇注砖讜转 注讘讜讚讛 注诇 砖专转 诪专讜讞拽 谞注讚讬祝 诇讛砖转诪砖 讘诪诪砖拽 讟拽住讟讜讗诇讬 讻讬 讛讜讗 诪讛讬专 讜讬爪讬讘 讬讜转专 讘注讘讜讚讛 讘专砖转. 讗讘诇 诪讚讬 驻注诐 讻谉 谞爪讟专讱 诇注讘讜讚 注诇 转讜讻谞讬转 讙专驻讬转 讗讜 讗驻讬诇讜 注诇 砖讜诇讞谉 注讘讜讚讛 砖诇诐 砖专爪讬诐 注诇 砖专转 诪专讜讞拽. 讘驻讜住讟 讝讛 讗爪讬讙 讗转 砖转讬 讛讚专讻讬诐 讛诪专讻讝讬讜转 诇注砖讜转 讗转 讝讛.
## 讛驻注诇转 转讜讻谞讬转 讙专驻讬转 讘讜讚讚转 注诇 砖专转 诪专讜讞拽 注诐 X11 Forwarding
讙讬砖讛 专讗砖讜谞讛 转注讝讜专 诇谞讜 诇讛驻注讬诇 转讜讻谞讬转 讙专驻讬转 住驻爪讬驻讬转 注诇 诪讻讜谞讛 砖专讜讘 讛注讘讜讚讛 讗讬转讛 讛讬讗 注讘讜讚讛 讚专讱 诪住讜祝 讟拽住讟讜讗诇讬. 讝讛 讬讻讜诇 诇讛讬讜转 诇诪砖诇 讛驻注诇讛 砖诇 讚驻讚驻谉 注诇 诪讻讜谞转 讙'谞拽讬谞住 讻讚讬 诇讚讘讙 讘讚讬拽讛 诪住讜讬诪转 砖谞讻砖诇转 专拽 注诇 砖专转 讛 CI, 讗讜 诇讛砖讗讬专 讞诇讜谉 砖诇 gvim 砖诇 讛诪讻讜谞讛 驻转讜讞 讗爪诇讬 注诇 讛诪住讱.
转讜讻谞讜转 讙专驻讬讜转 讘讬讜谞讬拽住 诪爪讬讙讜转 讗转 讛诪诪砖拽 砖诇讛谉 注诇 诪住讜祝 讙专驻讬 砖谞拽专讗 X. 讘讚专讱 讻诇诇 讛谉 诪爪驻讜转 砖讛诪住讜祝 讛讙专驻讬 讛讝讛 讬专讜抓 注诇 讛诪讻讜谞讛 砖注诇讬讛 讛转讜讻谞讬转 专爪讛, 讗讘诇 诇 X 讬砖 转诪讬讻讛 诪诇讗讛 讘讛爪讙转 讛诪诪砖拽 注诇 诪讻讜谞讛 讗讞专转. 诇讻谉 讘砖讘讬诇 诇讛专讬抓 转讜讻谞讛 讙专驻讬转 注诇 诪讻讜谞讛 诪专讜讞拽转 谞专讬抓 讗爪诇谞讜 砖专转 X 讜谞讘拽砖 诪讗讜转讛 讛转讜讻谞讬转 砖转砖诇讞 讗转 驻拽讜讚讜转 讛转爪讜讙讛 砖诇讛 诇砖专转 讛 X 砖专抓 讗爪诇讬 注诇 讛诪讻讜谞讛.
讘诇讬谞讜拽住 讬砖 诇讻诐 讻讘专 砖专转 X 驻注讬诇 (讝讛 砖专转 讛 Desktop 砖诇讻诐) 讜讗驻砖专 诇讛砖转诪砖 讘讜 讘讗诪爪注讜转 讛讗讜驻爪讬讛
-X 诇驻拽讜讚转 讛 ssh. 讘讚讜讙诪讛 讛讘讗讛 讗谞讬 诪转讞讘专 诇诪讻讜谞讛 诪专讜讞拽转 讘专砖转 讛诪拽讜诪讬转 砖诇讬 讜诪驻注讬诇 gvim 讻讱 砖 gvim 专抓 注诇 讛诪讻讜谞讛 讛诪专讜讞拽转 讜讛诪诪砖拽 砖诇讜 诪讜爪讙 讗爪诇讬 注诇 讛诪住讱:
$ ssh -X ynon@192.168.0.113
$ gvim
讝讛 注讘讚 讘讙诇诇 砖驻拽讜讚转 ssh 诪讙讚讬专讛 诪砖转谞讛 住讘讬讘讛 诪讬讜讞讚 讘砖诐 DISPLAY. 诪砖转谞讛 讝讛 拽讜讘注 诇转讜讻谞讬讜转 讙专驻讬讜转 注诇 讗讬讝讛 诪住讜祝 诇讛爪讬讙 讗转 讛诪诪砖拽. 谞爪讬讙 讗转 注专讱 讛诪砖转谞讛 讻讚讬 诇专讗讜转 砖讝讛 注讘讚:
$ echo $DISPLAY
localhost:10.0
讗诐 讗转诐 注讜讘讚讬诐 讘讞诇讜谞讜转 转爪讟专讻讜 诇讛转拽讬谉 讗爪诇讻诐 砖专转 X 诇讞诇讜谞讜转 诇讚讜讙诪讛 讗转 Xming 讜讘 putty 诇住诪谉 讗转 讛讗驻砖专讜转 X11 Forwarding. 诇讗 谞讬住讬转讬 讗转 讝讛 讗讘诇 讻讗谉 讬砖 讚祝 讛讜专讗讜转 诇讛专驻转拽谞讬诐:
https://cat.pdx.edu/platforms/windows/remote-access/xming/.
## 讞讬讘讜专 诇砖讜诇讞谉 注讘讜讚讛 诪诇讗 注诇 砖专转 诪专讜讞拽 注诐 VNC
讗讜诪谞诐 X11 Forwarding 诪爪诇讬讞 诇讛注讘讬专 诪诪砖拽 砖诇 转讜讻谞讬转 讘讜讚讚转 诇诪讻讜谞讛 讗讞专转 讜讛讜讗 驻讬转专讜谉 讚讬 谞讜讞 诇转讜讻谞讬讜转 拽讟谞讜转, 讗讘诇 讛诪谞讙谞讜谉 讗讬谞讜 Optimised 诪住驻讬拽 讻讚讬 诇讛专讬抓 砖讜诇讞谉 注讘讜讚讛 诪诇讗 讜诇砖讚专 讗转 讛诪诪砖拽 讚专讱 讛专砖转. 讗诐 讗转诐 专讜爪讬诐 诇讛爪讬讙 讗转 讻诇 砖讜诇讞谉 讛注讘讜讚讛 诪讛诪讻讜谞讛 讛诪专讜讞拽转 注诇 讛诪讻讜谞讛 砖诇讻诐 讬讛讬讛 讬注讬诇 讬讜转专 诇讛砖转诪砖 讘驻讬转专讜谉 讬讬注讜讚讬 诇讝讛 讻讚讜讙诪转 vnc.
驻专讜讟讜拽讜诇 VNC 讻讜诇诇 砖谞讬 讞诇拽讬诐: 爪讚 诇拽讜讞 讜爪讚 砖专转, 讜讚讜讗讙 诇砖讚专 讗转 讛诪讬讚注 讛讙专驻讬 诪讛砖专转 诇诇拽讜讞 讜讗转 讛拽诇讟 诪讛诇拽讜讞 诇砖专转. 诇讻谉 注诇 讛诪讻讜谞讛 砖谞专爪讛 诇讛转讞讘专 讗诇讬讛 讬砖 诇讛转拽讬谉 讗转 专讻讬讘 爪讚 讛砖专转 砖诇 vnc, 诇讚讜讙诪讛 注诇 debian 讝讛 讬讛讬讛:
$ sudo apt-get install tightvncserver
讜讘爪讚 讛诇拽讜讞 谞转拽讬谉 讗转 转讜讻谞转 讛爪驻讬讛, 诇讚讜讙诪讛 注诇 ubuntu 讝讛 讬讛讬讛:
$ sudo apt-get install xtightvncviewer
讗转诐 讬讻讜诇讬诐 诇诪爪讜讗 VNC Viewer 讙诐 诇讞诇讜谞讜转 诇诪砖诇 转讜讻谞转 tightvnc 砖讝诪讬谞讛 讘讞讬谞诐 讘注诪讜讚 讛讝讛:
https://www.tightvnc.com/download.php.
讗讞专讬 讻诇 讛讛转拽谞讜转 谞讻谞住讬诐 诇诪讻讜谞讛 讗诇讬讛 专讜爪讬诐 诇讛转讞讘专 讜砖诐 诪驻注讬诇讬诐 讗转 讛 VNC Server 注诐:
$ vncserver
New 'X' desktop is ubuntu-s-1vcpu-1gb-ams3-01:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/ubuntu-s-1vcpu-1gb-ams3-01:1.log
讛驻诇讟 诇讗 诪住驻专 诇谞讜 注诇 讗讬讝讛 驻讜专讟 讛讜讗 诪讗讝讬谉 讗讘诇 讝讛 讻转讜讘 讘转讜讱 拽讜讘抓 讛 log, 讗爪诇讬 讛讜驻讬注讛 讛砖讜专讛 讛讘讗讛 砖诐:
24/03/21 18:36:46 Listening for VNC connections on TCP port 5901
讗讞专讬 讝讛 讛讜诇讻讬诐 诇 VNC Viewer 讗爪诇讻诐 注诇 讛诪讻讜谞讛, 诪拽诇讬讚讬诐 讗转 讻转讜讘转 讛 IP 砖诇 讛砖专转 讜讗转 讛驻讜专讟 讜讗转诐 诪讞讜讘专讬诐. 讘住讬讜诐 讻讚讗讬 诇住讙讜专 讗转 讛砖专转 注诐:
vncserver -kill :1
讛诪住驻专 :1 讝讛 讗讜转讜 诪住驻专 砖讛讜驻讬注 讘住讜祝 砖讜专转 讛驻诇讟 讛专讗砖讜谞讛 讘讛驻注诇讛 砖诇 讛砖专转 讜讛讜讗 诪讬讬爪讙 讗转 讛 DISPLAY 注诇讬讜 讛砖专转 专抓.1 419
诪诪砖 砖诪讞转讬 诇专讗讜转 讗转 讛注讘讜讚讛 讛讟讜讘讛 砖注砖讜 讘 Docker 讻讚讬 诇讬讬爪专 诪诪砖拽 讝讛讛 诇讛注诇讗转 拽讜谞讟讬讬谞专讬诐 诇诪住驻专 住驻拽讬 注谞谉. 诇诪专讜转 讝讗转 拽砖讛 诇讛转注诇诐 诪讛注讜讘讚讛 砖讛讙讬砖讛 诇砖专转讬诐 砖诇 Azure 讛讬转讛 拽诇讛 讜诪讛讬专讛 讬讜转专. 讙诐 讗诐 谞转注诇诐 诪谞讜砖讗 讘讞讬专转 讛讛专砖讗讜转 - 讘 Azure 讛讬讛 诇讬 讛专讘讛 讬讜转专 拽诇 诇诪爪讜讗 讗转 讛 Instances 砖谞讜爪专讜 讘诪诪砖拽 讛讘拽专讛 砖诇讛诐 讜诇专讗讜转 住讟讟讜住 砖诇 讛诪讻讜谞讜转 讚专讱 诪诪砖拽 讛 Web. 讝诪谞讬 讛诪转谞讛 诇驻拽讜讚讜转 docker 讛讬讜 拽爪专讬诐 讬讜转专 讜诇讗 谞转拽诇转讬 讘讻讬砖诇讜谞讜转 讗拽专讗讬讬诐 砖讛住转讚专讜 诪注爪诪诐. 讗诐 讛讬转讛 转讞专讜转 讘讬谉 注谞谞讬诐 讗讝 诇驻讞讜转 讘爪讚 砖诇 诪诪砖拽 注诐 讚讜拽专 讛注谞谉 砖诇 诪讬讬拽专讜住讜驻讟 诪谞爪讞 讘讙讚讜诇.
1 419
# 讛注诇讗转 拽讜谞讟讬讬谞专 讚讜拽专 诇注谞谉 砖诇 AWS
讗转诪讜诇 驻讬专住诪转讬 诪讚专讬讱 注诇 讛注诇讗转 拽讜谞讟讬讬谞专 讚讜拽专 诇注谞谉 砖诇 Microsoft, 讜讻讘专 讻诪讛 讗谞砖讬诐 砖讗诇讜 讗讬讱 讗驻砖专 诇驻专住诐 讗转 讗讜转讜 拽讜谞讟讬讬谞专 讘注谞谉 讛讙讚讜诇 讬讜转专 砖诇 AWS. 讗讝 驻转讞转讬 讗转 讛 AWS CLI 讜爪讬驻讬转讬 诇讛转驻谞拽 注诐 讻诇 讛讻诇讬诐 讛诪讜砖拽注讬诐 砖诇 讗诪讝讜谉. 诇爪注专讬 讝讗转 诇讗 讛讬转讛 讛讞讜讜讬讛 砖拽讬讘诇转讬 讗讘诇 讘讻诇 讝讗转 讛爪诇讞转讬 诇讛讙讬注 诇注谞谉 讜讙诐 诇砖专讜讚 讻讚讬 诇住驻专.
讙讬专住讗讜转 注讚讻谞讬讜转 砖诇 docker 讻讜诇诇讜转 诪谞讙谞讜谉 砖谞拽专讗 Context. 讛拽讜谞讟拽住讟 诪住驻专 诇讚讜拽专 讗讬驻讛 讛诪讻讜谞讜转 砖爪专讬讻讜转 诇讛驻注讬诇 讗转 讛拽讜谞讟讬讬谞专讬诐 讬讜砖讘讜转 讜讘讗讬讝讛 诪谞讙谞讜谉 讗谞讞谞讜 诪讚讘专讬诐 注诐 诪讻讜谞讜转 讗诇讛 (诪讬 讛 Orchestrator). 诇讚讜拽专 讬砖 讗讬谞讟讙专爪讬讛 诪讜讘谞讬转 注诐 AWS 讜注诐 Azure Devops 讻讱 砖讻诇 诪讛 砖爪专讬讱 讘砖讘讬诇 诇讛注诇讜转 拽讜谞讟讬讬谞专讬诐 诇注谞谉 讛讜讗:
1. 诇讬爪讜专 Context 讜诇讞讘专 讗讜转讜 诇 Azure Devops 讗讜 诇 AWS.
2. 诇讛砖转诪砖 讘驻拽讜讚讜转 Docker 专讙讬诇讜转 讻讚讬 诇讛驻注讬诇 拽讜谞讟讬讬谞专讬诐.
3. 讘讗讜驻谉 讗讜讟讜诪讟讬 讛拽讜谞讟讬讬谞专讬诐 讬砖转诪砖讜 讘拽讜谞讟拽住讟 砖讛讙讚专谞讜 讜讬注诇讜 讘注谞谉 讘诪拽讜诐 讗爪诇讬 注诇 讛诪讻讜谞讛.
谞讬住讜讬? 讘砖诪讞讛. 讗讘诇 拽讜讚诐 谞爪讟专讱 诇注讘讜专 讗转 诪讚讬谞讬讜转 讛讗讘讟讞讛 讛讚专拽讜谞讬转 砖诇 讗诪讝讜谉. 讘转讜讱 拽讜谞住讜诇转 讛谞讬讛讜诇 讬砖 诇讛讬讻谞住 诇砖讬专讜转 砖谞拽专讗 IAM 讜诇讬爪讜专 诪砖转诪砖 讞讚砖. 讬砖 讘诪讚专讬讱 讻讗谉 专砖讬诪讛 砖诇 讻诇 讛讛专砖讗讜转 砖讗讜转讜 诪砖转诪砖 爪专讬讱. 讗谞讬 诇讗 诪爪讗转讬 讗讬讱 诇注砖讜转 copy/paste 讘拽诇讜转 诇讛专砖讗讜转 讗讝 讘讞专转讬 诪专砖讬诪转 讛 Policies 诪讛 砖谞专讗讛 诇讬 拽砖讜专. 住讱 讛讻诇 讘砖讘讬诇 诪砖转诪砖 砖诪爪诇讬讞 诇讛注诇讜转 拽讜谞讟讬讬谞专讬诐 诇注谞谉 砖诇讛诐 讛讜住驻转讬 讗转 讛 Policies 讛讘讗讬诐:
AmazonEC2FullAccess
IAMFullAccess
AWSAgentlessDiscoveryService
ElasticLoadBalancingFullAccess
AmazonEC2ContainerRegistryFullAccess
AWSCloudMapFullAccess
CloudWatchLogsFullAccess
AmazonECS_FullAccess
AmazonRoute53FullAccess
AWSCloudFormationFullAccess
讛砖讬讟讛 砖诇 诇讛讜住讬祝 讛专砖讗讜转 注讚 砖讝讛 注讜讘讚 诪转讗讬诪讛 诇驻讜住讟, 讗讘诇 诇讗驻诇讬拽爪讬讛 讗诪讬转讬转 讻谉 砖讜讜讛 诇讛转讗诪抓 讜诇诪爪讜讗 讗转 讛讛专砖讗讜转 讛诪讬谞讬诪诇讬讜转 砖讗转诐 爪专讬讻讬诐.
讗讞专讬 讬爪讬专转 讛诪砖转诪砖 讜讛讛专砖讗讜转 讗转诐 爪专讬讻讬诐 诇讞讘专 讗讜转讜 诇讚讜拽专 拽讜诪驻讜讝 砖诇讻诐 讜讘砖讘讬诇 讝讛 谞讻谞住讬诐 (注讚讬讬谉 讘 IAM) 诇讟讗讘 Security Credentials, 讘讜讞专讬诐 Create Access Key 讜诪砖讗讬专讬诐 讗转 讛讞诇讜谉 注诐 讛 Access Key ID 讜讛 Secret 驻转讜讞.
诪砖诐 驻讜转讞讬诐 讘讞诇讜谉 讞讚砖 诪住讜祝 砖讜专转 驻拽讜讚讛 讜诪驻注讬诇讬诐 诪砖诐:
docker context create ecs myawscontext
讛诪讬诇讛 讛讗讞专讜谞讛 讘砖讜专讛 讛讬讗 砖诐 讛 Context 讜讗驻砖专 诇砖谞讜转 讗讜转讛 诇讻诇 砖诐 砖讗转诐 专讜爪讬诐. 讘转讙讜讘讛 讚讜拽专 讬砖讗诇 讗转讻诐 讗讬讱 诇讛转讞讘专 诇 AWS 讜讗转诐 转讜讻诇讜 诇讛讙讬讚 诇讜 砖讬砖 诇讻诐 讗住讬诪讜谉 讙讬砖讛 讜转讚讘讬拽讜 讗转 讛诪讝讛讛 讜讛住讜讚 讘诪住讜祝.
讘住讬讜诐 讛转讛诇讬讱 讬讛讬讛 诇讻诐 Context 讞讚砖 注讘讜专 AWS 讜讗驻砖专 诇讜讜讚讗 砖讝讛 注讘讚 注诐:
$ docker context ls
NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default moby Current DOCKER_HOST based configuration unix:///var/run/docker.sock swarm
myawscontext * ecs (eu-north-1)
砖讬诪讜 诇讘 诇砖讜专讛 讛砖谞讬讛 诪住讜讙 ecs 讜注诐 讛讗讝讜专 砖讘讞专转诐 诇讬爪讜专 讘讜 讗转 讛诪讻讜谞讜转.
讛讛讘讚诇 讛砖谞讬 讘讬谉 AWS 诇 Azure 讛讜讗 砖讘注讘讜讚讛 注诐 AWS 讞讬讬讘讬诐 诇讛砖转诪砖 讘 Docker Compose 讜诇讗 谞讬转谉 诇讛注诇讜转 拽讜谞讟讬讬谞专 讘讜讚讚. 讝讛 诇讗 住讜祝 讛注讜诇诐 讻讬 转诪讬讚 讗驻砖专 诇讬爪讜专 拽讜讘抓 docker-compose.yml 砖诪转讗讬诐 诇拽讜谞讟讬讬谞专 讘讜讚讚. 讛谞讛 讛讚诪讜 砖讗谞讬 讛注诇讬转讬:
version: "3.9"
services:
web:
image: "nginxdemos/hello"
ports:
- "80:80"
讗转 讛转讜讻谉 砖诪专转讬 讘拽讜讘抓 讘砖诐 docker-compose.yml 讘转讬拽讬讛 讞讚砖讛 (讝讛 讛拽讜讘抓 讛讬讞讬讚 讘转讬拽讬讛) 讜讛诪砖讻转讬 诇讛注诇讜转 讗讜转讜 诇讗诪讝讜谉 注诐 讛驻拽讜讚讛:
$ docker compose up
讛驻拽讜讚讛 谞讻砖诇讛 讘讗拽专讗讬 诪讚讬 驻注诐 注诇 Timeout-讬诐, 讗讘诇 讙诐 诇驻注诪讬诐 讛爪诇讬讞讛, 讗讝 讗诐 讗转诐 诪驻注讬诇讬诐 讜诪拽讘诇讬诐 砖讙讬讗讛 砖讜讜讛 诇讛驻注讬诇 驻注诐 砖谞讬讛 讘砖讘讬诇 诇讜讜讚讗 砖讝讜 砖讙讬讗讛 讗诪讬转讬转. 讻砖讛讻诇 注讜讘讚 转讜讻诇讜 诇专讗讜转 讗转 讛转讜爪讗讛 注诐:
$ docker compose ps
NAME SERVICE STATUS PORTS
task/mydockerdemo/cdf554598aab4f1fb3f1685bc074de98 web Running mydoc-LoadB-13SBJMOZQ5M30-224910942.us-east-1.elb.amazonaws.com:80->80/http
砖讻讘专 谞讜转谉 诇谞讜 讗转 讻转讜讘转 讛诪讻讜谞讛 砖诪专讬爪讛 讗转 讛讚诪讜. 讙诇讬砖讛 诇谞转讬讘 砖诪讜驻讬注 砖诐 转爪讬讙 讚祝 驻转讬讞讛 诪砖专转 nginx.
讗讞专讬 砖讛讻诇 注讘讚 讗驻砖专 诇讛砖转诪砖 讘:
$ docker compose down
讻讚讬 诇讛讜专讬讚 讗转 讛住专讘讬住讬诐 砖讬爪专转诐, 讗讜 诇讛驻注讬诇 诪讞讚砖 docker compose up 讻讚讬 诇讛注诇讜转 讙讬专住讛 讞讚砖讛.1 419
# 讛注诇讗转 拽讜谞讟讬讬谞专 讚讜拽专 诇注谞谉 砖诇 Microsoft
诇驻谞讬 讻诪讛 讬诪讬诐 讻转讘转讬 讻讗谉 注诇 讛讞砖讘讜谉 讛讞讬谞诪讬 诇砖谞讛 砖驻转讞转讬 注诇 Azure Devops, 讜讛讬讜诐 讛讬转讛 诇讬 讛讝讚诪谞讜转 诇砖讞拽 注诐 注讜讚 诪谞讙谞讜谉 谞讞诪讚 砖诇 讛诪注专讻转 讜讛讜讗 讛转拽谞转 拽讜谞讟讬讬谞专讬诐 讘注谞谉 讜讙讬诇讬转讬 砖讚讜拽专 讻讘专 注砖讜 讘砖讘讬诇谞讜 讗转 讻诇 讛注讘讜讚讛 讛拽砖讛.
讙讬专住讗讜转 注讚讻谞讬讜转 砖诇 docker 讻讜诇诇讜转 诪谞讙谞讜谉 砖谞拽专讗 Context. 讛拽讜谞讟拽住讟 诪住驻专 诇讚讜拽专 讗讬驻讛 讛诪讻讜谞讜转 砖爪专讬讻讜转 诇讛驻注讬诇 讗转 讛拽讜谞讟讬讬谞专讬诐 讬讜砖讘讜转 讜讘讗讬讝讛 诪谞讙谞讜谉 讗谞讞谞讜 诪讚讘专讬诐 注诐 诪讻讜谞讜转 讗诇讛 (诪讬 讛 Orchestrator). 诇讚讜拽专 讬砖 讗讬谞讟讙专爪讬讛 诪讜讘谞讬转 注诐 AWS 讜注诐 Azure Devops 讻讱 砖讻诇 诪讛 砖爪专讬讱 讘砖讘讬诇 诇讛注诇讜转 拽讜谞讟讬讬谞专讬诐 诇注谞谉 讛讜讗:
1. 诇讬爪讜专 Context 讜诇讞讘专 讗讜转讜 诇 Azure Devops 讗讜 诇 AWS.
2. 诇讛砖转诪砖 讘驻拽讜讚讜转 Docker 专讙讬诇讜转 讻讚讬 诇讛驻注讬诇 拽讜谞讟讬讬谞专讬诐.
3. 讘讗讜驻谉 讗讜讟讜诪讟讬 讛拽讜谞讟讬讬谞专讬诐 讬砖转诪砖讜 讘拽讜谞讟拽住讟 砖讛讙讚专谞讜 讜讬注诇讜 讘注谞谉 讘诪拽讜诐 讗爪诇讬 注诇 讛诪讻讜谞讛.
谞讬住讜讬? 讘砖诪讞讛. 讘讛谞讞讛 砖讬砖 讙诐 诇讻诐 讞砖讘讜谉 讘 Azure Devops 转讜讻诇讜 诇讛驻注讬诇:
docker login azure
讜讗讝 讚讜拽专 讬驻转讞 讚驻讚驻谉 讜讬讘拽砖 诪讻诐 诇讛转讞讘专 诇讞砖讘讜谉 讛 Azure Devops 砖诇讻诐.
讗讞专讬 讛讻谞讬住讛 诪驻注讬诇讬诐 讗转 讛驻拽讜讚讛:
docker context create aci mycontext
讻讚讬 诇讬爪讜专 讗转 讛拽讜谞讟拽住讟 砖讬讛讬讛 讻讘专 诪讞讜讘专 诇讞砖讘讜谉 讛 Azure 砖诇谞讜. 讗驻砖专 诇专讗讜转 砖讛驻拽讜讚讛 讛爪诇讬讞讛 注诐:
$ docker context ls
NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default moby Current DOCKER_HOST based configuration unix:///var/run/docker.sock swarm
mycontext * aci yo@centralus
讗驻砖专 诇专讗讜转 砖讬砖 诇讬 砖谞讬 拽讜谞讟拽住讟讬诐 注诇 讛诪讻讜谞讛: 讛专讗砖讜谉 谞拽专讗 default 讜讛砖谞讬 谞拽专讗 mycontext.
讛驻拽讜讚讛 讛讘讗讛 讗讜诪专转 诇讚讜拽专 诇讛转讞讬诇 诇讛砖转诪砖 讘拽讜谞讟拽住讟 讛砖谞讬:
$ docker context use mycontext
讜注讻砖讬讜 讗谞讞谞讜 诪讜讻谞讬诐 诇讛专讬诐 拽讜谞讟讬讬谞专 诇注谞谉. 讛驻拽讜讚讛 讛讘讗讛 讬爪专讛 拽讜谞讟讬讬谞专 讚诪讜 砖诇 砖专转 node.js:
$ docker run -d -p 80:80 nginxdemos/hello
诇驻讬 讛讗讬诪讙' nginxdemos/hello. 讻诪讜讘谉 砖讗转诐 讬讻讜诇讬诐 诇讘讞讜专 讻诇 Docker Image 砖转专爪讜 讜讬砖 讙诐 转诪讬讻讛 诪诇讗讛 讘 docker-compose (注诇讬讛 注讜讚 谞讚讘专 讘驻讜住讟 讛诪砖讱 讘注转讬讚). 诇驻拽讜讚转 讛 run 讬讻讜诇 诇拽讞转 拽爪转 讝诪谉 诇住讬讬诐 诇专讜抓 讗讘诇 讘住讜祝 讝讛 谞讙诪专 讜讗驻砖专 诇专讗讜转 注诐 docker ps 诪讛 拽讬讘诇谞讜:
$ docker ps
CONTAINER ID IMAGE COMMAND STATUS PORTS
boring-aryabhata nginxdemos/hello Running 52.182.228.142:80->80/tcp
讻谞讬住讛 诇讻转讜讘转 讛 IP 砖诇 讛诪讻讜谞讛 转爪讬讙 讗转 讚祝 讛讻谞讬住讛 诪讛讗讬诪讙', 砖讛讜讗 讚祝 Hello World 砖诇 砖专转 nginx.1 419
# 诪讛 爪专讬讱 诇拽专讜转 讘砖讘讬诇 砖转砖谞讛 讗转 讚注转讱?
讜讬讻讜讞讬诐 讘讬谉 诪转讻谞转讬诐 谞砖诪注讬诐 诇讻诐 讗讜诇讬 讻诪讜 讚讘专 拽讟谉 讗讘诇 讛专讘讛 驻注诪讬诐 讛专讜讞讜转 讬讻讜诇讜转 诇讛转诇讛讟 讘讙诇诇 谞讜砖讗讬诐 砖诇专讜讘 讛讗谞砖讬诐 讘讻诇诇 诇讗 讗讻驻转 诪讛诐: 爪专讬讱 讗讜 诇讗 爪专讬讱 诇讻转讜讘 讘讚讬拽讜转; 讻诪讛 砖讜专讜转 讻讚讗讬 诇讻转讜讘 讘拽讜讘抓; 爪专讬讱 讗讜 诇讗 爪专讬讱 注讜讚 拽讜诪驻讜谞谞讟讛; 讜讬诐 讗讜 讗讬诪拽住.
讻砖讗谞讞谞讜 转拽讜注讬诐 讘讜讜讬讻讜讞 讻讝讛 注诐 讞讘专 讜诇讗 诇讙诪专讬 讘讟讜讞讬诐 讗讬讱 讛讙注谞讜 讗诇讬讜 (讗讜 讗讬讱 讬讜爪讗讬诐 诪诪谞讜) 讛砖讗诇讛 砖讘讻讜转专转 讬讻讜诇讛 诇注讝讜专: "诪讛 爪专讬讱 诇拽专讜转 讘砖讘讬诇 砖转砖谞讛 讗转 讚注转讱?". 讛讗诐 讬砖 诪砖讛讜 砖讬讻讜诇 诇拽专讜转 砖讗讞专讬讜 讙诐 讗转讛 转专讙讬砖 砖讘讚讬拽讜转 砖讜讜转 讗转 讛讛砖拽注讛 砖诇谞讜? 讛讗诐 讬砖 诪砖讛讜 砖讬拽专讛 讘注转讬讚 砖讬讙专讜诐 诇讱 诇讞砖讜讘 砖讛拽讜讚 讛讝讛 爪专讬讱 诇砖讘转 讘拽讜诪驻讜谞谞讟讛 谞驻专讚转? 诪讛 爪专讬讱 讘砖讘讬诇 砖转讘讬谉 砖讗转 讛讞诇拽 讛讝讛 讘拽讜讚 爪专讬讱 诇讻转讜讘 讘 C ?
"诪讛 爪专讬讱 诇拽专讜转 讘砖讘讬诇 砖转砖谞讛 讗转 讚注转讱" 诇讜拽讞转 讗讜转谞讜 诇爪注讚 讛讘讗. 讗讜 砖讬砖 讻讝讛 讚讘专 讜讗讝 讗驻砖专 诇讞砖讜讘 讗讬讱 诇讛讙讬注 讗诇讬讜 讘爪讜专讛 诇讗 诪住讜讻谞转, 讗讜 砖讗讬谉 讻讝讛 讜讗讝 讗驻砖专 诇讛驻住讬拽 讗转 讛讜讜讬讻讜讞 讜诇讞驻砖 讗转 讛讚专讻讬诐 砖讻诇 讗讞讚 讬讜讻诇 诇讛转拽讚诐 注诐 讛讚讘专讬诐 砖讞砖讜讘讬诐 诇讜 讘诇讬 诇砖讘讜专 讗转 讛拽讜讚 诇讗讞专.
1 419
# 讛拽诪转 讗驻诇讬拽爪讬讬转 Node.JS 讘注谞谉 砖诇 Azure DevOps
诪讬讬拽专讜住讜驻讟 讛驻讻讛 讘砖谞讬诐 讛讗讞专讜谞讜转 诇讗讞转 诪住驻拽讬讜转 讛注谞谉 讛讙讚讜诇讜转, 讬讞讚 注诐 AWS 讜讙讜讙诇, 讜讻诪讜 讻讜诇诐 讙诐 讛诐 诪讞诇拽讬诐 砖谞讛 专讗砖讜谞讛 诪转谞讛 诇诪讬 砖讬讬专砖诐. 讛讞诇讟转讬 诇拽讞转 讗转 讛讛爪注讛 讜诇专讗讜转 讚专讱 讻诪讛 谞讬住讜讬讬诐 讗讬讱 诪转谞讛讙 讛 Azure DevOps 讘讛砖讜讜讗讛 诇诪转讞专讬诐.
## 讗讬讱 诇讛专讬诐 砖专转 Node.JS 讘注谞谉 砖诇 诪讬讬拽专讜住讜驻讟
讛诪砖讞拽 讛专讗砖讜谉 砖诇讬 讛讬讛 诇讛专讬诐 讗驻诇讬拽爪讬讬转 Node.JS 讘注谞谉. 讗转 讛转讜爪讗讛 讗驻砖专 诇专讗讜转 讻讗谉:
https://yo3333.azurewebsites.net/.
讘讙讚讜诇 讗转诐 诪转讞讬诇讬诐 讘讛转拽谞转 讻诇讬 讛 CLI 讚专讱 讛诪讚专讬讱 讛讝讛:
https://docs.microsoft.com/en-us/cli/azure/install-azure-cli.
讗讞专 讻讱 讬讜爪专讬诐 砖专转 讘注谞谉 讚专讱 讛诪讚专讬讱 讛讝讛:
https://docs.microsoft.com/en-us/azure/developer/javascript/tutorial/tutorial-vscode-azure-cli-node/tutorial-vscode-azure-cli-node-03.
讜讘住讜祝 讘砖讘讬诇 诇讞讘专 讗转 讛讗驻诇讬拽爪讬讛 讘注谞谉 诇拽讜讚 砖诇讻诐 讗转诐 诪讙讚讬专讬诐 诪讗讙专 讙讬讟 诪专讜讞拽 注诇 Azure Devops 讜讚讜讞驻讬诐 讗诇讬讜 讗转 讛拽讜讚. 讗转 讛驻拽讜讚讜转 砖诪讞讘专讜转 诪爪讗转讬 讘诪讚专讬讱 讛讝讛:
https://docs.microsoft.com/en-us/azure/developer/javascript/tutorial/tutorial-vscode-azure-cli-node/tutorial-vscode-azure-cli-node-04
住讱 讻诇 讛住讬驻讜专 诇拽讞 诇讬 驻讞讜转 诪讞爪讬 砖注讛.
## 诪讛 讗谞讞谞讜 诪拽讘诇讬诐
讗讞专讬 讻诇 讛讛转拽谞讜转 讬砖 诇讬 讘转讬拽讬讬转 讛驻专讜讬拽讟 注诇 讛诪讞砖讘 讞讬讘讜专 诇诪讗讙专 讛诪专讜讞拽 砖诇 Azure Devops:
$ git remote -v
azure https://ynonp-deploy@yo3333.scm.azurewebsites.net/yo3333.git (fetch)
azure https://ynonp-deploy@yo3333.scm.azurewebsites.net/yo3333.git (push)
讻诇 驻注诐 砖讗谞讬 诪砖谞讛 拽讜讚 讜注讜砖讛 push 诇诪讗讙专 azure 讘爪讜专讛 讗讜讟讜诪讟讬转 讛诪讻讜谞讛 讘注谞谉 砖诇 MS 诇讜拽讞转 讗转 讛拽讜讚 讛讞讚砖, 诪驻注讬诇讛 npm install 讜诪讗转讞诇转 讗转 讛讗驻诇讬拽爪讬讛 诇讙讬专住讛 讛讞讚砖讛. 讘诇讬 诪讗诪抓 拽讬讘诇转讬 Zero Downtime Deployment 讜转讬注讜讚 诪诇讗 砖诇 驻注讜诇讜转 讛 Deploy 讘诪诪砖拽 讛谞讬讛讜诇.
## 诇诪讛 诇砖讬诐 诇讘
讘诪讚专讬讻讬诐 砖诇 诪讬讬拽专讜住讜驻讟 讛讞讬讘讜专 砖谞讜爪专 讛讜讗 诇注谞祝 master 讘诪讗讙专 讛诪专讜讞拽. 讘讙讬讟讛讗讘 注谞祝 讘专讬专转 讛诪讞讚诇 谞拽专讗 main 讘诪讗讙专讬诐 讞讚砖讬诐. 砖讬诪讜 诇讘 讗诐 讗转诐 注讜讘讚讬诐 注诐 讻诪讛 诪讚专讬讻讬诐 诇讗 诇讛转讘诇讘诇 讘砖诪讜转.
讚讘专 谞讜住祝 讛讜讗 砖讘讛转拽谞转 讻诇讬 讛 CLI 讛诐 诪爪讬注讬诐 住拽专讬驻讟 讗讜讟讜诪讟讬 砖注讜砖讛 讛讻诇. 讗爪诇讬 讛讜讗 诇讗 注讘讚.
## 诪讛 注讜讚 谞砖讗专 诇谞讬住讜讬讬诐 讛讘讗讬诐
注讻砖讬讜 砖讬砖 诇讬 讗驻诇讬拽爪讬讛 专讗砖讜谞讛 讘注谞谉 讬砖 讛诪讜谉 讚讘专讬诐 砖讬讛讬讛 诪注谞讬讬谉 诇谞住讜转:
1. 讗讬讱 诪拽讬诪讬诐 讘住讬住 谞转讜谞讬诐 讜诪转讞讘专讬诐 讗诇讬讜
2. 讗讬讱 诪拽讬诪讬诐 Load Balancer 讜注讜砖讬诐 Scale Up 诇讗驻诇讬拽爪讬讛
3. 讗讬讱 诇讛砖转诪砖 讘诪注专讻转 讛诇讜讙讬诐 砖诇 Azure Devops
4. 讗讬讱 诇讛砖转诪砖 讘诪注专讻转 讛谞讬讟讜专 砖诇 Azure Devops
5. 讗讬讱 诇讛拽讬诐 Micro Service 谞讜住祝 (讗讜诇讬 讘砖驻讛 讗讞专转) 讜诇转拽砖专 讘讬谞讬讛诐
讻诪讜讘谉 讗诪砖讬讱 诇讻转讜讘 讻讗谉 讙诐 注诇 讛谞讬住讜讬讬诐 讛讘讗讬诐. 讘讬谞转讬讬诐 讻讘专 砖诪转讬 诇讘 砖诪诪砖拽 讛谞讬讛讜诇 砖诇 Azure Devops 谞专讗讛 讛专讘讛 讬讜转专 驻砖讜讟 诪讝讛 砖诇 AWS, 讗讘诇 讗讜诇讬 讝讛 讘讙诇诇 砖讗谞讬 专拽 讘转讞讬诇转 讛讚专讱 砖诐.1 419
# 讙谞专讟讜专 专拽讜专住讬讘讬 讘 Python
砖谞讬 驻讬爪'专讬诐 砖诇 驻讬讬转讜谉 砖诪住转讚专讬诐 讬讜驻讬 讬讞讚 讛诐 讛 Generators 讜讛专拽讜专住讬讜转. 讘转专讙讬诇 砖诇 讛讬讜诐 专爪讬转讬 诇砖诇讘 讗转 砖谞讬讛诐 讻讚讬 诇讞驻砖 诪讬讚注 讘诪讘谞讛 谞转讜谞讬诐 砖诇 注抓. 讘诪讘谞讛 砖诇 注抓 讬砖 诇讻诇 爪讜诪转 注专讱 讜讗讜住祝 砖诇 讬诇讚讬诐 讗诇讬讛诐 讗驻砖专 诇讛讙讬注 诪讗讜转讜 爪讜诪转. 讘 Python 讗驻砖专 诇转讗专 讗转 讻诇 讛诪讘谞讛 讘爪讜专讛 专拽讜专住讬讘讬转 注诐 讛诪讞诇拽讛 讛讘讗讛:
@dataclass
class Node:
value: int
children: List['Node']
讬砖 讛诪讜谉 诪讘谞讬诐 诪讛注讜诇诐 讛讗诪讬转讬 砖讗驻砖专 诇转讗专 讘讗诪爪注讜转 诪讘谞讛 谞转讜谞讬诐 砖诇 注抓 - 诇讚讜讙诪讛 讘讜讗讜 谞讞砖讜讘 注诇 诪转拽谞讬诐 讘诇讜谞讛 驻讗专拽. 讛注专讱 讛诪住驻专讬 讬讬爪讙 讻诪讛 讛诪转拽谉 诪讚诇讬拽 讜讛讞讬讘讜专讬诐 讬讛讬讜 讛砖讘讬诇讬诐 讘讬谉 讛诪转拽谞讬诐, 讻讱 砖讗诐 诪转拽谉 诪住讜讬诐 讛讜讗 讘专砖讬诪转 讛讬诇讚讬诐 砖诇 诪转拽谉 讗讞专 讝讛 讗讜诪专 砖讗驻砖专 诇讛讙讬注 诪讛诪转拽谉 砖诇谞讜 诇诪转拽谉 讛讗讞专.
讛拽讜讚 讛讘讗 讬讻讜诇 诇讬讬爪专 讗转 讛诪驻讛 砖诇 讛诇讜谞讛 驻讗专拽 讘诪讘谞讛 讛注抓 砖讗谞讞谞讜 爪专讬讻讬诐:
root = Node(10, [
Node(5, [
Node(99, [
Node(101, []),
Node(102, []),
Node(103, []),
]),
Node(9, [
Node(25, [])
]),
]),
Node(8, [])
])
注讻砖讬讜 讗驻砖专 诇讛诪砖讬讱 讜诇砖讗讜诇 "诪讛 讛诪转拽谉 讛讻讬 砖讜讜讛 讘驻讗专拽?". 拽诇 诇专讗讜转 讘注讬谉 砖讛注专讱 砖诇 讛诪转拽谉 讛讻讬 诪讜爪诇讞 讛讜讗 103. 注讻砖讬讜 谞专讗讛 讗讬讱 驻讬讬转讜谉 讛讬讛 讬讻讜诇 诇诪爪讜讗 讗转 讝讛:
def dfs(node):
yield node.value
for child in node.children:
yield from dfs(child)
讛驻讜谞拽爪讬讛 诪拽讘诇转 爪讜诪转 讘注抓 讜诪转驻拽讚转 讻 Generator, 讛讬讗 诪讚讜讜讞转 注诇 讛注专讱 砖讛讬讗 专讜讗讛 讜讗讝 诪诪砖讬讻讛 讗转 讛讟讬讜诇 讘驻讗专拽 讜讻诇 驻注诐 诪诪砖讬讻讛 诇讚讜讜讞 注诇 注专讻讬诐. 专拽 讝讛 诪住驻讬拽 讘砖讘讬诇 砖驻讬讬转讜谉 讬讜讻诇 诇讛讚驻讬住 讗转 讛注专讱 讛讙讚讜诇 讘讬讜转专 讘注抓:
print(max(dfs(root)))
注讻砖讬讜 谞住讜 讗转诐 砖谞讬 转专讙讬诇讬 讛专讞讘讛:
1. 讛拽讜讚 砖讻转讘转讬 诇讗 讬转诪讜讚讚 讟讜讘 注诐 注抓 砖讞诇拽讬诐 诪诪谞讜 讞讜讝专讬诐 注诇 注爪诪诐. 讗谞讬 讬讜讚注 讘诇讜谞讛 驻讗专拽 讝讛 讬讛讬讛 诪讜讝专 诇讚诪讬讬谉 拽讟注 砖诇 讛驻讗专拽 诪砖讜讻驻诇 诇讻诪讛 砖讘讬诇讬诐, 讗讘诇 讘诪拽讜诪讜转 讗讞专讬诐 讝讛 讬讻讜诇 诇拽专讜转. 谞住讜 诇讞砖讜讘 诪讛 讬拽专讛 讗诐 讗讞讚 讛爪诪转讬诐 讬讜驻讬注 讘讻诪讛 诪拽讜诪讜转 讜讗讝 诇转拽谉 讗转 讛拽讜讚.
2. 讘讟讬讜诇 讗诪讬转讬 讘诇讜谞讛 驻讗专拽 讗诐 讬砖 诪转拽谉 拽专讜讘 讗诇讬讬 砖注专讻讜 70 讜诪转拽谉 诪诪砖 专讞讜拽 砖注专讻讜 75, 讗谞讬 讗注讚讬祝 讗转 讛诪转拽谉 讛拽专讜讘. 谞住讜 诇讞砖讜讘 讗讬讱 诇讛讜住讬祝 讗转 讛诪专讞拽 诇讞讬砖讜讘 讜诪爪讗讜 讗转 讛诪转拽谉 讛讻讬 讗讟专拽讟讬讘讬 讻砖诇讜拽讞讬诐 讘讞砖讘讜谉 讗转 讛诪专讞拽.
讛拽讜讚 讛诪诇讗 砖讻转讘转讬 讻转讜讻谞讬转 讗讞转 诇诪讬 砖专讜爪讛 诇拽讞转 讻讘住讬住 诇转专讙讬诇讬 讛讛专讞讘讛 讛讜讗:
from dataclasses import dataclass
from typing import List
@dataclass
class Node:
value: int
children: List['Node']
def dfs(node):
yield node.value
for child in node.children:
yield from dfs(child)
root = Node(10, [
Node(5, [
Node(99, [
Node(101, []),
Node(102, []),
Node(103, []),
]),
Node(9, [
Node(25, [])
]),
]),
Node(8, [])
])
print(max(dfs(root)))
print("---")
for v in dfs(root):
print(v)1 419
# 注讘讜讚讛 讗诪讬转讬转 讜诇讬诪讜讚
讗诐 讛讬讬转讬 诪转讞讬诇 诇诇诪讜讚 讛讬讜诐 驻讬转讜讞 Full Stack 讜讛讬讬转讬 爪专讬讱 诇注讘讜专 诪讗驻诇讬拽爪讬讬转 Node.JS 砖讻转讘转讬 砖注讜讘讚转 讗爪诇讬 注诇 讛诪讻讜谞讛 诇讛转拽谞讛 砖诇 讛讗驻诇讬拽爪讬讛 讘注谞谉, 讗讬谉 砖讜诐 住讬讻讜讬 砖讛讬讬转讬 讛讜诇讱 诇诇诪讜讚 讗讬讱 诇讛拽讬诐 砖专转 Linux 诪讗驻住. 注讝讘讜, 讗驻讬诇讜 讛讬讜诐 砖讗谞讬 讬讜讚注 诇讛拽讬诐 诇注爪诪讬 砖专转讬诐, 讻砖讗谞讬 专讜讗讛 讗转 讛诪诪砖拽讬诐 砖诇 AWS 讗讜 Azure DevOps 讗讜 讗驻讬诇讜 Heroku 讗谞讬 诪专讙讬砖 讟讬驻砖 诇讛转注住拽 注诐 讛转拽谞讜转 讘注爪诪讬. 讘诇讞讬爪转 讻驻转讜专 诪转讜讱 讛 IDE 讛讬讜诐 讗驻砖专 诇讛注讘讬专 讗转 讻诇 讛拽讜讚 砖诇讻诐 诇砖专转 讘专砖转 讜诇拽讘诇 注诇讬讜 讗讬谞住讜祝 诪谞讙谞讜谞讬 谞讬讟讜专 讜谞讬讛讜诇.
讗讜 讘讚讜讙诪讛 讗讞专转 - 讗诐 讛讬讬转讬 诪转讞讬诇 讛讬讜诐 诇诇诪讜讚 git 讜讛讬讬转讬 爪专讬讱 诇讛转讞讘专 诇诪讗讙专 讘砖讘讬诇 诇住谞讻专谉 注讘讜讚讛 注诐 讞讘专讬诐 讘爪讜讜转, 讗讬谉 砖讜诐 住讬讻讜讬 砖讛讬讬转讬 诪转讞讬诇 诪诇诇诪讜讚 讗转 诪诪砖拽 砖讜专转 讛驻拽讜讚讛 讜诇拽专讜讗 讗转 讛 Git Book. 讬砖 讻诇讬 GUI 讻诇 讻讱 讟讜讘讬诐 砖讻讘专 诪住讜谞讻专谞讬诐 注诐 讛 IDE 砖诇讬 讻讱 砖讘诇讞讬爪转 讻驻转讜专 诪讛 IDE 讗谞讬 讬讻讜诇 诇注砖讜转 讗转 讻诇 讛驻注讜诇讜转 砖讗谞讬 爪专讬讱.
讛讘讞讬专讛 诇诇诪讜讚 讟讻谞讜诇讜讙讬讛 讘爪讜专讛 诪砖诪注讜转讬转 讜诇注讜诪拽 讛讬讗 诇讗 讚专讬砖转 拽讚诐 诇驻谞讬 砖诪转讞讬诇讬诐 诇注讘讜讚 讘讟讻谞讜诇讜讙讬讛. 诇诪注砖讛 讝讛 诇讗 讛讙讬讜谞讬 诇讛砖拽讬注 讻诇 讻讱 讛专讘讛 讝诪谉 诇讬诪讜讚 诇驻谞讬 砖讗转诐 诪转讞讬诇讬诐 诇讛讬讜转 诪讜注讬诇讬诐. 讛讘讜住 诪砖诇诐 诇讻诐 讻住祝 讻讚讬 砖转驻转专讜 讘讗讙讬诐 讜转讻转讘讜 驻讬爪'专讬诐, 诇讗 讘砖讘讬诇 砖转讛讬讜 讛专讘讛 讬讜转专 诪拽爪讜注讬讬诐 讘 Linux 诪诪讛 砖爪专讬讱 讘砖讘讬诇 讛注讘讜讚讛 砖诇讻诐.
讜诪讛注讜讘讚讜转 讛讗诇讛 讗谞讞谞讜 讬讻讜诇讬诐 诇讛转拽讚诐 诇砖谞讬 讻讬讜讜谞讬诐 讗驻砖专讬讬诐:
1. 讗驻砖专 诇讞驻砖 诇诇诪讜讚 讗转 讛诪讬谞讬诪讜诐 砖讗谞讬 爪专讬讱 讘砖讘讬诇 诇讛转拽讚诐 讘注讘讜讚讛. 讗诐 讗驻砖专 诇注讘讜讚 注诐 讛 GUI 砖诇 讙讬讟 讜诇讛讙讬注 诇转讜爪讗讜转 讟讜讘讜转 讗讝 讻讗谉 讗谞讬 注讜爪专. 讗讬谉 讟注诐 诇诇诪讜讚 诪注讘专 诇讝讛.
2. 讗驻砖专 诇讞驻砖 诇诇诪讜讚 讗转 讛诪拽住讬诪讜诐 砖讗谞讬 讬讻讜诇 注诇 讻诇讬 诪住讜讬诐, 诪转讜讱 注谞讬讬谉 讜讘砖讘讬诇 诇讙诇讜转 注诇讬讜 讚讘专讬诐 砖讗讜诇讬 讬注讝专讜 诇砖驻专 讗转 讛注讘讜讚讛 砖诇讬 (讜讗讜诇讬 诇讗). 诇讬诪讜讚 讟讻谞讜诇讜讙讬 讻讬 讗驻砖专, 讜讻讬 讗谞讬 诪住讜讙 讛讗谞砖讬诐 砖诇讜诪讚 讟讻谞讜诇讜讙讬讜转 讞讚砖讜转.
讗谞讬 讞讜砖讘 砖讛讟注谞讛 砖爪专讬讱 诇讚注转 讛讻诇 讟讜讘 讘砖讘讬诇 诇讛转拽讚诐 讘注讘讜讚讛 诇讗 诪讜讻讬讞讛 讗转 注爪诪讛 讘 Scale. 专讜讘 讛诪转讻谞转讬诐 砖谞驻讙讜砖 诇讗 诪讻讬专讬诐 讗转 讛拽专讘讬讬诐 砖诇 讻诇 讻诇讬 砖讗谞讞谞讜 诪砖转诪砖讬诐 讘讜 讜讘讻诇 讝讗转 讗谞讞谞讜 诪爪诇讬讞讬诐 诇讻转讜讘 诪讜爪专讬诐 诇讗 专注讬诐. 讛讘讞讬专讛 讛砖谞讬讛, 讛讘讞讬专讛 诇诇诪讜讚 诇注讜诪拽, 诇讗转讙专 讗转 注爪诪谞讜 讜诇讞驻砖 讚专讻讬诐 讬爪讬专转讬讜转 诇驻转讜专 讘注讬讜转 诇讗 爪专讬讻讛 讗转 讛讛爪讚拽讛 砖诇 讛转讜爪讗讛. 讛讬讗 讟讜讘讛 诪住驻讬拽 讘驻谞讬 注爪诪讛.
