Бұл сондай-ақ тегін бағдарламалық жасақтама мен қымбат емес құрамдастарды пайдалана отырып, шағын команданың жалпы ұлттық ауқымда қол жинаудың күрделі жүйесін қалай жасағаны туралы әңгіме. Жобада күрделі техникалық шешімдер жоқ, бірақ АТ дамытудың әдеттегі тәжірибесі негізінде болжауға болмайтын көптеген маңызды мәліметтер бар.

Ыңғайлы болу үшін материал төрт постқа бөлінген, оларды дәйекті түрде оқыған дұрыс.

Бұл техникалық материал, бірақ мұнда талқыланатын мәселелердің көпшілігі қазіргі саяси контекст туралы аз ғана білімсіз түсініксіз, сондықтан ол қажетінше қамтылған. Егер сіз қандай да бір себептермен «Навальный» деген сөзден (ол бірнеше рет пайда болады) немесе демократиялық институттар туралы сөзден қорқып жатсаңыз, бұл мәтінді оқымаңыз. Түсініктемелерде саяси мәселелер талқыланбайды.

Науқан мақсаты

Алексей Навальныйдың президенттікке кандидат ретінде тіркелуі.

Ақпараттық технологиялар бөліміне жүктелген міндеттер

(хронологиялық ретпен):

Біздің кандидатты ұсынуға қол қоюға дайын әрбір адамды алдын ала тіркеу;
- бүкіл Ресей бойынша штаб-пәтер желісінің жұмысын қамтамасыз ету;
- 315 мың идеалды қол жинау жүйесін құру.

Тарихи және саяси контекст

Егер сізде парламенттік партия болмаса, сайлауға қатысу үшін қол жинау керек. Бұл «келісілмеген» кандидаттардың сайлауға қатысуын болдырмау үшін қолданылатын қорғау процедурасы.

Тіркеуден бас тартудың шексіз мүмкіндіктері жинау ережелері деңгейінде белгіленеді:

  • Қол жинау уақыты қатаң шектелген;
  • Заңға сәйкес, некеге тұру үшін қажетті қол санының аз пайызы бөлінеді, жақсы маржамен қол қою мүмкін емес;
  • Біздің тарапымыздан қолдарды тексеру мүмкін емес, өйткені сайлаушылардың деректері тек мемлекеттік органдар қол жеткізе алатын FMS деректер базасына сәйкес келуі керек;
  • Орталық сайлау комиссиясында тексеру кезінде графолог кез келген қол қоюдан бас тарта алады және қате кеткен жағдайда заңды жауапкершілікке тартылмайды;
  • Тексеру схемасының өзі жалған позитивтердің айтарлықтай пайызы болады деп болжайды (сайлау кедергісі ретінде Байес теоремасының парадоксы).

Біз бұған дейін Новосібірде Заң шығару жиналысына сайлауға қатысу үшін қол жинау кезінде кездестік.

Новосибирскіде қолдарды жинау үшін біз «далада» және текшелерде қол жинауға бағытталған, жинаушылардың маршруттарын басқаратын, барлық қол қою парақтарын есепке алған және нәтижелер бойынша қолдарды ретке келтіруге мүмкіндік беретін Reaper жүйесін құрдық. әртүрлі тексерулерден тұрады.

Новосібірдегі жинаушылар 16 мыңнан астам қол жинады, олардың ішінен біз ең жақсысын таңдап, 11722 қолды тапсырдық.Қатаң іріктеуге қарамастан, сайлау комиссиясының жұмыс тобы көптеген «жарамсыз қолдарды» анықтады, ал сайлау комиссиясы кандидаттарды тіркеуден бас тартты. Қолтаңбалар жарамсыз деп танылатын абсурдтық себептер туралы толығырақ оқыңыз.

Жаңа жүйе қол жинау және оларды кейіннен сайлау комиссиясында қорғау бойынша жинақталған тәжірибені ескере отырып салынды.

Жаңа қолтаңбалар жинағының ерекшеліктері

Президенттікке кандидатты ұсыну үшін қол жинау үшін одан да қатаң шарттар белгіленді:

315 мыңнан артық қол қою қажет емес;
- кемінде 300 мың қол жарамды деп танылуы тиіс;
- Бір облыстан 7500-ден артық қол есептелмейді;
- Қысқа жинау кезеңі (27 желтоқсаннан 31 қаңтарға дейін) көптеген адамдар демалысқа шығатын ұзақ жаңа жылдық мерекелерге сәйкес келеді.

Бұрынғы тәжірибе мен жаңа талаптарды ескере отырып, біз келесі негізгі принциптерді қабылдадық.

Бүкілресейлік штаб-пәтер желісі

Аймақтық квотаға байланысты, айталық, ірі он қалада жұмыс істеу мүмкін болмады. Кем дегенде 40 қала қамтылса, 315 мың қол жинауға болар еді. Халқы аз аймақтарда қол жинау қиынырақ, сондықтан іс жүзінде табысты жинау үшін еліміздің көптеген аймақтарында штабтар ашу қажет болды.

Жинау сәтті аяқталған кездегі қолдар санының болжамы ірі қалаларда қол қоюға ынталы адамдардың саны аймақтық квоталарды айтарлықтай асып түсетінін көрсетеді. Мәскеу (127 мың) мен Санкт-Петербург (63 мың) экранға сыймай қалды.

Тек штабта ғана қол жинау

Үй-үйді аралап жинау үшін бірнеше мың теруші жалдауға тура келеді. Ақылы коллекторлармен жұмыс істеген кез келген адам (немесе, мысалы, әлеуметтану студенттері) олардың барлығы бірдей процедураға бірдей сезімтал емес екенін және барлығы бір-екі қолды «сызу» азғыруын жеңе алмайтынын біледі. Абайсыз толтыру ақаулардың үлкен пайызына әкеліп соқтырады, ал «сызу» қол қоюдың жиі кездесетін мәселе болғандықтан, Орталық сайлау комиссиясы графологтың тексеруін қамтамасыз етеді. Тіпті штатта графологтың болуы және полицияға бірнеше мәлімдемелерді демонстрациялық орындау штабты «шабуылшылардан» 100% тазарта алмайды (тексердік). Сонымен қатар, жинаушы тек зиянды ниетпен ғана емес, керісінше, «штабқа көмектесу» үшін қол қоюы мүмкін.

Біз «далада» жинау кезінде Новосибирскідегідей «улы коллекторлармен» міндетті түрде танысатынымызды білдік. Уытты жинаушылар сайлаушылар деректерінде әдейі қателіктер жібереді (мысалы, төлқұжат нөміріндегі бір цифрды өзгертеді). Олардың міндеті – сайлау комиссиясы тіркеуден бас тартатын лимиттен асатын жарамсыз қолдардың санын көбейту. Новосибирск улы қолтаңбаларды тазарту үшін көп күш жұмсады. Бүкіл ел бойынша жинау кезінде мұны істеу мүмкін емес.

Тек стационарлық штабтарда қолдардың жеткілікті сапасын, қол қою парақтарын дәл толтыру шарттарын және олардың сақталуын қамтамасыз етуге мүмкіндік туды.

Көп сатылы қолтаңбаны тексеру

Идеал қолтаңбалар математикалық абстракция болып табылады. Нақты қол жинау - күрделі және қиын процесс. Адал, білікті құрастырушылар да қателеседі, уақыт тапшылығы, әкімшілік қысым мен арандатушылық жағдайында олқылықтар одан да көп болады.

Бізде қателердің қалай орын алатыны туралы көптеген деректер бар. Біздің тәжірибемізге сәйкес, толықтай шынайы түрде жиналған қол қою парақтарында сайлау комиссиясы жарамсыз деп таныған қолдардың шамамен 10%-ы болады.

Біз тек жақсы қолдарды емес, сайлау комиссиясы қабылдайтын қолдарды тапсыруымыз керек еді. Бұл тексерудің бірнеше сатысын және рейтингтік механизмді қажет етті – біз қаншалықты қисынсыз деп санасақ та, сайлау комиссиясының тексеруінен өтуі ықтимал қолдарды ғана іріктеу және тапсыру үшін.

Әрбір қол үшін төлқұжат сканерлеу

Сканерсіз, қолтаңбаның сапасы үшін барлық жауапкершілік коллекторға жүктеледі. Егер ол кездейсоқ немесе әдейі төлқұжат нөмірін қате жіберсе, біз ешқашан білмейміз.

Тәжірибеден біз қол қою парағына төлқұжат деректерін қайта жазудағы қателер мен деректерді енгізу қателері, тіпті қолдар қолайлы жағдайда және адал жинаушылар жинаса да, рұқсат етілген 5% шегін оңай жойатынын анықтадық.

Құжатты сканерлеу арқылы біз қолтаңбаны тексерудің бірнеше тәуелсіз кезеңдерін орындап, түзетулер енгізе аламыз.

Сонымен қатар, біздің адвокаттар соттағы әрбір қол үшін күресуге дайындалып жатты. Өткен жолы қабылданбаған қолдардың үлкен санаты болды, біз оны нақты білдік: қолтаңба төлқұжатқа сәйкес келеді, бірақ біз оны ескірген және қате толтырылған дерекқормен тексердік. Бірыңғай деректер базасы және сканерлеудің қолжетімділігі адвокаттарға мұндай жағдайларда шағымдарды дайындау процесін автоматтандыруға мүмкіндік береді.

Әрине, төлқұжатты тек штаб-пәтерде сканерлеуге болады, әйтпесе жеке деректердің жеткілікті қауіпсіздігін қамтамасыз ету мүмкін емес еді.

Электрондық мәліметтер базасымен синхрондау

Қолдармен және қол қою парақтарымен жасалған барлық операциялар, барлық мәртебелер мен қозғалыстар электронды деректер базасында көрсетілуі керек болды. Қол жинау жүйесі жинаудың барлық кезеңдерін бақылап, қателерді анықтауы керек болды. Бұл жүздеген мың физикалық нысандармен жұмыс істегенде тәртіпті (және жан тыныштығын) сақтай алатын жалғыз әдіс.

Жүйенің жаңа нұсқасында не істелді

  • Қол жинайтын орын болуы үшін біз аймақтық штабтар желісін орналастырдық. Штаб-пәтердің IT-инфрақұрылымы бірнеше физикалық серверлерден, бірқатар виртуалды машиналардан, 70 маршрутизаторлардан, 230 камералардан және 189 толық жұмыс станцияларынан тұрады. Жүйені іштей бір уақытта 250-ден астам адам пайдаланады.
  • Қысқа мерзімде бірнеше жүз мың адамды штабқа жеткізу үшін біз 20!8 сайтында сайлаушыларды алдын ала тіркеуді бастадық, олар өз деректерін алдын ала растады.
  • Қателер санын азайту үшін біз жазылым парағын толтыру дұрыстығын тәуелсіз тексеруге мүмкіндік беретін жүйені жасадық. Жүйе бірнеше веб-қосымшалардан және екі платформаға арналған мобильді қосымшадан тұрады.
  • Жүйеге деректерді жүктеу үшін біз төлқұжаттарды сканерлеуге арналған жабдық жинағын құрастырдық (және ішінара шығардық), жеке деректерді қауіпсіз тасымалдау схемасын ойластырдық және оны барлық штаб-пәтерде енгіздік.
  • Сайлау комиссиясының көзқарасы бойынша мекенжайды пішімдеудің дұрыстығына көз жеткізу үшін біз FIAS деректер базасында іздеуді бастадық және заңгерлермен бірге заңның барлық талаптарын ескере отырып, оны мұқият зерттедік.
  • Штабымызды (ішінара) қауіпсіздендіру және соттарда қосымша дәлелдер айту үшін біз тәулік бойы бейнебақылау және тіркеу жүйесін орнаттық.
  • Инфрақұрылымды, механиканы сынау, деректерді нақтылау және жинауға штаб дайындау үшін біз сайлаушыларды алдын ала тексерудің үлкен рәсімін өткіздік, ол арқылы 81 750 адам өтті.
  • Біз жазылу парағының сыртқы түрін, штабтағы парақтарды логистикамен қамтамасыз ету жүйесін, сондай-ақ орталық штабқа физикалық сақтау және жылдам қол жеткізу жүйесін әзірледік.

Біздің веб-қосымшаларымыздың негізгі технологиялары

Негізгі сервер тілі: Python.
Алғы жақ: JavaScript, jQuery, React, D3.js.
Фреймерлер:Джанго (6 дана), aiohttp (1 дана).
Дерекқор: PostgreSQL, Redis және т.б.
Толық мәтінді іздеу:Сфинкс.
HTTP сервері: Nginx, лак.
Тестілеу:Дженкинс, Browserstack, RobotFramework, Шегіртке.
Бақылау: Zabbix, Elasticsearch, Kibana, Sentry.
Орналастыру: Ansible және басқа құралдар.
Сервер конфигурациясын басқару:Аспаз.

Бірінші бөлім: Навальный 20!8 сайты

Бізге өте шектеулі уақыт аралығында бірнеше жүз мың адамды штабқа жеткізуге тура келді. Ол үшін біз науқан басталған күннен бастап қолдаушыларды тіркеуді бастадық. Қолдаушыларды жинау және тіркеу Навальный 20!8 сайтының басты міндеттерінің бірі, сондықтан әрбір дерлік бетінде тіркеу формасы бар.

Мұның бәрі әдемі сандар үшін ғана қажет емес болғандықтан, біз үшін тіркелген қолдаушылар бот емес, нақты адамдар екенін білу, олармен байланыста болу және олардың қай қалада тіркелгенін түсіну маңызды болды. облыстар бойынша квотаның орындалуын болжау мақсатында). Сондықтан сайтта тіркелу өте күрделі болды және телефон нөмірін растауды талап етті. Өзімізді де, өзгені де алдамау үшін біз әлеуетті қол қоюшы ретінде пішінді толығымен толтырып, телефон нөмірін растаған адамдарды ғана қостық. Сондықтан, басты бетте миллионнан астам (тіркеулердің жалпы саны) орнына қазір бізде тек 706 513 «болашақ қолтаңба» бар.

