Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Common Lisp / Π₯Π°Π±Ρ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠΎ ΠΌΠΎΠ΅ΠΌΡ ΡΠΊΡΠΎΠΌΠ½ΠΎΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ, Lisp β ΠΆΠ΅ΠΌΡΡΠΆΠΈΠ½Π° ΡΡΠ΅Π΄ΠΈ ΡΠ·ΡΠΊΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ
Π² ΠΈΡΡΠΎΡΠΈΠΈ (1958 Π³ΠΎΠ΄) Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ
ΡΠ·ΡΠΊΠΎΠ², ΠΎΠ½ ΠΏΠΎ ΡΠ΅ΠΉ Π΄Π΅Π½Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π΅Ρ ΡΠ΄ΠΈΠ²Π»ΡΡΡ. ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΠΎΠ½ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΠΎΠ³Π½Π°Π» ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎ Π΅Π³ΠΎ ΡΠ°Ρ Π΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π³ΠΎΡΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΈΠΉΡΠΈ.
Π’Π°ΠΊ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ . ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ, ΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ»Ρ Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Common Lisp, Π° ΡΠΎΡΠ½Π΅Π΅ Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ SBCL.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ Π²Ρ Π²ΠΎΠ·ΡΠΌΠ΅ΡΠ΅ ΡΠΈΡΡΡΠΉ SBCL, ΡΠΎ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ ΡΠ»Π°ΡΠΈΡΡ ΠΏΠΎΡΠΎΠΊ stdio ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°, Ρ ΡΠ°ΠΌ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ SBCL ΡΠ΅ΡΠ΅Π· Emacs ΠΈ Slime, ΡΠ°ΠΌ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅Ρ. ΠΠ΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΡΠ΅Π».
ΠΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ?
Lisp ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ
Ρ
ΠΎΡΠ΅ΡΡΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΠΎΡΡΡ ΠΊΠΎΠ΄Π°. Π‘Π°ΠΌΠΎΠ΅ ΠΊΠ»Π°ΡΡΠ½ΠΎΠ΅ ΡΠΎ, ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄ Π½Π° Lisp ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΆΠ΅, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ΄ΠΎΠΌ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΈΡΠ°ΡΡ Π°Π²ΡΠΎΠ°ΠΏΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½ΡΠ΅ (ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡΠ΅ ΡΠ°ΠΌΠΈ ΠΊ ΡΠ΅Π±Π΅) ΠΈ Π°Π²ΡΠΎΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½ΡΠ΅ (Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠ΅Π±Ρ) ΡΡΠ½ΠΊΡΠΈΠΈ. Π§ΡΡΡ-ΡΡΡΡ ΠΎ Π½ΠΈΡ
Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π·Π΄Π΅ΡΡ; ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π²Π·ΡΡΠ° ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ Β«ΠΠΈΡ ΠΠΈΡΠΏΠ°Β» (Π. Π₯ΡΠ²ΡΠ½Π΅Π½, Π. Π‘Π΅ΠΏΠΏΡΠ½Π΅Π½) ΡΠΎΠΌ 1, ΡΡΡΠ°Π½ΠΈΡΠ° 280. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ²Π°ΠΉΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π°Π²ΡΠΎΠ°ΠΏΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½ΠΎΠΉ, ΠΈ Π°Π²ΡΠΎΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊ:
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
ΠΡΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅Π±Ρ ΠΆΠ΅.
Π ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π½Π΅ ΡΠΎΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΅Π±Ρ, Π° ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ½ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½Π°, ΡΡΠΎΠ±Ρ ΡΠΎΡΡΠ°Π²ΠΈΡΡ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΡΡΠΈΡΠΎΠ²Π°Π²ΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ? Π’Π°ΠΊ ΠΈ ΠΏΠΎΡΡΡΠΏΠΈΠΌ.
ΠΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ
Π§ΡΠΎΠ±Ρ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ Π½Π΅ ΡΠΎΡΡΡΡΠ°ΡΡ Π²ΠΎΠ·Π΄ΡΡ
ΠΈ Π½Π΅ ΠΏΠ»ΠΎΠ΄ΠΈΡΡ ΡΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΊΠΎΠ½Π΅ΠΉ Π² Π²Π°ΠΊΡΡΠΌΠ΅, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΡΡΠΎΠΈΠΌ ΠΏΡΠ΅Π²Π΄ΠΎΠΏΡΠ°ΠΊΡΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΡΠΎΠ΄ΡΠΊΡ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²Π° Π΅Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ.
ΠΡΡ ΡΠΎΠ»Ρ Π±ΡΠ΄Π΅Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ (Π²ΠΎ Π²ΡΠ΅Ρ ΡΠΌΡΡΠ»Π°Ρ ) ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ΅Π½. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ Π΅Π³ΠΎ ΡΠΊΠΎΡΠΌΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ, ΠΌΡ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Ρ REPL-ΠΎΠΌ. ΠΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ (ΠΈΠ»ΠΈ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠΎΠ²Π°ΡΡ) ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π°ΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ.
ΠΡΠ°ΠΊ, Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ΅ΠΉ s-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π»ΡΠΌΠ΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠ° Π»ΡΠΌΠ΄Π°-ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ, ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΡΠ²ΠΎΠΉ ΠΆΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΎΡΠ΄Π°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΡΠ΅Π΄Π½Π°ΡΠ΅ΡΡΠ°Π½ΠΎ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΌ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
(defun start-program () '(lambda (program) (princ "$> ") (let ((input (read))) (when (listp input) (let ((command (car input))) (cond ((eq command 'code) ; Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° = code, (setf program ; ΡΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (funcall ; ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Π²Π΅Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²ΡΠ°Π΅Π»Ρ (eval (list 'lambda '(program input) (cadr input))) program input) ) ) (t (format t "Unknown command ~A ~%" command)) ) ) ) program ) ) )
ΠΠ°Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠ°Π»ΠΎ ΡΠ΅Π³ΠΎ ΡΠΌΠ΅Π΅Ρ. ΠΠ½ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΈΡΡΠ²Π°Π΅Ρ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ s-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ β ΠΈΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ β Π΅Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. ΠΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Β«ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈΒ» ΡΠΌΠ΅Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«codeΒ». ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±Π΅ΡΠ΅Ρ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΠ· Π½Π΅Π³ΠΎ Π»ΡΠΌΠ΄Π°-ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΊ program ΠΈ input. ΠΠ°ΡΠ΅ΠΌ ΡΠ°ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ eval Π΄Π΅Π»Π°Π΅Ρ ΡΠ²ΠΎΠΈ Π³ΡΡΠ·Π½ΡΠ΅ Π΄Π΅Π»ΠΈΡΠΊΠΈ Π² Π½ΡΠ»Π΅Π²ΠΎΠΌ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, Π° Π·Π½Π°ΡΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ program ΠΈ input Π½Π°ΠΌ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ, Ρ
ΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ. ΠΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΈΡ
ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²Π½ΡΡΡΡ eval; Π½ΠΈΡΠ΅Π³ΠΎ Π»ΡΡΡΠ΅ Π»ΡΠΌΠ΄Ρ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΌΠ½Π΅ Π² Π³ΠΎΠ»ΠΎΠ²Ρ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΎ. ΠΠ΅ ΠΈΡΠΊΠ»ΡΡΠ°Ρ, ΡΡΠΎ Π΅ΡΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ·ΡΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ eval ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ program. ΠΠΎΠΎΠ±ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π± ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ program ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ input, Π½ΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ code. Π Π½ΠΈΡ
ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ main ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅Ρ ΡΠΈΠΊΠ» ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΡ ΠΌΠ°Π³ΠΈΡ ΡΠ°ΠΈΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π½Π΅ΠΉ.
(defun main () (let ((program (start-program))) ; Π·Π°Π΄Π°Π΅ΠΌ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ; ΡΠΈΠΊΠ», ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΏΡΡΡΠ°Ρ, Ρ.Π΅. Π½Π΅ nil (loop while program do ; ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½ΡΠΉ try - catch, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ; Π΅ΡΠ»ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄ (handler-case ; ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ program ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΊΡΠΈΠΈ, ; ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ program Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ program (setf program (funcall (eval program) program)) ; Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠΎΠΎΠ±ΡΠΈΠΌ ΠΎ Π½Π΅ΠΉ (error (c1) (format t "Error! ~A~%" c1) ) ) ) ) )
ΠΡΠ°ΠΊ, ΡΠΈΠΊΠ» ΠΈΠ΄Π΅Ρ, ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° (ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ program) Π½Π΅ ΠΏΡΡΡΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΆΠ΅ Π½Π° Π½ΡΠ»Π΅Π²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ β ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ start-program, Π° Π½Π° Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π΅ΠΉ (ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ program) ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉΡΡ Π² Π½Π΅ΠΉ (ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ program), Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ program (ΠΎΠΏΡΡΡ ΠΎΠ½Π° ΠΆΠ΅). ΠΡΠΎ Π½Π΅ ΡΠ°Π²ΡΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅. Π Π°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ? Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π²
REPL
-Π΅ main ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅:
CL-USER> (main) $>
ΠΠΎΠΆΠ½ΠΎ ΡΠ²ΠΎΡΠΈΡΡ. ΠΡΠ»ΠΈ Π½Π°Π΄ΠΎΠ΅ΡΡ ΠΈ Π·Π°Ρ
ΠΎΡΠ΅ΡΡΡ Π½Π°Π·Π°Π΄ Π²
REPL
, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π°ΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΠΎΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ code Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ nil. ΠΠ½Π° Π·Π°ΠΌΠ΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ Π½Π° nil, ΠΈ ΡΠΈΠΊΠ» Π²ΠΎΡΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎ ΠΊΠ°ΠΊ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ. ΠΠΎ ΠΌΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠΊΠ° ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°ΡΡ. ΠΡΠ½ΡΠ½Π΅ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π²ΠΎΠ΄ΡΡΡΡ ΡΠΆΠ΅ Π² Π½Π°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π― Π±ΡΠ΄Ρ ΡΠ°ΡΡΠΎ ΠΎΠΏΡΡΠΊΠ°ΡΡ «$> » Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ° ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ code ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅ΠΉ Π½ΠΎΠ²ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ. ΠΠΎ Π²ΡΡ ΠΎΠ΄Π° Π½Π΅Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ eval, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΡΠ½Π΅Ρ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Π·Π°Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
(code '(lambda (program) (princ "$> ") (let ((input (read))) (when (listp input) (let ((command (car input))) (cond ((eq command 'code) (setf program (funcall (eval (list 'lambda '(program input) (cadr input))) program input))) ((eq command 'eval) (eval (cadr input))) ; ΠΠΠΠΠ (t (format t "Unknown command ~A ~%" command)) ) ) ) program ) ) )
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½ΠΎ Π²ΡΠ΄Π°ΡΡ STYLE-WARNING, ΡΡΠΎ Π½Π΅ ΡΡΡΠ°ΡΠ½ΠΎ. ΠΡΠΎΠ²Π΅ΡΠΈΠΌ:
$> (eval (print (+ 3 2))) 5 $>
ΠΡΠ°Π»Ρ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ!
ΠΡΠΈΠΏΡΠ°Π²ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Ρ
ΡΡΠ½ΠΊΡΠΈΠΉ (rsubs, rrem, rins). rsubs (Recursive substitution) Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΡΡΠ°ΡΡΡ ΡΠΎΡΠΌΡ (ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ old) Π½Π° Π½ΠΎΠ²ΡΡ (Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ new) Π² ΡΠΎΡΠΌΠ΅ (ΡΡΠ΅ΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ form). rrem (Recursive remove) ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΎΡΠΌΡ (ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ what) ΠΈΠ· ΡΠΎΡΠΌΡ (Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ form) ΡΠΎΠΆΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, rins (Recursive insert) Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΄ΠΎΠΌ Π² ΡΠΎΡΠΌΠΎΠΉ (ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ where) ΡΠΎΡΠΌΡ (Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ what) Π² ΡΠΎΡΠΌΠ΅ (ΡΡΠ΅ΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ form), ΠΏΡΠΈΡΠ΅ΠΌ Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½ ΠΊΠ»ΡΡ :before t, ΡΠΎ Π²ΡΡΠ°Π²ΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΡΠΌΠΎΠΉ where, ΠΈΠ½Π°ΡΠ΅ β ΠΏΠΎΡΠ»Π΅ Π½Π΅Π΅. ΠΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
(eval (defun rsubs (old new form) (cond ((atom form) (if (equal form old) new form)) ((equal form old) new) (t (loop for el in form collect (rsubs old new el))) ) ) ) (eval (defun rrem (what form) (cond ((atom form) (if (equal what form) nil form)) (t (loop for el in form if (not (equal what el)) collect (if (listp el) (rrem what el) el) )) ) ) ) (eval (defun rins (where what form &key before) (cond ((atom form) form) (t (loop for el in form append (if (equal el where) (if before (list what el) (list el what)) (if (listp el) (list (rins where what el :before before)) (list el) ) ) )) ) ) )
Π£ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π½Π°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΈΠ²ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π· Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ code Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΠ΄ Π½Π° ΡΠ²ΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ. ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ view, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²Π΅Π΄Π΅Ρ Π½Π°ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ program. ΠΠ΅ΡΡΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π²ΡΡΠ°Π²ΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΡΠ»Π΅ Π°ΡΠΎΠΌΠ° cond.
(code (rins 'cond '((eq command 'view) (progn (format t "---code---") (print program) (terpri))) program))
Π’Π΅ΡΡΠΈΡΡΠ΅ΠΌ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ:
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ (view)
$> (view) ---code--- (LAMBDA (PROGRAM) (PRINC "$> ") (LET ((INPUT (READ))) (WHEN (LISTP INPUT) (LET ((COMMAND (CAR INPUT))) (COND ((EQ COMMAND 'VIEW) (PROGN (FORMAT T "---code---") (PRINT PROGRAM) (TERPRI))) ((EQ COMMAND 'CODE) (SETF PROGRAM (FUNCALL (EVAL (LIST 'LAMBDA '(PROGRAM INPUT) (CADR INPUT))) PROGRAM INPUT))) ((EQ COMMAND 'EVAL) (EVAL (CADR INPUT))) (T (FORMAT T "Unknown command ~A ~%" COMMAND))))) PROGRAM)) $>
ΠΡΠ»ΠΈΡΠ½ΠΎ! Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡ, ΠΊΠ°ΠΊ ΠΈΠ½Π°ΡΠ΅ ΡΡΠΎ Π½Π°Π·Π²Π°ΡΡ? Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΎΠ²: (add-cmd ΠΈΠΌΡ-Π½ΠΎΠ²ΠΎΠΉ-ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠΎ-ΠΎΠ½Π°-Π±ΡΠ΄Π΅Ρ-Π΄Π΅Π»Π°ΡΡ). ΠΠΎ ΡΡΡ Π½Π°Ρ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΏΠΈΠΊΠ°Π½ΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ. Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ°Π· ΠΌΡ Π²ΡΡΠ°Π²Π»ΡΠ»ΠΈ ΠΊΠΎΠ΄ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΡΠ»Π΅ Π°ΡΠΎΠΌΠ° cond, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ. ΠΠΌΡ ΡΡΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠ΅, ΠΈ Π΅ΡΠ»ΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ Π΅Π³ΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅, ΡΠΎ Π²ΡΡΠ°Π²ΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΈ ΡΠ°ΠΌ, ΡΡΠΎ Π½Π°ΡΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅Ρ
ΡΠ°ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π»ΠΈΡΡ ΡΡΠΎΠ³Π°ΡΡ. Π Π΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π²Π΅ΡΡΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΠΊΠ΅Ρ ΠΈ Π²ΡΡΠ°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΡΠ»Π΅ Π½Π΅Π³ΠΎ. ΠΠ°ΡΠΊΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π½Π΅Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΡΠ»Π΅ cond:
(code (rins 'cond '((eq t nil) 'secret-marker) program))
ΠΠΎΡΠΎΠ²ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² rins ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ°Π²ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠΊΠ΅ΡΠ°. ΠΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΡΡΡ ΠΌΠ°ΡΠΊΠ΅ΡΠ° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ, Π²Π΅Π΄Ρ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π΅Π³ΠΎ Π·Π½Π°ΡΡ, ΠΈ Π½Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΆΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ. ΠΡΡΠ°ΡΠΈ, Π½Π΅Π»ΡΠ·Ρ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ add-cmd ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΠ°, ΠΈΠ½Π°ΡΠ΅ rins Π½Π°ΠΉΠ΄Π΅Ρ ΠΈ ΠΏΠΎΠ»ΠΎΠΌΠ°Π΅Ρ Π΅Π³ΠΎ. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΎΠ±ΠΌΠ°Π½ΡΡΡ rins, ΠΈΡΠΊΠ°Π·ΠΈΠ² ΠΌΠ°ΡΠΊΠ΅Ρ, Π½ΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ½Π΅ΡΡΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π²Π½Π΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ (rins ΠΏΠΎ Π½ΠΈΠΌ Π½Π΅ ΠΈΡΠ΅Ρ). Π€ΡΠ½ΠΊΡΠΈΡ add-command-to-program ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ program ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ² Π΅Π΅ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ command, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅ΠΉ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ action:
(eval (defun add-command-to-program (program command action) (rins '((eq t nil) 'secret-marker) ; ΠΏΠΎΡΠ»Π΅ ΠΌΠ°ΡΠΊΠ΅ΡΠ° `((eq command ',command) ,action) ; ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊΠ²Π°Π·ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ program ) ) )
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ add-cmd.
(code (rins '((eq t nil) 'secret-marker) ; Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅ ΠΌΠ°ΡΠΊΠ΅ΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ `((eq command 'add-cmd) ; ΠΈΠΌΡ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ add-cmd (setf program (add-command-to-program program (cadr input) (caddr input))) ) program ) )
ΠΠ°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ! Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Π΄Π²Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ
Π»ΡΡΡΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ):
(add-cmd hi (princ "Hi, ")) (add-cmd quit (setf program nil)) (add-cmd reset (setf program (start-program)))
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΎΠΊΠ°ΠΆΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΅Π΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π°. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ save ΠΈ load:
(add-cmd save (with-open-file (stream (cadr input) :direction :output :if-exists :overwrite :if-does-not-exist :create) (print program stream))) (add-cmd load (setf program (with-open-file (stream (cadr input)) (read stream))))
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ Π½Π°ΡΠΈ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠΈ Π² Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈΡ
ΠΎΡΡΡΠ΄Π°. ΠΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΌΡ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ program; Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ eval + defun, Π² ΡΡΠΈΡ
ΡΠ°ΠΉΠ»Π°Ρ
Π½Π΅ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ, ΠΎΠ½ΠΈ Ρ
ΡΠ°Π½ΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ Π΄ΠΎΡΠ°Π΄Π½ΠΎΠ΅ Π½Π΅Π΄ΠΎΡΠ°Π·ΡΠΌΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°ΡΡΡΡ.
$> (save "1.txt") $> (load "1.txt")
ΠΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΡ
ΠΠ»Ρ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π½Π°ΡΠ΅Π³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π·Π°Π±Π°Π²Π½ΡΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ:
(eval (defun greeting () (let ((sentences (vector "My life for Ner'zhul. " "I wish only to serve. " "Thy bidding, master? " "Where shall my blood be spilled? " "I bow to your will. " ))) (elt sentences (random (length sentences))) ) ) )
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΈΡ
Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅:
(code (rsubs '"$> " '(greeting) program))
ΠΠΎΠ»ΡΡΠΈΡΡΡ Π½Π΅ΡΡΠΎ Π²ΡΠΎΠ΄Π΅:
I bow to your will. (hi) Hi, I wish only to serve.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π»ΠΈΡΠ½ΠΈΡ
ΡΠΊΠΎΠ±ΠΎΠΊ, Π·Π°ΠΌΠ΅Π½ΠΈΠ² (read) Π½Π° Π½Π΅ΡΡΠΎ ΠΏΠΎΡΠ»ΠΎΠΆΠ½Π΅Π΅: ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°ΠΌΠ»ΡΡΡ Π΅Π΅ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ.
(code (rsubs '(read) '(read-from-string (concatenate 'string "(" (read-line) ")")) program))
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Thy bidding, master? hi Hi, Where shall my blood be spilled?
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ Π΅ΡΠ΅ ΡΠ°Π· Π²Π·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° ΠΊΠΎΠ΄:
ΠΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
Thy bidding, master? view ---code--- (LAMBDA (PROGRAM) (PRINC (GREETING)) (LET ((INPUT (READ-FROM-STRING (CONCATENATE 'STRING "(" (READ-LINE) ")")))) (WHEN (LISTP INPUT) (LET ((COMMAND (CAR INPUT))) (COND ((EQ T NIL) 'SECRET-MARKER) ((EQ COMMAND 'LOAD) (SETF PROGRAM (WITH-OPEN-FILE (STREAM (CADR INPUT)) (READ STREAM)))) ((EQ COMMAND 'SAVE) (WITH-OPEN-FILE (STREAM (CADR INPUT) :DIRECTION :OUTPUT :IF-EXISTS :OVERWRITE :IF-DOES-NOT-EXIST :CREATE) (PRINT PROGRAM STREAM))) ((EQ COMMAND 'RESET) (SETF PROGRAM (START-PROGRAM))) ((EQ COMMAND 'QUIT) (SETF PROGRAM NIL)) ((EQ COMMAND 'HI) (PRINC "Hi, ")) ((EQ COMMAND 'ADD-CMD) (SETF PROGRAM (ADD-COMMAND-TO-PROGRAM PROGRAM (CADR INPUT) (CADDR INPUT)))) ((EQ COMMAND 'VIEW) (PROGN (FORMAT T "---code---") (PRINT PROGRAM) (TERPRI))) ((EQ COMMAND 'CODE) (SETF PROGRAM (FUNCALL (EVAL (LIST 'LAMBDA '(PROGRAM INPUT) (CADR INPUT))) PROGRAM INPUT))) ((EQ COMMAND 'EVAL) (EVAL (CADR INPUT))) (T (FORMAT T "Unknown command ~A ~%" COMMAND))))) PROGRAM)) My life for Ner'zhul.
Π‘ ΡΡΠΎΠΉ ΡΡΡΠΊΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π²Π»Π΅ΠΊΠ°ΡΡΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ! ΠΠΎ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Ρ
Π²Π°ΡΠΈΡ.
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°? ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ²
ΠΠ½ΠΎΠ³Π΄Π° ΡΠ»ΡΡΠ°ΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ. ΠΠ°ΠΊ ΡΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ?
Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π° ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΅Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ»ΡΡΠ°Π΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΠΎΠΌΡ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡ 2 ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ:
- Π²Ρ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄;
- Π΅Π³ΠΎ Ρ Π²Π°Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΠΈ Π½Π΅ Π±ΡΠ»ΠΎ, Π½ΠΎ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ°ΠΊ, Π΅ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ», Π½ΠΎ Π½Π΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΡΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ? ΠΠ° ΠΏΠΎΠΌΠΎΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΉΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠΎΡΠ΅ΠΌΡ Β«ΠΌΠΎΠΆΠ΅ΡΒ»? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π±Π΅ΡΡΠΈΠ»Π΅Π½. ΠΠ»ΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π·Π°ΡΠΈΡΠ΅Π½. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π±Π΅ΡΡΠΈΠ»ΡΠ½ΡΠΌΠΈ. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π°Π΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π½ΡΠΆΠ½ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π ΠΎΠ±ΡΠ΅ΠΌ, Β«Π² ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΒ» β Π±Π΅Π· ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° β Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, Π½Π΅Π²ΡΡΠΎΠΊΠ°Ρ, Π½ΠΎ ΠΎΠ½Π° Π΅ΡΡΡ. Π ΡΠ°Π· Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, Π·Π½Π°ΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ.
Β
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²?
ΠΠ΅ΡΠ²ΡΠΌ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ β ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ. Π’ΠΎ Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, Π° Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ β ΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ.
ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ. ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π²ΡΠ΄Π°ΡΡ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΈ Π²Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π½Π°ΡΡ, ΡΡΠΎ Ρ ΡΡΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π΄Π΅Π»Π°ΡΡ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ΅ΠΌ Β«ΠΌΠ΅Π½ΡΡΠ΅Β» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠ΅ΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½Π΅ΠΉ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ β Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠΆΠ΅Π»ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ.
ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ:
- VB Decompiler;
- ReFox;
- DeDe;
- EMS Source Rescuer;
- PEID;
- ΠΈ Π΄Ρ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΊΠ°ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ ΡΡΠΎΡ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Π°ΠΌ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΠ³Π΄Π° Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ², ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π½ΡΠΆΠ½ΡΠΉ.
Π‘ΡΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ: Π²Ρ ΠΈΠ· ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅ΡΠ΅ Π²Π½ΠΎΡΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄, Π½ΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°. ΠΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°, Π½ΠΎ ΠΎΠ½ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ.
Β
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ?
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°, Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΡΠ°Π·Π΄Π΅Π»Π° Β«ΡΠ΅Π²Π΅ΡΡ-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΒ», ΡΡΠΎΠ±Ρ ΡΠΌΠ΅ΡΡ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ°, ΡΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ ΠΈ ΡΠΏΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΌΡΠΌ Π²Π΅ΡΠ½ΡΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ. ΠΠ΅Π΄Ρ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π½Π°ΡΡ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ Π±Π°ΠΉΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΠ° ΡΠ°ΠΉΡΠ΅ SpyLife Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΠΎΠΏ-3 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΎ ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ OllyDbg ΠΈ Ida PRO.
Β
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ²:
- ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ;
- ΠΈΠ·ΡΡΠ°Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ.
ΠΡΡΠ°ΡΠΈ, Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠ·Π½Π°ΡΡ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΏΡΠΎΡΡ: ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΡΠ·ΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄, ΠΊ ΡΠΎΠΌΡ ΡΠ·ΡΠΊΡ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΠΊ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ — Π‘ΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ — Π€ΠΎΡΡΠΌΡ SitePoint
realfreetv
#1
ΠΡΠΈΠ²Π΅Ρ, ΡΠ΅Π±ΡΡΠ°, Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°?
ΡΠ΅Π»Π³Π°Π»Π»
#2
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ.
Π‘ΡΠΌΠ°ΡΡΠ΅Π΄ΡΠΈΠΉ Π±Π°Π½Π°Π½
#3
ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΠ Π±Π΅Π· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²? ΠΊΠ°ΠΊ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ .exe ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅? ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ?
ΡΠ΅Π°Π»ΡΡΠΈΡΠ²
#4
Π‘ΡΠΌΠ°ΡΡΠ΅Π΄ΡΠΈΠΉ Π±Π°Π½Π°Π½:
ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊ sw Π±Π΅Π· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°? ΠΊΠ°ΠΊ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ . exe ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅? ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ?
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ ΠΊΡΠΏΠΈΠ» ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ, ΠΈ Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ ΠΈ ΡΡΡΠ»ΠΊΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ Π½Π° ΡΠ°ΠΉΡ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π’ΠΎ Π΅ΡΡΡ; ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» .exe
ΡΠ΅Π°Π»ΡΡΠΈΡΠ²
#5
ΡΠ΅Π»Π³Π°Π»Π»:
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ.
ΠΡΠΈΠ²Π΅Ρ, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ·ΡΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΎΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ·ΡΠΊΠ°
ΡΠ΅Π»Π³Π°Π»Π»
#6
ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» — Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ, ΡΡΠΎΠ±Ρ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ, ΡΠΎ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ.
Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π±ΡΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π΄Π°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² — ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡ ΡΠ·ΡΠΊ. ΠΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ Π²Ρ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΡΡΠΎ ΡΠ΅ΡΠΈΡΡ.
ΠΡΠ»ΠΈ Π²ΡΠ΅, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²Π°ΠΌ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½, ΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΡΠ°Π²Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π·Π°ΠΏΡΡΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠ°Π² Π½Π° Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.
Π‘ΡΠΌΠ°ΡΡΠ΅Π΄ΡΠΈΠΉ Π±Π°Π½Π°Π½
#7
Π½Ρβ¦ Π²Ρ ΠΠΠΠΠ’Π ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ .EXE, Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ HEX ΠΈ ΡΠ·ΡΠΊΠΎΠΌ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° (ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ). ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΌΠΌΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² Π½Π΅Π΅ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»ΠΎΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ .EXE.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΈ Π½Π°Π²ΡΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΡΡΠΎΠ³ΠΎ Π·Π½Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π» Π€Π΅Π»Π³Π°Π»Π»; — Π½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π·Π½Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡβ¦
AlexDawson
#8
RealFreeTV:
ΠΡΠΈΠ²Π΅Ρ, ΡΠ΅Π±ΡΡΠ°, Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°?
ΠΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ ΠΏΡΠΎΠ΄ΡΠΊΡ (ΡΠ·ΡΠΊ), ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠΎΡΠΈΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° (ΠΈΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄). Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΎΡΠ½ΠΈ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ Π±Ρ ΡΠ·ΡΠΊΠ΅ ΠΎΠ½ Π½ΠΈ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ IDE + ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, ΡΡΠΎΠ±Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ.
RealFreeTV:
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ ΠΊΡΠΏΠΈΠ» ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ, ΠΈ Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ ΠΈ ΡΡΡΠ»ΠΊΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ Π½Π° ΡΠ°ΠΉΡ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°. Π’ΠΎ Π΅ΡΡΡ; ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» .exe
ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π²Ρ Π·Π°ΠΏΠ»Π°ΡΠΈΠ»ΠΈ Π·Π° ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π» Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°, Π²Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅, ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ΅Π½, Π½ΠΎ Π²Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅, ΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ .exe, ΡΡΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠ²ΠΎ, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π²Π°ΡΠΈΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΡΡ ΠΏΡΠ°Π² Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΈ Ρ Π·Π½Π°Ρ, ΡΡΠΎ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΅ΡΡΡ ΠΏΡΠ½ΠΊΡ Π² ΠΈΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ ΠΏΡΠ°Π²Π° Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ), Π΅ΡΠ»ΠΈ Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π΅ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄β¦ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ Π΅Π³ΠΎ, ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅β¦ Π½ΠΎ Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΠΎΠ±Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ exe ΡΠ°ΠΉΠ», Ρ Π²Π°Ρ Π½Π΅Ρ ΠΏΡΠ°Π² Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄.
ΡΠ΅Π°Π»ΡΡΠΈΡΠ²:
ΠΡΠΈΠ²Π΅Ρ, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ·ΡΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΎΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ·ΡΠΊΠ°
?
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π·Π°ΡΠ΅ΠΌ Π·Π°Π³ΡΠ³Π»ΠΈΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°, ΠΈ ΠΎΠ½ ΡΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠΌ ΠΎΠ½ ΡΠ²ΡΠ·Π°Π½β¦ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎ vbp / vb, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Visual Basic, Π΅ΡΠ»ΠΈ ΡΡΠΎ cpp / c, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ C++β¦ ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π±ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π½ΠΈΠ²ΡΠΌ, ΡΠΎ ΡΠΏΡΠΎΡΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π΅Π±-ΡΠ°ΠΉΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠ°Π·Π°ΡΡ
Π‘ΡΠΌΠ°ΡΡΠ΅Π΄ΡΠΈΠΉ Π±Π°Π½Π°Π½:
Π½Ρβ¦ Π²Ρ ΠΠΠΠΠ’Π ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ .EXE, Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ HEX ΠΈ ΡΠ·ΡΠΊΠΎΠΌ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° (ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ).
ΠΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π½ΠΎΡΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π±Π΅Π· Π·Π½Π°Π½ΠΈΡ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, Π½ΠΎ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΠ§ΠΠΠ¬ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ.
Π‘ΡΠΌΠ°ΡΡΠ΅Π΄ΡΠΈΠΉ Π±Π°Π½Π°Π½
#9
ΠΠ»Π΅ΠΊΡ ΠΠΎΡΡΠΎΠ½:
ΠΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π½ΠΎΡΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π±Π΅Π· Π·Π½Π°Π½ΠΈΡ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, Π½ΠΎ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΠ§ΠΠΠ¬ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ.
Π»ΠΎΠ», Π΄Π°, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡ ΠΏΡΠ°Π². Π― Π·Π°Π±ΡΠ» ΠΏΡΠΎ ΡΠ΅ΡΡΡΡ Ρ Π°ΠΊΠ΅ΡΠΎΠ²/ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ². Π½ΠΎ ΠΎΠ½ΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΊΠ°ΠΊ Π²Ρ ΡΠΊΠ°Π·Π°Π»ΠΈ «ΠΎΡΠ΅Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ» ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ
Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠΈΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ .exe, ΠΈ ΠΊΡΠΏΠΈΠ» Π΅Π³ΠΎ Π±Π΅Π· ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΎΠ², ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π·Π°Π±ΡΡΡ ΠΎΠ± ΡΡΠΎΠΌ .
Π§ΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠ°ΠΊ ΡΡΠΎ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ Π΅Π³ΠΎ ΠΊΡΠΏΠΈΠ», ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΡΡΠ΄Π°β¦
ΡΠΈΡΡΠ΅ΠΌΠ°
Π·Π°ΠΊΡΡΡΠΎ
#10
Π ΡΠ΅Π½ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΡΡΡΠ΄Π΅Π½ΡΠ΅ΡΠΊΠΎΠΉ Π³ΡΡΠΏΠΏΡ: Code the Change, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ β USC Viterbi
Π ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ΅Π±Π½ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ Code the Change ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ Π½Π°Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠ² β ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΌΠ΅ΡΡΠ½ΡΡ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ Π½Π΅ Π±ΡΠ»ΠΎ Π±Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π±ΡΠ΄ΠΆΠ΅Ρ Π²Π·ΡΡΡ Π½Π° ΡΠ΅Π±Ρ. Π€ΠΎΡΠΎ/iStock.
Π‘ΡΡΠ΄Π΅Π½ΡΡ-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΡ ΡΡΡΠ΄Π΅Π½ΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Code the Change (CTC) USC ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ Π΄Π΅Π»Π°ΡΡ Π΄ΠΎΠ±ΡΠΎ ΠΈ ΡΠ΅ΡΠ°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π² 2014 Π³ΠΎΠ΄Ρ, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΅ΠΌΠΈΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌ Π² ΠΠΎΡ-ΠΠ½Π΄ΠΆΠ΅Π»Π΅ΡΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. Π ΡΡΡΠ΄Π΅Π½ΡΠ΅ΡΠΊΠΎΠΌ ΠΊΠ»ΡΠ±Π΅ ΡΠ΅ΠΉΡΠ°Ρ ΠΎΠΊΠΎΠ»ΠΎ 30 Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ², ΡΠΎΡΡΠΎΡΡΠΈΡ ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌ.
Π‘ΡΡΠ΄Π΅Π½ΡΡ ΠΈΠ· Code the Change, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΠ΅ Π² 2020 Π³ΠΎΠ΄Ρ Π΄ΠΎ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΠΌΠ΅Ρ ΠΏΠΎ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΌΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ Π΄Π»Ρ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ. Π€ΠΎΡΠΎ/ΠΊΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ ΠΊΠ»ΡΠ± ΡΠ°ΡΡΠΈΡΠΈΠ» ΡΠΈΡΠ»ΠΎ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ Vision to Learn, Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π·ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΠΎΡΠΊΠΎΠ² Π΄Π»Ρ ΡΡΠ°ΡΠΈΡ ΡΡ ΠΈΠ· Π±Π΅Π΄Π½ΡΡ ΡΠ»ΠΎΠ΅Π² Π½Π°ΡΠ΅Π»Π΅Π½ΠΈΡ; Climate Cents, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΊΡΠ°ΡΠ΄ΡΠ°Π½Π΄ΠΈΠ½Π³Π°, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° Π±ΠΎΡΡΠ±Ρ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΠΈΠΌΠ°ΡΠ°; ΠΈ Green Dot Public Schools, Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π² ΡΠ΅Π½ΡΡΠ΅ ΠΠΎΡ-ΠΠ½Π΄ΠΆΠ΅Π»Π΅ΡΠ°.
Β«ΠΠ΅Π½Ρ ΠΎΡΠ΅Π½Ρ Π²Π΄ΠΎΡ Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΌΠΈΡΡΠΈΡ ΠΏΠΎΠΌΠΎΡΠΈ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌ Π² ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΌ ΡΠΎΡΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈΒ», β ΡΠΊΠ°Π·Π°Π»Π° ΠΠΆΠ΅ΡΡΠΈΠΊΠ° ΠΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ»ΡΠΆΠΈΠ»Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ° Π΄ΠΎ Π°ΠΏΡΠ΅Π»Ρ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π»Π° ΡΡΡΠ°ΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎΠΊΡΡΡΠ½ΠΈΠΊΡ ΠΏΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅ ΠΠΆΠ΅ΠΉΠΌΠΈ Π€Π»ΠΎΡΠ΅Ρ.
ΠΠΎΠΌΠΎΡΡ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌ Π² ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΌ ΡΠΎΡΡΠ΅
Π ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ΅Π±Π½ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ Code the Change ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ Π½Π°Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠ² β ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π½Π° ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΌΠ΅ΡΡΠ½ΡΡ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ Π½Π΅ Π±ΡΠ»ΠΎ Π±Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π±ΡΠ΄ΠΆΠ΅ΡΠ° Π² ΠΎΠ΄ΠΈΠ½ΠΎΡΠΊΡ.
Β«ΠΠ΅Π½Ρ ΠΎΡΠ΅Π½Ρ Π²Π΄ΠΎΡ Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΌΠΈΡΡΠΈΡ ΠΏΠΎ ΠΎΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΠΎΠΌΠΎΡΠΈ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌ Π² ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΌ ΡΠΎΡΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡΒ». ΠΠΆΠ΅ΡΡΠΈΠΊΠ° ΠΡ.
Β«Π― Π² Π²ΠΎΡΡΠΎΡΠ³Π΅ ΠΎΡ Code the Change, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ Π½Π΅Ρ Π΄Π΅Π½Π΅Π³, ΡΡΠΎΠ±Ρ Π½Π°Π½ΠΈΠΌΠ°ΡΡ Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²Β», β ΡΠΊΠ°Π·Π°Π»Π° ΠΠ»ΠΈΡ ΠΠ΅ΡΡΠ°Π½ΠΈΠΊ, ΡΡΠ°ΡΡΠΈΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΌ Π½Π°ΡΠΊΠ°ΠΌ, ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ. Π² Facebook ΠΏΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΡΠ΅Π±Ρ.
Β«ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌ ΡΡΠ»ΡΠ³ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π»Π° ΠΌΠ½Π΅, ΡΡΠΎ ΠΏΡΠΎΡΡΡΠ΅ Π²Π΅ΡΠΈ Ρ ΠΌΠΎΠΈΠΌΠΈ Π½Π°Π²ΡΠΊΠ°ΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β».
ΠΠ° Π½Π΅Π΄Π°Π²Π½Π΅ΠΌ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΠΌΠΈΠ½Π°ΡΠ΅ ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΡΒ» ΡΠ»Π΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΡΠ΄Π΅Π½ΡΠ°ΠΌΠΈ, ΠΈΠ·ΡΡΠ°ΡΡΠΈΠΌΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΡ. ΠΠ½ΠΈ ΠΎΠ±ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ Π² ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΅ΡΡΡ ΡΠ΅ΡΡΡΠ΅ ΡΡΠ°ΠΏΠ°: ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°; ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ; ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°; ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΡΠ°Π·Π²ΠΈΡΠΈΠ΅.
Code the Change ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ°Π΅Ρ Ρ Vision to Learn, ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠΌ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ Π³Π»Π°Π·Π½ΡΡ ΡΠΊΠ·Π°ΠΌΠ΅Π½ΠΎΠ² ΠΈ ΠΎΡΠΊΠΎΠ².
Π ΡΡΠΎΠΌ Π³ΠΎΠ΄Ρ CTC Π·Π°ΠΊΠ»ΡΡΠΈΠ»Π° ΠΏΠ°ΡΡΠ½Π΅ΡΡΠΊΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Ρ Gladeo, ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΌΠ΅Π΄ΠΈΠ°-ΡΡΡΠ΄ΠΈΠ΅ΠΉ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ° ΠΌΠ°Π»ΠΎΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π½ΡΠΌ ΡΠ»ΠΎΡΠΌ Π½Π°ΡΠ΅Π»Π΅Π½ΠΈΡ. ΠΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠ² ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ.
ΠΠΎΡΠ»Π΅ Π²ΡΡΡΠ΅ΡΠΈ Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ, ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΠΎΠ·Π³ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΡΡΠΌΠ° ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° CTC ΡΠ΅ΡΠΈΠ»Π° ΠΏΠΎΠΌΠΎΡΡ Gladeo ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠ·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Ρ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΡΠΎΠ»ΠΈΠΊΠΈ Ρ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΈ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ Π΄Π΅Π»ΠΈΡΡΡΡ ΠΈΠΌΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΡΠ°ΠΉΡΠ°. .
Β«Π‘Π°ΠΌΠΎΠ΅ Π»ΡΡΡΠ΅Π΅ Π² ΠΎΠΏΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° CTC β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ Π΄Π°Π΅Ρ Π²Π°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°ΡΡΠΎΡΡΠ°Ρ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΒ», β ΡΠΊΠ°Π·Π°Π» ΠΡΠ°ΠΉΠ°Π½ Π₯ΡΠ°Π½Π³, Π²Π΅Π΄ΡΡΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Gladeo.
Β«ΠΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Β».
Code the Change ΠΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ
Β Π‘ ΠΊΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Code the Change?
Code the Change ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌΠΈ 501(c)(3) Π½Π°Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΈΡ Π½ΡΠΆΠ΄. ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌΠΈ Π² ΡΠ°ΠΉΠΎΠ½Π΅ ΠΠΎΡ-ΠΠ½Π΄ΠΆΠ΅Π»Π΅ΡΠ°, Π½ΠΎ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ²ΡΠ·ΠΈ Ρ COVID-19. .
ΠΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Ρ Π±ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠΌ ΠΏΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅?
ΠΠΎΠ²ΡΠ΅ Π½Π΅Ρ. CTC ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ Ρ ΡΠ°Π·Π½ΡΠΌ ΠΎΠΏΡΡΠΎΠΌ, ΠΈ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΡΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ ΠΏΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΡ.
ΠΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠ΅ ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π°ΡΡ Π·Π°ΡΠ²ΠΊΡ?
Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ΅, CTC ΠΈΡΠ΅Ρ Π»ΡΠ΄Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΅ΠΌΡΡΡΡ ΠΊ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΌΡ Π²Π»ΠΈΡΠ½ΠΈΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠΎΠΈΡΠΊΠ°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ β Π²ΡΠ΅, ΡΡΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π²Π°ΡΡ ΡΡΡΠ°ΡΡΡ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» Π² ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΡΠ²Π΅.
ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΈΠ½ΡΡΡ ΡΡΠ°ΡΡΠΈΠ΅?
Code the Change ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ, ΠΎΡΠΊΡΡΡΡΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² USC Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π³ΠΎΠ΄Π°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ΅ΠΌΠΈΠ½Π°ΡΡ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π³ΠΎΠ²ΠΎΡΡ Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌΠΈ ΠΎ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΠΈ Ρ. Π΄. Π‘ΡΡΠ΄Π΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π½Π°ΠΉΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅.