เดชเตˆเดคเตเดคเดฃเตเด‚ เดฌเดพเดทเต เดธเต—เดนเตƒเดฆเดตเตเด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเต: เดชเตˆเดคเตเดคเตบ-เดทเต†เดฒเตเดฒเดฟเดจเตเดฑเต†เดฏเตเด‚ เดธเตเดฎเดพเตผเดŸเตเดŸเต-เดŽเตปเดตเดฟ เดตเดฟ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเตเดŸเต†เดฏเตเด‚ เดชเตเดฐเด•เดพเดถเดจเด‚. 1.0.1

เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เดถเตเดญเดฆเดฟเดจเด‚!

เดซเต†เดฌเตเดฐเตเดตเดฐเดฟ, เดซเต†เดฌเตเดฐเตเดตเดฐเดฟ XNUM เดตเตผเดทเด‚ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเตเดŸเต† เด”เดฆเตเดฏเต‹เด—เดฟเด• เดฎเตˆเด•เตเดฐเต‹ เดชเตเดฐเด•เดพเดถเดจเด‚ เดจเดŸเดจเตเดจเต เดธเตเดฎเดพเตผเดŸเตเดŸเต-เดŽเตปเดตเดฟ ะธ เดชเตˆเดคเตเดคเตบ-เดทเต†เตฝ. เด…เดฑเดฟเดฏเดพเดคเตเดคเดตเตผเด•เตเด•เดพเดฏเดฟ, เด†เดฆเตเดฏเด‚ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดžเดพเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเต เด†เดฆเตเดฏ เดชเต‹เดธเตเดฑเตเดฑเต.

เดšเตเดฐเตเด•เตเด•เดคเตเดคเดฟเตฝ, เดฎเดพเดฑเตเดฑเด™เตเด™เดณเดฟเตฝ เด•เดฎเดพเตปเดกเต เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเด‚, เด•เดฎเดพเตปเดกเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเดšเตเดš เด•เดดเดฟเดตเตเด•เตพ, เดšเดฟเดฒ เดฑเต€เดซเดพเด•เตเดฑเตเดฑเดฑเดฟเด‚เด—เต, เดฌเด—เต เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เตพ เดŽเดจเตเดจเดฟเดต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต.

เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพเด•เตเด•เต เดฆเดฏเดตเดพเดฏเดฟ เดชเต‚เดšเตเดš เด•เดพเดฃเตเด•.

เดชเตˆเดคเตเดคเตบ เดทเต†เดฒเตเดฒเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต เดชเตเดคเดฟเดฏเดคเต?

เดžเดพเตป เด‰เดŸเตป เดฎเดงเตเดฐเดชเดฒเดนเดพเดฐเดตเตเดฎเดพเดฏเดฟ เดคเตเดŸเด™เตเด™เตเด‚.

เด•เดฎเดพเตปเดกเต เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเด‚