Веб-сайтты құру тұрғысынан бұл өте қарапайым өнім. Сайт Python + Django + PostgreSQL тілінде стандартты ORM және стандартты әкімші панелі арқылы жасалған. Бір жарым жыл ішінде сайт бірнеше жаңартулардан өтті: бөлімдер қосылды, тіркеу формасының жұмысы өзгерді, беттердегі мәтіндер мен суреттер өзгерді. Біз стандартты блоктарды пайдаланып орналасу үшін дизайнды қиындатпауға тырыстық, соның арқасында кейбір бөлімдер үш күнде идеядан іске қосылды.

Кез келген заманауи веб-сайтқа келушілердің жартысына жуығы мобильді құрылғылардан келеді. Біз сайтты барлығына ыңғайлы етуге тырыстық, сондықтан макеттер 320 пиксельден бастап кез келген экран енінде дұрыс көрсету үшін сызылып, орналастырылды.

Штаб картасы

Келушілер көретін жалғыз күрделі интерактивті элемент - штаб-пәтері белгіленген Ресей картасы. Штабтардың саны 50-ден асқанда, елдің еуропалық бөлігінде маркерлердің жақын орналасуына байланысты картада жүру қиынға соқты. Бастапқыда карта таза сәндік элемент ретінде ойластырылған, бірақ кенеттен ол функционалдылыққа толы болды, сондықтан науқанның федералды сипатын бағалаған және жай ғана өз қаласын тапқысы келетіндер үшін біз тізім режимін жасадық.

Карта тамаша және әмбебап d3.js кітапханасының көмегімен жасалған. Біз карта проекциясына байланысты стандартты Google Maps немесе Yandex.Maps қолданбай, өз сценарийімізді жазуды шештік. Жер эллипсоидының жазықтықта дамуын жасаудың көптеген жолдары бар. Меркатор проекциясында объектілер солтүстік ендіктерде қатты созылған және бізге негізгі ірі қалалар шоғырланған аудандарда көбірек орын қажет. Сонымен қатар, Mercator проекциясында Ресей өте біртүрлі көрінеді. Біз география оқулықтарынан көбірек таныс Альбер-Сібір конустық проекциясын таңдадық.


Дені сау адамның Ресейі (Альберс конустық проекциясы) және темекі шегетіндердің Ресейі (Меркатор проекциясы)

Мазмұнды басқару

Сайттың редакциялық бөлімі аса қызық емес. Әдеттегі Django басқару тақтасы ең аз теңшеумен пайдаланылады. Даму ресурстары шектеулі болғандықтан, шынымен ыңғайлы құрал жасауға уақыт жұмсаудан гөрі бірнеше әкімші пайдаланушыларды стандартты құралды пайдалануға үйрету тиімдірек.

Редактордың өмірін жеңілдететін кейбір шешімдер басқа жобалардан алынды. Мысалы, клиент жағында мәтіндерді типографиялау құралы. Біздің типография ыңғайлы, себебі ол кез келген мәтін немесе жол енгізу өрісіне оңай қосылады. Автотипографияның күйі туралы ақпарат (қосу/өшіру) жолдың соңында басып шығарылмайтын таңба ретінде сақталады және кез келген жолмен серверге тәуелді емес.

Жазбалар мен жаңалықтардың күрделі мазмұнымен жұмыс істеу үшін біз көптеген басқа жобаларда қолданылатын блоктық редакторды қолданамыз:

Блоктардың әртүрлі түрлері бар, әр жобаның өз жиынтығы бар. Әрбір блок мазмұнды қамтиды және параметрлерді қамтуы мүмкін. Блок деректері дерекқорда json түрінде сақталады, ал мәтіндік блоктың ішіндегі белгілеу markdown форматында сақталады.

Көрсету үшін блоктар қажетті пішімге түрлендіріледі: жазба үшін HTML, индекстеу үшін мәтін, Yandex.Zen үшін RSS немесе XML, мобильді қосымша үшін JSON және т.б. Осылайша біз өте күрделі мазмұн пішімі бар кез келген құрылғыда болжамды нәтижелерді аламыз.

Бірінші нұсқа сэр Тревор кодына негізделген. Кейінірек сэр Тревордың спагетти кодын сақтау қиынға соққанда, редактор React бағдарламасында қайта жазылды.

Аналитика

Техникалық тұрғыдан ең қызықты нәрсе сайттың әкімші аймағында болады. Сол жерден біз тіркеудің қалай жүріп жатқанын бақылап отырдық.

Бастапқыда аналитика өте қарапайым болды: уақыт бойынша әртүрлі түрдегі тіркеулер санының графиктері. Бірақ біз аймақтар бойынша динамикасын көріп, түрлі оқиғалардың тіркеу санына әсерін қадағалағымыз келді. Көптен күткен аналитика осылай пайда болды:


Бұл экранда сайттың бүкіл қызмет ету мерзімі бойынша жиынтық ақпарат, белгілі бір кезеңге арналған кесте және осы кезеңдегі оқиғалар тізімі бар. Диаграммадағы шыңды бөлектеп, оған қандай оқиға себеп болғанын түсінуге тырысуға болады. Көбінесе бұл Навальныйдың YouTube арнасында тергеу бар басқа бейнероликтің жариялануы. Қол жинаудың ең көп өсімі аймақтық шенеуніктердің айла-амалдары туралы бейнероликтерден түскен.

Диаграмма d3.js файлында жасалған және оқиғаны уақыт пен штаб бойынша сүзу Crossfilter кітапханасы арқылы жүзеге асырылады. Бұл шешім 1 сағаттық қадамдармен бір жылдан астам аралықта тіркеу деректерімен интерфейс кідірістерінсіз клиент жағында жұмыс істеуге мүмкіндік береді. Қазіргі уақытта бұл 12 мегабайт деректер (gzip файлында 1,3 МБ).

Тіркеу базасының негізгі көрсеткіштері мен алдыңғы күндегі жетістіктері бар шағын мәтіндік есеп күн сайын жобаның барлық қатысушыларына автоматты түрде жіберілді.

Қала және аудан

Бізде сондай-ақ Ресейдің әр аймағы үшін қол жинауға дайындықтың негізгі көрсеткіштері келтірілген үлкен кесте бар:

Бұл кестедегі сандар бастапқыда жақындағысы келмеді. Қалалар бойынша жалпы саны тіркелгендер санынан айтарлықтай аз болды. Сайттағы сауалнаманы толтырған кезде адамдар күтпеген жерден өз қаласының атауында қателіктер жіберетіні немесе стандартты емес атауларды қолданатыны анықталды:

Мәскеу - 2,5% қате және 579 емле нұсқасы;
- Санкт-Петербург – 12,6% қате және 767 орфографиялық вариация;
- Комсомольск-на-Амуре - 20% -дан астам қателер мен қысқартулар, 75 нұсқа.

