ΠΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° Π±Π΅Π·ΠΏΠ»Π°ΡΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΎΡΠΈΠ°Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ - Mastodon 3.5, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ°ΠΌΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ. ΠΠΊΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π²ΡΠ·Π΅Π», ΡΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π° ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π° ΡΡΠ»ΡΠ³Π°, ΠΊΡΠΌ ΠΊΠΎΡΡΠΎ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅. Mastodon ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ ΠΊΡΠΌ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ ActivityPub Π·Π° ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½Π° ΡΡΡΡΠΊΡΡΡΠ° ΠΎΡ Π²ΡΡΠ·ΠΊΠΈ.
ΠΠΎΠ΄ΡΡ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΡΡΡΠ²ΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Ruby Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Ruby on Rails, Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° JavaScript Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ React.js ΠΈ Redux. ΠΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· AGPLv3. ΠΠΌΠ° ΠΈ ΡΡΠ°ΡΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΈ ΡΡΠ°ΡΡΡΠΈ. Π‘ΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° PostgreSQL ΠΈ Redis. ΠΡΠΈΠ³ΡΡΠ΅Π½ Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ API Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΠ±Π°Π²ΠΊΠΈ ΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΈΠΌΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π·Π° Android, iOS ΠΈ Windows, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ Π±ΠΎΡΠΎΠ²Π΅).
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π²Π΅ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°Ρ ΠΈ ΠΎΡΡΠ°Π²Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π² ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅. ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Ρ Π΄ΡΡΠ³ΠΈ, ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΠΈΠ·Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ°Ρ Π΄Π° ΠΎΡΠΌΠ΅Π½ΡΡ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡΡΠ°, ΠΊΠΎΡΡΠΎ ΡΠ° ΡΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈ. ΠΠΎΠ½Π°ΡΡΠΎΡΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π² ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π°, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΠ°ΡΡΡΠ΅Π½ Π±ΡΠΎΠΉ ΡΡΡΠ²ΡΡΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΊΡΠΌ Π²Π΅ΡΡΠΈΡ 3.5.
- Π Π΅Π΄ΡΡ Π½Π° ΠΏΡΠΈΠΊΠ°ΡΠ΅Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π΅Π΄Π½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠ΅ Π½Π΅ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΡΠ΅Π΄Π°, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΡΠ΅Π³Π»ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΡΡΡΠ°Π½ΠΈΡΠ° ΡΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΈΡ ΠΎΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, Π°ΠΊΡΡΠ°Π»Π½ΠΈ Ρ
Π°ΡΡΠ°Π³ΠΎΠ²Π΅, ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°Π½ΠΈ Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½ΡΠΈ ΠΈ Π½ΠΎΠ²ΠΈΠ½Π°ΡΡΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½ΠΈΡ. ΠΠΎΠ»Π΅ΠΊΡΠΈΠΈΡΠ΅ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ°Ρ, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π΅Π·ΠΈΠΊΡΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. ΠΡΠΈΡΠΊΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈ, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΡΠΏΠΈΡΡΡΠΈΡΠ΅ Ρ Π²ΡΠ΅ ΠΏΠΎ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Ρ ΡΡΡΠ½ΠΎ ΠΌΠΎΠ΄Π΅ΡΠΈΡΠ°Π½Π΅, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ ΡΡΠ΅Π΄ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈΡΠ΅.
- ΠΠ° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎΠ΅ΡΠ°ΠΏΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π·Π° Π½Π°ΡΡΡΠ΅Π½ΠΈΡ Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΆΠ°Π»Π±ΠΈ. ΠΡΠΈΡΠΊΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΎΡΠ°, ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠ°ΡΠ·Π° Π½Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, Π²Π΅ΡΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ° ΠΏΡΠΈΠ΄ΡΡΠΆΠ΅Π½ΠΈ ΠΎΡ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠΈΠ΅ Π΄ΠΎ Π½Π°ΡΡΡΠΈΡΠ΅Π»Ρ ΠΏΠΎ ΠΈΠΌΠ΅ΠΉΠ», Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΡΠΏΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ΅ΡΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ΅Π· Π»ΠΈΡΠ½Π° ΠΊΠΎΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΈΡ Ρ ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΎΡΠ°.
- ΠΠΌΠ° Π½ΠΎΠ²Π° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ° Ρ ΠΎΠ±ΡΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π·Π° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΡΠΊΡΠ΄Π΅ ΠΈΠ΄Π²Π°Ρ Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊΠ²ΠΈ Π΅Π·ΠΈΡΠΈ Π³ΠΎΠ²ΠΎΡΡΡ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ ΠΎΡ ΡΡΡ ΠΎΡΡΠ°Π²Π°Ρ Π½Π° ΡΡΡΠ²ΡΡΠ°. Π‘ΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° ΠΎΠΏΠ»Π°ΠΊΠ²Π°Π½ΠΈΡ Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°, Π·Π° Π΄Π° ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΠΌΠ°ΡΠΎΠ²ΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΆΠ΅Π»Π°Π½Π° ΠΏΠΎΡΠ° ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° Π±ΠΎΡΠΎΠ²Π΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru