ⵜⴰⵣⵙⴰⵔⴻⵜ
ⵎⴰⴹⵔⵉⵙⴰ ⴰⴷ ⴷⵢⴻⵙⵎⴻⴽⵜⵉ ⵜⵉⴽⵜⵉⵡⵉⵏ ⵏ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵍⴽⴻⵎ Dynamic ⴷ Static, ⵉⵎⴳⴻⵔⵔⴰⴷⴻⵏ ⵉⴳⴻⵊⴷⴰⵏⴻⵏ ⴳⴰⵔ ⵙⵏⴰⵜⴰ, ⴷ ⵡⴰⵢⴻⵏ ⴰⵢ ⴷⵢⴻⵜⵜⴰⴽⴼ ⵢⴰⵍ ⴰⴼⴻⵔⴷⵉⵙ ⴷⴻⴳ ⵡⴰⵢⴻⵏ ⵢⴻⵔⵣⴰⵏ ⵍⴼⴰⵢⴷⴰⵜ ⴷ ⵡⵓⴳⵓⵔⴻⵏ. ⵜⴰⵣⵔⴰⵡⵜⴰ ⴰⴷ ⵜⴽⴻⵎⵎⴻⵍ ⴰⴷ ⵜⴽⴻⵎⵎⴻⵍ ⵙ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵍⴽⴻⵎ ⵏ ⵜⴷⵉⵏⴰⵎⵉⵜ, ⵍⴰⴷⵖⴰ ⵢⵉⵡⴻⵏ ⵙⴻⴳ ⵢⵉⵎⵓⴽⴰⵏ ⵉⴳⴻⵊⴷⴰⵏⴻⵏ ⴰⵢ ⵜⴻⵙⵙⴻⴼⵔⴰⴽ: Monkey Patch, ⴰⴹⵔⵉⵙⴰ ⴰⴷ ⴷⵢⴻⵜⵜⵡⴰⵙⴽⴻⵏ ⵙ ⵜⴰⵍⵍⴻⵍⵜ ⵏ ⵓⵎⴻⴷⵢⴰ ⴷⴻⴳ JavaScript.
ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵖⵣⴰⵏ ⴰⴷⵉⵏⴰⵎⵉⴽ ⵎⴳⴰⵍ ⴰⵃⴻⵔⴼⵉ
ⵉⵎⴻⵙⵍⴰⵢⴻⵏ
ⴰⴽⴽⴻⵏ ⴰⴷ ⵏⴻⴼⵀⴻⵎ ⴷ ⴰⵛⵓ ⵉ ⴷ ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⴷⵉⵏⴰⵎⵉⵜ ⵏⴻⵖ ⴷ ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵙⵜⴰⵜⵉⴽⵜ, ⵢⴻⵙⵙⴻⴼⴽ ⴰⴷ ⵏⴻⵙⵙⴻⴱⴷⴻⴷ ⵜⵉⴼⵔⴰⵜ ⵏ ⴽⵔⴰ ⵏ ⵡⴰⵡⴰⵍⴻⵏ ⵉⴳⴻⵊⴷⴰⵏⴻⵏ ⵢⴻⵜⵜⵡⴰⵙⵇⴻⴷⵛⴻⵏ ⵙ ⵡⴰⵟⴰⵙ ⴷⴻⴳ ⵜⵎⴻⵏⴹⴰⵡⵜⴰ: Akud ⵏ ⵓⵙⵎⴻⵍ, Akud ⵏ ⵓⵅⴻⴷⴷⵉⵎ, ⴷ *Askasi ⵏ ⵚⵚⴻⵏⴼ . *.
Compile ⴷ Runtime ⴷ ⵙⵉⵏ ⵏ ⵢⵉⵎⴻⵙⵍⴰ ⵉ ⵢⴻⵜⵜⴻⵎⵛⴰⴱⵉⵏ ⵖⴻⵔ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵢⴻⵎⴳⴰⵔⴰⴷⴻⵏ ⴷⴻⴳ ⵜⵎⴻⴷⴷⵓⵔⵜ ⵏ ⵡⴰⵀⵉⵍ ⵏ ⵓⵙⴻⵍⴽⵉⵎ, ⵢⴻⴱⴷⴰⴷ ⵙ ⵡⴰⴽⵓⴷ ⵏ Compile.
ⴰⴽⵓⴷ ⵏ ⵓⵙⴷⵓⴽⴽⴻⵍ
ⵜⴰⵍⵍⵉⵜ ⵏ ⵓⵙⵎⴻⵍ ⴷ ⴰⵃⵔⵉⵛ ⴰⵎⴻⵣⵡⴰⵔⵓ ⴷⴻⴳ ⵜⵎⴻⴷⴷⵓⵔⵜ ⵏ ⵡⴰⵀⵉⵍ. ⴰⵎⵙⵏⵓⵍⴼⵓ ⵢⴻⵜⵜⴰⵔⵓ ⴰⴽⴰⵔⴰⵎ ⵙ ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵓⵙⴻⵍⴽⵉⵎ ⵢⴻⵜⵜⵓⵏⴻⴼⴽⴻⵏ. ⵓⴳⴰⵔ ⵏ ⵡⴰⵢⴰ, ⵜⵎⴰⵛⵉⵏⵜ ⵓⵔ ⵜⴻⵣⵎⵉⵔ ⴰⵔⴰ ⴰⴷ ⵜⴼⴻⵀⵎⴻⴹ ⴰⴽⴰⵔⴰⵎ ⵢⴻⵜⵜⵡⴰⵔⵓⵏ ⵙ ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵓⵙⵡⵉⵔ ⵏ ⵜⵍⴻⵎⵎⴰⵙⵜ ⵙ ⵡⴰⵢⴰ ⵢⴻⵜⵜⵡⴰⵙⴻⵇⴷⴻⵛ ⵓⵎⵙⴻⴹⵔⵓ ⵢⴻⵜⵜⵡⴰⴼⴻⵔⵏⴻⵏ ⴰⴽⴽⴻⵏ ⴰⴷ ⵜⵢⴻⵙⵙⵓⵇⴻⵍ ⵙ ⵜⵖⴰⵡⵙⴰ ⵏ ⵜⵍⴻⵎⵎⴰⵙⵜ ⵏ ⵓⵙⵡⵉⵔ ⴷⴷⴰⵡ ⵉ ⵢⴻⵜⵜⵓⵖⴰⵍⴻⵏ ⴷ ⵜⵉⵏ ⵉ ⴷⵢⴻⵜⵜⵡⴰⵀⴻⴳⴳⴰⵏ ⵉ ⵓⵙⵙⴻⴹⵔⵓ.
ⴰⴽⵓⴷ ⵏ ⵓⵄⴻⴷⴷⵉ
ⵔⵓⵏⵜⵉⵎⴻ ⵙ ⵓⵎⴰⵜⴰ ⵢⴻⵜⵜⵃⴰⴷⴰⵔ ⵙⵉⵏ ⵏ ⵢⵉⵃⵔⵉⵛⴻⵏ : ⴰⵄⴻⵢⵢⴻⵏ ⵏ ⵡⴰⵀⵉⵍ ⴷⴻⴳ ⵜⵎⴻⵥⴷⵉⵜ ⵙ ⵓⵙⵏⴻⴼⵍⵉ ⵏ ⵜⵜⴰⵡⵉⵍⴰⵜ ⵉ ⵉⵍⴰⵇⴻⵏ ⵉ ⵓⵙⵙⴻⴹⵔⵓⵉⵏⴻⵙ ⴰⴽⴽ ⴷ ⵍⴻⵡⵚⴰⵢⴰⵜⵉⵙ, ⵙⵢⵉⵏ ⵙ ⵓⵙⵙⴻⴹⵔⵓ ⵏ ⵡⴰⵀⵉⵍ ⵙ ⵍⵎⴻⵏⴷⴰⴷ ⵏ ⵍⴻⵡⵚⴰⵢⴰⵜⵏⵏⵉ.
ⴰⴹⵔⵉⵙⴰ ⵉ ⴷⵉⵜⴻⴷⴷⵓⵏ ⵢⴻⵙⵙⴽⴰⵏⴰⵢⴷ ⴰⴱⵔⵉⴷⴰ:
ⴰⵙⴻⴽⵛⴻⵎ ⵏ ⵚⵚⴻⵏⴼ
ⴰⵙⴻⴽⵛⴻⵎ ⵏ ⵚⵚⴻⵏⴼ ⴷ ⵜⴰⵖⴰⵡⵙⴰ ⵢⴻⵜⵜⵡⴰⴱⵏⴰⵏ ⴷⴻⴳ ⵇⵔⵉⴱ ⴰⴽⴽ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵍⴽⵉⵎ. ⴷ ⵜⴰⵣⵎⴻⵔⵜ ⵏ ⵓⴹⴼⴰⵔ ⵎⴰ ⵢⴻⵍⵍⴰ ⴰⵣⴰⵍ ⵢⴻⵜⵜⵓⵏⴻⴼⴽⴻⵏ ⵉ ⵓⵎⴳⵉⵔⴻⴷ ⵢⴻⵜⵜⵓⵏⴻⴼⴽⴻⵏ ⵢⴻⵜⵜⴻⵎⵛⴰⴱⵉ ⵖⴻⵔ ⵚⵚⴻⵏⴼ ⵉⵡⴰⵜⴰⵏ ⵏ ⵓⵎⴳⵉⵔⴻⴷⵏⵏⵉ. ⵢⴰⵍ ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵓⵙⵏⵉⵍⴻⵙ ⵜⴻⵙⵄⴰ ⴰⴱⵔⵉⴷ ⵢⴻⵎⴳⴰⵔⴰⴷⴻⵏ ⴰⴽⴽⴻⵏ ⴰⴷ ⴷⵜⴻⵙⵙⴽⴻⵏ ⴰⵣⴰⵍ ⵏ ⵚⵚⴻⵏⴼ ⵢⴻⵜⵜⵓⵏⴻⴼⴽⴻⵏ ⴷⴻⴳ ⵜⵎⴻⵥⵔⵉ. ⵜⵉⵙⴻⵎⵙⴰⵍⴰⴳⵉ ⵢⴻⵎⴳⴰⵔⴰⴷⴻⵏ ⵜⵜⴰⴵⴵⴰⵏⵜ ⴰⴷ ⵜⵡⴰⵍⵉⴹ ⴰⵙⵙⴰⵖ ⴳⴰⵔ ⵚⵚⴻⵏⴼ ⵏ ⵡⴰⵣⴰⵍ ⴷ ⵚⵚⴻⵏⴼ ⵏ ⵓⵎⴳⵉⵔⴻⴷ ⵉ ⵜⵄⴻⵔⴹⴻⴹ ⴰⴷ ⴰⵙⵜⴻⴼⴽⴻⴹ ⴰⵣⴰⵍⵏⵏⵉ.
ⵜⵓⵔⴰ ⵉⵎⵉ ⵏⴻⵙⵄⴰ ⵜⵉⴼⵔⴰⵜ ⵏ ⵓⵙⵡⵉⵔ ⵏ ⵜⵎⴻⴷⴷⵓⵔⵜ ⵏ ⵡⴰⵀⵉⵍ ⴷ ⵓⴹⴼⴰⵔ ⵏ ⵚⵚⴻⵏⴼ, ⵏⴻⵣⵎⴻⵔ ⴰⴷ ⵏⴽⴻⵎⵎⴻⵍ ⵙ ⵓⵙⴽⴰⵙⵉ ⵏ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵍⴽⴻⵎ ⵙⵜⴰⵜⵉⴽ.
ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵖⵣⴰⵏ ⴰⵃⴻⵔⴼⵉ
ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵍⴽⴻⵎ ⵙⵜⴰⵜⵉⴽ, ⵇⵇⴰⵔⴻⵏⴰⵙⴻⵏⵜ ⴷⴰⵖⴻⵏ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵜⵉⵔⴰ ⵜⴰⵙⵜⴰⵜⵉⴽⵜ ⴷ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵉ ⵢⴻⵜⵜⵇⴰⴷⴰⵔⴻⵏ ⴰⵙⴻⴼⵇⴻⴷ ⵏ ⵚⵚⴻⵏⴼ ⵉ ⴷⵏⴻⴱⴷⴻⵔ ⴷⴻⴳ ⵜⴰⵍⵍⵉⵜ ⵏ ⵓⵙⵎⴻⵍ. ⴰⵢⴰ ⵙ ⵜⵖⴰⵡⵍⴰ ⴰⵏⴰⵎⴻⴽⵉⵙ ⴷ ⴰⴽⴽⴻⵏ ⴰⴱⴻⴷⴷⴻⵍ ⵢⴻⵜⵜⵃⴰⴷⴰⵔ ⵚⵚⴻⵏⴼⵉⵙ ⵙⴻⴳ ⵓⵙⵎⴻⵍ ⵢⴻⵔⵏⴰ ⵓⵍⴰⵛ ⴰⵣⴰⵍ ⵉ ⵉⵣⴻⵎⵔⴻⵏ ⴰⴷ ⴰⵙⵢⴻⵜⵜⵓⵏⴻⴼⴽ ⵏⵏⵉⴹⴻⵏ ⴰⵏⴰⴳⴰⵔ ⴰⵣⴰⵍⴻⵏ ⵙⴻⴳ ⵚⵚⴻⵏⴼⵉⵙ ⵏ ⵓⵙⵎⴻⵍ. ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵍⴽⵉⵎ ⵙⵜⴰⵜⵉⴽ ⵜⵜⴰⴽⴻⵏⵜⴷ ⵜⴰⵖⴻⵍⵍⵉⵙⵜ ⵏ ⵓⵙⵏⴻⵔⵏⵉ ⵎⵉ ⴰⵔⴰ ⵜⵜⵇⴰⴷⴰⵔⴻⵏⵜ ⵚⵚⴻⵏⴼ ⵎⴰⵛⴰ ⵣⴻⵎⵔⴻⵏⵜ ⴰⴷ ⵙⴼⴻⴹⴹⴻⵏⵜ ⴰⴽⴰⵍⴰ ⵏ ⵓⵙⵏⴻⴼⵍⵉ ⴷⴻⴳ ⴽⵔⴰ ⵏ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵏ ⵓⵙⴻⵇⴷⴻⵛ ⵎⵉ ⴰⵔⴰ ⵢⵓⵖⴰⵍ ⵡⴰⵢⴰ ⴷ ⴰⵃⴱⴰⵙ ⵏ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ.
ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵖⵣⴰⵏ ⴰⴷⵉⵏⴰⵎⵉⴽ
ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵍⴽⵉⵎ ⴰⴷⵉⵏⴰⵎⵉⴽ, ⵙⴻⴳ ⵜⴰⵎⴰ ⵏⵉⴹⴻⵏ, ⵙⵙⴻⵇⴷⴰⵛⴻⵏⵜ ⴰⵙⴻⴼⵇⴻⴷ ⵏ ⵚⵚⴻⵏⴼ ⴷⴻⴳ ⵡⴰⴽⵓⴷ ⵏ ⵓⵅⴻⴷⴷⵉⵎ. ⴰⵢⴰ ⴰⵏⴰⵎⴻⴽⵉⵙ ⵢⴰⵍ ⴰⴱⴻⴷⴷⴻⵍ ⵢⴻⵣⵎⴻⵔ ⴰⴷ ⵢⴻⵟⵟⴻⴼ ⵢⴰⵍ ⴰⵣⴰⵍ ⴷⴻⴳ ⵢⴰⵍ ⵜⴰⵙⵡⵉⵄⵜ ⴷⴻⴳ ⵡⴰⵀⵉⵍ. ⴰⵢⴰ ⵢⴻⵣⵎⴻⵔ ⴰⴷ ⵢⵉⵍⵉ ⴷ ⵍⴼⴰⵢⴷⴰ ⵉⵎⵉ ⵢⴻⵜⵜⴰⴽⴷ ⴰⵙⵡⵉⵔ ⵏ ⵜⵎⴻⵥⵍⴰ ⵉ ⵓⵎⵙⴻⴼⵔⴰⴽ ⵓⵔ ⵏⴻⵍⵍⵉ ⴰⵔⴰ ⴷⴻⴳ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵜⵉⵙⵜⴰⵜⵉⵢⵉⵏ. ⵜⵓⵜⵍⴰⵢⵉⵏ ⵜⵉⴷⵉⵏⴰⵎⵉⴽⵉⵢⵉⵏ ⵜⵜⵃⵓⵍⴼⵓⵏⵜ ⵙ ⵜⵖⴰⵡⵍⴰ ⴷⴻⴳ ⵓⵙⵙⴻⴹⵔⵓ ⵏ ⵢⵉⵎⴻⴷⴷⵓⴽⴰⵍⵏⵙⴻⵏⵜ ⵜⵉⵙⵜⴰⵜⵉⴽⵉⵢⵉⵏ ⵉⵎⵉ ⵜⵜⴰⵡⵉⵏⵜⴷ ⵢⵉⵡⴻⵏ ⵏ ⵓⵙⵡⵉⵔ ⵏ ⵓⵙⵏⴻⵔⵏⵉ ⵏ ⵓⵃⴻⵣⵣⴻⴱ ⵙ ⵜⴷⵉⵏⴰⵎⵉⵜ ⵏ ⵜⵉⵔⴰ ⵏ ⵢⴰⵍ ⴰⵎⴳⵉⵔⴻⴷ.
ⵜⴰⴱⴱⵓⵔⵜ ⵏ ⵓⵖⵢⵓⵍ
ⵙⵜⴰⵜⵉⵛ vs Dynamic Typing ⴷ ⵢⵉⵡⴻⵏ ⵏ ⵓⵙⵡⵉⵔ ⵏ ⵍⵍⵙⴰⵙ ⴷⴻⴳ ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵓⵙⴻⵍⴽⴻⵎ, ⴰⴷ ⵜⴻⴷⴷⵓⴹ ⵙ ⵢⵉⵡⴻⵏ ⵏ ⵓⵙⵡⵉⵔ ⵖⴻⴼ ⵡⴰⵢⴻⴹ ⵢⴻⵣⵎⴻⵔ ⴰⴷ ⵢⴻⵙⵙⵉⵡⴻⴹ ⵙ ⵡⴰⵟⴰⵙ ⵏ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⴷ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵢⴻⵎⴳⴰⵔⴰⴷⴻⵏ ⵉⵣⴻⵎⵔⴻⵏ ⴰⴷ ⵙⵙⴻⵍⵀⵓⵏⵜ ⵙ ⵡⴰⵟⴰⵙ ⵜⴰⵖⴰⵔⴰ ⴷ ⵜⵖⴰⵡⵙⴰ ⵏ ⵓⵙⵏⴻⵔⵏⵉ. ⵢⴻⵣⵎⴻⵔ ⴷⴰⵖⴻⵏ ⴰⴷ ⵢⴻⵍⴷⵉ ⵜⴰⵡⵡⵓⵔⵜ ⵉ ⵡⴰⵟⴰⵙ ⵏ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⴷ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵎⴳⴰⵍ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵎⴰ ⵢⴻⵍⵍⴰ ⵓⵔ ⴷⵜⵜⵡⴰⴼⴽⴻⵏⵜ ⴰⵔⴰ ⵜⵎⵓⵖⵍⵉⵡⵉⵏ ⵙ ⵍⵃⵉⵔ ⵎⵉ ⴰⵔⴰ ⴷⵜⵜⵡⴰⴹⴻⴼⵔⴻⵏ ⵍⴻⵇⵔⴰⵔ ⵏ ⵓⵙⵏⵓⵍⴼⵓ.
ⵙ ⵓⵎⴰⵜⴰ, ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵍⴽⵉⵎ ⵢⴻⵜⵜⵡⴰⵔⵓⵏ ⵙ ⵜⴷⵉⵏⴰⵎⵉⵜ ⵜⵜⵡⴰⵙⵙⴻⵏⴻⵏⵜ ⴷ ⴰⴽⴽⴻⵏ ⵜⵜⴰⴽⴻⵏⵜⴷ ⴰⵙⵡⵉⵔ ⵏ ⵜⵎⴻⵥⵍⴰ ⵢⵓⴳⴰⵔ ⵉⵎⵉ ⵓⵔ ⵜⵜⵃⴻⵜⵜⵉⵎⴻⵏⵜ ⴰⵔⴰ ⴰⴱⴻⴷⴷⴻⵍ ⵖⴻⴼ ⵢⵉⵡⴻⵏ ⵏ ⵚⵚⴻⵏⴼ. ⵜⴰⴼⵍⴻⵙⵜⴰ ⵜⴻⵜⵜⴰⵡⴻⴹⴷ ⵙ ⵍⵇⵉⵎⴰ ⵏ ⵜⵎⴰⵙⵉⵜ ⵏ ⵓⵙⵏⴻⵔⵏⵉ ⵉ ⵓⵎⵙⴻⴼⵔⴰⴽ ⵎⵉ ⴰⵔⴰ ⵢⴻⵙⵙⴻⴹⵔⵓ ⴷ ⵓⵙⵏⴻⴼⵍⵉ ⵏ ⵡⴰⵀⵉⵍⴻⵏ ⴰⴽⴽⴻⵏ ⴰⴷ ⵢⴻⵜⵜⵡⴰⴹⵎⴻⵏ ⵓⵔ ⴷⵜⵜⵉⵍⵉⵏⵜ ⴰⵔⴰ ⵜⵉⴽⵍⵉⵡⵉⵏ ⵓⵔ ⵏⴻⵜⵜⵡⴰⵄⵇⴰⵍ ⴰⵔⴰ. ⴰⴹⵔⵉⵙ ⵏ ⵜⵎⴻⵥⵥⵓⵖⵜ ⵏ ⵢⵉⵍⴻⴼ ⵢⴻⴽⴽⴰⴷ ⵙⴻⴳ ⵜⴼⴻⵍⵙⴰⴼⵉⵜⴰ.
Monkey Patch ⵢⴻⵜⵜⵎⴻⵙⵍⴰⵢⴷ ⵖⴻⴼ ⵜⵎⵓⵖⵍⵉ ⵏ ⵓⵙⵏⴻⵔⵏⵉ/ⴰⴱⴻⴷⴷⴻⵍ ⵏ ⵍⴻⵇⴷⵉⵛ ⵏ ⵢⵉⵡⴻⵏ ⵏ ⵓⴼⴻⵔⴷⵉⵙ ⴷⴻⴳ ⵡⴰⴽⵓⴷ ⵏ ⵓⵅⴻⴷⴷⵉⵎ. ⴰⴼⵜⵓⵙ ⵉⵖⴻⴼ ⴷⵢⴻⵜⵜⵉⵍⵉ ⵡⴰⵡⴰⵍ ⵢⴻⵣⵎⴻⵔ ⴰⴷ ⵢⵉⵍⵉ ⴷ ⵜⴰⵎⴽⴻⵔⴹⵉⵜ, ⴷ ⵜⴰⵖⵓⵍⵜ, ⴷ ⵜⴰⵔⵔⴰⵢⵜ, ⵏⴻⵖ ⵓⵍⴰ ⴷ ⴰⴼⴻⵔⴷⵉⵙ. ⵜⵉⴽⵜⵉⴰ ⴷ ⵢⵉⵡⴻⵜ: ⴰⵃⵔⵉⵛ ⵏ ⵍⵇⴰⵏⵓⵏ ⵢⴻⵜⵜⵡⴰⵅⴷⴻⵎ ⴰⴽⴽⴻⵏ ⴰⴷ ⵢⴻⵙⵙⵉⵡⴻⴹ ⵖⴻⵔ ⴽⵔⴰ ⵏ ⵜⵖⴰⵡⵙⴰ, ⵢⴻⵔⵏⴰ ⵉⵙⵡⵉ ⵏ ⵓⵙⵙⴻⵎⵔⴻⵙ ⵏ ⵢⵉⵍⴻⴼ ⴷ ⴰⴱⴻⴷⴷⴻⵍ ⵏⴻⵖ ⴰⵙⴻⵏⵇⴻⵙ ⵏ ⵜⵉⴽⵍⵉ ⵏ ⵜⵖⴰⵡⵙⴰⵏⵏⵉ ⵏ ⵍⵇⴰⵏⵓⵏ ⴰⴽⴽⴻⵏ ⴰⴷ ⵜⴻⵙⵙⵉⵡⴻⴹ ⵖⴻⵔ ⴽⵔⴰ ⵏ ⵜⵖⴰⵡⵙⴰ ⵜⴰⵎⴰⵢⵏⵓⵜ, ⴰⵢⴰ ⴰⴽⴽ ⵡⴰⵔ ⵎⴰ ⵢⴻⵜⵜⵡⴰⴱⴻⴷⴷⴻⵍ ⵍⵇⴰⵏⵓⵏⵏⵏⵉ ⵙ ⵜⵉⵎⵎⴰⴷⵏⵏⴻⵙ . .
ⴰⵢⴰ ⵢⴻⵜⵜⵡⴰⵅⴷⴻⵎ ⴷⴻⴳ ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵓⵙⵏⵉⵍⴻⵙ ⴰⴷⵉⵏⴰⵎⵉⴽ ⵉⵎⵉ ⴰⴽⴽⴻⵏ ⵢⴻⴱⵖⵓ ⵢⵉⵍⵉ ⵚⵚⴻⵏⴼ ⵏ ⵓⴼⴻⵔⴷⵉⵙ ⵉ ⵏⴻⵜⵜⵇⴰⴱⴰⵍ, ⵎⴰⵣⴰⵍⵉⵜ ⵢⴻⵙⵄⴰ ⵢⵉⵡⴻⵜ ⵏ ⵜⴳⴻⵎⵎⵉ ⵏ ⵢⵉⵡⴻⵏ ⵏ ⵓⵙⵎⴻⵍ ⵙ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵢⴻⵎⴳⴰⵔⴰⴷⴻⵏ, ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵣⴻⵎⵔⴻⵏⵜ ⴰⴷ ⵟⵟⴼⴻⵏⵜ ⵜⵉⴳⵏⴰⵜⵉⵏ ⵉⵣⴻⵎⵔⴻⵏ ⴰⴷ ⵜⵜⵡⴰⵄⴻⵔⴹⴻⵏⵜ ⴰⴽⴽⴻⵏ ⴰⴷ ⵏⴰⵡⴻⴹ ⵖⴻⵔ ⵜⵉⴽⵍⵉ ⵜⴰⵎⴰⵢⵏⵓⵜ ⴷⴻⴳ ⵜⵖⴰⵡⵙⴰ . ⵎⴻⴱⵍⴰ ⵎⴰ ⵏⴻⴽⵛⴻⵎ ⴷⴻⴳ ⴷⴰⵅⴻⵍⵉⵙ ⴷ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵏ ⵓⵙⵏⴻⴼⵍⵉ. ⴰⵢⴰ ⵢⴻⵜⵜⵓⵖⴰⵍ ⴷ ⴰⵏⴼⴰⵢ ⵍⴰⴷⵖⴰ ⴷⴻⴳ ⵜⴻⴳⵏⵉⵜ ⵏ ⵜⴻⵎⴽⴰⵔⴹⵉⵢⵉⵏ ⴷ ⵢⵉⵎⵓⴹⴰⵏ ⵏ ⵜⴻⵔⴱⴰⵄⵜ ⵜⵉⵙ ⴽⵔⴰⴹⵜ ⵉⵎⵉ ⵡⵉⴷⵏⵏⵉ ⵜⵜⵃⵓⵍⴼⵓⵏ ⴷ ⴰⴽⴽⴻⵏ ⵥⵥⴰⵢⴻⵏ ⵓⴳⴰⵔ ⴷⴻⴳ ⵓⵙⵏⴻⴼⵍⵉ.
ⴰⵎⴻⴷⵢⴰ ⵉ ⴷⵉⵜⴻⴷⴷⵓⵏ ⴰⴷ ⴷⵢⴻⵙⵙⴽⴻⵏ ⵢⵉⵡⴻⵏ ⵏ ⵍⵃⴰⵍ ⵏ ⵓⵙⴻⵇⴷⴻⵛ ⵓⵛⵔⵉⴽ ⵉⵣⴻⵎⵔⴻⵏ ⴰⴷ ⵢⴻⵙⴼⴰⵢⴷⵉ ⵙⴻⴳ ⵓⵙⴻⵇⴷⴻⵛ ⵏ ⵜⴻⵙⵏⵉⵍⴻⵙⵜ ⵏ ⵓⵙⵎⴻⵍ ⵏ ⵢⵉⵍⴻⴼ. Javascript ⵢⴻⵜⵜⵡⴰⵙⴻⵇⴷⴻⵛ ⵉ ⵍⵎⴻⵏⴷ ⵏ ⵓⵙⵏⴻⴼⵍⵉ ⴷⴰⴳⵉ ⵎⴰⵛⴰ ⴰⵢⴰ ⵎⴰⵣⴰⵍ ⵢⴻⵙⵙⴻⴼⴽ ⴰⴷ ⵢⴻⵜⵜⵡⴰⵅⴷⴻⵎ ⵙ ⵡⴰⵟⴰⵙ ⴷⴻⴳ ⵢⴰⵍ ⵜⵓⵜⵍⴰⵢⵜ ⵏⵏⵉⴹⴻⵏ ⵏ ⵓⵙⴻⵍⴽⴻⵎ ⵏ ⵜⴷⵉⵏⴰⵎⵉⵜ.
ⴰⵎⴻⴷⵢⴰ
ⵙⵙⴻⴹⵔⵓ ⵏ ⵓⴽⴰⵜⴰⵔ ⵏ ⵓⵊⴻⵔⵔⴻⴷ ⴰⵎⴻⵥⵢⴰⵏ ⵙ ⵓⴹⵔⵉⵙ HTTP ⴰⵖⴻⵍⵏⴰⵡ ⵏ Node
ⴰⵊⴻⵔⵔⴻⴷ ⵏ ⵜⴼⴻⵔⴽⵉⵜ ⴷ ⵓⵙⴷⵓⴽⴽⴻⵍ ⵢⴻⵣⵎⴻⵔ ⴰⴷ ⵢⴻⵖⵍⵉ ⴷⴷⴰⵡ ⵏ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵏ ⵓⵙⴻⵇⴷⴻⵛ ⵏ Monkey patching. ⵙ ⵓⵎⴰⵜⴰ ⵜⵜⴳⴻⵏⴷ ⵜⵉⵎⵙⴰⵍ ⵏ ⵓⵊⴻⵔⵔⴻⴷ ⵉ ⵢⴻⵜⵜⵡⴰⵙⵇⴻⴷⵛⴻⵏ ⴷⴻⴳ ⵓⴳⴰⵔ ⵏ ⵢⵉⵡⴻⵏ ⵏ ⵓⵙⴻⵇⴷⴻⵛ ⵉ ⵓⵊⴻⵔⵔⴻⴷ ⵏ ⵓⵙⵎⴻⵍ, ⵏⴻⵖ API ⴷ/ⵏⴻⵖ ⵜⵉⵖⴱⵓⵍⴰ ⵏ ⵜⴱⴰⴹⵏⵉⵜ ⵉ ⵓⵊⴻⵔⵔⴻⴷ ⵏ ⵜⴼⴻⵔⴽⵉⵜ. ⴷⴻⴳ ⵙⵉⵏⴰ ⵏ ⵢⵉⵙⴻⵏⵜⴰⵍ, ⵢⴻⵔⵏⴰ ⴰⴽⴽⴻⵏ ⴰⴷ ⵏⴻⵙⵙⵉⵡⴻⴹ ⵖⴻⵔ ⵢⵉⵙⵡⴰⵏ ⵏ ⵓⴽⴰⵢⴰⴷ ⴷⴻⴳ ⵓⵎⴽⴰⵏ ⴰⵎⴻⵣⵡⴰⵔⵓ ⴰⴷ ⵏⴻⴱⵖⵓ ⴰⴷ ⵉⵍⵉⵏ ⵢⵉⴽⴰⵢⴰⴷⴻⵏⵏⵏⴻⵖ ⴷ ⵉⵍⴻⵍⵍⵉⵢⴻⵏ ⵙⴻⴳ ⵢⵉⵖⴱⵓⵍⴰⴰ ⵉⴱⴻⵕⵕⴰⵏⵉⵢⴻⵏ. ⴰⴱⵔⵉⴷ ⴰⵔⴰ ⴷⵢⴰⵡⵉⵏ ⴰⵢⴰ ⴷ ⴰⵙⵜⴻⵄⴼⵓ. Mocking ⴷ ⴰⵙⴻⵎⵔⴻⵙ ⵏ ⵜⵉⴽⵍⵉ ⵏ ⵢⵉⵡⴻⵥⵍⴰ ⵉⴱⴻⵕⵕⴰⵏⵉⵢⴻⵏ ⴰⴽⴽⴻⵏ ⴰⴷ ⵢⴻⵣⵎⴻⵔ ⵓⵊⴻⵔⵔⴻⴷ ⴰⴷ ⴷⵢⴻⵙⴱⴻⴷⴷ ⵍⵇⴰⵏⵓⵏ ⵏ ⵜⵉⴷⴻⵜ ⵏ ⵓⴹⵔⵉⵙ. Monkey patching ⵢⴻⵣⵎⴻⵔ ⴰⴷ ⵢⵉⵍⵉ ⴷ ⵜⵜⴰⵡⵉⵍ ⴷⴰⴳⵉ ⵉⵎⵉ ⵢⴻⵣⵎⴻⵔ ⴰⴷ ⵉⴱⴻⴷⴷⴻⵍ ⵜⵉⴳⵏⴰⵜⵉⵏ ⵏ ⵢⵉⵡⴻⵥⵍⴰ ⵉⴱⴻⵕⵕⴰⵏⵉⵢⴻⵏ ⵙ ⵓⴱⴻⴷⴷⴻⵍⵏⵙⴻⵏⵜ ⵙ ⵜⵉⴳⵏⴰⵜⵉⵏ ⵏ ⵓⵎⴹⵉⵇ ⵉ ⵓⵎⵉ ⵏⴻⵙⵙⴰⵡⴰⵍ “ⵙⵜⵓⴱ”. ⵜⵉⴳⵏⴰⵜⵉⵏⴰ ⵜⵜⴰⵡⵉⵏⵜⴷ ⴰⴳⵎⵓⴹ ⵢⴻⵜⵜⵡⴰⵕⴵⴰⵏ ⴷⴻⴳ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵏ ⵓⵊⴻⵔⵔⴻⴷ ⴰⴽⴽⴻⵏ ⴰⴷ ⵏⴻⵣⵎⴻⵔ ⴰⴷ ⵏⴻⵅⴹⵓ ⵉ ⵓⵙⴱⴰⴷⵓ ⵏ ⵢⵉⵙⵓⵜⵔⴻⵏ ⵉ ⵢⵉⵡⴻⵥⵍⴰ ⵏ ⵓⴼⴰⵔⴻⵙ ⵖⴻⴼ ⵍⵊⴰⵍ ⴽⴰⵏ ⵏ ⵢⵉⴽⴰⵢⴰⴷⴻⵏ.
ⴰⵎⴻⴷⵢⴰ ⵉ ⴷⵉⵜⴻⴷⴷⵓⵏ ⴷ ⴰⵙⴻⴹⵔⵓ ⴰⴼⵔⴰⵔⴰⵢ ⵏ ⵓⵙⵏⴻⴼⵍⵉ ⵏ Monkey ⴷⴻⴳ ⵓⴹⵔⵉⵙ http ⴰⵏⴰⵚⵍⵉ ⵏ NodeJs. Module http ⴷ ⴰⴼⴻⵔⴷⵉⵙ ⵉ ⴷⵢⴻⵙⴱⴻⴷⴷⴻⵏ ⵜⵉⴳⵏⴰⵜⵉⵏ ⵏ ⵓⴽⴰⵔⴰⵎ http ⵉ NodeJs. ⵢⴻⵜⵜⵡⴰⵙⴻⵇⴷⴰⵛ ⵙ ⵓⵎⴰⵜⴰ ⵉ ⵓⵙⵏⵓⵍⴼⵓ ⵏ ⵢⵉⵇⴻⴷⴷⴰⵛⴻⵏ http ⵏ barebone ⴷ ⵓⵎⴻⵙⵍⴰⵢ ⴰⴽⴽⴻⴷ ⵢⵉⵡⴻⵥⵍⴰ ⵉⴱⴻⵕⵕⴰⵏⵉⵢⴻⵏ ⵙ ⵓⵙⴻⵇⴷⴻⵛ ⵏ ⵓⴽⴰⵔⴰⵎ http.
ⴷⴻⴳ ⵓⵎⴻⴷⵢⴰ ⵏ ⴷⴷⴰⵡ ⵏⴻⵙⵄⴰ ⵜⴰⵍⵓⴼⵜ ⵏ ⵓⵊⴻⵔⵔⴻⴷ ⴰⴼⵔⴰⵔⴰⵢ ⴰⵏⴷⴰ ⴰⵔⴰ ⵏⴻⵙⵙⴰⵡⴻⵍ ⵉ ⵢⵉⵡⴻⵏ ⵏ ⵓⵙⴻⵇⴷⴻⵛ ⵏ ⴱⴻⵔⵔⴰ ⴰⴽⴽⴻⵏ ⴰⴷ ⴷⵢⴰⵡⵉ ⴰⴹⵔⵉⵙ ⵏ ⵓⵙⴻⵔ ⵉⴷⵙ. ⴷⴻⴳ ⵓⵎⴽⴰⵏ ⵏ ⵓⵙⵉⵡⴻⵍ ⵉ ⵓⵙⴻⵇⴷⴻⵛ ⵏ ⵜⵉⴷⴻⵜ ⵏⴻⵜⵜⵇⴰⴷⴰⵔ ⵜⴰⵔⵔⴰⵢⵜ http ⴳⴻⵜ ⴰⴽⴽⴻⵏ ⴰⴷ ⴷⵜⴻⵔⵔ ⴽⴰⵏ ⴰⴳⵎⵓⴹ ⵢⴻⵜⵜⵡⴰⵕⴵⴰⵏ ⵢⴻⵍⵍⴰⵏ ⴷ ⴰⴹⵔⵉⵙ ⵏ ⵉⴷⵙ ⵏ ⵓⵙⴻⵇⴷⴰⵛ ⵏ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵏ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ. ⴰⵢⴰ ⵢⴻⵣⵎⴻⵔ ⵓⵔ ⵢⴻⵜⵜⴱⴰⵏ ⴰⵔⴰ ⴷ ⴰⵢⴻⵏ ⵢⴻⵙⵄⴰⵏ ⴰⵣⴰⵍ ⴰⵎⴻⵇⵇⵔⴰⵏ ⵉⵎⵉ ⵏⴻⵜⵜⴰⴼⴷ ⴽⴰⵏ ⵉⵙⴻⴼⴽⴰ ⵎⴰⵛⴰ ⵎⴰ ⵏⴻⵙⵙⴻⴹⵔⴰⴷ ⵜⴰⵍⵓⴼⵜ ⵏⵏⵉⴹⴻⵏ ⵏ ⵓⵊⴻⵔⵔⴻⴷ ⵉⴷⴻⴳ ⴰⵔⴰ ⵏⴱⴻⴷⴷⴻⵍ ⵉⵙⴻⴼⴽⴰ ⵏ ⴽⵔⴰ ⵏ ⵚⵚⴻⵏⴼ, ⵏⴻⵣⵎⴻⵔ ⴰⴷ ⵏⴱⴻⴷⴷⴻⵍ ⵉⵙⴻⴼⴽⴰ ⵙ ⵜⴽⴻⵔⴽⴰⵙ ⵖⴻⴼ ⵓⴼⴰⵔⴻⵙ ⵎⵉ ⴰⵔⴰ ⵏⴻⵅⴷⴻⵎ ⵉⴽⴰⵢⴰⴷⴻⵏ.
ⴰⴽⴽⴰ ⵏⴻⵣⵎⴻⵔ ⴰⴷ ⵏⴻⵙⵙⴻⴹⵔⵓ ⵜⵉⵖⴱⵓⵍⴰⵏⵏⴻⵖ, ⵢⴻⵔⵏⴰ ⴰⴷ ⵏⴰⵔⵓ ⵉⴽⴰⵢⴰⴷⴻⵏ ⵉ ⵢⴰⵍ ⵜⵉⵖⴱⵓⵍⴰ ⴷⴻⴳ ⵡⴰⴽⵓⴷ ⴰⵢⴷⴻⴳ ⴰⵔⴰ ⵏⴻⴹⵎⴻⵏ ⵜⴰⵖⴻⵍⵍⵉⵙⵜ ⵏ ⵢⵉⵡⴻⵥⵍⴰⵏⵏⴻⵖ ⵏ ⵓⴼⴰⵔⴻⵙ.
// import the http module
let http = require("http");
// patch the get method of the http module
http.get = async function(url) {
return {
data: ["1234", "1235", "1236", "1236"]
};
}
// example test suite, call new patched get method for testing
test('get array of user ids from users api', async () => {
const res = await http.get("https://users.api.com/ids");
const userIds = res.data;
expect(userIds).toBeDefined();
expect(userIds.length).toBe(4);
expect(userIds[0]).toBe("1234");
});
ⴰⴽⴰⵔⴰⵎ ⵏ ⵜⴼⴻⵍⵡⵉⵜ ⵙⵔⵉⴷ, ⵏⴻⵙⵙⴻⴽⵛⴻⵎⴷ ⴰⴹⵔⵉⵙ http, ⵏⴻⵙⵙⴻⵎⵔⴰⵙ ⵜⴰⵔⵔⴰⵢⵜ http.ⴳⴻⵜ ⵙ ⵜⴰⵔⵔⴰⵢⵜ ⵜⴰⵎⴰⵢⵏⵓⵜ ⵉ ⴷⵢⴻⵜⵜⴰⵡⵉⵏ ⴽⴰⵏ ⴰⴹⵔⵉⵙ ⵏ ⵉⴷⵙ. ⵜⵓⵔⴰ ⴰⴷ ⵏⴻⵙⵙⴰⵡⴻⵍ ⵉ ⵜⴰⵔⵔⴰⵢⵜ ⵜⴰⵎⴰⵢⵏⵓⵜ ⵏ ⵜⵎⴻⵥⴷⵉⵜ ⴷⴰⵅⴻⵍ ⵏ ⵜⵖⴰⵡⵙⴰ ⵏ ⵜⴻⵙⵍⴻⴹⵜ ⵢⴻⵔⵏⴰ ⴰⴷ ⴷⵏⴰⴼ ⴰⴳⵎⵓⴹ ⴰⵎⴰⵢⵏⵓⵜ ⵢⴻⵜⵜⵡⴰⵕⴵⴰⵏ.
~/SphericalTartWorker$ npm test
> nodejs@1.0.0 test
> jest
PASS ./index.test.js
✓ get array of user ids from users api (25 ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 0.977 s, estimated 2 s
Ran all test suites.
ⵜⵉⵖⴱⵓⵍⴰ ⴷ ⵡⵓⴳⵓⵔⴻⵏ ⵉⵛⵓⴷⴷⴻⵏ
ⵓⵔ ⵢⴻⵙⵙⴻⴼⴽ ⴰⵔⴰ ⴰⴷ ⵏⴻⵙⵙⴻⵀⵎⴻⴷ ⵎⴰ ⵢⴻⵍⵍⴰ ⴰⵄⴻⵇⵍⵉ ⵏ ⵢⵉⵍⴻⴼ ⵢⴻⵙⵄⴰ ⵍⵅⵉⵔⵏⵏⴻⵙ ⴻⴷ ⵜⵖⴰⵡⵙⵉⵡⵉⵏⵏⵏⴻⵙ. ⴷⴻⴳ ⵓⵙⵡⵉⵔ ⵏ ⵢⵉⵎⵓⴹⴰⵏ ⴷⴻⴳ ⵓⵏⴰⴳⵔⴰⵡ ⵏ ⵢⵉⵎⵓⴹⴰⵏ ⵏ ⵜⵎⴻⵥⴷⵉⵢⵉⵏ, ⴰⵙⴻⵏⵇⴻⵙ ⵏ ⵢⵉⵎⵓⴹⴰⵏ ⴰⵎⴰⴹⵍⴰⵏ ⴰⵎ http ⵢⴻⵜⵜⵡⴰⵃⵙⴻⴱ ⴷ ⵜⴰⵎⵀⴻⵍⵜ ⵙ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵏ ⵜⵍⴻⵎⵎⴰⵙⵜ, ⴰⵢⴰ ⵉⵎⵉ http ⵢⴻⵜⵜⵡⴰⵙⵇⴻⴷⵛⴻⴹ ⵙⴻⴳ ⵢⴰⵍ ⵜⴰⵏⵇⵉⴹⵜ ⴷⴰⵅⴻⵍ ⵏ ⵜⵎⴻⵥⴷⵉⵢⵉⵏ ⵏ ⵜⵎⴻⵥⴷⵉⵢⵉⵏ ⵢⴻⵔⵏⴰ ⵢⴰⵍ ⵜⴰⵖⴰⵡⵙⴰ ⵏⵏⵉⴹⴻⵏ ⵜⴻⵣⵎⴻⵔ ⴰⴷ ⵜⴻⵙⵄⵓ ⴰⵄⴻⵇⵇⴰ ⴼⴻⵍⵍⴰⵙ. ⵜⵉⵖⴱⵓⵍⴰⴰ ⵜⵜⵕⴰⵊⵓⵏⵜ ⴰⴷ ⵉⵅⴻⴷⴷⴻⵎ ⵓⵎⵓⴹⵉⵏ http ⴷⴻⴳ ⵜⵉⴽⵍⵉⵉⵏⴻⵙ ⵏ ⵣⵉⴽ, ⵙ ⵓⴱⴻⴷⴷⴻⵍ ⵏ ⵢⵉⵡⴻⵜ ⵙⴻⴳ ⵜⵜⴰⵡⵉⵍⴰⵜ ⵏ http ⵏⴻⵜⵜⵇⴻⵔⵔⵉⴱ ⵙ ⵜⵖⴰⵡⵍⴰ ⴰⴽⴽ ⵜⵉⵖⴱⵓⵍⴰ ⵏⵏⵉⴹⴻⵏ ⵏ http ⴷⴰⵅⴻⵍ ⵏ ⵜⵎⴻⵥⴷⵉⵜ ⵏ ⵜⵎⴻⵥⴷⵉⵜ.
ⵉⵎⵉ ⵏⴻⵅⴷⴻⵎ ⴷⴰⵅⴻⵍ ⵏ ⵜⵓⵜⵍⴰⵢⵜ ⵢⴻⵜⵜⵡⴰⵔⵓⵏ ⵙ ⵜⴷⵉⵏⴰⵎⵉⵜ, ⵜⵉⵖⴰⵡⵙⵉⵡⵉⵏ ⵣⴻⵎⵔⴻⵏⵜ ⵓⵔ ⵜⵜⴼⴰⵇⴻⵏⵜ ⴰⵔⴰ ⴷⴻⴳ ⵍⴰⵡⴰⵏ ⵢⴻⵔⵏⴰ ⴰⴷ ⵜⵜⵉⴷⵙⴱⴻⴷⴷⴻⵏⵜ ⵙ ⵜⵉⴽⵍⵉ ⵓⵔ ⵏⴻⵜⵜⵡⴰⵄⵇⴰⵍ ⴰⵔⴰ ⵉ ⵢⴻⵜⵜⴰⴵⴵⴰⵏ ⴰⵙⴻⵏⵇⴻⴷ ⴷ ⴰⵅⴻⴷⴷⵉⵎ ⵉⵅⵓⵚⵚⴻⵏ ⴰⵟⴰⵙ. ⴷⴻⴳ ⵜⴻⴳⵏⵉⵡⵉⵏ ⵏⵏⵉⴹⴻⵏ ⵏ ⵓⵙⴻⵇⴷⴻⵛ, ⵣⴻⵎⵔⴻⵏ ⴰⴷ ⵉⵍⵉⵏ ⵙⵉⵏ ⵏ ⵢⵉⴼⴻⵔⴷⵉⵙⴻⵏ ⵢⴻⵎⴳⴰⵔⴰⴷⴻⵏ ⵏ ⵢⵉⵡⴻⵏ ⵏ ⵓⴼⴻⵔⴷⵉⵙ ⴷⴻⴳ ⵢⵉⵡⴻⵏ ⵏ ⵓⵙⵡⵉⵔ, ⴷⴻⴳ ⵜⴻⴳⵏⵉⵜⴰ ⵓⵔ ⵏⴻⵣⵎⵉⵔ ⴰⵔⴰ ⴰⴷ ⴷⵏⵉⵏⵉ ⵙ ⵜⵉⴷⴻⵜ ⴰⵏⵡⴰ ⴰⴼⴻⵔⴷⵉⵙ ⴰⵔⴰ ⵢⴻⵟⵟⴼⴻⵏ ⴰⵎⴽⴰⵏ ⴰⵎⴻⵣⵡⴰⵔⵓ ⵖⴻⴼ ⵡⴰⵢⴻⴹ ⴰⵔⴰ ⴷⵢⴻⵙⵙⵉⵡⴹⴻⵏ ⵙ ⵢⵉⵡⴻⵏ ⵏ ⵓⴹⵔⵉⵙ ⵓⵔ ⵏⴻⵜⵜⵡⴰⵃⵙⴰⴱ ⴰⵔⴰ ⵓⴳⴰⵔ.
ⵢⴻⵙⵙⴻⴼⴽ ⴷⴰⵖⴻⵏ ⴰⴷ ⴷⵏⴻⵙⵎⴻⴽⵜⵉ ⴱⴻⵍⵍⵉ ⴰⵙⴻⵏⵇⴻⴷ ⵏ ⵢⵉⵍⴻⴼ ⵢⴻⵣⵎⴻⵔ ⴰⴷ ⵢⴻⵙⵄⵓ ⴽⵔⴰ ⵏ ⵜⵎⵓⵖⵍⵉⵡⵉⵏ ⴷⴻⴳ ⵜⵉⴽⵍⵉ ⴳⴰⵔ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵍⴽⴻⵎ ⵢⴻⵎⴳⴰⵔⴰⴷⴻⵏ. ⴽⵓⵍⵍⴻⵛ ⵢⴻⵜⵜⴽⴻⵎⵎⵉⵍ ⴷⴻⴳ ⵓⵙⵏⵓⵍⴼⵓ ⵏ ⵜⵓⵜⵍⴰⵢⵜ ⴷ ⵢⵉⴼⴻⵔⴷⵉⵙⴻⵏ ⵏ ⵓⵙⵏⴻⴼⵍⵉ. ⴰⵎⴻⴷⵢⴰ, ⴷⴻⴳ python, ⵎⴰⵞⵞⵉ ⴰⴽⴽ ⵜⵉⵎⵙⵉⵔⵉⵏ ⵢⴻⵙⵇⴻⴷⵛⴻⵏ ⵜⴰⵔⵔⴰⵢⵜ ⵏ ⵜⵎⴻⵥⴷⵉⵜ ⴰⴷ ⵜⴻⵏⵜⵢⴻⴹⵔⵓ ⵜⵎⴻⵥⴷⵉⵜ. ⵎⴰ ⵢⴻⵍⵍⴰ ⵢⵉⵡⴻⵏ ⵏ ⵓⵎⴹⴰⵏ ⵢⴻⵙⵙⴰⵡⴻⵍ ⵙ ⵜⵖⴰⵡⵍⴰ ⵉ ⵜⴰⵔⵔⴰⵢⵜ ⵢⴻⵜⵜⵡⴰⵙⴼⴻⴹⴻⵏ ⵉⵀⵉ ⴰⴷ ⴷⵢⴰⵡⵉ ⵜⴰⵍⵖⴰ ⵜⴰⵎⴰⵢⵏⵓⵜ ⵢⴻⵜⵜⵡⴰⵙⵏⴻⵔⵏⴰⵏ, ⵙ ⵓⵎⴹⵉⵇⵉⵙ, ⵜⵉⵎⵙⵉⵔⵉⵏ ⵏⵏⵉⴹⴻⵏ ⵉ ⵉⵣⴻⵎⵔⴻⵏ ⴰⴷ ⵙⵄⵓⵏⵜ ⴽⴰⵏ ⵜⵉⴼⵢⴰⵔ ⵉ ⴷⵢⴻⵙⵎⴻⴽⵜⴰⵢⴻⵏ ⵙ ⵜⴰⵔⵔⴰⵢⵜ ⵢⴻⵜⵜⵡⴰⵙⴼⴻⴹⴻⵏ ⵢⴻⵔⵏⴰ ⵓⵔ ⵙⵙⴰⵡⵍⴻⵏⵜ ⴰⵔⴰ ⵙ ⵜⵖⴰⵡⵍⴰ ⴰⴷ ⴷⵜⴰⴼ ⵜⴰⵍⵖⴰ ⵜⴰⵥⵓⵔⴰⵏⵜ, ⴰⵢⴰ ⴷ ⵙⴻⴱⴱⴰ ⵏ ⵡⴰⵎⴻⴽ python . ⴱⵉⵏⴷⵉⵏⴳ ⴷⴻⴳ ⵜⵖⵓⵔⵉⵡⵉⵏ ⵉⵅⴻⴷⴷⴻⵎ.
ⵜⴰⴳⴳⴰⵔⴰ
ⴷⴻⴳ ⵓⵎⴰⴳⵔⴰⴷⴰ ⵏⴻⵙⵇⴻⵔⴷⴻⵛ ⵉⵎⴳⴻⵔⵔⴰⴷⴻⵏ ⵏ ⵓⵙⵡⵉⵔ ⵏ ⵜⵍⴻⵎⵎⴰⵙⵜ ⴳⴰⵔ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵍⴽⴻⵎ ⵙⵜⴰⵜⵉⴽ ⴷ ⵜⴷⵉⵏⴰⵎⵉⵜ, ⵏⵡⴰⵍⴰ ⴰⵎⴻⴽ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏ ⵓⵙⴻⵍⴽⴻⵎ ⵜⴰⴷⵉⵏⴰⵎⵉⵜ ⵣⴻⵎⵔⴻⵏⵜ ⴰⴷ ⵙⴼⴰⵢⴷⵉⵏⵜ ⵙⴻⴳ ⵢⵉⵎⵓⴽⴰⵏ ⴷ ⵜⵎⵓⵖⵍⵉⵡⵉⵏ ⵜⵉⵎⴰⵢⵏⵓⵜⵉⵏ ⵉ ⴷⵢⴻⵙⴼⴰⵢⴷⵉⵏ ⵙⴻⴳ ⵜⵎⴻⵥⵥⵓⵖⵜ ⵏ ⵜⵎⴻⵥⵥⵓⵖⵜ ⵉ ⴷⵜⵜⴰⴽⴻⵏⵜ ⵜⵓⵜⵍⴰⵢⵉⵏⴰ. ⴰⵎⴻⴷⵢⴰ ⵉ ⴷⵏⴻⵙⵙⴽⴻⵏ ⵢⴻⵇⵇⴻⵏ ⵖⴻⵔ Monkey patching, ⴷ ⵜⴰⴽⵜⵉ ⵢⴻⵜⵜⵡⴰⵙⵇⴻⴷⵛⴻⵏ ⵉ ⵓⵙⵏⴻⵔⵏⵉ ⵏ ⵜⵉⴽⵍⵉ ⵏ ⵓⴹⵔⵉⵙ ⵡⴰⵔ ⵎⴰ ⵜⴱⴻⴷⴷⴻⵍⵉⵜⵜ ⵙⴻⴳ ⵓⵖⴱⴰⵍⵓ. ⵏⴻⵥⵔⴰ ⵢⵉⵡⴻⵜ ⵏ ⵍⵉⵃⴰⵍⴰ ⴰⵏⴷⴰ ⴰⵙⴻⵇⴷⴻⵛ ⵏ ⵜⴻⵙⵏⴰⵜⵡⵉⵍⵜⴰ ⴰⴷ ⵢⵉⵍⵉ ⴷ ⵍⴼⴰⵢⴷⴰ ⵖⴻⵔ ⵢⵉⴷⵉⵙ ⵏ ⵡⵓⴳⵓⵔⴻⵏⵏⵏⴻⵙ ⴰⵢ ⵉⵣⴻⵎⵔⴻⵏ ⴰⴷ ⴷⵉⵍⵉⵏ. ⴰⵙⵏⴻⵔⵏⵉ ⵏ ⵜⴻⵙⵏⴰⵜⵡⵉⵍⵜ (logiciel) ⴷ ⴰⵢⴻⵏ ⴰⴽⴽ ⴰⵢ ⴷⵢⴻⵜⵜⴰⵡⵉⵏ ⵙ ⵜⵎⵓⵖⵍⵉⵡⵉⵏ (tradeoffs), ⵢⴻⵔⵏⴰ ⴰⵙⴻⵇⴷⴻⵛ ⵏ ⵜⵉⴼⵔⴰⵜ ⵢⴻⵍⵀⴰⵏ ⵉ ⵡⵓⴳⵓⵔⴰ ⵢⴻⵃⵡⴰⵊ ⵜⵉⴽⵜⵉⵡⵉⵏ ⵙ ⵜⵖⴰⵡⵍⴰ ⵙⴻⴳ ⵡⵉⵏ ⴰⵢ ⴷⵢⴻⵙⵏⵓⵍⴼⴰⵏ ⴷ ⵓⵙⵙⴻⴼⵀⴻⵎ ⵢⴻⵍⵀⴰⵏ ⵏ ⵢⵉⵎⴻⵏⵣⴰⵢⴻⵏ ⴻⴷ ⵜⵖⴰⵡⵙⵉⵡⵉⵏ ⵜⵉⴳⴻⵊⴷⴰⵏⵉⵏ ⵏ ⵜⵎⴻⵚⴽⵉⵡⵜ.