Қолдаушылардың санын дұрыс есептемеу штабтар желісін және үгіт-насихат шараларын дұрыс жоспарламауға әкелуі мүмкін. Қала атауын пайдаланушы енгізуін стандартты аймақ атына қалай айналдыру керектігі туралы ойлануға тура келді. Осындай қарапайым пішін үшін мен KLADR немесе FIAS сәйкес автоматты аяқтау механизмдерін пайдаланғым келмеді. Сондықтан біз Ресейдің 700 ірі қалаларының тізімін алдық, типтік емлелердің («spb», «n-sk») тізімін қостық және оларды Левенштейн қашықтығы бойынша (бұл көрсеткіш екі таңбалар жинағы арасындағы айырмашылық).

Тізімдегі әрбір қаланы жақын маңдағы штабқа дейінгі қашықтыққа қарай үш санаттың біріне жіктедік: штаб – қалада, штаб – жақын (қалалық агломерация), штаб – алыс. Уақытында келіп, қол қоятын адамдардың санын есептегенде штабтың қашықтығы ескерілді. Аналитикада біз барлық қол қойғандарды және «қол жетімді» адамдарды бөлек санадық (расталған электрондық пошта, бас кеңсесі бар қалада немесе жақын жерде тұрады).


Бұл график уақыт өте келе науқанның аймақтық сипатқа ие болғанын көрсетеді. Мәскеу мен Санкт-Петербургтен жаңа тіркеулердің үлесі 35%-дан 15%-ға дейін төмендеді.

SMS және пошта

Тағы бір техникалық қиындық SMS пен хаттарды жіберу болды. Шлюздер хабарламаларды, әсіресе шетелдік нөмірлерге жақсы жеткізе алмайды. Бірақ біз қолдаушылардың ең таза және шынайы негізін қаладық, сондықтан тіркеу формасының екінші бөлігі SMS арқылы телефон нөмірін тексеруді талап етті. Сенімді жіберу үшін біз үш шлюзді айналдырдық: егер хабарлама жеткізілмесе, ол басқа шлюз арқылы қайта жіберілді. Сонымен қатар, жеке шлюздерді олардың жағында ақаулар болған жағдайда өшіруге болады. SMS кодын жеткізу жылдамдығы бақыланатын параметрлердің бірі болып табылады:

График шлюздердің екі рет істен шыққанын көрсетеді. 21 ақпан мен 17-18 сәуірде жеткізілген SMS үлесі хабарлама жіберу кезегіндегі ақауларға байланысты айтарлықтай төмендеді. Ал 15 шілдеде біз тіркеу формасының макетін өзгерттік, бұл графикте де байқалады.

Біз 700 мыңнан астам электрондық пошта мекенжайлары бар деректер қорына көптеген хаттар жібереміз. Біреу жаңалықтарға жазылды, біреу оқиға туралы хабарлама алуы керек. Сонымен қатар, әрбір мекенжай 2-қосымшаға кіру ережелеріне сәйкес расталуы керек (бұл бірінші хатта ақпараттық бюллетеньге жазылуыңызды растау үшін басу керек сілтеме бар кезде). Науқанның басында біз ActiveCampaign қызметін пайдаландық, бірақ ол қымбат және керемет баяу болды. Деректер базасы 300 мың контактіден асқанда, жұмыс істеу мүмкін болмады. Сондықтан, біз өзіміздің CRM/пошталық қызметімізді жаздық, ол сізге қажетті үлгілер негізінде жіберу тізімдері мен хат тізбектерін жасауға мүмкіндік береді. Қазіргі уақытта хаттарды жеткізу үшін Mailgun қолданылады.

Кейінге қалдырылған тапсырма кезектері

Үшінші тарап қызметтерінің API арқылы пошта немесе SMS жіберу - бұл көп уақытты қажет ететін операция. Пайдаланушы интерфейсін бәсеңдетпеу немесе бүкіл қолданбаны жүктеуге жол бермеу үшін мұндай операциялар асинхронды түрде орындалуы керек. Бастапқыда барлық асинхронды тапсырмалар брокер ретінде Redis көмегімен балдыркөк арқылы жұмыс істеді. Әрбір электрондық пошта немесе SMS хабарлама балдыркөк кезегінде тапсырма жасады, содан кейін бос жұмысшы бұл тапсырманы өңдеді. Бірақ бұл тәсіл сенімсіз және тым көп ресурстарды қажет ететін болып шықты.

Бірде бір сағатта 10 мыңнан астам тіркеу алдық (жоқ, бізді теледидардан көрсетпеді, бұл «+1» науқаны еді). 10 балдыркөк жұмысшылары бұған төтеп бере алмады, пайдаланушылар SMS пен поштаны алудың айтарлықтай кешігуін байқай бастады.

Осы оқиғадан кейін біз PostgreSQL негізіндегі қарапайым кезек пайдасына балдыркөктен бас тарттық. Кезекте тұрған тапсырмалар Python тіліндегі «демондар» бойынша сұрыпталды, әрбір хабарды жеткізу арнасы үшін бір. Әр 10 секунд сайын демон кезектен тапсырмалар пакетін алып, деректерді бір бумадағы API пошталық интерфейсіне жіберді. Топтастыру тапсырмалары сервердегі жүктемені түбегейлі азайтты, ал үйде жасалған кезекті пайдалану отладтау мен бақылауды өте қарапайым етті.

Балдыркөк біздің тапсырмамыз үшін тым күрделі құрал болып шықты. Ол көп ресурстарды тұтынатын Flower сияқты сыртқы утилиталар арқылы мұқият конфигурациялауды және бақылауды қажет етеді. Басқа жобаларда біз қарапайым шешімді қолдануға тырысамыз - RQ + Redis.


Асинхронды тапсырмалармен жұмыс істеу туралы мақаладан RQ және балдыркөктің күрделілігін салыстыру.

Даму процесі

Навальный 20!8 веб-сайтын құру процесі әзірлеушілердің көзқарасы бойынша қалай жұмыс істейді? Біз кез келген әдістемені ұстанбаймыз, бірақ әртүрлі жүйелердің тәсілдерін қолданамыз. Мысалы, менеджерлер Trello жүйесінде Kanban тақтасына ұқсас құрылымы бар тапсырмаларды қояды, ал әзірлеушілер жеке экстремалды бағдарламалау тәжірибелерін пайдаланады.

Команданың шамамен жартысы Мәскеу кеңсесінде орналасқан, ал қалғандары қашықтан жұмыс істейді. Мәскеу қызметкерлері жалпы суретті жақсырақ түсіну үшін жұмыс істемеу үшін үгіт-насихат жиналыстарына қатыса алады, бірақ біз IT бөлімінің міндеттерін бөлек талқылаймыз. Тұрақты қоңыраулар әр адамға әр сәтте жұмыстың негізгі бағытын синхрондауға және түсінуге мүмкіндік береді.