เดธเดฎเตเดฎเดคเดฟเด•เตเด•เตเดจเตเดจเต - เดŽเดกเดฟเดฑเตเดฑเตผ/เดเดกเดฟเด‡/เดŸเต†เตผเดฎเดฟเดจเตฝ เดจเดฟเด™เตเด™เดณเต‹เดŸเต เด•เดฎเดพเตปเดกเดฟเดจเตเดฑเต† เดชเต‡เดฐเตเด‚ เดšเดฟเดฒเดชเตเดชเต‹เตพ เด•เต‹เตพ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเตเด‚ เด†เดตเดถเตเดฏเดชเตเดชเต†เดŸเตเดฎเตเดชเต‹เตพ เด‡เดคเต เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต‹? เด…เดคเดฟเดจเดพเตฝ เดธเดฎเดพเดจเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดจเตฝเด•เตเดจเตเดจเดคเดฟเตฝ เดชเตˆเดคเตเดคเตบ-เดทเต†เตฝ เด•เตเดฐเดฎเต‡เดฃ เดชเตเดฐเต‹เด—เดคเดฟ เด•เตˆเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดนเตเดกเดฟเดจเต เด•เต€เดดเดฟเดฒเตเดณเตเดณ เดทเต†เตฝ เด•เตเดฒเดพเดธเดฟเดจเตเดฑเต† เดซเต€เตฝเดกเตเด•เตพ เด…เดคเดฟเดจเตเดฑเต† เดซเต€เตฝเดกเตเด•เดณเดฒเตเดฒ (เดŽเดฒเตเดฒเดพเดฏเดฟเดŸเดคเตเดคเตเด‚ __getattr__), เดฏเดพเดจเตเดคเตเดฐเดฟเด• เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเดตเตเด‚ เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต (เดฏเดฅเดพเด•เตเดฐเดฎเด‚ __dir__ เดฐเต€เดคเดฟ เด“เดตเตผเดฒเต‹เดกเต เดšเต†เดฏเตเดคเตเด•เตŠเดฃเตเดŸเต). BPython, IPython เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เดณเดฟเตฝ เดจเดฟเดฒเดตเดฟเตฝ เดธเตเดตเดฏเด‚ เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, PyCharm เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด•เต‚เดŸเตเดคเตฝ เด†เดฆเดฐเดฃเต€เดฏเดฎเดพเดฏ เด‰เตฝเดชเตเดชเดจเตเดจเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดจเด‚ เด•เดพเดฃเดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต, เดˆ เดฆเดฟเดถเดฏเดฟเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดคเด•เตพ เดชเด เดฟเดšเตเดšเตเดตเดฐเดฟเด•เดฏเดพเดฃเต.

เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟเด•เตพ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต

เดฑเดฟเดฒเต€เดธเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฏเดฟ, เดทเต†เตฝ เด•เตเดฒเดพเดธเดฟเดจเต เด’เดฐเต เดชเตเดคเดฟเดฏ เดฒเดพเดธเตเดฑเตเดฑเต_เด•เดฎเดพเตปเดกเต เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟ เดฒเดญเดฟเดšเตเดšเต. เดชเต‚เดœเตเดฏเดฎเดฒเตเดฒเดพเดคเตเดค เดฑเดฟเดŸเตเดŸเต‡เตบ เด•เต‹เดกเตเดณเตเดณ เด’เดฐเต เด•เดฎเดพเตปเดกเต เดทเต†เตฝ เดŽเด•เตโ€Œเดธเต†เดชเตเดทเตป เดŽเดฑเดฟเดฏเตเดฎเตเดชเต‹เตพ, เด•เดฎเดพเตปเดกเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต __call__() เด•เต‹เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เดฎเดพเตปเดกเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เดพเดคเตเดคเดคเดฟเดจเดพเตฝ เด…เดคเดฟเดจเตเดฑเต† เด†เดตเดถเตเดฏเด•เดค เด‰เดฏเตผเดจเตเดจเต. เด‡เดชเตเดชเต‹เตพ เด‡เดคเต เดšเต†เดฏเตเดฏเดพเตป เด…เดตเดธเดฐเดฎเตเดฃเตเดŸเต:

try:
    command = Shell.touch('/foo.txt')
except ShellException:
    command = Shell.last_command

เด•เดฎเดพเตปเดกเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเตเด‚ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเดšเตเดšเต. เดชเดฟเดถเด•เต เดธเตเดŸเตเดฐเต€เดฎเดฟเดฒเต‡เด•เตเด•เต เด•เดฎเดพเตปเดกเต เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจ เด’เดฐเต เดชเดฟเดถเด•เต เดซเต€เตฝเดกเต เดšเต‡เตผเดคเตเดคเต.

เด…เดธเดพเดงเตเดตเดพเดฏ เดชเตˆเดคเตเดคเตบ เดชเต‡เดฐเตเด•เดณเตเดณเตเดณ เด•เดฎเดพเตปเดกเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต

เดชเตˆเดคเตเดคเดฃเดฟเดฒเต† เด’เดฐเต เดเดกเดจเตเดฑเดฟเดซเดฏเดฑเดพเดฏเดฟ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดฒเตเดฒเดพเดคเตเดค เด’เดฐเต เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเต†เด™เตเด•เดฟเดฒเตเด‚ เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเด‚ เด‰เดฃเตเดŸเต (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด…เดฑเดฟเดฏเดชเตเดชเต†เดŸเตเดจเตเดจ 2to3 เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ). เด…เดตเดณเต† เด•เต‚เดŸเต† เดตเดฟเดณเดฟเด•เตเด•เต‚

Shell.2to3()

เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดตเตเดฏเดพเด–เตเดฏเดพเดคเดพเดตเต เด…เดคเต เด…เดจเตเดตเดฆเดฟเด•เตเด•เดฟเดฒเตเดฒ.
เด•เดฎเดพเตปเดกเดฟเดจเต† เด’เดฐเต เดฑเต—เดฃเตเดŸเต เดŽเดฌเต—เดŸเตเดŸเต เดฐเต€เดคเดฟเดฏเดฟเตฝ เดตเดฟเดณเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดชเดฐเดฟเดนเดพเดฐเด‚:

Shell("2to3")  # ะฒะพะทะฒั€ะฐั‰ะฐะตั‚ ะพะฑัŠะตะบั‚ ะบะพะผะฐะฝะดั‹

เดตเตเดฏเดพเด–เตเดฏเดพเดคเดพเดตเดฟเดจเตเดฑเต† เดตเต€เด•เตเดทเดฃเด•เต‹เดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเดพเดงเตเดคเดฏเตเดณเตเดณ เด•เดฎเดพเตปเดกเตเด•เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต, เด‡เดคเต เดชเต‹เดฒเตเดณเตเดณ เดซเตเดฒเต†เด•เตเดธเดฟเดฌเดฟเตพ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด…เดตเดธเดฐเด‚ เดจเตฝเด•เตเดจเตเดจเต.

cmd = "python{}".format(sys.version_info[0])
Shell(cmd)(*args, **kwargs)

เดšเต†เดฑเดฟเดฏ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ

  • เด•เดฎเดพเตปเดกเต เด•เตเดฒเดพเดธเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† __repr__(), __str__() เดฐเต€เดคเดฟเด•เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ, เด…เดคเต เด‡เดชเตเดชเต‹เตพ เด…เดตเดฌเต‹เดงเดœเดจเตเดฏเดฎเดพเดฏ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ (เดฏเดฅเดพเด•เตเดฐเดฎเด‚ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเตเดณเตเดณ เด’เดฐเต เด•เดฎเดพเตปเดกเตเด‚ เด…เดคเดฟเดจเตเดฑเต† stdout เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเตเด‚) เดจเตฝเด•เตเดจเตเดจเต.
  • เดšเต†เดฑเดฟเดฏ เด•เต‹เดกเต เดคเดฟเดฐเตเดคเตเดคเดฒเตเด•เตพ.
  • เดŸเต†เดธเตเดฑเตเดฑเต เด•เดตเดฑเต‡เดœเต เดšเต‡เตผเด•เตเด•เตเด•เดฏเตเด‚ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณเดต เดชเตเดจเดƒเดธเด‚เด˜เดŸเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
  • เดธเดฌเตเดชเตเดฐเต‹เดธเดธเต, เดชเตเดฐเต‹เดธเดธเต เด•เตเดฒเดพเดธเตเด•เตพ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเต, เดธเดฌเตเดชเตเดฐเต‹เดธเดธเต เดฎเตŠเดกเตเดฏเต‚เดณเดฟเดจเตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด’เดฐเต เด…เดงเดฟเด• เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เด…เดฎเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เด‡เดคเดฟเดจเตเดฑเต† เด‰เดฆเตเดฆเต‡เดถเตเดฏเด‚. เดชเตˆเดคเตเดคเตบ 2/3-เดจเตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด•เต‹เดกเต เดกเตเดฏเต‚เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดพเตป เด•เต‚เดŸเตเดคเดฒเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดฎเดฑเตเดฑเต เดฌเต‹เดฃเดธเตเด•เดณเตเด‚ เดจเตฝเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

Smart-env-เตฝ เดชเตเดคเดฟเดฏเดคเต†เดจเตเดคเดพเดฃเต?

เดชเตˆเดคเตเดคเตบ-เดทเต†เดฒเตเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, เดธเตเดฎเดพเตผเดŸเตเดŸเต-เดŽเตปเดตเดฟ เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเดฟเตฝ เด•เตเดฑเดšเตเดšเต เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดฎเดพเดคเตเดฐเดฎเต‡ เด‰เดฃเตเดŸเดพเดฏเดฟเดŸเตเดŸเตเดณเตเดณเต‚. เด‡เดคเดฟเดจเตเดณเตเดณ เด•เดพเดฐเดฃเด‚ เดฒเดณเดฟเดคเดฎเดพเดฃเต - เด’เดดเดฟเดตเตเดธเดฎเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด…เดญเดพเดตเด‚, เดˆ เดธเดฎเดฏเดคเตเดคเต เดšเดฟเดฒ เดธเดพเดงเตเดฏเดคเดฏเตเดณเตเดณ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เตพ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต† เดธเตเดตเดฏเด‚ เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเด‚) เด…เดŸเตเดคเตเดค เดฑเดฟเดฒเต€เดธเดฟเดฒเต‡เด•เตเด•เต เดจเต€เด•เตเด•เดฟ.

เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเดฟเตฝ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดตเดฐเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต:

  • เดšเต†เดฑเดฟเดฏ เด•เต‹เดกเต เดคเดฟเดฐเตเดคเตเดคเดฒเตเด•เตพ.
  • เดฑเต€เดซเดพเด•เตเดŸเดฑเดฟเด‚เด—เต.
  • เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดชเตเดจเดƒเดธเด‚เด˜เดŸเดจเดฏเตเด‚ เดชเดฐเดฟเดทเตเด•เดฐเดฃเดตเตเด‚.

เด…เดŸเตเดคเตเดค เดฑเดฟเดฒเต€เดธเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฆเตเดงเดคเดฟเด•เตพ

เดชเตˆเดคเตเดคเตบ-เดทเต†เตฝ เดฒเตˆเดฌเตเดฐเดฑเดฟ

  • เดจเต‹เตบ-เดฌเตเดฒเต‹เด•เตเด•เดฟเด‚เด—เต เด•เดฎเดพเตปเดกเต เด•เต‹เดณเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต (เดจเดฟเตผเดตเตเดตเดนเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดธเดฎเดพเดจเตเดคเดฐเดตเตฝเด•เตเด•เดฐเดฃเด‚).

smart-env เดฒเตˆเดฌเตเดฐเดฑเดฟ

  • ENV เด•เตเดฒเดพเดธเดฟเตฝ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต† เดธเตเดตเดฏเด‚ เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ.
  • เด’เดฐเต env เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต† เด…เดธเตเดคเดฟเดคเตเดตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เด‡เตป เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ.
  • ENV เด•เตเดฒเดพเดธเดฟเดจเตเดณเตเดณ str(), repr() เดซเด‚เด—เตเดทเดจเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ.

เด…เดŸเตเดคเตเดค เดฑเดฟเดฒเต€เดธเตเด•เดณเตเดŸเต† เดคเต€เดฏเดคเดฟเด•เตพ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏ เดšเดพเดจเดฒเตเด•เดณเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเด•เตเด•เตเด‚:

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•