ToCode
Open in Telegram
1 419
Subscribers
-124 hours
-17 days
-130 days
Posts Archive
1 419
# 讗谞讬 讘讞讬讬诐 诇讗 讗讘讬谉 讗转 讝讛
状讝讛 诪住讜讘讱 诪讚讬状
状讻诇 讛讗谞砖讬诐 砖讬讜讚注讬诐 讗转 讝讛 讛转讞讬诇讜 讘讙讬诇 讛专讘讛 讬讜转专 爪注讬专状
状讝讛 讬讬拽讞 讬讜转专 诪讚讬 讝诪谉状
状讝讛 讘注爪诐 诇讗 砖讜讜讛 讗转 讛讛砖拽注讛状
状讗讜诇讬 讘砖谞讛 讛讘讗讛 讗讛讬讛 讬讜转专 讝诪讬谉 诇谞住讜转 诇诇诪讜讚 砖讜讘状
状讗谞讬 诪诪讬诇讗 诇讗 讛讜诇讱 诇讛砖转诪砖 讘讝讛状
状注讚 注讻砖讬讜 讛住转讚专转讬 讟讜讘 讘诇讬 诇讚注转 讗转 讝讛状
状讗谞讬 讘讞讬讬诐 诇讗 讗讘讬谉 讗转 讝讛状
状讙诐 讗诐 讗爪诇讬讞 诇讛讘讬谉 讘讞讬讬诐 诇讗 讗讛讬讛 讟讜讘 讘讝讛状
讜诪讛 砖讬驻讛 讘讻诇 讛拽讜诇讜转 讛讗诇讛 砖专爪讬诐 诇谞讜 讘转讜讱 讛专讗砖 讝讛 砖讻诇 驻注诐 砖讗转讛 讘讗 诇诇诪讜讚 诪砖讛讜 讞讚砖 讛诐 讞讜讝专讬诐, 讜讛讚讘专 讛讬讞讬讚 砖诪砖转谞讛 讛讜讗 讛讚讘专 砖诪谞住讬诐 诇诇诪讜讚. 讛转讙讜讘讛 砖诇讬? 讟讜讘 砖讘讗转诐, 讘讜讗讜 转砖讘讜 诇砖转讜转 拽驻讛, 砖诪讞 诇砖诪讜注 讗转 讚注转讻诐 讜转讘讜讗讜 砖讜讘 砖谞讛 讛讘讗讛. 注讻砖讬讜 爪专讬讱 诇讞讝讜专 诇诇诪讜讚.
1 419
# 讟讬驻 Python: 砖讬诪讜砖 讘 ExitStack 讻讚讬 诇爪诪爪诐 with-讬诐 诪拽讜谞谞讬诐
讛讟讬驻 砖诇 讛讬讜诐 拽砖讜专 诇驻拽讜讚讛 with 讜讘驻专讟 诇砖讬诪讜砖 砖诇讛 讘转讜讱 with 讗讞专. 讘讜讗讜 谞讻转讜讘 驻讜谞拽爪讬讛 拽爪专讛 砖诪拽讘诇转 砖诪讜转 砖诇 砖谞讬 拽讘爪讬诐 讜诪注转讬拽讛 讗转 转讜讻谉 讛拽讜讘抓 讛专讗砖讜谉 诇砖谞讬. 讗谞讬 讬讜讚注 讬砖 驻讜谞拽爪讬讜转 住驻专讬讛 讟讜讘讜转 诇注砖讜转 讗转 讝讛, 讗讘诇 讘砖讘讬诇 讛诪砖讞拽 讜讛讟讬驻 讘讜讗讜 谞讛讬讛 讬爪讬专转讬讬诐 讜谞讻转讜讘 诇讘讚. 讗谞讬 讞讜砖讘 砖谞讬住讬讜谉 专讗砖讜谉 注砖讜讬 诇讛讬专讗讜转 讻讱:
def v1(fin_name, fout_name):
with open(fin_name, encoding='utf8') as fin:
with open(fout_name, 'w') as fout:
for line in fin:
fout.write(line)
讻转讬讘转 拽讜讚 讛讻转讬讘讛 讜讛拽专讬讗讛 讘转讜讱 with 讛讬讗 专注讬讜谉 讟讜讘 讻讬讜讜谉 砖讗诐 转讛讬讛 砖讙讬讗讛 讘讗讞转 讛驻注讜诇讜转 讜驻讬讬转讜谉 讬讝专讜拽 Exception 讘讗讜驻谉 讗讜讟讜诪讟讬 砖谞讬 讛拽讘爪讬诐 讬讬住讙专讜 诇驻谞讬 砖注讜讝讘讬诐 讗转 讛驻讜谞拽爪讬讛. 讛讘注讬讛 砖讛拽讜讚 谞专讗讛 诇讗 诪砖讛讜 讘讙诇诇 讛 with 讘转讜讱 with, 讜讻讻诇 砖讬讛讬讜 讬讜转专 拽讘爪讬诐 砖谞爪讟专讱 诇注讘讜讚 讗讬转诐 住讬讻讜讬 讟讜讘 砖讛诪爪讘 专拽 讬诇讱 讜讬转讚专讚专.
驻讬转专讜谉 拽诇 诇诪爪讘 讛讝讛 讗驻砖专 诇诪爪讜讗 讘诪讜讚讜诇 contextlib 砖诪讙讬注 讻讞诇拽 诪讛住驻专讬讛 讛住讟谞讚专讟讬转 砖诇 驻讬讬转讜谉. 讛驻讜谞拽爪讬讛 ExitStack 诪转讜讱 讗讜转讜 诪讜讚讜诇 讛讬讗 Context Manager 砖诪讞讘专 讬讞讚 Context Managers 讗讞专讬诐, 讗讜 讘砖驻讛 驻砖讜讟讛 讛讬讗 诪讗驻砖专转 诇讛砖转诪砖 讘讘诇讜拽 with 讗讞讚 讻讚讬 诇转驻讜住 诪住驻专 讚讘专讬诐 砖讬讻讜诇讬诐 诇讛讬砖讘专.
讛谞讛 讛拽讜讚 讗讞专讬 砖讛讜住驻转讬 讗转 ExitStack:
from contextlib import ExitStack
def v2(fin_name, fout_name):
with ExitStack() as stack:
fin = stack.enter_context(open(fin_name, encoding='utf8'))
fout = stack.enter_context(open(fout_name, 'w'))
for line in fin:
fout.write(line)
讛驻讜谞拽爪讬讛 ExitStack 诪讞讝讬专讛 讗讜讘讬拽讟 砖讬砖 诇讜 驻讜谞拽爪讬讜转 __enter__ 讜 __exit__, 讜讙诐 驻讜谞拽爪讬讛 讘砖诐 enter_context. 讛驻讜谞拽爪讬讛 enter_context 诪爪驻讛 讘转讜专讛 诇拽讘诇 诪砖讛讜 砖讬砖 诇讜 __enter__ 讜 __exit__, 诪驻注讬诇讛 诪讬讚 讗转 讛 __enter__ 砖诇 诪讛 砖拽讬讘诇讛, 讜讻砖诪讙讬注 讛 __exit__ 砖诇 讛 ExitStack 讛讜讗 拽讜专讗 讘讗讜驻谉 讗讜讟讜诪讟讬 诇 __exit__ 砖诇 讻诇 讛讗讜讘讬拽讟讬诐 砖注讘专讜 讗诇讬讜 讚专讱 enter_context.
诇 ExitStack 讬砖 注讜讚 讻诪讛 讟专讬拽讬诐 注诇讬讛诐 诇讗 住讬驻专转讬 讜讗诐 讗转诐 住拽专谞讬诐 转讜讻诇讜 诇诪爪讜讗 讗转 讻诇 讛驻专讟讬诐 讘讚祝 讛转讬注讜讚. 拽专讬讗讛 诪讛谞讛.1 419
# 驻砖讜讟 讻讬 讝讛 注讘讚
诇讗 诪讝诪谉 讬爪讗 诇讬 诇专讗讬讬谉 诪住驻专 诪转讻谞转讬诐 诇诪砖专讛 讜讘砖讘讬诇 砖讬讛讬讛 注诇 诪讛 诇讚讘专 讘专讗讬讜谉 谞转转讬 诇砖诇讜砖转诐 诪砖讬诪转 讘讬转 拽讟谞讛. 砖谞讬讬诐 诪讛砖诇讜砖讛 讛讙讬砖讜 转砖讜讘讜转 砖诇讗 讛爪讚讬拽讜 讝讬诪讜谉 诇专讗讬讜谉. 讗爪诇 讛讘讞讜专 讛砖诇讬砖讬 讛住讬驻讜专 拽爪转 讬讜转专 诪讜专讻讘.
讛拽讜讚 砖诇讜 注讘讚 诪注讜诇讛, 讻诪注讟 讻讜诇讜 讛讬讛 讻转讜讘 诇驻讬 讛住驻专, 注诐 转讬注讜讚 诪住讜讚专, 讞诇讜拽讛 谞讻讜谞讛 诇拽讘爪讬诐 讜诪讞诇拽讜转 讜讗驻讬诇讜 讘讚讬拽讜转 讬讞讬讚讛. 讗讬谉 住驻拽 砖讛讘谉 讗讚诐 讛讙讬注 注诐 谞讬住讬讜谉 专诇讜讜谞讟讬 讜讬讜讚注 注诇 诪讛 讛讜讗 诪讚讘专. 讛讚讘专 讛讬讞讬讚 砖诪砖讱 转砖讜诪转 诇讘 讘驻讬转专讜谉 砖诇讜 讛讬讛 驻讜谞拽爪讬讛 讗讞转 砖讛讬转讛 讻转讜讘讛 讘爪讜专讛 砖讗祝 驻注诐 诇讗 专讗讬转讬: 讘诪拽讜诐 诇讛砖转诪砖 讘诪谞讙谞讜谉 讛住讟谞讚专讟讬 诇驻转讜专 讗转 讛讘注讬讛, 讗讜转讜 诪转讻谞转 讛诪爪讬讗 诪谞讙谞讜谉 讞讚砖 讘注爪诪讜. 讝讛 注讘讚 讜讛讻诇, 讗讘诇 谞专讗讛 砖讛讜讗 讛转讗诪抓 讛专讘讛 讬讜转专 诪诪讛 砖讛讬讛 爪专讬讱 讘砖讘讬诇 谞拽讜讚讛 讬讞住讬转 砖讜诇讬转 讘转讜讻谞讬转.
注讻砖讬讜 讬砖 诪转讻谞转讬诐 砖谞转拽注讬诐 注诇 谞拽讜讚讛 讻讬 讛诐 诇讗 诪讻讬专讬诐 讗转 讛驻讬转专讜谉 讛住讟谞讚专讟讬. 专讗讬谞讜 讜讗谞讞谞讜 专讜讗讬诐 讚讘专讬诐 讻讗诇讛 讻诇 讬讜诐: 讗诇讛 诪转讻谞转讬诐 砖讬诪爪讬讗讜 诪讞讚砖 诪砖讛讜 讻讬 讛诐 驻砖讜讟 讗祝 驻注诐 诇讗 专讗讜 诪讛 讛讚讘专 讛谞讻讜谉 诇注砖讜转, 讗讜 砖诇讗 诪讻讬专讬诐 诪住驻讬拽 讟讜讘 讗转 讛讻诇讬 讜讗转 讛驻讬转专讜谉 讛住讟谞讚专讟讬. 讝讛 讘讜讜讚讗讜转 诇讗 讛讬讛 讛诪爪讘. 讻诇 砖讗专 讛拽讜讚 砖讗讜转讜 诪转讻谞转 讛讙讬砖 讛讬讛 讬讻讜诇 诇砖诪砖 讻讚讜讙诪讗 讘住驻专 诇讬诪讜讚. 讗讬谉 住驻拽 砖讛讘谉 讗讚诐 讬讚注 讘讚讬讜拽 讗讬讱 爪专讬讱 诇讻转讜讘.
讘专讗讬讜谉 讻诪注讟 诇讗 讛爪诇讞转讬 诇讛转讗驻拽 讘砖讗诇讜转 讛讛讬讻专讜转 讛讝专讬讝讜转, 讚讬诇讙转讬 注诇 讻诇 讛谞讬诪讜住讬诐 讜拽驻爪转讬 诇拽讜讚: "诇诪讛? 讗讬讱 讘讻诇 讛拽讜讚 讛诪注讜诇讛 砖讗转讛 讻讜转讘 讗转讛 诪砖讗讬专 诪讬诪讜砖 讻讝讛?!?"
讛转砖讜讘讛 砖诇讜 讛讬转讛 诪讘专讬拽讛 讜讛讘讬讗讛 诇讜 讗转 讛转驻拽讬讚 讘住讜祝: "驻砖讜讟 讻讬 讝讛 注讘讚". 讛讜讗 讛诪砖讬讱 诇驻专讟 诪讛 讛讚专讱 讛谞讻讜谞讛 诇驻转讜专 讗转 讛讘注讬讛, 讛住讘讬专 砖谞讬住讛 讗讜转讛 讜诪砖讜诐 诪讛 讝讛 诇讗 注讘讚 诇讜, 讜讘讙诇诇 砖专爪讛 诇住讬讬诐 讗转 讛诪砖讬诪讛 讘讝诪谉 讛讜讗 诇讗 讛住驻讬拽 诇讞拽讜专 注讚 讛住讜祝 诪讛 讛讬转讛 讛讟注讜转 砖诐, 讗讝 诇拽讞 讻讬讜讜谉 讗讞专. 讛讻讬讜讜谉 砖诇拽讞 讗讜诪谞诐 诪讜讝专 讗讘诇 诇讗 讙专讜注 讬讜转专 诪讛讻讬讜讜谉 讛谞讻讜谉 讘砖讜诐 驻专诪讟专 砖讛讬讛 讞砖讜讘 讘讛拽砖专 砖诇 讛砖讗诇讛, 讜讛爪诇讬讞 诇讛讘讬讗 讗讜转讜 诇驻讬转专讜谉 砖注讜讘讚.
讛讘讞讬专讛 诇讛讙讬注 讘讝诪谉 诇拽讜 讛住讬讜诐 讜注诐 诪讜爪专 注讜讘讚 讻诪注讟 转诪讬讚 转讞讬讬讘 驻砖专讜转 - 讜诪转讻谞转讬诐 讟讜讘讬诐 讬讜讚注讬诐 注诇 诪讛 砖讜讜讛 诇讛转注拽砖 讜注诇 诪讛 讞讬讬讘讬诐 诇讜讜转专.
1 419
# 砖诇讜砖 砖讗诇讜转 讞砖讜讘讜转 注诇 诪讬讜诪谞讜转
讬砖 专拽 砖诇讜砖 砖讗诇讜转 砖砖讜讜讛 诇讛转诇讘讟 诇讙讘讬讛谉 诇驻谞讬 砖诪讞诇讬讟讬诐 讗诐 诇拽讞转 讗讜 诇讗 诇拽讞转 诪住诇讜诇 诇讬诪讜讚 诪住讜讬诐 (拽讜专住, 住驻专, 讛砖转转驻讜转 讘诪讬讟讗驻, 驻讬转讜讞 驻专讜讬拽讟 诇讘讚 讜讻讜'):
## 讛讗诐 讗谞讬 讬讻讜诇讛 诇讛砖转驻专?
砖讗诇讛 专讗砖讜谞讛 - 讛讗诐 讗谞讬 讘讻诇诇 讬讻讜诇讛 诇讛讬讜转 讟讜讘讛 讬讜转专 讘讚讘专 讛讝讛? 讗谞讬 讻诪讜讘谉 专讜爪讛 诇爪注讜拽 "讻谉!" 诇讗 诪砖谞讛 诪讛 讛谞讜砖讗, 讗讘诇 讛讗诪转 拽爪转 讬讜转专 诪讜专讻讘转.
讗讜诇讬 讛注讜讙转 讙讝专 砖讗转讛 诪讻讬谉 诇讻诇 讗讬专讜注 诪砖驻讞转讬 讘注砖专 讛砖谞讬诐 讛讗讞专讜谞讜转 讛讬讗 诪诪砖 讟讜讘讛 讻诪讜 砖讛讬讗. 讻讜诇诐 讻讘专 讛转专讙诇讜 诇讟注诐 讜讻诇 砖讬谞讜讬 专拽 讬讝讬拽. 讻讜诇谞讜 诪讻讬专讬诐 诪讗讻诇讬诐 讻讗诇讛 砖讗谞讞谞讜 讗讜讛讘讬诐 讘讚讬讜拽 讘讙诇诇 砖讛诐 讻诪讜 砖转诪讬讚 讛讬讜.
讗讜诇讬 讗转 讻讘专 讬讜讚注转 诪诪砖 讟讜讘 诇诪诇讗 讗转 讛讚讜讞 讛砖谞转讬 诇诪住 讛讻谞住讛. 讛注住拽 砖诇讱 诇讗 诪砖转谞讛 讬讜转专 诪讚讬, 讗转 诪转注讚讻谞转 诪讚讬 驻注诐 讘砖讬谞讜讬讬 讛讞拽讬拽讛, 讬砖讘转 注诐 专讜讗讛 讞砖讘讜谉 砖讬诇诪讚 讗讜转讱 讻诇 诪讛 砖爪专讬讱 讜讜讜讗诇讛 讛讚讜讞 讬讜爪讗 诪注讜诇讛. 讙诐 讘诪拽专讛 讛讻讬 讟讜讘 砖转爪诇讬讞讬 诇讚讞讜祝 注讜讚 讛讜爪讗讛 讝讛 诇讗 讬讞住讜讱 诇讱 讬讜转专 诪讚讬 讜讘讟讞 诇讗 诪砖讛讜 砖砖讜讜讛 诇讛转讗诪抓 讘砖讘讬诇讜. 讝讛 讛讻讬 讟讜讘 砖讝讛 诪讙讬注.
诇驻谞讬 砖讗谞讞谞讜 诪转讞讬诇讬诐 诇讛转讗诪谉 讻讚讬 诇讛砖转驻专 讻讚讗讬 诇讛讬讜转 诪砖讜讻谞注讬诐 砖讝讛 诪砖讛讜 砖讗驻砖专 讘讻诇诇 诇注砖讜转 讗讜转讜 讬讜转专 讟讜讘.
## 讛讗诐 讻讚讗讬 诇讬 诇讛砖转驻专?
讘转讻谞讜转 讛诪爪讘 讬讞住讬转 拽诇 - 讻诇 诪讬 砖讗谞讬 诪讻讬专 砖讻讜转讘 拽讜讚 讬讻讜诇 诇注砖讜转 讗转 讝讛 讬讜转专 讟讜讘, 讜讻诇 讛诪转讻谞转讬诐 讛讟讜讘讬诐 砖讗谞讬 诪讻讬专 诪讜讚注讬诐 诇讝讛 砖讻砖讗谞讞谞讜 诪注诇讬诐 讗转 讛专诪讛 讗谞讞谞讜 诪专讜讜讬讞讬诐 讛诪讜谉.
讛讗转专 讛讝讛 讻转讜讘 讘 Ruby On Rails. 讻砖讛转讞诇转讬 讗讜转讜 讻诪注讟 讜诇讗 讬讚注转讬 Rails, 讗讘诇 讛讬讜诐 6 砖谞讬诐 讗讞专讬 讗谞讬 讬讜讚注 诪住驻讬拽 专讬讬诇住 讘砖讘讬诇 诇讛转注爪讘谉 讻诪注讟 注诇 讻诇 砖讜专转 拽讜讚 砖讻转讘转讬 讻砖讛转讞诇转讬. 讬砖 诇讬 讙诐 讗转 讛驻专住驻拽讟讬讘讛 诇专讗讜转 讗讬讱 讻砖讗谞讬 讻讜转讘 拽讜讚 讞讚砖 讛讬讜诐 讗谞讬 讬讻讜诇 讛专讘讛 讬讜转专 讘拽诇讜转 诇讛讜住讬祝 讗诇讬讜 驻讬爪'专讬诐 讜讛拽讜讚 诪讻讬诇 讛专讘讛 驻讞讜转 讘讗讙讬诐 讘讛砖讜讜讗讛 诇诇驻谞讬 讻诪讛 砖谞讬诐.
砖讬驻讜专 讛诪讬讜诪谞讜转 砖诇讬 讞住讱 诇讬 砖注讜转 砖诇 注讘讜讚讛 讘驻讬转讜讞 讜转讞讝讜拽讛 砖诇 讛讗转专.
讜讘讙诇诇 砖讻讜诇诐 讘转注砖讬讛 讬讜讚注讬诐 讗转 讝讛 讻诇 讛讞讘专讜转 专讜爪讜转 诇讙讬讬住 讗转 讛 5% 诪转讻谞转讬诐 讛讟讜讘讬诐 讘讬讜转专 讘讗专抓, 讜讛注讬转讜谞讜转 诪诇讗讛 讘讻转讘讜转 注诇 讛讗讘住讜专讚 砖诪爪讚 讗讞讚 讬砖 讻诇 讻讱 讛专讘讛 诪砖专讜转 转讻谞讜转 驻谞讜讬讜转 讜诪爪讚 砖谞讬 讬砖 讛诪讜谉 诪讞驻砖讬 注讘讜讚讛 砖诇讗 诪爪诇讬讞讬诐 诇讛砖讬讙 讗转 讛诪砖专讜转 讛讗诇讛.
## 讛讗诐 讛诪住诇讜诇 讛诪讜爪注 讬注讝讜专 诇讬 诇讛砖转驻专?
注讻砖讬讜 讗谞讞谞讜 诪讙讬注讬诐 诇砖讗诇讛 讛拽讜讘注转: 讗诐 讗谞讬 讬讜讚注 砖讘转讜专 诪转讻谞转 诪讗讜讚 诪砖转诇诐 诇讬 讻诇 讛讝诪谉 诇诇诪讜讚 讜诇讛砖转驻专, 谞专爪讛 诇砖讗讜诇 注诇 讚专讱 诇讬诪讜讚 住驻爪讬驻讬转 讛讗诐 讛讬讗 砖讜讜讛 讗转 讛讝诪谉 砖诇讬.
讛讗诐 诇拽专讜讗 住驻专 注诇 Design Patterns 讬注砖讛 讗讜转讬 诪转讻谞转 讟讜讘 讬讜转专 讜讬讬转谉 诇讬 讻诇讬诐 讟讜讘讬诐 讬讜转专 诪诪讛 砖讬砖 诇讬 讻讚讬 诇讛转诪讜讚讚 注诐 讘注讬讜转 讘讬讜诐 讬讜诐?
讛讗诐 诇拽讞转 拽讜专住 讗讜谞诇讬讬谉 注诇 Rails 讬讛驻讜讱 讗讜转讬 诇诪转讻谞转 专讬讬诇住 讟讜讘 讬讜转专?
讛讗诐 诇讘谞讜转 驻专讜讬拽讟-爪讚 讘 React 讬讛驻讜讱 讗讜转讬 诇诪转讻谞转 专讬讗拽讟 讟讜讘 讬讜转专?
讛讗诐 诇讛注讘讬专 讛专爪讗讛 讘诪讬讟讗驻 讬注讝讜专 诇讬 诇诇诪讜讚 诪砖讛讜 讬讜转专 诇注讜诪拽?
讜讛谞讛 诪砖讬诪转 讛讘讬转 砖诇讻诐 诇讛讬讜诐 - 拽讞讜 砖诇讜砖讛 谞讜砖讗讬诐 砖讛讬讬转诐 专讜爪讬诐 诇讛砖转驻专 讘讛诐 讜讻转讘讜 诇注爪诪讻诐 5 讛爪注讜转 诇讚讘专讬诐 砖讗转诐 讬讻讜诇讬诐 诇注砖讜转 讻讚讬 诇讛砖转驻专 讘讻诇 讗讞讚 诪讛谞讜砖讗讬诐 (住讱 讛讻诇 15 诪砖讬诪讜转). 诇讗 爪专讬讱 诇注砖讜转 讗转 讻讜诇谉 讬讞讚, 讗讘诇 讻谉 讻讚讗讬 诇讘讞讜专 讗讞转, 讗转 讝讜 砖谞专讗讬转 讛讻讬 讞砖讜讘讛 讗讜 讛讻讬 讻讬驻讬转, 讜诇讛转讞讬诇 讗讬转讛. 讜讻谉 讛讬讜诐 讝讛 讬讜诐 诪爪讜讬谉 诇讝讛.
1 419
# 讚讜讙诪讗 拽爪专讛 诇砖讬转讜祝 拽讜讚 注诐 Decorators 讘 Python
讚拽讜专讬讬讟讜专讬诐 讘驻讬讬转讜谉 讛诐 驻讬爪'专 住讜驻专 砖讬诪讜砖讬 砖诇驻注诪讬诐 讛讜诇讱 诇讗讬讘讜讚 讘讙诇诇 讛转讞讘讬专 讛诪讘诇讘诇 砖诇讜, 讜讘诪讬讜讞讚 讻砖爪专讬讱 讚拽讜专讬讬讟讜专 砖诪拽讘诇 驻专诪讟专讬诐. 讘讻诇 讝讗转 诇驻注诪讬诐 讛诐 诪诪砖 注讜讝专讬诐 讜讛谞讛 讚讜讙诪讗 拽讟谞讛 砖讗讜诇讬 转转谉 诇讻诐 讛砖专讗讛.
## 诪讛 讗谞讞谞讜 讘讜谞讬诐
讬砖 诇谞讜 诪讻讜谞讛 讜讬专讟讜讗诇讬转 砖诪讬讜爪讙转 讘讗诪爪注讜转 诪讞诇拽讛 砖谞拽专讗转 VM, 讜诇诪讻讜谞讛 讝讜 讬砖 讝讬讻专讜谉 讜驻注讜诇讜转 砖讛诪讻讜谞讛 讬讜讚注转 诇注砖讜转. 讛讝讬讻专讜谉 诪谞讜讛诇 讘讗诪爪注讜转 dictionary 讻讗砖专 讻诇 转讗 讘讝讬讻专讜谉 诪讬讜爪讙 注诇 讬讚讬 讗讜转 拽讟谞讛 讘讗谞讙诇讬转.
讛转讞诇讛 砖诇 讛诪讞诇拽讛 讬讻讜诇讛 诇讛讬专讗讜转 讻讱:
class VM:
def __init__(self):
self.memory = defaultdict(int)
def add(self, x, y):
self.memory[x] += y
注讻砖讬讜 讗谞讞谞讜 讬讻讜诇讬诐 诇讛驻注讬诇 讗转 讛驻拽讜讚讛 add 讻讚讬 诇讛讜住讬祝 注专讱 诇讝讬讻专讜谉:
vm = VM()
vm.add('a', 10)
# prints 10
print(vm.memory['a'])
讗驻砖专 讘拽诇讜转 诇讚诪讬讬谉 砖讬讛讬讜 注讜讚 驻注讜诇讜转 讘转讜讻谞讬转 诇诪砖诇:
def set(self, x, y):
self.memory[x] = y
def mul(self, x, y):
self.memory[x] *= y
def mod(self, x, y):
self.memory[x] %= y
讜注讻砖讬讜 讗谞讞谞讜 专讜爪讬诐 诇注讚讻谉 讗转 讛拽讜讚 讻讱 砖讗驻砖专 讬讛讬讛 诇讛注讘讬专 讘转讜专 驻专诪讟专 砖谞讬 讙诐 砖诐 砖诇 专讙讬住讟专 讜诇讗 专拽 诪住驻专, 讻诇讜诪专 谞专爪讛 诇讛讬讜转 诪住讜讙诇讬诐 诇讻转讜讘:
vm = VM()
vm.add('a', 10)
vm.set('b', 20)
vm.add('a', 'b')
讻讚讬 诇拽讘诇 讘专讙讬住讟专 a 讗转 讛注专讱 30.
## 驻讬转专讜谉 讘诇讬 Decorator
驻讬转专讜谉 拽诇 讘诇讬 讚拽讜专讬讬讟讜专 讬讚专讜砖 诇讻转讜讘 驻讜谞拽爪讬讛 讞讚砖讛, 谞拽专讗 诇讛 valify, 砖诇讜拽讞转 驻专诪讟专 讜讘讜讚拽转 讛讗诐 诇讛驻讜讱 讗讜转讜 诇注专讱 (讝讻专讜 讗诐 讝讛 诪住驻专 讗谞讞谞讜 诇讗 爪专讬讻讬诐 诇讙砖转 诇诪讬诇讜谉, 专拽 讗诐 讝讛 讗讜转). 砖讬诪讜砖 讘驻讜谞拽爪讬讛 诪转讜讱 add 注砖讜讬 诇讛讬专讗讜转 讻讱:
def add(self, x, y):
self.memory[x] += valify(y)
讝讛 注讜讘讚 讗讘诇 诪注爪讘谉 - 注讻砖讬讜 爪专讬讱 讘讻诇 讗讞转 诪讛驻注讜诇讜转 诇讝讛讜转 讻诇 驻注诐 砖讛驻注讜诇讛 驻讜谞讛 诇诪砖转谞讛 讘转讜专 注专讱 讜诇讛驻注讬诇 驻讜谞拽爪讬讛 讞讚砖讛. 砖讬谞讜讬 讻讝讛 讬砖驻讬注 注诇 讛拽讜讚 诪诪砖 砖诇 讻诇 讛驻讜谞拽爪讬讜转 砖讻转讘谞讜.
## 驻讬转专讜谉 注诐 Decorator
讚拽讜专讬讬讟讜专 诪讗驻砖专 诇谞讜 诇拽讞转 讙讬砖讛 砖讜谞讛 讜诇砖讬诐 讗转 讛砖讬谞讜讬 讛讝讛 诪讞讜抓 诇驻讜谞拽爪讬讛, 讻诇讜诪专 谞讜讻诇 诇讻转讜讘:
@valify(1)
def add(self, x, y):
self.memory[x] += y
讻讚讬 砖讘讗讜驻谉 讗讜讟讜诪讟讬 讛驻讜谞拽爪讬讛 转拽讘诇 讗转 y 讗讞专讬 砖讛驻讻谞讜 讗讜转讜 诪专讙讬住讟专 诇诪住驻专. 讛砖讬诪讜砖 讘驻专诪讟专 讘讚拽讜专讬讬讟讜专 讬讗驻砖专 诇谞讜 诇讻转讜讘 驻注讜诇讜转 讬讜转专 诪转讜讞讻诪讜转 诇诪砖诇 讻讗诇讛 砖爪专讬讻讜转 诇讛转讬讞住 讙诐 诇驻专诪讟专 讛专讗砖讜谉 砖诇讛谉 讘转讜专 诪住驻专.
拽讜讚 讛讚拽讜专讬讬讟讜专 讗讙讘 谞专讗讛 讻讱:
def valify(index):
def decorator(f):
def inner(self, *args):
next_args = list(args)
if args[index] in string.ascii_lowercase:
next_args[index] = self.memory[args[index]]
else:
next_args[index] = int(args[index])
f(self, *next_args)
return inner
return decorator
讗讝 谞讻讜谉 砖讬诇诪谞讜 诪讞讬专 讘讻转讬讘转 驻讜谞拽爪讬讬转 Decorator 砖讛讬讗 讬讜转专 诪讜专讻讘转 诪讗砖专 驻讜谞拽爪讬讛 专讙讬诇讛, 讗讘诇 讛专讜讜讞谞讜 砖专讜讘 讛拽讜讚 砖诇谞讜 讬讬砖讗专 谞拽讬 讬讜转专 讜讻诪注讟 诇讗 讬讜砖驻注 诪讛注讚讻讜谉 讘讚专讬砖讜转.
谞.讘. 讗谞讬 诪住讘讬专 诪诪砖 诇注讜诪拽 注诇 讛转讞讘讬专 砖诇 Decorators 注诐 注讜讚 讛诪讜谉 讚讜讙诪讗讜转 诇诪拽专讬诐 讘讛诐 讻讚讗讬 诇讛砖转诪砖 讘讜 讘拽讜专住 驻讬讬转讜谉 诪转拽讚诐 讻讗谉 讘讗转专. 讗诐 讗转诐 讻讘专 讻讜转讘讬诐 驻讬讬转讜谉 讜专讜爪讬诐 诇讛注诇讜转 讗转 讛专诪讛 讜诇讻转讜讘 拽讜讚 谞拽讬 讬讜转专 诪诪诇讬抓 诇讛注讬祝 诪讘讟. 讝讛 讛拽讬砖讜专 诇拽讜专住:
https://www.tocode.co.il/bundles/advanced-python31 419
# 讞讚砖 讘讗转专: 拽讜专住 专讬讗拽讟 诇讬讬讘 - 诇讜诪讚讬诐 讞讜讚砖讬讬诐 注诐 诪专爪讛 讜讬讜爪讗讬诐 注诐 驻专讜讬拽讟 讘讬讚
讛讬 讞讘专讬诐,
讗谞讬 诇讗 诪讘讬谉 讗讬讱 讗谞砖讬诐 注讚讬讬谉 诇讜诪讚讬诐 讘讻讬转讜转. 讘讗诪转. 讛住讬讟讜讗爪讬讛 讛讝讗转 砖诇 诇砖讘转 讘讻讬转讛 诪讜诇 诪专爪讛, 诇讛转讗诪抓 讻讚讬 诇讛讬砖讗专 诪专讜讻讝 (讜诇讗讘讚 讗转 讝讛 讻诇 驻注诐 诪讞讚砖) 讜讘讚讬讜拽 讻砖讗转讛 诪专讙讬砖 砖诪转讞讬诇 诇讛讘讬谉 讬砖 讗讬讝讛 诪砖讛讜 砖诪转驻专抓 注诐 砖讗诇讛 讛讻讬 诇讗 拽砖讜专讛 讜砖讜讘 讛诇讻转 诇讗讬讘讜讚. 讗祝 驻注诐 诇讗 讛讬转讛 诇讬 讞讜讜讬转 诇讬诪讜讚讬诐 讟讜讘讛 讘讻讬转讛. 讻砖讗谞讬 诇讜诪讚 讗讜谞诇讬讬谉 诪讜诇 讛诪讞砖讘 讗谞讬 诪专讜讜讬讞 讘讙讚讜诇:
讗谞讬 讬讻讜诇 诇专讗讜转 讗转 讛砖讬注讜专 讻诪讛 驻注诪讬诐 砖讗谞讬 爪专讬讱 注讚 砖讗谞讬 诪讘讬谉.
讗谞讬 讬讻讜诇 诇讚诇讙 注诇 拽讟注讬诐 砖诇讗 诪注谞讬讬谞讬诐 讗讜转讬.
讗谞讬 讬讻讜诇 诇讛转讗诪谉 讘诇讬 砖讗祝 讗讞讚 诪住转讻诇.
讜讗谞讬 讬讻讜诇 诇砖讗讜诇 砖讗诇讜转 讘诇讬 诇讛专讙讬砖 砖专拽 讗谞讬 诇讗 讛讘谞转讬.
讗讘诇 讙诐 诇诇诪讜讚 讗讜谞诇讬讬谉 讝讛 拽砖讛. 讝讛 拽砖讛 讻讬 讘砖讘讬诇 诇讛转拽讚诐 讗转讛 爪专讬讱 注讜讚 讗谞砖讬诐, 讗转讛 爪专讬讱 讗谞砖讬诐 砖讬砖讗诇讜 讗讜转讱 砖讗诇讜转 注诇 讛拽讜讚 砖讻转讘转, 讗转讛 爪专讬讱 砖讬专讗讜 诇讱 讗转 诪拽专讬 讛拽爪讛 讜讗转 讛讻讬讜讜谞讬诐 砖诇讗 讞砖讘转 注诇讬讛诐.
讜讘转讻谞讜转 讝讛 讗驻讬诇讜 讬讜转专 诪住讜讘讱, 讻讬 讘砖讘讬诇 诇诇诪讜讚 讘专诪讛 讙讘讜讛讛 爪专讬讱 诇砖讘转 诇讻转讜讘 驻专讜讬拽讟 讘专诪讛 讙讘讜讛讛, 讜专讜讘谞讜 诇讗 讬讜讚注讬诐 诇讛诪爪讬讗 诇注爪诪谞讜 驻专讜讬拽讟讬诐 讟讜讘讬诐 诇驻谞讬 砖讗谞讞谞讜 诪讻讬专讬诐 诇注讜诪拽 讟讻谞讜诇讜讙讬讛 诪住讜讬诪转.
讗谞讬 讞讜砖讘 砖讗谞讞谞讜 讬讻讜诇讬诐 诇注砖讜转 诪砖讛讜 讬讜转专 讟讜讘. 砖讗谞讞谞讜 讬讻讜诇讬诐 诇砖讘讜专 讗转 讛诪讞住讜诐 讘讬谉 讛讗讜谞诇讬讬谉 诇讗讜驻诇讬讬谉 讜诇讛讬谞讜转 诪讛讬转专讜谞讜转 砖诇 砖谞讬 讛注讜诇诪讜转. 讘诪转讻讜谞转 讛讞讚砖讛, 讟讜拽讜讚 诇讬讬讘, 谞拽讬讬诐 拽讜专住 砖诇 讞讜讚砖讬讬诐 讘诇讬讜讜讬 诪专爪讛 讜讘讻讬转讛 讗讜谞诇讬讬谉, 讘诪讛诇讻讜 讘谞讜住祝 诇讞讜诪专 讛诇讬诪讜讚 讙诐 讻诇 诪砖转转祝 讜诪砖转转驻转 讬讻转讘讜 驻专讜讬拽讟 诪注砖讬 讘专诪讛 讙讘讜讛讛 讜讘住讬讜诐 讛拽讜专住 转爪讗讜 注诐 驻专讜讬拽讟 讘讬讚 讜诪住驻讬拽 讘讬讟讞讜谉 讜讬讚注 讻讚讬 诇讛讬讻谞住 诇注讘讜讚讛 讗讜 诇讛诪砖讬讱 诇讘谞讜转 驻专讜讬拽讟讬诐 注爪诪讗讬转.
讛拽讜专住 讛专讗砖讜谉 讬讛讬讛 React 讜诪讬讜注讚 诇诪转讻谞转讬诐 砖讻讘专 讬讜讚注讬诐 诇讻转讜讘 拽讜讚 Front End, 诪讻讬专讬诐 JavaScript 讘专诪讛 住讘讬专讛 讗讘诇 诪讻诇 诪讬谞讬 住讬讘讜转 诇讗 讛爪诇讬讞讜 注讚讬讬谉 诇讛讬讻谞住 诇砖讜拽 讛注讘讜讚讛 诇诪砖专讜转 讛 Front End 讛讟讜讘讜转 讘讗诪转. 讛拽讜专住 讬讬驻转讞 讘讗诪爪注 诪专抓 讜讬讬诪砖讱 讞讜讚砖讬讬诐.
讗诐 讗转诐 诪专讙讬砖讬诐 砖讗转诐 讬讜讚注讬诐 诇注讘讜讚, 讗讜诇讬 讗驻讬诇讜 诇诪讚转诐 讗讜 谞讬住讬转诐 诇诇诪讜讚 专讬讗拽讟 诇讘讚 讗讘诇 注讚讬讬谉 讗转诐 注讜讘讚讬诐 讘诪砖专讛 砖拽讟谞讛 注诇讬讻诐 讜诪专讙讬砖讬诐 转拽讜注讬诐, 讛拽讜专住 讛讝讛 讬讛讬讛 转驻讜专 注诇讬讻诐. 讛注讘讜讚讛 砖转注砖讜 讘诪讛诇讱 讛讞讜讚砖讬讬诐, 讛驻专讜讬拽讟 讗讬转讜 转爪讗讜 讜讛砖讬讞讜转 讛砖讘讜注讬讜转 讘讛谉 转爪讬讙讜 讗转 讛讛转拽讚诪讜转 砖诇讻诐 诪讜诇 讛讻讬转讛 讬转谞讜 诇讻诐 讗转 讛讬讚注 讜讛讘讬讟讞讜谉 诇专讜抓 拽讚讬诪讛.
诇讻诇 讛驻专讟讬诐 注诇 拽讜专住 专讬讗拽讟 讛拽专讜讘 诪讜讝诪谞讬诐 诇拽驻讜抓 诇讚祝 讛谞讞讬转讛 讛讞讚砖 砖讘谞讬转讬 讘拽讬砖讜专 https://www.tocode.co.il/live_courses/1
谞转专讗讛 讘拽讜专住
讬谞讜谉
1 419
讛讬 讞讘专讬诐 讛转讞诇转讬 讛讬讜诐 专讬砖讜诐 诇拽讜专住 专讬讗拽讟 讘诪转讻讜谞转 讞讚砖讛 ToCode Live
讛拽讜专住 讬讜注讘专 讗讜谞诇讬讬谉 讘诇讬讜讜讬 诪谞讟讜专 讜讘讛谞讞讬讛 砖诇讬 讜讬讻诇讜诇 讞讜讚砖讬讬诐 砖诇 诇诪讬讚讛 讜注讘讜讚讛 诪注砖讬转 注诇 专讬讗拽讟 讻讚讬 诇讘谞讜转 驻专讜讬拽讟 砖讬讛讬讛 诪住驻讬拽 讟讜讘 讻讚讬 诇讛讻谞讬住 讗转讻诐 诇注讘讜讚讛 讗诪讬转讬转 讻诪驻转讞讬 React
讬讛讬讛 讜讬讚讗讜 诪讜拽诇讟 注诇 讻诇 讛谞讜砖讗讬诐
讬讛讬讜 讜讜讘讬谞专讬诐 讞讬讬诐 诇砖讗诇讜转 讜讻讚讬 诇讛爪讬讙 讗转 讛注讘讜讚讛 砖诇讻诐 诪讜诇 讻讜诇诐
转讛讬讛 拽讘讜爪转 讚讬讜谞讬诐 讜讛讞诇驻转 专注讬讜谞讜转
讜讬讛讬讛 诪谞讟讜专 砖讬注讝讜专 讻诇 驻注诐 砖谞转拽注讬诐
驻讜住讟 讬讜转专 讗专讜讱 注诐 讬讜转专 驻专讟讬诐 讬爪讗 诪讞专 讘讘讜拽专, 讜讘讬谞转讬讬诐 讗诐 讗转诐 住拽专谞讬诐 诪讜讝诪谞讬诐 诇专讗讜转 讗转 讛驻专讟讬诐 讘讚祝 讛专讬砖讜诐 讜诇砖诇讜讞 讗诇讬讬 讛讜讚注讛 (讗讜 诇讛砖讗讬专 砖诐 驻专讟讬诐) 讗诐 诪注谞讬讬谉 讗转讻诐
https://www.tocode.co.il/live_courses/1
1 419
# 讝讛 讗祝 驻注诐 诇讗 诪砖转诇诐 诇讛转讞讬诇 诪讗驻住
诪讚讬 驻注诐 讗谞砖讬诐 砖讜讗诇讬诐 讗讜转讬 讗诐 砖讜讜讛 诇讛讬讻谞住 诇转讞讜诐 X 讗讜 转讞讜诐 Y. 讘谉 讗讚诐 讗讜诪专 诇注爪诪讜 - 讗谞讬 讻专讙注 讬讜讚注 诇讻转讜讘 讘讚讬拽讜转 讗讜讟讜诪讟讬讜转 讗讘诇 拽爪转 诪砖注诪诐 诇讬 讜讗谞讬 诇讗 专讜讗讛 讗驻讬拽 拽讬讚讜诐 讟讜讘, 讗讜诇讬 砖讜讜讛 诇讬 诇诇诪讜讚 诇驻转讞 讗驻诇讬拽爪讬讜转 诇讗谞讚专讜讗讬讚 讘诪拽讜诐?
讝讗转 砖讗诇讛 讟讜讘讛 讻讬 讛讬讗 诪讞讘讬讗讛 讛专讘讛 谞讬讜讗谞住讬谞讬诐 讘诪讬讜讞讚 讛诪讬诇讛 "砖讜讜讛".
讙诐 讘讛谞讞讛 讛讻讬 讗讜驻讟讬诪讬转, 诇诇诪讜讚 诇驻转讞 讗驻诇讬拽爪讬讜转 讗谞讚专讜讗讬讚 诪讗驻住 注讚 诇专诪讛 砖讗转讛 讬讻讜诇 诇讛讬讜转 诪讜注讬诇 讬讬拽讞 讘讬谉 砖谞讛 诇砖谞转讬讬诐. 谞讻讜谉, 转讜爪讗讜转 专讗砖讜谞讜转 转专讗讜 讻讘专 讗讞专讬 讞讜讚砖讬讬诐-砖诇讜砖讛, 讜讗驻诇讬拽爪讬讛 专讗砖讜谞讛 讘讞谞讜转 讗驻砖专 诇砖讬诐 转讜讱 讞爪讬 砖谞讛. 讗讘诇 诇讛讬讜转 讟讜讘 讘讝讛? 讘专诪讛 砖诪讬砖讛讜 讬讬拽讞 讗讜转讱 诇注讘讜讚讛 讘转讜专 诪驻转讞 讗谞讚专讜讗讬讚? 讘专讜讘 讛转讞讜诪讬诐 讝讛 讚讜专砖 讝诪谉 讜讛专讘讛 注讘讜讚讛 (诇驻讞讜转 砖注讛 讘讬讜诐, 诇专讜讘谞讜 转讜讱 讻讚讬 注讘讜讚讛 讘诪砖讛讜 讗讞专 讻讬 爪专讬讱 注讚讬讬谉 诇讛转驻专谞住).
讗诐 讗转 讗讜转讛 砖注讛 讘讬讜诐 讛讬讬转 诪砖拽讬注 讘诇诇诪讜讚 讬讻讜诇讜转 谞讜住驻讜转 砖诇 驻讬转讜讞 讘讚讬拽讜转 讗讜讟讜诪讟讬讜转, 讛讬讬转 讬讻讜诇 诇讛注诇讜转 诇注爪诪讱 讗转 讛诪砖讻讜专转 讜诇讛转拽讚诐 诪砖诪注讜转讬转 讬讜转专 诪讛专: 诇诪砖诇 诇诇诪讜讚 讗讬讱 注讜讘讚 Jenkins 讗讜 讗讬讱 诇讛砖转诪砖 谞讻讜谉 讘 Github Actions, 诇诇诪讜讚 讚讜拽专 讗讜 诇讬谞讜拽住 讬讜转专 诇注讜诪拽 讗讜 讗驻讬诇讜 诇讛转诪拽爪注 讘 JavaScript 讻讚讬 诇讻转讜讘 讘讚讬拽讜转 诪讚讜讬拽讜转 讬讜转专 - 讻诇 讗诇讛 讛讬讜 诪谞讬讘讬诐 诇讻诐 专讜讜讞 讛专讘讛 讬讜转专 讙讚讜诇 讘讟讜讜讞 讛讘讬谞讜谞讬 讜讛拽爪专 讘讛砖讜讜讗讛 诇诇讬诪讜讚 诪砖讛讜 讞讚砖 诪讗驻住.
讜讛住讬讻讜谉 讛讬讞讬讚 讘诇讛诪砖讬讱 诇讛转诪拽爪注 讘讚讘专 讛讝讛 砖讗转讛 讻讘专 注讜砖讛 讛讜讗 砖讛诪拽爪讜注 讗讜 讛讟讻谞讜诇讜讙讬讛 讬注诇诪讜. 讝讛 拽讜专讛 讗讘诇 讝讛 诪讗讜讚 谞讚讬专: 诪驻转讞讬 爪讚-诇拽讜讞 讟讜讘讬诐 砖讛诪砖讬讻讜 诇讛转诪拽爪注 讘专爪祝 诪住讜祝 砖谞讜转 讛-90 专拽 诪专讜讜讬讞讬诐 诪讻诇 砖讬谞讜讬讬 讛讟讻谞讜诇讜讙讬讜转 讜诪爪诇讬讞讬诐 讻诇 讛讝诪谉 诇讛注诇讜转 讗转 讛注专讱 砖诇讛诐. 诪驻转讞讬 Mobile 诪谞讜住讬诐 诇讗 讛驻住讬拽讜 诇讛讬讜转 诪驻转讞讬 Mobile 讻砖讗驻诇 注讘专讜 诇 Swift, 讗诇讗 讛诪砖讬讻讜 诇诇诪讜讚 Swift 讜讙诐 Kotlin 讜诪诪砖讬讻讬诐 诇讛砖转驻专 讜诇讛注诇讜转 讗转 讛注专讱 砖诇 注爪诪诐. 讛讘讞讬专讛 诇讛转诪拽爪注 诇讗讜专讱 砖谞讬诐 讘诪拽爪讜注 讛讬讗 讻诪注讟 转诪讬讚 讬讜转专 诪砖转诇诪转 讜驻讞讜转 诪住讜讻谞转 诪讛讘讞讬专讛 诇讚诇讙 讘讬谉 诪拽爪讜注讜转.
讝讛 拽爪转 讻诪讜 讛拽讜驻讜转 讘住讜驻专: 诪专讙注 砖谞注诪讚转诐 诇讬讚 拽讜驻讛 讘专讜讘 讛诪拽专讬诐 砖讜讜讛 诇讛讬砖讗专 讘讛, 讙诐 讗诐 谞专讗讛 砖讘拽讜驻讛 诇讬讚 讛转讜专 专抓 讬讜转专 诪讛专, 讜讘讻诇 诪拽专讛 讻砖诪转讞讬诇讬诐 诇注讘讜专 3, 4 讜-5 拽讜驻讜转 讗谞讞谞讜 专拽 谞讬转拽注 讬讜转专 讝诪谉 讘转讜专.
讗讘诇... 讗谞讬 诇讗 专讜爪讛 诇讛讬讜转 诪驻转讞 Mobile 讻诇 讛讞讬讬诐
讗讘诇 ... 讻讜诇诐 诪讚讘专讬诐 注诇 Machine Learning
讗讘诇 ... 砖诪注转讬 砖 Full Stack 讝讛 讛诪拽爪讜注 讛讻讬 讟讜讘 诇诪转讻谞转讬诐
讗讘诇 ... 讘讚讬拽讜转 讗讜讟讜诪爪讬讛 讝讛 诪砖注诪诐
讛讻诇 讟讜讘. 讗谞讬 讗转讻诐. 诇讗 讛讻诇 讝讛 讻住祝 讘讞讬讬诐 讜讛专讘讛 驻注诪讬诐 砖讜讜讛 诇拽讞转 讗转 讛讛讬诪讜专 讜诇讛讬讻谞住 诇转讞讜诐 讞讚砖 讻讬 拽砖讛 诇砖诪专 讗转 讛转砖讜拽讛 诇注讘讜讚讛 诇讗讜专讱 讝诪谉 讘讗讜转讜 转讞讜诐 讗讜 讻讬 讛转讞讜诐 讛讞讚砖 谞专讗讛 诪讚诇讬拽 讜诪诇讛讬讘 讬讜转专 讗讜 讻讬 讬砖 诇讱 专注讬讜谉 诪讟讜专祝 诇讗驻诇讬拽爪讬讛 讜讞讬讬讘 诇讻转讜讘 讗讜转讛. 讗谞讬 讘注讚. 讘讗诪转. 专拽 砖讬诪讜 诇讘 砖讗转诐 诪讘讬谞讬诐 诇讗谉 讗转诐 谞讻谞住讬诐 讜讬砖 诇讻诐 讗转 讛诪讜讟讬讘爪讬讛 诇讛讙讬注 讘砖诇讜诐 诇爪讚 讛砖谞讬.
1 419
# 住讚专 驻注讜诇讜转
1. 诇讘谞讜转 诪砖讛讜 驻砖讜讟 诇驻讬 Tutorial.
2. 诇讘谞讜转 诪砖讛讜 拽爪转 讬讜转专 讙讚讜诇 诇讘讚.
3. 诇拽专讜讗 住驻专.
4. 诇拽专讜讗 拽讜讚 砖诇 讗讞专讬诐.
5. 诇砖诪讜注 讛专爪讗讜转 诪讻谞住讬诐 讘讬讜讟讬讜讘.
6. 诇注砖讜转 Refactoring 诇拽讜讚 砖讻讘专 讻转讘谞讜.
7. 诇讞讝讜专 诇住注讬祝 (2)
讜讻谉 讝讜 诇讜诇讗讛 讗讬谞住讜驻讬转, 讜讻谉 讛讬讗 注讜讘讚转 诇讻诇 讟讻谞讜诇讜讙讬讛 砖转讘讞专讜. 讻诇 讗讬讟专爪讬讛 谞讜住驻转 讘讜谞讛 注讜讚 拽讜诪讛 讘诪讙讚诇 讛讬讚注, 讜讻诇 拽讜诪讛 驻讜转讞转 讗转 讛讚诇转 诇专注讬讜谞讜转 讞讚砖讬诐 讜诪驻转讬注讬诐.
1 419
# 讗拽讜住讬住讟诐
讘讚讬讘讜专 注诇 讟诇驻讜谞讬诐 讗谞讞谞讜 拽讜专讗讬诐 诇讻诇 讛讗驻诇讬拽爪讬讜转 讜讛讚讘专讬诐 砖住讘讬讘诐 讗拽讜住讬住讟诐. 谞讜拽讬讛 诇诪砖诇 讛驻住讬讚讜 讻讬 讛诐 诇讗 讛爪诇讬讞讜 诇讘谞讜转 讗拽讜住讬住讟诐 砖讬转讞专讛 讘讗驻诇, 讗驻诇 讘转讜专诐 诪讞讝讬拽讬诐 讗拽讜住讬住讟诐 砖诪转谞讛讙 讻诪讜 讙谉 住讙讜专 讜讘讙讜讙诇 讛讗拽讜住讬住讟诐 讬讜转专 驻转讜讞 诇讻谞讬住讛 砖诇 诪驻转讞讬诐 讞讬爪讜谞讬讬诐 讜诇讻谉 讬砖 讘讜 讬讜转专 驻讬谞讜转 讗驻诇讜转.
讻诇 讛讚讬讘讜专 讛讝讛 注诇 讗拽讜住讬住讟诐 诇讗 讘讗 诇砖讻谞注 讗转讻诐 讗讬讝讛 讟诇驻讜谉 诇讘讞讜专 讗诇讗 诇讛爪讘讬注 注诇 讛砖讬谞讜讬 讘讞砖讬讘讜转 讘讬谉 讛讚讘专 讛讘讜讚讚 诇住讘讬讘讛 砖诪拽讬驻讛 讗讜转讜: 诪讬 砖讬专爪讛 讛讬讜诐 诇诪讻讜专 住诪讗专讟驻讜谉, 诪讞砖讘 讗讜 讗驻讬诇讜 砖注讜谉 讞讻诐 讘诇讬 讗拽讜住讬住讟诐 爪驻讜讬 诇讛讬转拽诇 讘讗转讙专 诪讗讜讚 拽砖讛. 讛讗拽讜住讬住讟诐 讛讜讗 讞诇拽 讘诇转讬 谞驻专讚 诪讛诪讜爪专.
讛讬讙讬讜谉 讚讜诪讛 讗驻砖专 诇讬讬砖诐 讙诐 注诇 讛讛转拽讚诪讜转 讛诪拽爪讜注讬转 砖诇谞讜. 讛讗拽讜住讬住讟诐 砖诇 讛讞讘专讛 讘讛 讗转诐 讞讜砖讘讬诐 诇注讘讜讚 诪讜专讻讘 诪住讱 讻诇 讛驻专讜讬拽讟讬诐 砖讗转诐 注砖讜讬讬诐 诇讛讬讞砖祝 讗诇讬讛诐 讘诪住讙专转 讛注讘讜讚讛, 诪砖讬讟讜转 讛注讘讜讚讛 砖诪讬讜砖诪讜转 砖诐, 诪讛拽讜专住讬诐 讛诪拽爪讜注讬讬诐 砖转注讘专讜, 诪讛砖讬讞讜转 讛拽讟谞讜转 讜讛讚讬讜谞讬诐 注诐 讛讞讘专讬诐 诇爪讜讜转 讜诇爪讜讜转讬诐 讗讞专讬诐. 讬砖 诪拽讜诪讜转 砖讛讗拽讜住讬住讟诐 砖诇讛诐 讬讛讬讛 住讙讜专 讜诪转讘住住 讘注讬拽专 注诇 诪讜爪专讬 诪讚祝 讙讚讜诇讬诐 讜讬拽专讬诐, 讜诪拽讜诪讜转 讗讞专讬诐 讬砖转诪砖讜 讜讬转专诪讜 讬讜转专 诇驻专讜讬拽讟讬 拽讜讚 驻转讜讞. 讛讗拽讜住讬住讟诐 砖诇 讛讞讘专讛 讞砖讜讘 诇讛转拽讚诪讜转 讛诪拽爪讜注讬转 砖诇讻诐 诇讗 驻讞讜转 诪讛转驻拽讬讚 讛住驻爪讬驻讬 讗讜转讜 转讘爪注讜 讘讛. 讬讜转专 诪讝讛, 讛专讘讛 驻注诪讬诐 讘诇讬 讗拽讜住讬住讟诐 讟讜讘 拽砖讛 诇讛转拽讚诐 讜诇诇诪讜讚 讙诐 讗诐 讛转驻拽讬讚 砖诇讻诐 讗讜 讛驻专讜讬拽讟 讛住驻爪讬驻讬 砖讗转诐 爪专讬讻讬诐 诇注砖讜转 讬讛讬讛 诪诪砖 诪诇讛讬讘.
讻诇 诪讬 砖谞讬住讛 诇诪爪讜讗 注讘讜讚讛 讘讛讬讬讟拽 讻讘专 讬讜讚注 砖住驻讬专转 砖谞讜转 谞讬住讬讜谉 讝讛 讚讘专 诪讟注讛. 砖谞讛 谞讬住讬讜谉 讘讞讘专讛 讗讞转 讬讻讜诇讛 诇讛讬讜转 砖讜讜讛 讛专讘讛 讬讜转专 讘拽讜专讜转 讞讬讬诐 诪砖谞讛 谞讬住讬讜谉 讘讗讜转讜 转驻拽讬讚 讘讞讘专讛 讗讞专转. 讛讗谞砖讬诐 讛讘讗讬诐 砖讬讙讬讬住讜 讗转讻诐 诇讗 诪住转讻诇讬诐 专拽 注诇 讛转驻拽讬讚 砖注砖讬转诐 讘讗讜转讛 砖谞转 谞讬住讬讜谉, 讗诇讗 讙诐 注诇 讛讗拽讜住讬住讟诐 砖讛拽讬祝 讗转讻诐 讜诪谞讬讞讬诐 砖讻砖讛讗拽讜住讬住讟诐 讞讝拽 讙诐 讗转诐 转爪诇讬讞讜 诇讛转拽讚诐 讬讜转专 讘讗讜转讜 讝诪谉.
"讗讬讱 讛讗拽讜住讬住讟诐 讗爪诇诐" 讝讜 砖讗诇讛 讟讜讘讛 诇砖讗讜诇 诇驻谞讬 砖谞讻谞住讬诐 诇驻专讜讬拽讟 讗讜 诪拽讜诐 注讘讜讚讛 讞讚砖, 讘讚讬讜拽 讻诪讜 砖讛讬讗 讟讜讘讛 诇驻谞讬 砖拽讜谞讬诐 讙讗讚讙'讟 讞讚砖.