Жобаға қатысушылардың көпшілігі онымен толық уақытты жұмыс істейді, бірақ кейбір тапсырмаларды басқа жобалардан уақытша әкелінген әзірлеушілер немесе тіпті еріктілер орындады. Мысалы, ерікті Илья бас бет үшін штаб-пәтер картасын толығымен дерлік жасады.

Бастапқы код Bitbucket платформасындағы git репозиторийінде сақталады. Әрбір негізгі жаңа тапсырма үшін жеке тармақ жасалады. Біз әрбір филиал үшін кезеңдік сервер жасамаймыз; олардың барлығы бір сынақ серверінде іске қосу үшін әзірлеуге біріктірілген. Тестілеуден кейін тапсырмаға жауапты әзірлеуші ​​шеберге тарту сұрауын жасайды. Топ басшысы кодқа қарап, бәрі жақсы болса, орналастыруды бастайды. Үлкен тапсырмалар үшін әзірлеушілер нені тексеру керек және орналастыру кезінде ненің қате болуы мүмкін екендігі туралы толық сипаттама жазады.


Орналастыру өте қарапайым ұйымдастырылған. Бізде Bitbucket веб-хукына (немесе оның интерфейсіндегі түймеге) жауап беретін, қажетті тармақтан кодты алатын, оны серверге көшіретін және жаңарту сценарийін сол жерде іске қосатын құрал бар. Сценарий Makefile файлында пішімделген.

«Жаңартуды жасау» іске қосылғанда, тәуелділіктер жаңартылады, тасымалдаулар орындалады, статикалық файлдар кейін өңделеді және бәрі ойдағыдай болса, uwsgi сервері қайта іске қосылады. Біз көшірулерді ескі кодты бұзбау үшін жасауға тырысамыз, сондықтан орналастыру қателері болған жағдайда бәрі жұмысын жалғастырады.

Әзірлеу 2016 жылдың 18 қыркүйегінде басталды. Содан бері 1228 міндеттеме, 200 тарту сұрауы болды, орналастыру 600-ден астам рет өндіріске енгізілді және репозиторийде 67 филиал болды (олардың көпшілігі қазір жабық).

Дизайн туралы

Жоба командасында тек екі адам дизайнмен үнемі жұмыс істеді (өнім функциясы бар арт-директор және дизайнер), екеуі де басқа науқандық жобаларға белсенді қатысты. Сондықтан дизайнға деген көзқарас өте пайдалы болды.

IT өнімдерін жобалауда біз әрқашан екі негізгі қағиданы басшылыққа аламыз:

1) Ең «жалқау» және қатысы жоқ пайдаланушыға арналған ақпарат ең көрінетін жерде болуы керек (біз, мысалы, сайттағы блоктар мен бөлімдердің бастапқы орындарын осылай анықтадық);

2) Соңғы өнімді пайдаланатын адамдар неғұрлым аз болса, соғұрлым біз оны безендіруге тырысамыз (әзірлеу ресурстарын үнемдейміз) және әр пайдаланушыға соғұрлым көп күш салуға мүмкіндік береміз (іске асыруға уақытты ысырап етуден гөрі бірнеше адамды оқыту тиімдірек болады) пайдаланушы күш-жігерін үнемдейтін немесе қателіктерден сақтайтын жаңа мүмкіндіктер).

Сондықтан біздің аз қолданушы ішкі жүйелеріміз өмірге келген сымдық жүйе сияқты көрінуге тырысады және науқанды қолдаушы кезіккеннің бәрі жалпы визуалды коммуникацияның бөлігі болып табылады, бұл қатаң түрде корпоративтік стиль мен жалпы мағынаға бағынады.

Қолтаңбаларды жинауға арналған АТ жүйесі - шектеулі ресурстары бар өте күрделі, көп компонентті жоба, сондықтан дизайнерлер жұмысының негізгі бөлігі графикалық редакторда емес, қағазда, жиналыстарда және Google Docs-та орындалды (біздің жағдайда, Эскиз).

Жобада сіз жай ғана салғыңыз келетін көптеген күрделі диаграммалар бар және біз сол жерде тапқан диаграммаларды салуға арналған барлық электронды құралдар бізге сәйкес келмеді. Кейде біз draw.io қолданбасын қолдандық, бірақ көбінесе қағазға тікелей сурет саламыз. Ең маңызды диаграммалар жоба тақтасында ілінді. Отырыстарда талқыланатын сұрақтары бар қағаз «билеттері» де сонда тіркелді.

Біз marvelapp.com сайтында заңгерлермен келісілген қағаз диаграммалары мен сценарийлерінен прототиптерді жинадық, бұл логиканы тағы бір рет тексеріп, ештеңенің ұмытылмағанына көз жеткіздік. Осыдан кейін ғана макеттер әзірлеуге көшірілді.

Тапсырмаға байланысты әртүрлі зерттеу және жобалау әдістері қолданылды. Осылайша, көптен күткен аналитиканы жасамас бұрын, біз жүйенің барлық әлеуетті пайдаланушыларымен (аппарат басшысынан бастап хат жіберушіге дейін) бірқатар сұхбаттар жүргіздік және олардың тілектеріне сүйене отырып, біз өте қарапайым интерфейс, ол ұзақ уақыт бойы науқанның бақылау тақтасы ретінде қызмет етті.

Бір бетте біз тіркеулер ағынын көрдік, оған әсер ететін оқиғаларды көрдік және біздің жақтастардың қалалар бойынша қалай бөлінгенін білдік. Біз сондай-ақ қол қойғандар саны бойынша қалалардың рейтингтерін жинадық (бұл бізге штаб-пәтердің тиімділігін бақылауға мүмкіндік берді және жаңа штабтарды ашу үшін дұрыс қалаларды таңдағанымызды айтты) және кестелік аналитика.

Тексеру интерфейстері мен қолтаңбаларды жинаудың өзі үшін оператор жұмысының жылдамдығы абсолютті басымдық болды. Жинау өткір уақыт қысымы жағдайында өтеді, сондықтан біз әр секундты үнемдеуге және сонымен бірге ықтимал пайдаланушы қателерінің санын азайтуға тырыстық.

Біздің есептеулеріміз бойынша, штаб-пәтерлердің саны бар және адамдардың үздіксіз ағыны жағдайында әрбір коллектор бір адамға 6 минуттан аспауы керек - «сәлемдесуден» жинау процедурасы аяқталғанға дейін.

АТ жүйесі арқылы қолтаңбаларды тексеру және жинау - бұл біз ойлап тапқан процедура, сондықтан біз шешімдерімізді сынаудың негізгі әдісі ретінде жүйенің нақты пайдаланушыларында MVP тестілеуін таңдадық. Сонымен, біз Мәскеу штабының қызметкерлеріне негізгі хаттаманы және бірінші тексеру интерфейсін сынап көрдік, содан кейін жұмыс процесінде нақты пайдаланушыларды байқау үшін үш түрлі қалаға (Санкт-Петербург, Челябі және Ульяновск) бардық. Мұндай жобалар үшін бұл дизайн және әзірлеу кезеңінде ұмытылған немесе болжанбаған нәрселер мен пайдаланушы жағдайларының тізімін жылдам жасаудың ең жақсы жолы.

Интерфейске аздаған өзгерістер енгізілгеннен кейін науқанның барлық штабтарында тексеру басталды. Нәтижесінде бір сауалнаманы өңдеу уақытын бір адамға бір жарым-екі минутқа дейін қысқартуға қол жеткіздік.

Тестілеу

RobotFramework автоматтандырылған тестілеу үшін пайдаланылды. Жобаның ең маңызды функционалдығын қамту үшін қабылдау және функционалдық сынақтар жазылды және оларды автоматты түрде іске қосу конфигурацияланды. Дженкинс CI жүйесі ретінде пайдаланылды.

Сайттың ең маңызды функциясы - пайдаланушыны тіркеу, ол SMS коды арқылы телефон арқылы растауды қамтиды. Хабарларды кодтарымен тексеру үшін сынақ SIM картасы және жұлдызшасы бар GSM модемі конфигурацияланды. SMS-код тестілеу үшін қол жетімді болатын поштаға жіберілді.

Анықталған қателер Trello қолданбасына әзірлеушілерге арналған тапсырмалар ретінде қосылды.

Сервер инфрақұрылымы

Навальный 20!8 сайты жұмысын жалғастыруда және бірте-бірте сайлаушылар ереуілінің сайтына айналуда, сондықтан ақпараттық эмбарго әлі жойылған жоқ, әңгіме қысқа болады. Сервер бөлігі үш деңгейден тұрады: сервер, кэш прокси және шеткі серверлер. Барлық конфигурациялар шеф арқылы басқарылады, сондықтан кез келген рөлі бар серверді жаңа виртуалды машинада жылдам орнатуға болады.

Backend дерекқорды және қолданба даналарын, әрбір қолданбаны өзінің виртуалды машинасында және жеке IP-мен іске қосады. Барлық серверлер бірнеше көшірмелерде бар және дерекқор басқа құрылғыға негізгі-құлдық режимінде көшіріледі.

Прокси серверде Varnish орнатылған, ол белгілі мекенжайларға сұрауларды кэштейді және әртүрлі URL-тәуелді шектеулер. Егер сервер сәтсіз болса, сайт прокси серверден шексіз жұмыс істей алады, тек пайдаланушыны тіркеу механизмі бұзылады.

Edge серверлері статикалық кэштеуді және SSL тоқтатуды орындайды (содан кейін трафик VPN желісі арқылы өтеді). Бұл серверлердің мәні трафиктің негізгі бөлігін тарату және инфрақұрылымның қалған бөлігін шабуылдардан қорғау болып табылады. Бұл әртүрлі деректер орталықтарында гигабиттік арнасы бар әлсіз виртуалды машиналар. Жүктеме DNS теңдестіру арқылы таратылады. Edge серверлері ең аз конфигурацияны қамтиды және қажет болса, бірнеше минут ішінде оңай орнатылады. Бізде шеткі серверлердегі максималды пайдалы трафик бірнеше сағат ішінде 5 Гбит/с болды.

Суреттер, стильдер, javascript, json деректері файл атауы осы файл мазмұнының хэшін қамтитындай етіп сақталады (мысалы, style.28fa1c7b1761.css), сондықтан бұл файлдардың барлығы серверде мәңгілікке кэштелуі мүмкін және браузерде. Трафиктің негізгі бөлігі шеткі серверлерден жіберіледі. Содан кейін мазмұн беттеріне сұраулар ғана өтеді және бұл деректер шамамен 25 есе аз.

Кейде шеткі серверлердің орнына CloudFlare қосылады, бірақ біз өз серверлерімізге оралуға тырысамыз, өйткені CloudFlare әрқашан Ресейден жақсы қолжетімділікке ие бола бермейді. Кейбір провайдерлер, тіпті ең ірілері де, үнемі IP-ді бұғаттауды бастайды (Роскомнадзор іздері).

Қорытынды

Дәстүрлі стильде қол жинау (арнайы IT жүйесі жоқ, қағаз, қалам және Excel кестелері бар) Айға шарды ұшырумен бірдей: иә, егер сіз жеткілікті шарларды алсаңыз, тіпті ұшып, бұлттарға тығыла аласыз, бірақ Бұл жолмен әлі де мақсаттарға жету физикалық мүмкін емес.

Сайлау комиссиясы тіпті қалаусыз кандидаттан да қабылдауға мәжбүр болатындай қол жинау үшін біз осы күрделі инфрақұрылымды құруға кірістік. Бұл тарауда біз алдымызға қойылған міндет және оны шешуге дайындық туралы айттық.

Келесі тарауда штабтың желілік жабдығын таңдау және конфигурациялау, жеке құжат сканерін әзірлеу және штаб-пәтер үй-жайларын бейнебақылауды ұйымдастыру туралы айтылады.

Үшінші тарауда қолдарды жинауға арналған қосымшаларды жасау процесі және физикалық қол қою парақтарымен жұмыс істеуге қатысты барлық нәрсе сипатталады.

Төртінші тарауда жобаны басқару, команда, уақыт кестесі және нәтижелер туралы аздап айтылады.

Тегтер: тегтерді қосу

Науқан басталғаннан кейінгі алғашқы күндер өте күрделі, өзекті міндеттерге толы. Біз әрқашан өз жұмысымызда барынша жариялылықтың жақтаушысы болғанымызбен (және солай боламыз), дәл қазір өте егжей-тегжейлі есептерді күтпеуіміз керек. Соған қарамастан, мен бірнеше сөз айтуым керек.

Қазір не болып жатыр.
Барлығы өте қарапайым: бір жылдың ішінде бізге республика бойынша 400-500 мың қол жинау керек (олардың 300 мыңын таңдау үшін, шарты: 40 облыста әрқайсысында 7500-ден кем емес) бір-екі апта ішінде. Жаңа жылдық қарбалас. Мұны істеудің кем дегенде теориялық мүмкіндігі болуы үшін біз қазір барлық инфрақұрылымды қайта құруымыз керек:
- осы 400-500 мың адам веб-сайт арқылы бізге тіркелсін, олар алдын ала барлық мәліметтерді береді және D-day күні жазылуға уәде береді;
- аймақтық штабтарды құру, қол қою парақтарын дайындайтын адамдарды жұмысқа алу және оқыту және D-Day күні дерекқорға тіркелген 7500 қолдаушыдан қолды өте жылдам жинай алатын; - бүкіл аймақтық желіге, үй-жайларды жалға алуға және қызметкерлерге жалақы төлеуге, адвокаттарға және жаңа жақтастарды тартуға ақша болуы үшін; Шамамен болжам бойынша аймақтағы бюджет 150-200 миллион рубльді құрайды (біз бюджетті жақын арада жариялаймыз).

