π§βπ»Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° C++ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ SaaS
SaaS β ΠΎΠ±ΡΠ°Ρ ΠΏΠΎΠΈΡΠΊΠΎΠ²Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π² Π―Π½Π΄Π΅ΠΊΡΠ΅. ΠΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΡΠΎΠΈΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ β Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΠ²Π΅ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠ΅ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ. ΠΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π½Π° ΡΡΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ R&D.
ΠΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π²Π°Ρ ΠΆΠ΄ΡΡ:
β’ Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΠ±ΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΡΡΡΠΎΠΈΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΉΠΊΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΈ ΠΈΡ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ.
β’ Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π½Π° ΡΠ°ΠΌΠΎΠΌ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈ ΡΠ»ΡΡΡΠ°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ΄Π΅ΠΊΠΈ ΡΠΆΠ°ΡΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΊΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π²ΡΠΆΠΈΠΌΠ°ΡΡ ΠΈΠ· ΠΆΠ΅Π»Π΅Π·Π° ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ.
β’ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠΊΠ° Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ kNN, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΌΠ°ΡΡΡΠ°Π±Π°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
β’ ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ R&D ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
ΠΡ ΠΆΠ΄ΡΠΌ, ΡΡΠΎ Π²Ρ: β’ Π£Π²Π΅ΡΠ΅Π½Π½ΠΎ Π²Π»Π°Π΄Π΅Π΅ΡΠ΅ C++ ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Π½Π° Π½ΡΠΌ ΠΏΠΈΡΠ°ΡΡ β’ Π₯ΠΎΡΠΎΡΠΎ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ β’ Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ β’ Π£ΠΌΠ΅Π΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ Π½Π°Π΄ΡΠΆΠ½ΡΠΉ ΠΈ Π±ΡΡΡΡΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄
ΠΡΠ΄Π΅Ρ ΠΏΠ»ΡΡΠΎΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ: β’ ΠΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΎΡΡΡΠΌΠΈ Lucene, Elasticsearch, Qdrant, ClickHouse β’ ΠΠ½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΏΡΠΈΠ±Π»ΠΈΠΆΡΠ½Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ°Π½ΠΆΠΈΡΠΎΠ²Π°Π½ΠΈΡ β’ ΠΠ½Π°ΠΊΠΎΠΌΡ Ρ SIMD ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ΄Π΅ΠΊΠΈ ΡΠΆΠ°ΡΠΈΡ β’ ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (CPU-bound ΠΈ I/O-bound) β’ Π Π°Π±ΠΎΡΠ°Π»ΠΈ Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ (Kafka, Flink) ΠΈΠ»ΠΈ MapReduce
ΠΠ°ΡΠΈ Π±ΠΎΠ½ΡΡΡ: Π―Π½Π΄Π΅ΠΊΡ β ΡΡΠΎ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ. Π’ΡΡ Π΅ΡΡΡ ΠΈ ΡΠΏΠΎΡΡΠΈΠ²Π½ΡΠ΅ ΠΊΠ»ΡΠ±Ρ, ΠΈ ΠΊΠ½ΠΈΠΆΠ½ΡΠΉ ΠΊΠ»ΡΠ±, ΠΈ ΠΊΠΈΠ±Π΅ΡΡΠΏΠΎΡΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ. ΠΡΠΎ Π½Π΅ Π²ΡΠ΅ Π±ΠΎΠ½ΡΡΡ β ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡ.
π© ΠΡΠΊΠ»ΠΈΠΊΠ°ΠΉΡΠ΅ΡΡ Π½Π° Π²Π°ΠΊΠ°Π½ΡΠΈΡ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