Біз бұл мәселелерді шешуді күні кеше бастадық. Бір жағынан бұл өте сәтті болған сияқты. Алғашқы екі күнде – небәрі 48 сағатта – біз науқанды веб-сайтта тіркедік 22 300-ден астам адам(бұл ең аз талап етілетін 300 мыңның 7%-дан астамы) және сомада қайырымдылық тартылды 5 миллион рубльден астам(бұл ең аз талап етілетін 150 миллионның 3%-дан астамы). Экстраполяция жасасаңыз, бір-екі айдан кейін барлық мақсаттар орындалатын сияқты.

Бірақ сіз экстраполяция жасай алмайтыныңызды жақсы түсінесіз. Әрбір келесі адам мен рубль қиынырақ болады (және бұл мүлдем қалыпты); атқарылатын жұмыс көп. Науқанды «ресми» қол жинаудың басталуына тура бір жыл қалғанда бастағанымыз да осыны түсінді.

Қазір штаб не істеп жатыр?
Осыған сәйкес штаб қазір біздің науқанымыздың алдында тұрған міндеттерді шешуді қамтамасыз ететін құрылымды дайындап жатыр. Мың сұраққа жауап дайындайды:
- аймақтық штабтар қалай құрылады, қайда, қандай тәртіппен, оларды кім басқарады,
- волонтерлар қандай үгіт материалдарын алады (және қазірдің өзінде 6100-ден астам адамкандидат Навальныйға кандидатураны қолдайтын қол қоюға уәде беріп қана қоймай, сонымен бірге бұл материалдарды «шешімсіздерді» үгіттеу үшін пайдалану үшін үгіт-насихат жұмыстарына ерікті күштерін салуға уәде берді.
- біз штабтың, еріктілердің, жинаушылардың және қолдардың өздерінің қауіпсіздігін қалай қамтамасыз етеміз;
- Мәскеуде және аймақтарда қандай шаралар өткіземіз...
Тағыда басқа. Тізім шексіз дерлік. Мұнда біз жай ғана тақтадағы аймақтардың тізімін жазып алдық - осы бағыттардың әрқайсысы үшін мақсат қою, жауапты адамдар, стратегия және нақты іс-шаралар жоспары болады - бұл қазірдің өзінде қорқынышты. Бірақ біз бірінші рет емес, жеңеміз.

Олар бізге қандай сұрақтар қойып жатыр?
Ең жиі кездесетін және сүйікті сұрақ - «қалай көмектесуге болады?»?
Көмектесу оңай. Жоғарыдағы мақсаттар тізімін қараңыз.
- қол қоюға уәде беремін
- ақша жіберу
- қолдардың көбірек екеніне көз жеткізіңіз.

Бұл соңғысына біз жақын болашақта назар аударатын боламыз. Өйткені, біз кандидатураны қолдауға қол қоюды сұраймыз - тіпті кандидат Навальныйдың өзін де емес, оның сайлауға қатысу фактісін қолдау үшін: президенттік сайлауды алғаш рет бәсекеге қабілетті ету үшін. 20 жыл. Мұндай қол қоюға Навальныйдың жақтастары ғана көндіре алмайды; Сайлауда нағыз бәсекелестік қажет деген пікірді ресейліктердің басым көпшілігі айтады (біз бұл туралы сауалнама жүргіздік, деректерді де жариялаймыз).
Сондықтан біз жақын арада волонтерлар мен қолдаушыларға отбасына/достарына/әріптестеріне бару үшін құралдарды береміз, тіпті олар күмәнданса да, оларды Навальныйдың кандидатурасына қол қоюдан әлі де пайда көретініне сендіреміз (тіпті олар өздері баратын болса да). Путинге дауыс беріңіз).

Жарайды, олар да бағдарлама туралы және басқа нәрселер туралы көп сұрақтар қояды. Үміткердің өзі осы сұрақтардың бәріне тамаша жауап береді, менің бұл жерде қосатын ерекше ештеңем жоқ.

Әкелер, біз кең байтақ Ресейдің әртүрлі бөліктерінен қолдаушыларды тіркейміз

Адамдар бізге не туралы жазады?
Көп нәрсе. Біз барлық хаттарды оқыдық; Жауапты талап ететін барлық нәрсеге міндетті түрде жауап береміз.
Хаттардың ең жағымды және тәтті түрі - «Мен, Вася Иванов, заңгермін, мен Ижевск қаласында тұрамын, штабымыз ашылғанда маған хабарлаңыз - мен көмектесуге келемін». Біз осындай хаттардың барлығын ризашылықпен қабылдап, оларды арнайы папкаларға саламыз (суретті қараңыз). Ал Ижевскіде штаб ашқанда Вася Ивановқа хат жазып, көмекке шақырамыз.

Сондай-ақ олар былай деп жазады: «Мен, Петя Зайцев, бағдарламашымын, менің сізге аптасына көп сағатым бар». Және бұл әріптерді де арнайы папкаларға саламыз. Сондай-ақ біз барлығын көмектесуге шақырамыз. Хаттар жазыңыз, біз оқимыз!

Ең бастысы: сәл шыдамдылық танытыңыз. Сіз бағыттардың тізімін көрдіңіз. Бұл пілді бөліктерге бөліп жеуге тура келеді. Бізді алда бір жыл жұмыс күтіп тұр. Сіз бір күнде 50 аймақтық штаб ашып, үгіт-насихат материалдарының толық желісін жасай алмайсыз, бағдарламашылар үшін хакатон өткізіп, үгіт-насихат орталығын құра алмайсыз - дегенмен, әрине, сіз мұның бәрін мүмкіндігінше тезірек жасағыңыз келеді. Біз ойластырылған жоспар бойынша кезең-кезеңімен, ай сайын алға жылжитын боламыз, соның аясында бәрі өз уақытында болады. Бірте-бірте өз еркімен көмектесуге ниет білдірген әрбір адам көмектесуге және үлес қосуға нақты мүмкіндік алады

«Әзірше бұл PR оқиғасы»

Оппозицияшы Алексей 2018 жылы өтетін Ресей президентінің сайлауына өзінің кандидатурасын тіркеу үшін қажетті 300 мың қол жинады. Енді оған сайлауға қатысуға рұқсат беріле ме?

«Ресей Федерациясының Президентін сайлау туралы» Заңға сәйкес (№ 19 - 2003 жылғы 10 қаңтардағы Федералдық заң) өзін-өзі ұсынған кандидат (яғни, саяси партиядан ұсынылмаған кандидат) Орталық сайлау комиссиясына сайлаушылардың кемінде 300 мың қолын беруді қамтамасыз етсін, ал әрбір өңірде олардың 7500-ден аспауы тиіс. Технологиялық тұрғыдан Навальный тапсырманы орындады – ол елдің 40-тан кем емес өңірінде 335 782 қол жинағанын хабарлады. Алайда олардың заңды күші жоқ.

Сайлау заңнамасы саласындағы сарапшы Андрей Бузин: «Ұсынылғанға дейін және сайлау есебін ашқанға дейін жиналған қолдар жарамсыз», - деді. Түсіндірейік. Сол «Президент сайлауы туралы» заңға сәйкес кандидатты ұсыну сайлауды тағайындау туралы шешім ресми жарияланған күннен бастап 20 күннен кешіктірілмей жүзеге асырылады. Әзірге олар Қырымның аннексиялануының бір жылдығына, 2018 жылдың 18 наурызына жоспарланған.

Алайда, Конституцияға сәйкес, президенттік сайлауды Федерация Кеңесі дауыс беру күнінен кемінде 100 күн бұрын және 90 күннен кешіктірмей, яғни ағымдағы жылдың желтоқсанында ресми түрде тағайындайды. Сәйкесінше, Алексей Навальный президенттік сайлауға өз кандидатурасын ресми түрде ұсынып, желтоқсан айында ғана қол жинауға кіріседі. Егер саясаткер Федерация Кеңесі сайлауды тағайындайтын күні кандидатурасын ұсыну туралы құжаттарды тапсырса, онда оған қол жинау үшін 55 күннен 45 күнге дейін уақыт беріледі. Осы мерзімде қажетті соманы жинаса, Орталық сайлау комиссиясы олардың растығын тексеріп, кандидат ретінде тіркеу туралы шешім қабылдайды.

Навальныйдың өзі қазір жиналған қолдарды ОСК-ға құжаттарды тапсыру кезінде пайдалануға болмайтынын біледі. Ол өзінің веб-сайтында «X сағатында қажетті мөлшерді тез және тиімді жинау» үшін әрбір қолдың электрондық поштасы, телефон нөмірі және әлеуетті сайлаушының қысқаша сауалнамасы екенін жазды.

Дегенмен Навальныйды кандидат ретінде тіркеу туралы айту әлі ерте. Тіпті президенттік сайлауға өз кандидатурасын ұсына ала ма деген мәселе әлі шешілген жоқ. Кировлес ісі бойынша қайта қаралған сот үкімінен кейін оппозиционер соттың тығырыққа тірелді. Бір жағынан? бас бостандығынан айыру жазасына кесілді, яғни заң бойынша оның сайлауға қатысуға құқығы жоқ. Екінші жағынан, оның Конституциялық сотта заңның бұл нормасын даулау мүмкіндігі әлі де бар.

Экономикалық және саяси реформалар орталығының жетекшісі Николай Миронов Навальный өзінің саяси салмағын көрсету үшін қол жинады және оны болашақта жасай алады деп есептейді.

«Бұл қысым көрсету тәсілі», - деді саясаттанушы. – Бұл әр түрлі әлеуметтік топтарға да, әртүрлі демеушілерге де қолдау көрсету деп ойлаймын. Бірақ біз бұл қолтаңбалардың сапасы туралы ештеңе білмейміз ». Сарапшы қызметі жоғарылаған саясаткер 300 мың қол жинай алатынын, бірақ бұл өте қиын екенін атап өтті. «Бұл оқиға сайлау процесінен тыс болса, ол PR үшін», - дейді саясаттанушы. – Нақты қолдар қашан жиналады, бәрі сайлау комиссияларына байланысты болады. Бір кезеңде ол үзілуі мүмкін, бірақ менің түсінуімше, Навальныйдың сайлауға қатысуының дайын сценарийі жоқ».

Блогерден көңілі қалған функционер штабтағы қиын жағдайды айтты.

Блогердің штаб-пәтерінде Алексей НавальныйОрталық сайлау комиссиясының тыйымына және Конституциялық соттың түсініктемелеріне қарамастан, президенттік науқанға қаражат жинауды жалғастыруда, тағы да түсінбеушілік туындады. Жақында ФБК қызметкері және құқық қорғаушы өзінің Facebook парақшасында наразылық шерулеріндегі басқару дағдарысы туралы жазады. Виталий Серқуанов. Серуканов Навальныйдың командасынан кетуін «өзін-өзі құрметтеу қажеттілігімен» түсіндірді.

Виталий Серкуановтың айтуынша, Навальныйдың штабы қор донорларының талаптарын қанағаттандыра алмайды және аймақтарда жиналған қолдардың статистикасын жариялай алмайды. Белсенділіктің себебі түсінікті: үміткер болу үшін блогерге 250 мың дауыс жетіспейді, бірақ белгіленген мерзімге дейін қажетті қолдаушылар санын алу мүмкін емес іс. Тіркеу үшін ОСК-ға құжаттарды тапсыру мерзімі 2018 жылғы 31 қаңтарда сағат 18:00-де аяқталады. Сондықтан, Серуканов атап өткендей, Навальныйдың командасы тактиканы принцип бойынша өзгертіп жатыр. Никколо Макиавелли«Соңы құралдарды ақтайды». 24 желтоқсандағы рұқсат етілмеген митингілер науқанның сәтсіз аяқталуынан болашақ сайлауға бойкот жариялау кезеңіне өтудің қиын кезеңі ретінде жоспарланған.

«Волков (Навальныйдың аппарат басшысы) қамауға алулар, тұтқындаулар және теріс пиғыл арқылы науқанның сәтсіздігінің себептері туралы сұрақтарға жауап бермеу үшін, ең алдымен тактикалық сұрақтарға жауап бермеу үшін жаңа ештеңе ойлап таппады. Көпшіліктің жанашырлығын оятыңыз, әкімшілік қамауға алумен күресіңіз, ал қарапайым қатысушылар қылмыстық жазаға тартылады», - деп жазады Серуқанов.

Заңгер Илья CraftФБК қызметіне тәуелсіз тергеу жүргізген , түсініктемеде «Саясат бүгін» ақпараттық агенттігіНавальныйдың көңілі қалған жақтастарының саны табиғи түрде артып келе жатқанын атап өтті.

Агенттіктің сұхбатшысы бұрынғы еріктілерді осы санатқа жатқызады Александр ТуровскийЖәне Денис Лебедев. Біріншісі блогердің штаб-пәтеріндегі тінту кезінде жарақаттанған, бірақ Навальный оның атын атаған жоқ. Осыған ұқсас оқиға үш жыл бұрын Лебедевпен болған. Оның аяғы FBK бизнесіне барған сапарларының бірінде сынған, бірақ қор белсендіге оның проблемаларымен айналыспайтынын түсіндірді.

Ремесло Навальныйдың штаб-пәтері жұмсалған қайырымдылықтарды есептей алмайтынын және қажетті қолдарды жинай алмайтынын жақсы түсінетініне сенімді.

«Шын мәнінде қолдау жоқ. Бұл жағдай олардың қарапайым жұмысты ұйымдастыра алмайтынын көрсетеді, себебі бұл адамдар ешқашан еш жерде жұмыс істемеген және адал еңбекпен ақша таппаған. Волков та, Навальный да емес. Сондықтан олар бір-біріне тартылады. Егер оларға қажетті деңгейде қолдау көрсетілсе, халық тоқтаусыз ағылар еді. Волков пен Навальный мүлде талантсыз болса да, біз бұл қолдарды жинадық, бірақ олар да талантсыз және қолдау деңгейі жоқ болғандықтан, біз алғанымызды аламыз», - деп түсіндірді Ремесло.