ลงนามเสนอชื่อนาวาลนี สแกนหนังสือเดินทางของคุณสำหรับลายเซ็นแต่ละฉบับ การซิงโครไนซ์กับฐานข้อมูลอิเล็กทรอนิกส์

บ้าน

คัดลอก iframe Navalny ไม่ได้ลงทะเบียน Sobchak กำลังรวบรวมลายเซ็น และ Vladimir Putin ถึงกับเพิกเฉยต่อกลุ่มความคิดริเริ่มของเขา จนกระทั่งมีการเลือกตั้งประธานาธิบดีในรัสเซียน้อยกว่าสาม

เดือนและก็ชัดเจนอยู่แล้วว่าบัตรลงคะแนนจะเป็นอย่างไร ผู้สมัครชิงตำแหน่งประธานาธิบดี 43 คน ผู้ได้รับการเสนอชื่อเข้าชิงพรรค 18 คน, 25ผู้สมัครที่ได้รับการเสนอชื่อด้วยตนเอง

สำหรับการดำรงตำแหน่งประธานาธิบดีและการไม่มีคู่แข่งทางการเมืองหลักของวลาดิมีร์ปูตินคือนักการเมือง Alexei Navalny ผลลัพธ์ชั่วคราวของการรณรงค์ทางการเมืองครั้งที่ 1 ของรัสเซียที่กำลังเติบโต

ผู้อยู่อาศัยในเซนต์ปีเตอร์สเบิร์ก “ถ้านาวาลนีเข้ารับการรักษาเมื่อวานนี้ฉันจะลงคะแนนให้เขา เพราะเขาไม่ได้รับอนุญาต ฉันไม่รู้ หรือฉันจะไป แต่ตอนนี้ฉัน

ฉันต้องตัดสินใจว่าสำหรับใครไม่เช่นนั้นฉันจะไม่ไป”

“มันคงจะน่าสนใจถ้าเขาเข้าร่วม จะมีโอกาสที่จะแสดงให้ Zhirinovsky เห็นว่าถึงเวลาที่เขาจะต้องจากไป เพราะ Navalny มีโอกาสเป็นที่สอง”

“มีสถานการณ์เป็นสองเท่าที่นี่ เพราะด้านหนึ่งมีกฎหมาย อีกด้านหนึ่ง ทุกคนควรมีโอกาสเท่าเทียมกัน ผมไม่รู้ เอ่อ ผมไม่ชอบ นาวาลนี เลย”

หนึ่งวันก่อน คณะกรรมการการเลือกตั้งกลางของรัสเซีย ปฏิเสธที่จะลงทะเบียน Navalny เป็นผู้สมัครชิงตำแหน่งประธานาธิบดีอย่างเป็นทางการ ตามที่คณะกรรมการการเลือกตั้งกลางระบุว่า นักการเมืองไม่มีสิทธิ์ลงสมัครรับตำแหน่ง เนื่องจากมีประวัติอาชญากรรมในคดีคิรอฟเลส หลังจากการปฏิเสธของคณะกรรมการการเลือกตั้งกลาง นาวาลนีเรียกร้องให้ผู้สนับสนุนคว่ำบาตรการเลือกตั้งในเดือนมีนาคม “การตัดสินใจของคณะกรรมการการเลือกตั้งกลางไม่ให้ผมเข้าร่วมการเลือกตั้ง จะตัดคนหลายล้านคนออกจากการเลือกตั้งครั้งนี้ จะตัดคนหลายล้านคนจากระบบการเมือง

เพราะจะไม่เปิดโอกาสให้พวกเขามีส่วนร่วมในการเลือกตั้งเลยและการตัดสินใจของคุณเกี่ยวกับเรื่องนี้อย่างแม่นยำ” อเล็กซี่ นาวาลนี กล่าว

ในทางกลับกัน Ksenia Sobchak ผู้จัดรายการโทรทัศน์ Dozhd ได้รับการลงทะเบียนแล้ว มันมาจากพรรค Civil Initiative ซึ่งไม่มีที่นั่งใน State Duma ดังนั้นจึงต้องรวบรวมลายเซ็นอย่างน้อย 100,000 ลายเซ็นเพื่อสนับสนุนภายในวันที่ 7 มกราคม สบชักเชิญนาวาลนีมาเป็นคนสนิทแล้ว

สำหรับผู้สมัครหลักและประธานาธิบดีคนปัจจุบัน วลาดิมีร์ ปูติน ไม่ได้เข้าร่วมการประชุมของกลุ่มริเริ่มของเขาด้วยซ้ำ เปสคอฟ โฆษกสื่อของปูตินกล่าวถึงตารางงานที่ยุ่งของประธานาธิบดี และเขากล่าวว่าการเรียกร้องของนาวาลนีให้คว่ำบาตร “จำเป็นต้องได้รับการศึกษาเพื่อให้สอดคล้องกับกฎหมาย”

ในเวลาเดียวกัน ผู้เชี่ยวชาญไม่เห็นความเป็นไปได้ที่จะมีการประท้วงในวงกว้าง ผลลัพธ์ที่ได้ถูกกำหนดไว้ล่วงหน้าแล้ว Alexander Konfisakhor กล่าว

“เราคาดหวังว่าใครก็ตามที่ชนะก็จะเป็นผู้ชนะ เราจินตนาการว่าเขาจะได้รับผลลัพธ์อย่างไรในการเลือกตั้งครั้งนี้ นั่นคือจะไม่มีความไม่ลงรอยกันระหว่างสิ่งที่คาดหวังกับสิ่งที่จะเกิดขึ้นในความเป็นจริง และเป็นเรื่องยากมากที่จะเลี้ยงดูผู้คนให้ประท้วงเมื่อไม่มีเหตุผลหรือเหตุผลที่จะประท้วง” อเล็กซานเดอร์ คอนฟิซาฮอร์ รองศาสตราจารย์ภาควิชาจิตวิทยาการเมือง มหาวิทยาลัยแห่งรัฐเซนต์ปีเตอร์สเบิร์ก กล่าว

Pavel Grudinin บล็อกเกอร์และนักธุรกิจลงสมัครรับการเลือกตั้งในรัสเซียจากพรรคคอมมิวนิสต์ ฝ่าย LDPR และ Yabloko ตัดสินใจที่จะไม่เปลี่ยนม้าที่ทางแยก Zhirinovsky และ Yavlinsky มาจากพวกเขา แต่ถึงแม้จะมีผู้สมัครชิงตำแหน่งประธานาธิบดีเกือบห้าสิบคน แต่ประธานาธิบดีฝรั่งเศสรายนี้ก็ได้วางแผนการประชุมกับปูตินแล้ว ซึ่งจะจัดขึ้นหลังการเลือกตั้งที่ประกาศในวันที่ 18 มีนาคม

​แคมเปญ +1 เรารวบรวม 1,000,000 ลายเซ็น

เพื่อรวบรวมลายเซ็นจำนวน 300,000 ลายเซ็นที่จำเป็นในการเสนอชื่อผู้สมัคร การเลือกตั้งประธานาธิบดีในปี 2018 เราใช้เวลา 4 เดือน ของเรา เป้าหมายใหม่- หนึ่งล้าน และเรากำลังเปิดตัวแคมเปญ "+1"

ตามกฎหมายของสหพันธรัฐรัสเซีย ในการลงทะเบียนเป็นผู้สมัครชิงตำแหน่งประธานาธิบดี ผู้สมัครจะต้องจัดเตรียมลายเซ็นที่ได้รับการยืนยันจำนวน 300,000 ลายเซ็นให้กับคณะกรรมการการเลือกตั้งกลาง ซึ่งจะต้องรวบรวมอย่างรวดเร็ว ระยะสั้น- จะมีการจัดสรรเวลาให้รวบรวมเพียง 40 วันเท่านั้น และในกรณีของเรา - น้อยกว่านั้นด้วยซ้ำ เพราะ 40 วันนี้ตรงกับ วันหยุดปีใหม่- อันที่จริงนี่เป็นอุปสรรคเทียมอีกอย่างหนึ่งที่เจ้าหน้าที่สร้างขึ้น นอกจากนี้ จะต้องรวบรวมลายเซ็นใน 40 ภูมิภาคของประเทศ - ไม่เกิน 7,500 ลายเซ็นจากแต่ละหัวข้อของสหพันธรัฐรัสเซีย


รูปถ่าย: Evgeny Feldman

เพื่อที่จะส่งเงินจำนวน 300,000 ลายเซ็นไปยัง CEC ได้ทันเวลา เราต้องทราบว่าในทุกภูมิภาคที่จะเปิดสำนักงานใหญ่ของเรา เราสามารถนับลายเซ็นได้ 7,500 ลายเซ็น และจะถูกรวบรวมตรงเวลาและปฏิบัติตามขั้นตอนอย่างสมบูรณ์

ผู้สมัครเหล่านั้นที่เครมลินต้องการเห็นในการเลือกตั้งจะต้องตัดกระดาษเป็นลายเซ็น เราได้เห็นสิ่งนี้มากกว่าหนึ่งครั้ง ลายเซ็นของเราจะถูกมองด้วยกล้องจุลทรรศน์

อเล็กเซย์ นาวาลนี่


รูปถ่าย: Evgeny Feldman

เป็นไปได้มากว่า CEC จะศึกษาลายเซ็นที่ส่งมาโดยสำนักงานใหญ่ของ Navalny อย่างระมัดระวังเป็นพิเศษ ดังนั้นเราจึงต้องประกันตัวเองให้มากที่สุดเท่าที่จะเป็นไปได้และรวบรวมมากกว่าที่กำหนดไว้ในระเบียบการ เรากำลังรวบรวมไม่เพียงแต่ที่อยู่อีเมลเท่านั้น แต่ยังรวมถึงหมายเลขโทรศัพท์และโปรไฟล์โดยย่อของทุกคนที่พร้อมจะสนับสนุนการเสนอชื่อ Alexei Navalny สิ่งนี้ทำเพื่อให้เรารู้ได้อย่างแน่ชัดว่าผู้สนับสนุนของเราอยู่ในภูมิภาคใดและมีกี่คน

มีคนมากมายรอบตัวคุณที่ต้องการสนับสนุนผู้สมัครฝ่ายค้านอิสระ อย่างน้อยก็ด้วยเหตุผลการแข่งขันในการเลือกตั้ง แม้แต่ชาวซัปูตินยังสนับสนุนการแข่งขันและต้องการเห็นผู้สมัครอิสระลงคะแนนเสียง

อเล็กเซย์ นาวาลนี่


เป้าหมายต่อไปของเราคือหนึ่งล้านลายเซ็น ซึ่งจะรับประกันว่าเราจะครบ 300,000 ลายเซ็นที่เราต้องการในสิ้นปีนี้ ในการทำเช่นนี้ เรากำลังเปิดตัวแคมเปญ "+1" และเรียกร้องให้ทุกคนที่ได้ลงทะเบียนบนเว็บไซต์แล้วโน้มน้าวให้มีคนลงทะเบียนเพิ่มอีกอย่างน้อยหนึ่งคน หรือดีกว่านั้นคือสองหรือห้า - แล้วจึงจะบรรลุล้านที่ต้องการภายในฤดูร้อน

ตอนนี้เราต้องการความช่วยเหลือจากคุณจริงๆ โปรดสละเวลาสัก 10-15 นาทีและสนับสนุนให้เพื่อน ญาติ หรือเพื่อนร่วมงานคนใดคนหนึ่งของคุณลงนาม


รูปถ่าย: Evgeny Feldman

เขียนจดหมายหรือข้อความถึงเพื่อนหลายคนบนโซเชียลเน็ตเวิร์ก:
"สวัสดี. ฉันลงนามเสนอชื่อนาวาลนีเป็นผู้สมัคร คุณช่วยโพสต์มันด้วยได้ไหม? มันจะถูกต้อง"

อเล็กเซย์ นาวาลนี่

ผู้ที่ลงทะเบียนแล้วจำนวน 385,531 คนถือเป็นกำลังที่น่าเกรงขาม มาใช้ประโยชน์สูงสุดกันเถอะ เข้าร่วมแคมเปญ "+1"

เซนต์ปีเตอร์สเบิร์ก ทุ่งดาวอังคาร 17 ธันวาคม 2560 มีผู้โหวต 1,797 คนเสนอชื่อนาวัลนีเป็นผู้สมัครชิงตำแหน่งประธานาธิบดีแห่งสหพันธรัฐรัสเซียในเมืองหลวงทางตอนเหนือ รูปถ่าย: ทวิตเตอร์ / @teamnavalny

การรวบรวมลายเซ็นเพื่อเสนอชื่อ Alexei Navalny ให้ดำรงตำแหน่งประธานาธิบดีเกิดขึ้นในเซนต์ปีเตอร์สเบิร์กบน Field of Mars แม้จะมีลมพายุพัดมาจากเนวา แต่ภายในหนึ่งชั่วโมงครึ่ง ผู้คนประมาณสองพันคนยืนเข้าแถวอย่างอดทน โหวตให้นักการเมืองฝ่ายค้าน ตามกฎหมายแล้ว มีเพียง 500 ลายเซ็นก็เพียงพอแล้ว ดังนั้นจึงเกินบรรทัดฐานเกือบสี่ครั้ง

ในใจกลางของ Champ de Mars สหายคงที่ของการกระทำต่อต้านทั้งหมดในเซนต์ปีเตอร์สเบิร์กรวมตัวกัน - Nodovites ผู้ร่าเริงคลี่แบนเนอร์แถบสีดำและสีส้มแล้วเปิดใช้งานผ่านเครื่องขยายเสียง เพลงรักชาติ- ด้วยเสียงคำรามของ "ลุกขึ้น ประเทศอันกว้างใหญ่..." ผู้สนับสนุนของ Navalny แห่กันไปที่โต๊ะที่กระจัดกระจายไปทั่วสนาม

พลเมืองที่ถูกแช่แข็งรวมตัวกันใกล้ Eternal Flame และหารือเกี่ยวกับสิ่งที่เกิดขึ้น มีคนตีพิมพ์คำสัญญาการเลือกตั้งของปูตินในปี 2543 และอ่านประเด็นต่างๆ มากมายเกี่ยวกับระยะห่างระหว่างอำนาจและธุรกิจ เกี่ยวกับเสรีภาพของสื่อ... “เขาลืมสิ่งที่เขาสัญญาไว้หรือเปล่า?” - เสียงของหญิงสาวไร้เดียงสาจมอยู่ในเสียงหัวเราะโดยทั่วไป

“ด้วยเหตุผลบางอย่าง เราไม่เห็นทนายความที่นี่! - แสดงความคิดเห็นกับนักข่าวด้วยความประหลาดใจ นทเหตุการณ์ใน Champ de Mars Oleg Zatsepa ซึ่งเป็นสมาชิกผู้ลงคะแนนเสียงของคณะกรรมการการเลือกตั้งประจำเมือง “ผู้จัดงานอ้างว่าเขาจะดำเนินการในภายหลังหลังจากข้อเท็จจริง แต่นี่ไม่ใช่ข้อเท็จจริง!”

“ทนายความสามารถอนุมัติรายชื่อผ่านวิดีโอได้” เดนิส มิคาอิลอฟ หัวหน้าสำนักงานใหญ่ของ Navalny ในเซนต์ปีเตอร์สเบิร์ก อธิบายสถานการณ์ดังกล่าว - กฎหมายไม่จำเป็นต้องมีทนายความอยู่ที่นี่ เขาสามารถรับรองโดยใช้วิดีโอโปรโตคอลที่เราทำ นอกจากนี้เรายังจะรับรองเอกสารการลงทะเบียนและส่งไปยัง CEC และเพื่อนำทนายความมาที่นี่ (คุณต้องการ) หนึ่งล้านครึ่ง (รูเบิล) เราไม่มีเงินทุนดังกล่าว”

พอถึงเวลาเที่ยงก็มีเสียงปืนใหญ่ดังขึ้น ป้อมปีเตอร์และพอลมีคนจำนวนมากที่เต็มใจเซ็นสัญญากับนาวาลนีจนแถวยาวเหยียดยาวบนโต๊ะพร้อมเอกสาร

“สำหรับฉันดูเหมือนว่าหากนาวาลนีได้รับอนุญาตให้ออกโทรทัศน์เป็นเวลาหนึ่งเดือน ปูตินก็คงตามเขาไม่ทัน เพราะเราไม่ไว้วางใจประธานาธิบดี!”

“มีผู้ใหญ่จำนวนมากที่นี่ ไม่ใช่แค่คนหนุ่มสาว แต่เป็นเพียงคนหนุ่มสาวที่ว่องไวกว่า” ชาห์นาซวัย 54 ปีอธิบายการมีส่วนร่วมของเธอในการดำเนินการนี้ - ปูตินจะมาอีก 6 ปี - และจะเกิดอะไรขึ้นหลังจากเขา? ประธานาธิบดีที่ตามมาจะโชคไม่ดี - ทุกอย่างพังทลาย! ลูกสาวของฉันกำลังเรียนอยู่ในวิทยาลัยเธอบอกว่าพวกเขารณรงค์ต่อต้าน Navalny ในวิทยาลัยอย่างไรเธอพูดว่า - แม่เรายังเข้าใจทุกอย่าง! สำหรับฉันดูเหมือนว่าหาก Navalny ได้รับอนุญาตให้ออกโทรทัศน์เป็นเวลาหนึ่งเดือนปูตินก็คงตามเขาไม่ทัน เพราะเราไม่ไว้วางใจประธานาธิบดี!”

ผู้ที่ลงทะเบียนทั้งหมดจะถูกจัดเป็น 50 คอลัมน์ กลุ่มละประมาณ 40 คน และเข้าแถวด้านหน้า คอมเพล็กซ์อนุสรณ์สำหรับการนับคะแนนเสียง

“ท่านสุภาพบุรุษ ยกไพ่ของคุณขึ้นมาหากคุณต้องการเสนอชื่ออเล็กเซ นาวาลนีเป็นผู้สมัครชิงตำแหน่งประธานาธิบดี!” - มิคาอิลอฟพูดกับผู้ชม ป่าใบไม้สีแดงปลิวไปเหนือทุ่งนา มี "ต่อต้าน" หรือไม่? - ใบแดงใบหนึ่งปรากฏที่บริเวณรอบนอกฝูงชน “งด?” มีผู้โหวตให้ Navalny 1,797 คน Fontanka.ru รายงานในภายหลัง

“ดังนั้น นาวาลนีจึงโทรมา ปริมาณที่ต้องการโหวต! -กล่าวหัวหน้าสำนักงานใหญ่และปิดการประชุม ตำรวจซึ่งถูกรวมกลุ่มกันที่ด้านข้างของ Champ de Mars ตลอดการประท้วง ได้เดินกลับไปที่รถของพวกเขา

Yekaterinburg: ผู้แจ้งต่อต้าน Navalny นักเรียนมีไว้สำหรับ


เอคาเทอรินเบิร์ก 24 ธันวาคม 2560รูปถ่าย: ทวิตเตอร์ / @teamnavalny_ekb

ก่อนเริ่มการประชุมครึ่งชั่วโมง ผู้คนจำนวนมากมารวมตัวกันที่ไซต์ใกล้กับอนุสาวรีย์ของบิดาผู้ก่อตั้งเยคาเตรินเบิร์กในใจกลางเมือง คนวัยกลางคน ผู้รับบำนาญ แต่คนหนุ่มสาวจำนวนมากขึ้นเรื่อยๆ หลั่งไหลเข้ามาในพื้นที่ที่ล้อมรอบด้วยรั้วเล็กๆ ผ่านการตรวจค้นของตำรวจที่ทางเข้า “คราวนี้ตำรวจไม่เยอะนัก” หนึ่งในนั้นตั้งข้อสังเกต - ใน ครั้งสุดท้าย“เราตามทันผู้คนได้มากกว่านี้มาก แต่มีผู้เข้าร่วมการชุมนุมทั้งหมดเป็นร้อยคน”

แท้จริงแล้วมีเจ้าหน้าที่บังคับใช้กฎหมายค่อนข้างน้อยและค่อนข้างเป็นมิตร ผู้เข้าร่วมประชุมก็เช่นกัน เมื่อพวกเขาพยายามตรวจสอบเขาอีกครั้งโดยไม่ได้ตั้งใจ มีชายชราเพียงคนเดียว ก็เริ่มสาบาน เขย่าหมัดใส่ตำรวจ และถามอย่างข่มขู่ว่า “อะไรนะ? คุณต้องการรับตราใหม่หรือไม่” ในไม่ช้าความกระตือรือร้นในการปฏิวัติของชายผู้นั้นก็จางหายไปในบรรยากาศที่เป็นกันเองของการประชุม - หลายคนที่นี่ได้พบกับคนรู้จักและเพื่อนฝูงบางคนมากับครอบครัว

ชาวเมืองเยคาเตรินเบิร์กบางคนไม่กลัวที่จะพาลูกๆ มาประชุม และนี่คือช่วงหลังเดือนตุลาคม เมื่อมีผู้คนสามสิบคนเข้าร่วมการชุมนุมเพื่อ Navalny อย่างไรก็ตาม การดำเนินการดังกล่าวไม่ได้รับการอนุมัติจากทางการ แต่ตอนนี้กำลังได้รับการตรวจสอบไม่เพียงแต่โดยตำรวจเท่านั้น แต่ยังรวมถึงพนักงานของคณะกรรมการการเลือกตั้งระดับภูมิภาค Sverdlovsk ด้วย พวกเขานับจำนวนขาเข้าและจะตรวจสอบให้แน่ใจในภายหลังว่าขั้นตอนดำเนินไปอย่างราบรื่น

“ที่ Russian State University of Psychology and Education นักศึกษารุ่นพี่คนหนึ่งได้รวบรวมรายชื่อนักศึกษาทุกคนสำหรับ Navalny และนำไปที่ห้องทำงานของคณบดี ของจริงปี 1937!”

ผู้คนยังคงเดินทางมาถึง รองผู้ว่าการเสรีนิยมของเมือง Dmitry Golovin สมาชิกของคณะกรรมการติดตามสาธารณะของภูมิภาค Sverdlovsk Vyacheslav Bashkov และ "ความโดดเด่นสีเทา" ของฝ่ายค้าน Ural นักวิทยาศาสตร์ทางการเมือง Fyodor Krasheninnikov มาเพื่อสนับสนุนผู้สมัครของพวกเขา อาสาสมัครแจกเอกสารลงทะเบียน ซึ่งคุณต้องระบุรายละเอียดหนังสือเดินทางและลงชื่อ รวมถึงเอกสารมอบอำนาจ - ต้องใช้สี่เหลี่ยมสีแดงในการลงคะแนนเสียง

ใต้อนุสาวรีย์ของบรรพบุรุษผู้ก่อตั้ง ชายชราเล่าเรื่องราวให้ความรู้แก่คนหนุ่มสาวสองคนว่าสองวันก่อนการเลือกตั้งนายกเทศมนตรีเมืองเยคาเตรินเบิร์ก เขาตัดสินใจไม่ลงคะแนนให้ Roizman เพราะเขา "จะไม่ผ่านอยู่ดี" และเมื่อ “ผู้สมัครของประชาชน” และนักสู้ต่อต้านการค้ายาเสพติดได้รับชัยชนะสำหรับทุกคนโดยไม่คาดคิด เขาก็พิจารณาจุดยืนของเขาอีกครั้ง และตอนนี้เชื่อว่านาวาลนีก็มีโอกาสเช่นกัน เพื่อเป็นการตอบสนอง นักเรียนแบ่งปันเรื่องราวของตนเอง: "ที่ RSUPU ของเรา นักเรียนรุ่นพี่คนหนึ่งได้จัดทำรายชื่อนักเรียนทั้งหมดที่อยู่สำหรับ Navalny และนำไปที่ห้องทำงานของคณบดี ของจริงปี 1937!”

ในที่สุด เอกสารต่างๆ จะถูกกรอกและแจกจ่ายเอกสารต่างๆ ในกรณีที่ผู้จัดงานไม่ได้นำบัตรลงคะแนนมา 500 ใบ แต่มีบัตรลงคะแนน 1,000 ใบ - พวกเขาแยกออกทั้งหมดดังนั้นผู้ที่มาสายจึงต้องถูกปฏิเสธ วาระการประชุมมีคำถามสี่ข้อ: เราควรพิจารณาให้เปิดการประชุม, เราควรประกาศการจัดตั้งกลุ่มความคิดริเริ่มเพื่อเสนอชื่อ Navalny, เราควรเสนอชื่อเขา, ในที่สุดเราควรปิดการประชุมหรือไม่?

ผู้คนกว่า 950 คนตอบคำถามเชิงบวกด้วยการโบกใบแดง (เห็นได้ชัดว่าผู้ชมบางส่วนหลุดออกจากงานเนื่องจากอากาศหนาว) บาร์มิน ผู้จัดการประชุมกำลังจะประกาศผล แต่แล้วเขาก็ตระหนักได้ว่า อาจมีบางคนคัดค้านใช่ไหม? ใครงด? ไม่มีเลย โฟร์ตอบว่า “ไม่” เฉพาะคำถามสุดท้าย – เรื่องการปิดประชุม

หนึ่งชั่วโมงหลังจากเริ่มอย่างเป็นทางการ ผู้คนเริ่มแยกย้ายกัน กกต.ไม่มีความเห็น เหตุการณ์ดังกล่าวเกิดขึ้นและจบลงอย่างสงบ ไม่มีการปะทะกันหรือยั่วยุ ผู้เข้าร่วมประชุมคาดหวังว่าจะได้รับเชิญอีกครั้งให้ทิ้งรายละเอียดหนังสือเดินทางและลายเซ็นไว้เมื่อการรณรงค์หาเสียงของนาวาลนีเริ่มการหาเสียงเลือกตั้ง


วลาดิวอสต็อก 24 ธันวาคม 2561 รูปถ่าย: 2018.navalny.com / Anton Lavrusyuk


ระดับการใช้งาน 24 ธันวาคม 2018 รูปถ่าย: 2018.navalny.com / Valery Avramenko


ตูย์เมน 24 ธันวาคม 2018 รูปถ่าย: 2018.navalny.com / Sergey Sysoev



เชเลียบินสค์ 24 ธันวาคม 2561 รูปถ่าย: 2018.navalny.com / Andrey Abramov


รอสตอฟ ออนดอน 24 ธันวาคม 2018 รูปถ่าย: 2018.navalny.com / Vladislav Kulchitsky


โวลโกกราด 24 ธันวาคม 2561 รูปถ่าย: 2018.navalny.com / Alexey Kopaev

ใบสมัครสมาชิกเป็นเอกสารหลักในระบบของเรา สิ่งแรกที่คุณต้องการทำเมื่อทำงานกับคอลเลกชันออบเจ็กต์จำนวนมากคือการกำหนดตัวระบุที่ไม่ซ้ำกันให้กับพวกเขาเพื่อเชื่อมโยงแต่ละออบเจ็กต์กับบันทึกในฐานข้อมูล แต่รูปแบบของเอกสารลายเซ็นนั้นถูกกำหนดโดยกฎหมายอย่างเคร่งครัด; การละเมิดใด ๆ ที่เป็นเหตุผลในการปฏิเสธลายเซ็นของผู้สมัครทั้งหมด ไม่อนุญาตให้มีเครื่องหมายหรือสัญลักษณ์ที่ไม่จำเป็นบนเอกสารที่ส่งไปยังคณะกรรมการการเลือกตั้ง

เมื่อรวบรวมลายเซ็นในโนโวซีบีร์สค์ เราวางแต่ละแผ่นงานไว้ใน multifora ("ไฟล์โปร่งใส") ซึ่งรหัสแผ่นงานและบันทึกการบริการทั้งหมดถูกเขียนด้วยเครื่องหมาย วิธีนี้ใช้ได้กับสี่พันแผ่น แต่จะใช้กับหลายแสนแผ่นไม่ได้ ครั้งนี้เราถือว่าการใช้ multifors เป็นวิธีแก้ปัญหาที่ไม่น่าเชื่อถือและไม่สะดวก

ทนายความคิดค้นวิธีการที่ช่วยให้เราสามารถระบุเอกสารแต่ละฉบับได้โดยไม่กระทบต่อรูปแบบของเอกสารลายเซ็น กฎหมายไม่ได้พูดอะไรเกี่ยวกับขนาดทางกายภาพของใบสมัครสมาชิก สิ่งนี้ช่วยให้เราสามารถออกแบบแผ่นงานโดยให้รหัสประจำตัวถูกนำไปใช้กับด้านบน และถูกตัดออกก่อนที่จะส่งไปยังคณะกรรมการการเลือกตั้ง

รหัสแผ่นงานประกอบด้วยอักขระ 6 ตัว คุณสามารถใช้ตัวเลขและตัวอักษรละตินที่มีภาพอะนาล็อกในภาษาซีริลลิก (ในรูปแบบที่คุณสามารถเขียนในรูปแบบใดก็ได้) เพื่อความสะดวก เราได้เพิ่มตัวคั่น: 91−X7−BA

ตัวระบุเดียวกันจะถูกพิมพ์เป็นรหัส QR เพื่อการจดจำอัตโนมัติในขั้นตอนต่างๆ ของการทำงาน รหัส QR มีประสิทธิภาพเหนือกว่าบาร์โค้ดประเภทอื่นๆ ทั้งหมดในแง่ของความน่าเชื่อถือและความเร็วในการจดจำ

ชีวิตของสำนักงานใหญ่เต็มไปด้วยความยากลำบาก ดังนั้นรหัส QR จึงได้รับการทดสอบอย่างรอบคอบในสถานการณ์ที่ตึงเครียดต่างๆ สำหรับชีต...

... และตัดสินใจว่ารหัสสามรหัสจะเพียงพอที่จะประมวลผลใบไม้ที่มีชีวิตใดๆ

ทนายความและนักออกแบบทำงานอย่างหนักเพื่อให้แน่ใจว่าเลย์เอาต์เป็นไปตามกฎหมายและ สามัญสำนึก- จำนวนลายเซ็นบนแผ่นงานได้รับการทดสอบแยกกัน ลายเซ็นน้อย - แผ่นงานมากเกินไป มีการเขียนที่ไม่จำเป็นจำนวนมาก (ข้อมูลจากผู้รวบรวมและตัวแทนที่ได้รับอนุญาต) ข้อผิดพลาดในการรับรองมากขึ้น มีลายเซ็นหลายลายเซ็น - การป้อนข้อมูลผู้มีสิทธิเลือกตั้งไม่สะดวกและมีข้อผิดพลาดมากขึ้นในบรรทัดลายเซ็น หลังจากทดลองกับต้นแบบแล้ว เราก็ตัดสินใจเลือกลายเซ็นห้าแบบ

แต่ละแผ่นงาน (หรือตัวระบุแผ่นงานที่แม่นยำยิ่งขึ้น) ​​จะถูกสร้างขึ้นในฐานข้อมูลหลังจากนั้นจึงสามารถพิมพ์ลงบนกระดาษ A4 ได้ แต่คุณไม่สามารถหยิบกระดาษมาพิมพ์บนเครื่องพิมพ์ที่ใกล้ที่สุดได้ ตามกฎหมาย การผลิตเอกสารลายเซ็นต้องชำระจากบัญชีการเลือกตั้งของผู้สมัคร มักผลิตโดยผู้รับเหมาภายนอก ดังนั้นเราจึงทำ ด้านเทคนิคเป็นมิตรและยืดหยุ่นมากที่สุด แผ่นงานจะถูกพิมพ์โดยตรงจากเบราว์เซอร์ หรือบันทึกล่วงหน้าเป็นไฟล์ PDF หลายหน้า ซึ่งสามารถส่งไปยังผู้รับเหมาด้วยวิธีที่สะดวก

Sych: การเตรียมการรวบรวมลายเซ็น

การรวบรวมลายเซ็นทางกายภาพในเอกสารลายเซ็นสามารถเริ่มได้หลังจากมีการเสนอชื่อผู้สมัครและเปิดบัญชีการเลือกตั้งพิเศษแล้วเท่านั้น กฎหมายอนุญาตให้มีเวลาน้อยมากในเรื่องนี้ มันเป็นสิ่งสำคัญสำหรับเราที่จะ การดำเนินงานเพิ่มเติมดำเนินการล่วงหน้าเพื่อแก้ไขข้อบกพร่องทุกกระบวนการและหลังจากประกาศการเลือกตั้งอย่างเป็นทางการแล้วให้เร่งดำเนินการให้มากที่สุด ในการตรวจสอบข้อมูลเบื้องต้นของผู้สนับสนุนของเรา ฝึกอบรมสำนักงานใหญ่ และทดสอบกลไกการรวบรวม เราได้เริ่มขั้นตอนการตรวจสอบ

การยืนยันเป็นการรวบรวมลายเซ็นเวอร์ชันเบต้า: ในสำนักงานใหญ่จริงด้วยอุปกรณ์เดียวกัน โดยมีการตรวจสอบเอกสารที่เข้มงวดเหมือนกัน แต่ไม่ต้องใส่ลายเซ็นลงบนแผ่นกระดาษ แอปพลิเคชัน Sych ได้รับการพัฒนาให้ทำงานกับข้อมูลของบุคคลที่ได้รับการยืนยัน

องค์ประกอบของ Sych

แบ็กเอนด์ด้วย RESTful API: Python 3.6, aiohttp, aiohttp_admin, SQLAlchemy
ฐานข้อมูล: PostgreSQL, Redis
ภูตการแจ้งเตือน
ปีศาจจำหมายเลขหนังสือเดินทาง
Daemon สำหรับการสร้างการวิเคราะห์
บริการตรวจหนังสือเดินทางตามหมายเลข
Kladr-API เวอร์ชันชนิดบรรจุกล่องสำหรับการทำงานกับที่อยู่ (PHP 5.6 + MongoDB)

เราตัดสินใจสร้างแบ็กเอนด์แยกต่างหากสำหรับ Sych ด้วย RESTful API เนื่องจากเราวางแผนที่จะรวมเข้ากับบริการต่างๆ มากมาย รวมถึงเว็บไซต์ Navalny 20!8 ฐานข้อมูล PostgreSQL และ Redis แยกต่างหากถูกใช้เป็นที่เก็บข้อมูลสำหรับแคช ในการจัดการผู้ใช้ มีการใช้ไลบรารี aiohttp_admin ซึ่งเราได้แก้ไขให้เหมาะกับความต้องการของเรา

อินเทอร์เฟซภายในของผู้ให้บริการเป็นรูปแบบการสแกนหนังสือเดินทางและกรอกข้อมูลส่วนบุคคลแบบทีละขั้นตอน เพราะการ ปริมาณมากสถานะที่เป็นไปได้ แบบฟอร์มนี้เขียนด้วย React

การโต้ตอบกับเว็บไซต์ Navalny 20!8 ดำเนินการผ่าน API ซึ่งได้รับการป้องกันด้วยโทเค็นและสามารถเข้าถึงได้ผ่านทางเท่านั้น เครือข่ายท้องถิ่นระหว่างเครื่องเสมือน

ลงทะเบียนเพื่อรับการยืนยัน

เพื่อกระจายภาระงานในสำนักงานใหญ่อย่างสม่ำเสมอ พวกเขาจึงได้นัดหมายเพื่อตรวจสอบ หลังจากลงทะเบียนบนเว็บไซต์ บุคคลจะสามารถเข้าถึงอินเทอร์เฟซการบันทึก ซึ่งเขาเลือกสำนักงานใหญ่และเวลาที่สะดวก

เพื่อควบคุมปริมาณงาน จัดการบันทึกและกำหนดการ เราได้พัฒนาอินเทอร์เฟซแยกต่างหากสำหรับผู้จัดการระดับภูมิภาคและผู้ประสานงานสำนักงานใหญ่:

หากสำนักงานใหญ่มีเหตุฉุกเฉิน ผู้ประสานงานสามารถยกเลิกการนัดหมายการตรวจสอบในอนาคตพร้อมกันได้ อย่างไรก็ตาม เขาไม่สามารถทำได้ด้วยตัวเอง - เขาต้องขอรหัสยืนยันการยกเลิกจากผู้จัดการภูมิภาค เราต้องใช้ตัวเลือกนี้หลายครั้ง

การแจ้งเตือน

ระบบการแจ้งเตือนแบบแยกสาขาถูกนำมาใช้ใน Sych ผู้ลงนามควรได้รับการแจ้งเตือนทางไปรษณีย์เมื่อเขาลงทะเบียนเพื่อรับการยืนยัน พลาดการนัดหมาย หนึ่งสัปดาห์หลังจากยกเลิกการนัดหมาย หลังจากการตรวจสอบสำเร็จ หลังจากยกเลิกการนัดหมายโดยสำนักงานใหญ่ และในอีกไม่กี่กรณี

SMS แจ้งเตือนการนัดหมายล่วงหน้า 3 ชั่วโมง และแจ้งว่าสำนักงานใหญ่ได้ยกเลิกการนัดหมายแล้ว คิวการแจ้งเตือนถูกสร้างขึ้นตามหลักการเดียวกันกับบนเว็บไซต์ Navalny 20!8: ตารางในฐานข้อมูลพร้อมข้อความที่ส่งเป็นกลุ่มผ่านเกตเวย์เมลและ SMS

การรับรู้ข้อมูลหนังสือเดินทาง

เพื่อประเมินการทำงานของผู้ปฏิบัติงานและกำหนดเปอร์เซ็นต์ของข้อผิดพลาดเมื่อป้อนข้อมูล เราต้องการให้มีการจดจำการสแกนเพิ่มเติม การจดจำอัตโนมัติที่เชื่อถือได้นั้นเป็นไปไม่ได้เนื่องจากความแปรปรวนของหนังสือเดินทาง จึงมีการพิจารณาสองทางเลือก: การส่งสแกนไปยัง Yandex.Toloka เพื่อให้ผู้ใช้สามารถจดจำได้ หรือการจ้างกลุ่มอาสาสมัครที่จะทำสิ่งนี้ในสำนักงาน แต่ปัญหาความปลอดภัยของข้อมูลส่วนบุคคลได้หยุดทั้งสองตัวเลือก และเราเหลือการจดจำอัตโนมัติไว้เฉพาะหมายเลขหนังสือเดินทางเท่านั้น

การวิเคราะห์ Sycha

ในระหว่างการตรวจสอบ เราไม่เพียงแต่ชี้แจงและตรวจสอบฐานผู้สนับสนุนของเราเท่านั้น แต่ยังทดสอบการทำงานของสำนักงานใหญ่ โครงสร้างพื้นฐาน อุปกรณ์ และกลไกในการรวบรวมลายเซ็นอีกด้วย เพื่อติดตามกระบวนการและแก้ไข เราได้ทำการวิเคราะห์ง่ายๆ

เนื่องจากสำนักงานใหญ่มีการจัดการกระบวนการสามระดับ - ผู้ประสานงานสำนักงานใหญ่ (รับผิดชอบงานของสำนักงานใหญ่แห่งเดียว) ผู้จัดการระดับภูมิภาค (ตรวจสอบกลุ่มสำนักงานใหญ่ในหลายภูมิภาค) และการจัดการสำนักงานใหญ่ของรัฐบาลกลาง (ตรวจสอบทุกอย่างและทุกคน) ระบบจึงจัดกลุ่มข้อมูล ในรูปแบบที่แตกต่างกันสำหรับผู้ใช้แต่ละประเภท

เราแสดงรายละเอียดส่วนใหญ่ให้ผู้ประสานงานสำนักงานใหญ่เห็น เขาเห็นสถิติของผู้ปฏิบัติงานทั้งหมดและการเปลี่ยนแปลงของตัวชี้วัดหลัก และสามารถตัดสินใจด้านการจัดการโดยพิจารณาจากสถิติเหล่านั้น เช่น ปรับใช้ผู้ปฏิบัติงานมากขึ้นหรือน้อยลง เพิ่มการแจ้งเตือน เปลี่ยนตารางการทำงานในวันหยุดสุดสัปดาห์ ไล่ออกหรือฝึกอบรมพนักงานที่มักจะทำผิดพลาด ฯลฯ

เราละเว้นรายละเอียดที่ไม่จำเป็นของผู้จัดการระดับภูมิภาค และในหน้าจอแรกเขาเห็นเฉพาะสิ่งที่สำคัญที่สุดสำหรับกลุ่มสำนักงานใหญ่ของเขาเท่านั้น: ตัวบ่งชี้ที่สำคัญ การให้คะแนน และสำนักงานใหญ่ที่มีปัญหา (ระบุด้วยสีแดงที่น่าตกใจ) เราจัดประเภทเป็นสำนักงานใหญ่ที่ "มีปัญหา" ซึ่งมีตัวบ่งชี้ต่ำกว่าค่าเฉลี่ย N% มีงานหนักเกินไปเรื้อรัง (พวกเขาต้องการการแจ้งเตือนเพิ่มเติม) และมีงานล้นมือด้วยจำนวนรายการ (ซึ่งหมายความว่าไม่ใช่ทุกคนที่จะลงทะเบียนได้และจำเป็นต้องเพิ่มจำนวนผู้ปฏิบัติงาน ).


เพื่อให้เข้าใจปัญหาที่ตรวจพบได้ดีขึ้น ผู้จัดการระดับภูมิภาคสามารถดูสถิติโดยละเอียดสำหรับสำนักงานใหญ่แต่ละแห่งและดูข้อมูลทั้งหมดที่ผู้ประสานงานสามารถเข้าถึงได้

สิ่งสำคัญคือสำนักงานใหญ่ของรัฐบาลกลางจะต้องเห็นภาพทั้งหมดทันที ดังนั้นเราจึงรวบรวมตัวชี้วัดแคมเปญหลักไว้บนหน้าจอเดียว และสร้างตารางสรุปสำหรับทุกเมืองที่อยู่ระหว่างการตรวจสอบ ในตาราง คุณสามารถเลือกสำนักงานใหญ่ที่สนใจเพื่อดูชุดข้อมูลทั้งหมดได้

โดยรวมแล้วมีการแสดงตัวบ่งชี้มากกว่า 50 รายการในการวิเคราะห์ SQLAlchemy มีความยืดหยุ่นพอที่จะไม่เปลี่ยนไปใช้ SQL เพียงอย่างเดียว และเพื่อให้แน่ใจว่าโค้ดยังคงสามารถอ่านได้ สำหรับตัวบ่งชี้ที่ต้องใช้แรงงานมากที่สุด ขั้นแรกเราจะแคชพวกมันไว้ใน Redis แต่ปรากฏว่าง่ายกว่าในการคำนวณพวกมันในเบื้องหลังเป็นระยะๆ และนำมาจากไฟล์เมื่อทำการร้องขอ

Reaper 2018: ระบบรวบรวมลายเซ็น

ควบคู่ไปกับกระบวนการตรวจสอบได้มีการพัฒนาระบบรวบรวมลายเซ็น สถาปัตยกรรมของระบบที่ใช้ในโนโวซีบีสค์และสามารถทำงานได้ด้วย วัตถุทางกายภาพ- แผ่นงานและลายเซ็น

จากฝั่งแบ็กเอนด์ Reaper 2018 เป็นผู้สืบทอดของ Reaper รุ่นเก่า แต่ได้รับอินเทอร์เฟซผู้ปฏิบัติงานจากระบบการตรวจสอบ หน้าจอบางส่วนได้รับการปรับปรุงหลังจากวิเคราะห์ข้อเสนอแนะเกี่ยวกับงานของ Sych นอกจากนี้ ยังมีการเพิ่มอินเทอร์เฟซสำหรับการตรวจสอบข้อมูลหลายระดับและสำหรับการจัดการการเคลื่อนย้ายแผ่นงาน

อินเตอร์เฟซผู้ประกอบการ

ในขั้นตอนการขอลายเซ็น ผู้ดำเนินการจะต้องสแกนหนังสือเดินทางของผู้มีสิทธิเลือกตั้ง กรอกแบบฟอร์ม (โดยคำนึงว่าที่อยู่ที่ระบุบนแสตมป์ลงทะเบียนอาจไม่ได้เขียนในรูปแบบที่ต้องการ) และป้อนข้อมูลลงในแผ่นลายเซ็น ดังนี้ คำแนะนำของระบบ แต่ก่อนอื่น เราต้องตรวจสอบว่าผู้มีสิทธิเลือกตั้งมีคุณสมบัติตรงตามเงื่อนไขสำคัญสามประการหรือไม่:

1. เมื่อถึงเวลาเลือกตั้งจะต้องมีอายุเกิน 18 ปีบริบูรณ์
2. หากผู้ลงคะแนนเสียงมีอายุ 20 หรือ 45 ปี จะต้องมีหนังสือเดินทางเล่มใหม่
3. หนังสือเดินทางไม่ควรอยู่ในรายการไม่ถูกต้อง

การตรวจสอบฐานข้อมูลหนังสือเดินทางที่ไม่ถูกต้องนั้นเป็นเรื่องง่าย แต่ก็มีรายละเอียดปลีกย่อยด้วย ฐานข้อมูลนี้เผยแพร่โดยกระทรวงกิจการภายในบนเว็บไซต์ ก่อนหน้านี้ก่อนการเลือกตั้งด้วยเหตุผลบางประการพวกเขาจึงปิดความสามารถในการดาวน์โหลดฐานข้อมูลนี้ เราจึงเริ่มดาวน์โหลดล่วงหน้าทุกวัน รุ่นปัจจุบันฐาน (อย่าลืมปิด)

ขณะนี้ฐานข้อมูลมีมากกว่า 110 ล้านบันทึก (หมายเลขชุดและหนังสือเดินทาง) หากต้องการค้นหาอย่างรวดเร็วด้วยฐานข้อมูลและดัชนีขนาดเล็กจึงมีการคิดค้นโครงร่างต่อไปนี้: ตารางที่มีหนึ่งล้านบันทึกถูกสร้างขึ้นใน PostgreSQL คีย์หลักคือหมายเลขหนังสือเดินทาง (ตั้งแต่ 0 ถึง 999999) และฟิลด์ที่สองประกอบด้วยชุดข้อมูลทั้งหมด ของหนังสือเดินทางที่ไม่ถูกต้องสำหรับหมายเลขนี้ เพื่อลดระดับเสียง ซีรีส์นี้จึงได้รับการแปลเป็นรูปแบบไบนารี่ (แต่ละไบต์ละ 2 ไบต์) และบีบอัดโดยใช้ zlib (ฉันแค่อยากทำ) เริ่มแรกฐานข้อมูลจะใช้พื้นที่ประมาณ 1 GB โดยไม่มีดัชนี หลังจากประมวลผลแล้ว เราได้รับ 260 MB รวมดัชนีด้วย หนึ่งบันทึกจะถูกตรวจสอบโดยเฉลี่ยใน 15 มิลลิวินาที

พบหนังสือเดินทางของผู้ที่ผ่านการตรวจสอบ 0.6% ในฐานข้อมูลหนังสือเดินทางที่ไม่ถูกต้อง ซึ่งหมายความว่าหากไม่มีการตรวจสอบ เราจะใช้จ่าย 12% ของขีดจำกัดลายเซ็นที่ไม่ถูกต้อง ประเภทนี้ข้อผิดพลาด

0.88% ของหนังสือเดินทางไม่เหมาะกับเรา เนื่องจากพลเมืองคนนี้มีอายุ 20 หรือ 45 ปี แต่ยังไม่ได้เปลี่ยนหนังสือเดินทางของเขา และนี่คืออีก 18% ของขีดจำกัดสำหรับลายเซ็นที่ไม่ถูกต้อง


ใบสมัครสมาชิกมี 4 คอลัมน์ที่กรอกโดยผู้ดำเนินการ: ชื่อเต็ม ปีเกิด หมายเลขหนังสือเดินทาง และที่อยู่ การลงทะเบียนถาวร- ข้อมูลทั้งหมดนี้ส่งผ่าน Reaper เพื่อตรวจสอบและแก้ไข ข้อผิดพลาดที่เป็นไปได้- ตัวอย่างเช่น ในช่องสำหรับชื่อและนามสกุล การค้นหาการพิมพ์จะได้ผล:

สำหรับคำแนะนำเกี่ยวกับชื่อ API มีวิธีการที่เปรียบเทียบค่ากับรายการจำนวนมากและส่งกลับคำตอบที่เป็นไปได้สามคำตอบ:

ทุกอย่างเรียบร้อยมีชื่อเช่นนี้
- มีชื่อที่คล้ายกัน (เช่นนี้)
- ไม่ทราบชื่อ ( ชื่อที่หายากหรือสะกดผิดอย่างร้ายแรง)

เรื่องที่แยกจากกันคือตัวอักษร "e" มีหนังสือเดินทางที่ใช้ข้อมูลดังกล่าว แต่โดยส่วนใหญ่แล้วจะถูกแทนที่ด้วย "e" ดังนั้นเราจึงแสดงคำเตือนหากมี "e" ในช่องใดๆ ของข้อมูลหนังสือเดินทาง

ระบบไม่ได้แก้ไขอะไรเองเพียงแจ้งเท่านั้น ผู้ปฏิบัติงานและผู้ตรวจสอบจะต้องให้ความสนใจกับกรณีดังกล่าวและตัดสินใจได้อย่างถูกต้อง

การสแกนเอกสาร

เราใช้เครื่องสแกนเพื่อรับภาพเอกสาร การผลิตของตัวเองและในฐานะสถานีผู้ดำเนินการ - Raspberry Pi ซึ่งจะอธิบายโดยละเอียดในบทที่สอง


ภาพนี้ไม่ใช่การสแกนหนังสือเดินทาง แต่รวบรวมในโปรแกรมแก้ไขกราฟิกจากข้อมูลแบบสุ่ม

รูปภาพได้รับจากฝั่งไคลเอ็นต์จาก HTML 5 Canvas API และส่งไปยังเซิร์ฟเวอร์เป็นสตริง base64 ที่มี JPEG จากมุมมองส่วนหน้า สแกนเนอร์สามารถทำงานได้ในสองโหมด: กล้องเว็บ USB และการสตรีมวิดีโอจากคอมพิวเตอร์บนซับเน็ตเฉพาะที่ Owl ใช้งานได้กับกล้อง USB เท่านั้น ในขณะที่ Reaper 2018 ให้คุณสลับระหว่างโหมดต่างๆ ได้ ผู้ปฏิบัติงานเลือกเครื่องสแกนเองว่าจะใช้เครื่องใด

มีปัญหาเล็กน้อยในการเลือกสตรีมวิดีโอของคอมพิวเตอร์ใกล้เคียง: โต๊ะและสแกนเนอร์สามารถเคลื่อนย้ายได้ และผู้ปฏิบัติงานสามารถเปลี่ยนที่นั่งได้ เราไม่รู้ว่าครั้งต่อไปเครื่องสแกนเนอร์ตัวไหนจะอยู่ข้างๆ โอเปอเรเตอร์ ฉันต้องจัดเรียงเครือข่ายย่อยของสำนักงานใหญ่และให้โอกาสผู้ปฏิบัติงานเลือกเครื่องสแกนที่ใช้งานจริงตัวใดก็ได้ แต่ปรากฎว่าเซิร์ฟเวอร์ออกอากาศวิดีโอของเครื่องสแกนเนอร์แม้ว่าจะตั้งค่าส่วนหัว CORS ที่ถูกต้อง (Access-Control-Allow-Origin: *) ก็ไม่ตอบสนองต่อคำขอ OPTIONS เบราว์เซอร์ห้ามการร้องขอ ajax ไปยังโฮสต์ใกล้เคียง ซึ่งทำให้ไม่สามารถใช้ jQuery.ajax() ทั่วไปในการค้นหาได้ คำขอ JSONP ก็ไม่ได้ช่วยเช่นกัน เนื่องจากไม่สามารถยกเลิกโดยทางโปรแกรมได้ และคำขอที่รอดำเนินการหลายสิบรายการก็บล็อกหน้าเว็บโดยสมบูรณ์ รูปภาพช่วยแก้ปัญหาได้ เราได้เพิ่มแท็กให้กับ DOM และกำหนด src ของสตรีมวิดีโอให้กับพวกเขา หากรูปภาพเปลี่ยนขนาดตามขนาดของสตรีม สตรีมจะถือว่าถ่ายทอดสดและแสดงให้ผู้ปฏิบัติงานเห็น

การแสดงสตรีมวิดีโอในเบราว์เซอร์จะโหลดโปรเซสเซอร์ Raspberry Pi ที่เรียบง่ายอย่างเห็นได้ชัดดังนั้นเราจึงต้องสร้าง "สกรีนเซฟเวอร์": หลังจากไม่มีการใช้งานเป็นเวลา 5 นาทีเบราว์เซอร์จะหยุดการออกอากาศชั่วคราว

เป็นสิ่งสำคัญสำหรับเราในการเลือกข้อมูลล่าสุดเกี่ยวกับสถานที่ลงทะเบียน หนังสือเดินทางสองหน้าสามารถมีแสตมป์ได้ 6 ดวง แต่จำเป็นต้องใช้เพียงอันเดียว อินเทอร์เฟซให้คุณเลือกโดยใช้ลูกศรบนแป้นพิมพ์หรือคลิกที่ตราประทับที่ต้องการในหน้าตัวอย่าง

อาจยังไม่มีการลงทะเบียนใดๆ ผู้ลงคะแนนเสียงดังกล่าวจะถูกบันทึกไว้ในแผ่นลายเซ็นแยกต่างหากโดยเว้นพื้นที่และที่อยู่ไว้ และการสแกนการลงทะเบียนจะถูกข้ามไป

การประมวลผลที่อยู่

ส่วนที่ยากที่สุดในการกรอกแบบฟอร์มลายเซ็นคือที่อยู่ของผู้มีสิทธิเลือกตั้ง ข้อผิดพลาดมากกว่าครึ่งหนึ่งที่ทำให้ลายเซ็นไม่ถูกต้องเกี่ยวข้องกับที่อยู่

มีข้อกำหนดทางกฎหมายมากมายสำหรับที่อยู่จดทะเบียน ตัวอย่างเช่น:

จะต้องเป็นที่อยู่ตามฐานข้อมูล FIAS (ระบบที่อยู่ข้อมูลของรัฐบาลกลาง)
- สำหรับถนนที่เปลี่ยนชื่อจะต้องระบุชื่อใหม่แม้ว่าชื่อเก่าจะอยู่ในหนังสือเดินทางก็ตาม
- กฎหมายกำหนดรูปแบบบางอย่างสำหรับลำดับชั้นของวัตถุที่อยู่ซึ่งจำเป็นต้องบันทึก (เช่น คุณไม่สามารถระบุพื้นที่เมืองได้)

นี่เป็นเพียงประเด็นพื้นฐานเท่านั้น แต่ยังมีสิ่งเล็กๆ น้อยๆ มากมาย ซึ่งรายการจะถูกเติมเต็มทุกครั้งที่มีปฏิสัมพันธ์กับ คณะกรรมการการเลือกตั้ง- การไม่ปฏิบัติตามข้อกำหนดแม้แต่น้อยก็เป็นสาเหตุที่คณะกรรมการการเลือกตั้งไม่ยอมรับการลงนาม

ในการรวบรวมลายเซ็นในโนโวซีบีสค์ เนื่องจากการร้องเรียนเกี่ยวกับฟิลด์ "ที่อยู่" ลายเซ็นประมาณ 3.5% เป็นโมฆะ และนี่คือ 70% ของขีดจำกัดที่กำหนดไว้สำหรับการลงนามเพื่อเสนอชื่อผู้สมัครชิงตำแหน่งประธานาธิบดี

เพื่อให้เป็นไปตามข้อกำหนดทั้งหมด เราจึงถูกบังคับให้เรียกใช้ที่อยู่แต่ละแห่งผ่านคอมพิวเตอร์เพื่อสร้างรูปแบบที่ถูกต้อง และแจ้งให้นักสะสมทราบจนถึงตัวอักษรถึงสิ่งที่เขาต้องเขียนลงในใบสมัครสมาชิก

เราพยายามทุกครั้งที่เป็นไปได้ ที่จะไม่ใช้ API ของบริการของบุคคลที่สาม เพื่อไม่ให้เปิดเผยข้อมูลเกี่ยวกับผู้ใช้ของเรา และเพื่อไม่ให้ตกอยู่ในสถานการณ์ที่ API ถูกปิดอย่างกะทันหันโดยเร็วที่สุด ช่วงเวลาสำคัญ- การทำงานกับที่อยู่เป็นฟังก์ชันที่สำคัญในการรวบรวมลายเซ็น ดังนั้นเราจึงต้องสร้าง API ของเราเองสำหรับฐานข้อมูล FIAS

ฐานข้อมูล FIAS ยังไม่มีข้อมูลคุณภาพสูงและครบถ้วนเพียงพอเกี่ยวกับบ้านและอพาร์ตเมนต์ ดังนั้นเราจึงหยุดที่ระดับถนน ในรูปแบบนี้ ฐานข้อมูลที่มีโครงสร้างเพิ่มเติมทั้งหมดมีน้ำหนักประมาณ 2 GB และใช้งานได้ค่อนข้างสะดวกสบายในรูปแบบของ PostgreSQL สคริปต์ที่แก้ไขจากที่เก็บ fias2pgsql ถูกนำมาใช้สำหรับการนำเข้า

สำหรับแบบฟอร์มการป้อนที่อยู่แบบสากลทั้งหมดของรัสเซีย คุณไม่สามารถสร้างฟิลด์ "เมือง", "ถนน", "บ้าน" ได้ง่ายๆ เนื่องจากมีรูปแบบที่อยู่และประเภทของวัตถุที่อยู่ที่แตกต่างกันมากมาย ตัวอย่างที่รู้จักกันดีของรูปแบบที่ไม่ธรรมดาคือ Zelenograd ซึ่งมีบ้านที่ไม่มีชื่อถนน แต่เชื่อฉันเถอะว่าในระดับชาตินี่เป็นกรณีที่ไม่สำคัญ

หลังจากการทดลองหลายครั้ง เราก็ได้รูปแบบที่มีสามช่อง:

เรื่องของสหพันธรัฐรัสเซีย - มันมีอยู่เสมอนี่เป็นสาขาที่เข้าใจได้มากที่สุด
- ที่อยู่ตาม FIAS - ฟิลด์ที่มีการเติมที่อยู่ของภูมิภาคที่กำหนดภายใน FIAS โดยอัตโนมัติ
- บ้าน/อาคาร/อพาร์ตเมนต์ - เส้นที่คัดลอกข้อมูลตรงตามตราประทับทะเบียนถาวร

ทนายความได้รวบรวมตารางการแปลงที่อยู่ โดยเราได้ช่วยนำที่อยู่ของ FIAS เป็นรูปแบบที่สอดคล้องกับกฎหมายการเลือกตั้ง บ่อยครั้งที่จำเป็นต้องยกเว้นองค์ประกอบอย่างใดอย่างหนึ่งของที่อยู่ ที่อยู่บางแห่งถูกยกเว้นทั้งหมด (สหกรณ์โรงรถ พื้นที่ลานบ้าน และวัตถุอื่นๆ ที่คล้ายคลึงกัน) แผนกไอทีได้รับตารางพร้อมกฎเกณฑ์ และแผนกกฎหมายได้รับตัวอย่าง 10 ตัวอย่างสำหรับที่อยู่แต่ละประเภทจาก 44 ประเภท

หลังจากทำซ้ำหลายครั้ง ฐานก็พร้อมใช้งาน

ส่วนทางเทคนิคของงานคือการจัดระเบียบการค้นหาที่สะดวกและรวดเร็วพร้อมการเติมข้อมูลอัตโนมัติที่สามารถรองรับคำขอได้ 1 ล้านคำขอต่อวัน สฟิงซ์ถูกใช้เป็นเครื่องมือค้นหา คำขอจะถูกเคลียร์จากอักขระที่ไม่จำเป็นและส่งผ่านไปยังสฟิงซ์ และจะส่งคืนที่อยู่แบบเต็มของวัตถุ โดยจัดอันดับตามกฎที่ระบุ

สฟิงซ์จัดทำดัชนีฟิลด์ที่อยู่ที่เขียนในรูปแบบ XML รูปแบบการจัดเก็บข้อมูลนี้สะดวกเนื่องจากสามารถซ่อนข้อมูลเมตาทั้งหมดในแอตทริบิวต์ XML ซึ่งสฟิงซ์ไม่ได้ใช้ในการค้นหา แต่เก็บไว้ในหน่วยความจำและส่งคืนผลลัพธ์โดยไม่ต้องเข้าถึงฐานข้อมูลเพิ่มเติม คุณลักษณะเหล่านี้ใช้ที่ไหนสักแห่งในส่วนหน้าเพื่อสร้างแถบที่อยู่ที่สวยงาม

การแก้ปัญหากลายเป็นเรื่องสะดวกและรวดเร็ว คำขอหนึ่งรายการไปยัง API ที่แนะนำจะเสร็จสิ้นภายใน 15–20 มิลลิวินาที แบ็กเอนด์สามารถรองรับการเชื่อมต่อพร้อมกัน 300 รายการบนเครื่องเสมือนที่ไม่มีประสิทธิภาพมากนัก

การกรอกใบสมัครสมาชิก

จะต้องป้อนลายเซ็นลงในเอกสารเรื่องของสหพันธรัฐรัสเซียซึ่งมีที่อยู่การลงทะเบียนถาวรของพลเมือง (หรือในเอกสารพิเศษที่ไม่มีภูมิภาคหากไม่มีการลงทะเบียน) ยมฑูตจะบอกผู้ปฏิบัติงานว่าต้องใช้เอกสารของภูมิภาคใด และไม่อนุญาตให้เขาลงนามในเอกสารของภูมิภาคอื่น
ลองนึกภาพว่าคุณต้องการแก้ไขปัญหาดังกล่าวโดยไม่ต้องใช้คอมพิวเตอร์ รวบรวมลายเซ็นที่สถานีรถไฟ ซึ่งจะมีผู้คนจำนวนมากจากภูมิภาคต่างๆ และจะไม่มีตู้เก็บเอกสารที่มีแผ่นเปล่าเรียงตามภูมิภาค ประมาณหนึ่งในสามของหนังสือเดินทาง ตราประทับลงทะเบียนไม่มีชื่อของภูมิภาค และผู้สัญจรไปมาแบบสุ่มไม่ทราบกฎของเกม และอาจทำให้บางสิ่งบางอย่างสับสนได้ง่าย สิ่งนี้ดูเหมือนจะเป็นสาเหตุของข้อผิดพลาดจำนวนมาก ซึ่งไม่สามารถยอมรับได้ภายใต้ขีดจำกัดทางกฎหมายที่ 5%

การกรอกใบสมัครสมาชิกเป็นขั้นตอนที่ซับซ้อนและมีความรับผิดชอบ เอกสารประกอบด้วยบรรทัดลายเซ็น ใบรับรองของผู้รวบรวม และลายเซ็นของตัวแทนที่ได้รับอนุญาต การบล็อกทั้งหมดนี้จะต้องเสร็จสิ้นตามข้อกำหนดอย่างเป็นทางการที่เข้มงวด ในแต่ละขั้นตอนการกรอก อาจเกิดข้อผิดพลาดที่ทำให้ลายเซ็นทั้งแผ่นหรือบางส่วนไม่ถูกต้อง

เราได้พัฒนาสถานการณ์การทำงานของผู้ปฏิบัติงานซึ่งจะลดโอกาสของ ข้อผิดพลาดทั่วไป- คำจารึกรับรองบนแผ่นภูมิภาค "บ้าน" (ประมาณ 80% ของลายเซ็นจะมาจากภูมิภาคที่สำนักงานใหญ่ตั้งอยู่) จะถูกกรอกโดยนักสะสมล่วงหน้าในบรรยากาศที่เงียบสงบ สำหรับบล็อกแผ่นทั้งหมด Reaper จะแสดงให้เห็นว่าควรเติมอย่างไร


อินเทอร์เฟซการกรอกเลียนแบบแผ่นสมัครสมาชิกจริงซึ่ง ในขณะนี้อยู่บนโต๊ะหน้าผู้ปฏิบัติงาน ที่แสดงคือบรรทัดที่ถูกครอบครอง คอลัมน์ที่ต้องกรอก หมายเลขชีต และข้อมูลขนาดใหญ่ที่จะป้อน

สำหรับบรรทัดที่เติม ผู้ปฏิบัติงานจะต้องระบุสถานะ (ไม่สามารถเติมบรรทัดได้สำเร็จในครั้งแรกเสมอไป) การแก้ไขและการลบแต่ละครั้งจะต้องแนบบันทึกย่อจากตัวรวบรวมบนแผ่นงานและสถานะที่เกี่ยวข้องในฐานข้อมูล

หลังจากกรอกทั้งแผ่นแล้วจะมีวันที่และลายเซ็นต์ของผู้สะสมติดอยู่ แผ่นงานถูกส่งเพื่อตรวจสอบ

ตรวจสอบลายเซ็น ทำงานกับเอกสารที่สำนักงานใหญ่

ในตอนท้ายของแต่ละวันทำการ เอกสารทั้งหมดที่มีลายเซ็นจะไปสำหรับการตรวจสอบ ซึ่งจะเกิดขึ้นในช่วงเย็นหรือตอนกลางคืน (สำนักงานใหญ่ของเรามีขนาดเล็ก ไม่มีที่ไหนเลยที่จะดำเนินการกระบวนการทั้งหมดแบบคู่ขนาน) ผู้ตรวจสอบ (ซึ่งเป็นตัวแทนที่ได้รับอนุญาตของผู้สมัครด้วย) จะตรวจดูเอกสารแต่ละแผ่นและลายเซ็นแต่ละฉบับ เปรียบเทียบกับชิ้นส่วนของหน้าที่สแกนของหนังสือเดินทาง และตรวจสอบองค์ประกอบที่สำคัญทั้งหมดกับรายการตรวจสอบ หากตรวจพบข้อผิดพลาด สิ่งนี้จะถูกบันทึกไว้ในอินเทอร์เฟซพิเศษ
บันทึกการรับรองจะถูกตรวจสอบแยกกัน ข้อผิดพลาดในการรับรองเป็นอันตรายอย่างยิ่งเนื่องจากจะส่งผลต่อทั้งแผ่นงานในคราวเดียว ข้อผิดพลาดดังกล่าวคิดเป็นประมาณ 9% ของลายเซ็นที่ไม่ถูกต้องทั้งหมด

ข้อผิดพลาดบางอย่างสามารถแก้ไขได้ แต่มีเพียงผู้รวบรวมเท่านั้นที่สามารถแก้ไขบรรทัดลายเซ็นได้ และเขาไม่ได้อยู่ที่สำนักงานใหญ่ในตอนเย็น/กลางคืน ดังนั้นข้อมูลทั้งหมดที่จำเป็นสำหรับการแก้ไขจึงถูกถ่ายโอนไปยัง แบบฟอร์มอิเล็กทรอนิกส์- เพื่อให้เข้าใจบริบท คุณต้องดูทุกสิ่งที่เกิดขึ้นกับบรรทัดก่อนหน้านี้ นี่คือลักษณะที่ "การพูดคุย" ปรากฏขึ้นระหว่างผู้ตรวจ ผู้ดำเนินการ และทนายความ


ชื่อและข้อมูลอื่นๆ ในภาพเป็นเพียงเรื่องสมมติ

หากข้อผิดพลาดดูเหมือนร้ายแรงหรือมีข้อสงสัย เอกสารจะถูกส่งไปยังทนายความ หากลายเซ็นไม่มีข้อผิดพลาดหรือได้มีการแก้ไขทั้งหมดแล้ว ผู้ตรวจสอบจะลงนามผู้มีอำนาจและโอนแผ่นงานเพื่อส่งไปยังสำนักงานใหญ่กลาง

อีโมติคอนและสรีรวิทยาแห่งความสุข

เพื่อเลือกสถานะของบรรทัดที่กำลังตรวจสอบอย่างรวดเร็วและแม่นยำ เราใช้ปุ่มในรูปแบบของอิโมติคอน มีเหตุผลทางสรีรวิทยาเชิงลึกสำหรับเรื่องนี้ ระบบการมองเห็นของสมองมีกลไกโบราณระดับต่ำที่ตอบสนองต่อภาพบางภาพ ระบบการมองเห็นจะตอบสนองต่อส่วนของเส้นตรงที่มีทิศทางต่างกันได้รวดเร็วที่สุด เนื่องจากเส้นนั้นตรวจพบได้ง่ายโดยเปลือกสมองส่วนการมองเห็นปฐมภูมิ ในคอร์เทกซ์การมองเห็นทุติยภูมิ เรียบง่าย รูปทรงเรขาคณิต(คุณต้องเรียนรู้สิ่งนี้) และโครงร่างใบหน้า ยิ่งไปกว่านั้น ไม่ใช่แค่ใบหน้าเท่านั้นที่ได้รับการยอมรับ แต่เป็นการแสดงออกทางสีหน้าขั้นพื้นฐานด้วย นั่นก็คือ อีโมติคอน เช่นเดียวกับการจดจำเส้นตรง มันเป็นความสามารถโดยกำเนิด ด้วยระบบระดับต่ำนี้ อีโมติคอนจึงได้รับการยอมรับได้รวดเร็วและแม่นยำกว่าข้อความมาก


ไอคอนในรูปแบบของอิโมติคอนสอดคล้องกับความหมายของสถานะที่ผู้ตรวจสอบสามารถกำหนดให้กับลายเซ็นได้ดี: "ดี", "มีปัญหา", "ไม่ดี" มีข้อสงสัยบางประการเกี่ยวกับอีโมติคอน "แสดงทนายความ" แต่เราก็ผ่านมันไปได้

นอกจากนี้ยังมีความเห็นว่าอีโมติคอนทำให้อินเทอร์เฟซมีมนุษยธรรมและปรับปรุงชีวิตของผู้ให้บริการเล็กน้อย นี่เป็นสิ่งสำคัญเพราะว่า ผู้ปฏิบัติงานต้องใช้เวลาหลายชั่วโมงในการทำงานกับระบบของเราและยังคงระมัดระวัง

กำลังส่งแผ่น

แผ่นงานที่เสร็จแล้วจะถูกส่งไปยังสำนักงานใหญ่ส่วนกลางทุกวัน สามารถมีได้หลายแผ่นหลายร้อย เราต้องการทราบว่าแผ่นงานใดบ้างที่พร้อมและออกจากสำนักงานใหญ่แล้ว แต่การลงทะเบียนด้วยตนเองนั้นใช้เวลานานและไม่น่าเชื่อถือ มีการเขียนแอปพลิเคชันมือถือเพื่อติดตามแผ่นงานที่ส่งไป

มีโหมดที่ช่วยให้คุณสแกนโค้ดของชีตและรายงานหลายร้อยแผ่นได้อย่างรวดเร็ว หากพวกเขาพยายามส่งชีตโดยไม่ได้ตั้งใจเมื่อยังไม่ได้ผ่านขั้นตอนการประมวลผลทั้งหมดที่สำนักงานใหญ่ ใช้เวลา 1-2 วินาทีในการสแกนหนึ่งแผ่น

หลังจากการสแกน แผ่นงานจะถูกบรรจุและส่งไปยังมอสโก

รายละเอียดแบบฟอร์ม

ข้อมูลหนังสือเดินทางทั้งหมดจะถูกป้อนและแสดงเป็นแบบอักษรปกติของ Source Code Pro แบบ monospace ในนั้นเลขศูนย์นั้นแยกแยะได้ง่ายจากตัวอักษร "O" และสัญลักษณ์นั้นค่อนข้างคล้ายกับสัญลักษณ์ที่ใช้กันทั่วไปในหนังสือเดินทางสมัยใหม่

แบบฟอร์มทั้งหมดถูกสร้างขึ้นเพื่อให้คุณสามารถสลับระหว่างฟิลด์และปุ่มหลักได้โดยใช้แท็บ โฟกัสเข้าเข้าแล้ว ข้อมูลที่จำเป็นไม่เพียงแต่เมื่อเพจโหลดเท่านั้น แต่ยังรวมถึงหลังจากปิดข้อความแสดงข้อผิดพลาดด้วย กล่องโต้ตอบโมดอลจะจับโฟกัสเพื่อให้การสลับเกิดขึ้นระหว่างส่วนควบคุมเท่านั้น

เมื่อกดทุกปุ่มแล้ว จะมีบางสิ่งที่คงอยู่ยาวนานปรากฏขึ้น จะแสดงสิ่งนี้ในทุกรูปลักษณ์ ช่องป้อนข้อมูลถูกปิดใช้งานในขณะที่ข้อมูลกำลังถูกส่ง ในกรณีที่มีข้อผิดพลาด คำอธิบายโดยละเอียดจะปรากฏขึ้น

โลจิสติกส์และการจัดเก็บแผ่นงานทางกายภาพ

การส่งผลงานเป็นหนึ่งในกิจกรรมที่มนุษยชาติประสบความสำเร็จอย่างไม่น่าเชื่อ ดูเหมือนว่าคุณสามารถไปร้านเครื่องเขียนซื้อชุดสะสมลายเซ็น "Federal" ได้โดยไม่ต้องคำนึงถึงรายละเอียด แต่มีปัญหาคือโซลูชันสำนักงานทั้งหมดมีราคาแพงเกินไป เราไม่สามารถจัดหาเครื่องสแกนเอกสารให้กับสำนักงานใหญ่แต่ละแห่งในราคาหลายหมื่นรูเบิลและตู้ที่มีแฟ้มแขวนราคาหลายแสนรูเบิลได้ ดังนั้นในแต่ละขั้นตอนเราจึงต้องประดิษฐ์บางสิ่งและสร้างบางสิ่งจากเศษวัสดุ

ข้อเท็จจริงบางประการเกี่ยวกับฟิสิกส์ของกระบวนการ

เราต้องส่งลายเซ็น 315,000 ลายเซ็น ในการดำเนินการนี้ โดยคำนึงถึงโควต้าระดับภูมิภาคและระยะขอบสำหรับข้อผิดพลาดต่างๆ จำเป็นต้องรวบรวมและประมวลผลลายเซ็นประมาณ 1 ล้านลายเซ็น แต่ละแผ่นมีลายเซ็นได้สูงสุด 5 ลายเซ็น แต่ในความเป็นจริงแล้วจะมีลายเซ็นประมาณ 3-4 ลายเซ็น นี่ทำให้เราพูดประมาณ 300,000 แผ่น

กระดาษ A4 หนึ่งแผ่นมีพื้นที่ 1/16 ตร.ม.
ความหนาแน่นของกระดาษสำนักงานทั่วไปคือ 80 กรัม/ตร.ม. แต่ละแผ่นมีน้ำหนัก 5 กรัม
ความสูงของแพ็ค 500 แผ่นคือ 4.5 ซม. สำหรับแผ่นเปล่า และมากกว่า 6 ซม. สำหรับแผ่นเติม

ปรากฎว่าแผ่นที่รวบรวมทั้งหมดจะมีน้ำหนัก 1.5 ตันและพับเป็นมัดเดียวจะมีความสูงประมาณ 36 เมตร

จะเก็บทั้งหมดนี้ได้อย่างไร?

แผ่นลายเซ็นจะถูกพิมพ์ พร้อมลายเซ็น ตรวจสอบ รับรอง และส่งไปยังสำนักงานใหญ่ทุกวัน สำนักงานใหญ่แห่งหนึ่งส่งกระดาษหลายร้อยแผ่นต่อวัน ดังนั้นในขั้นตอนนี้ไม่น่าจะมีปัญหาใดๆ

ความสนุกเริ่มต้นที่สำนักงานใหญ่กลาง ที่นั่นคุณจำเป็นต้องจัดระบบจัดเก็บข้อมูลซึ่งจะทำให้ง่ายต่อการรับแผ่นงานจากสำนักงานใหญ่ประจำภูมิภาคและทำงานร่วมกับเอกสารเหล่านี้จนกว่าจะสิ้นสุดการรวบรวม หลังจากการรวบรวมเสร็จสิ้น ควรจัดกลุ่มเอกสารตามภูมิภาคและเย็บเป็นโฟลเดอร์สำหรับคณะกรรมการการเลือกตั้ง

เราไม่สามารถกองเอกสารเป็นกองๆ กันไม่สิ้นสุดได้ เนื่องจากนักกฎหมายอาจต้องการเอาเอกสารบางส่วนออกเมื่อใดก็ได้สำหรับตัวอย่างบางรายการ คุณจำเป็นต้องรู้ว่าแต่ละแผ่นอยู่ที่ไหน สามารถรับและส่งคืนได้อย่างรวดเร็ว

เพื่อให้เข้าถึงได้รวดเร็ว จึงได้คิดค้นระบบจัดทำดัชนีฐานข้อมูลทางกายภาพของชีต ดัชนีประกอบด้วยหลายระดับ: สำนักงานใหญ่ (กล่อง), กล่อง, โฟลเดอร์ ที่อยู่โฟลเดอร์ในไฟล์เก็บถาวรมีลักษณะดังนี้: 77−1−15 แต่ละโฟลเดอร์มี 25 แผ่น (ไม่เรียงลำดับ)


ในภาพซ้ายบนมีกล่องใส่แผ่นสมัครสมาชิก 500 แผ่นในแฟ้มกระดาษ
ภาพด้านขวาแสดงลิ้นชักบรรจุกระดาษ 2000 แผ่นในแฟ้มแขวน

การรับและจัดเรียงแผ่นงาน

แผ่นงานทั้งหมดที่มาจากภูมิภาคจะถูกสแกนด้วยเครื่องสแกนสองหน้าอัตโนมัติ (มีอยู่แล้วในสำนักงาน ดังนั้นเราจึงไม่จำเป็นต้องประกอบเองจาก LEGO และ Arduino) อุปกรณ์นี้สามารถอัปโหลดผลลัพธ์ไปยังเซิร์ฟเวอร์ผ่าน SFTP ที่นั่น การสแกนจะดำเนินการผ่านสคริปต์ Python ที่จะค้นหาโค้ด QR ในตำแหน่งมาตรฐาน จดจำและเชื่อมโยงการสแกนไปยังฐานข้อมูลทั่วไป สคริปต์สามารถประมวลผลแม้แต่แผ่นที่ยับยู่ยี่ได้อย่างน่าเชื่อถือ

หลังจากการสแกน แผ่นงานจะเข้าสู่การเรียงลำดับ แต่ละแผ่นงานจะถูกสแกนโดยใช้แอปพลิเคชันบนมือถือ (โหมดการเรียงลำดับ) โดยจะค้นหาชีตในระบบ เปลี่ยนสถานะเป็น “มาถึงสำนักงานใหญ่กลางแล้ว” และแสดงพิกัดของโฟลเดอร์ที่จะวางชีต ผู้ปฏิบัติงานยืนยันว่าเขาได้วางแผ่นงานลงในโฟลเดอร์ที่ระบุ (ปิดธุรกรรม)

แผ่นงานจากภูมิภาคเดียวกันจะถูกวางในโฟลเดอร์ตามลำดับตราบใดที่ยังมีพื้นที่ว่าง ดังนั้นกระบวนการทั้งหมดจึงเกิดขึ้นอย่างรวดเร็ว

แบ็กเอนด์

Reaper 2018 สร้างขึ้นใน Django พร้อมด้วยเครื่องมือเทมเพลตมาตรฐานและ ORM PostgreSQL ใช้เป็นฐานข้อมูล ส่วนบริการของระบบ - FIAS, การตรวจสอบหนังสือเดินทาง, ทำงานกับข้อมูลการลงทะเบียนล่วงหน้า - จะถูกวางไว้ในโมดูลแยกต่างหาก (แอป django) ด้วยฐานข้อมูลของตัวเอง

โลกทางกายภาพของลายเซ็นถูกนำเสนอในรูปแบบของวัตถุหลายคลาส: แผ่นลายเซ็น บรรทัดในแผ่นงาน ลายเซ็น ออบเจ็กต์ของคลาสเหล่านี้มีคุณลักษณะที่สะท้อนถึงสถานะของออบเจ็กต์ในโลกแห่งความเป็นจริง ในการจัดการสถานะ เราใช้เทมเพลตเครื่องสถานะจำกัดและไลบรารี django-fsm การเปลี่ยนผ่านระหว่างรัฐทั้งหมดเขียนในรูปแบบของธุรกรรม FSM ซึ่งจะมีการตรวจสอบที่จำเป็นและดำเนินการเพิ่มเติมกับวัตถุ

แผนภาพสถานะมีลักษณะดังนี้:

ตำแหน่งของแผ่นงานในช่องว่างถูกกำหนดโดยสถานะของแถวที่มีอยู่ หากมีบรรทัดที่ทนายความต้องตรวจสอบ เอกสารดังกล่าวจะได้รับสถานะ "ถึงทนายความ" ทันทีที่ทนายความหยิบเอกสารและป้อนรหัสในอินเทอร์เฟซการตรวจสอบ เอกสารจะได้รับสถานะ "กับทนายความ" ดังนั้นเราจึงรู้ตำแหน่งที่แน่นอนของแผ่นงานทั้งหมดอยู่เสมอและเข้าใจชะตากรรมที่เกิดขึ้นทันที

การทดสอบ

ระบบการรวบรวมลายเซ็นมีสถานะและการเปลี่ยนผ่านที่แตกต่างกันมากเกินไปที่จะตรวจสอบด้วยตนเอง เพื่อทำให้การตรวจสอบเป็นแบบอัตโนมัติ สถานการณ์ทั้งหมดที่เกี่ยวข้องกับการทำงานของผู้ปฏิบัติงานและผู้ตรวจสอบจะถูกครอบคลุมด้วยการทดสอบทางฝั่ง django

ไม่มีประโยชน์ที่จะดูระบบในการรวบรวมลายเซ็นนับล้านเมื่อไม่มีลายเซ็นเหล่านั้น ในการเติมฐานข้อมูล จะมีการเขียนสคริปต์เพื่อเริ่มต้นสถานะทั่วไปของฐานข้อมูลในระหว่างกระบวนการรวบรวม เพื่อให้คุณสามารถดูระบบที่เต็มไปด้วยสิ่งที่คล้ายกับข้อมูลจริงได้

การรวบรวมลายเซ็นมีเวลาจำกัดมาก และส่วนสำคัญของเวลานี้ตรงกับช่วงวันหยุดปีใหม่ เราคาดว่าภาระงานในสำนักงานใหญ่และระบบรวบรวมจะไม่เท่ากัน สิ่งสำคัญคือระบบสามารถจัดการกับการไหลของลายเซ็นที่สมจริงได้อย่างง่ายดาย ในช่วงเวลาเร่งด่วน คาดว่าจะมีลายเซ็นมากถึง 10,000 ลายเซ็นต่อชั่วโมง สำหรับเว็บไซต์ทั่วไป สิ่งนี้ดูเหมือนจะไม่ร้ายแรง แต่ในกรณีของเรา ลำดับ "ผู้เยี่ยมชม" นี้สามารถสร้างภาระงานจำนวนมากบนเซิร์ฟเวอร์ได้ ไม่ใช่แค่การเข้าชมหรือการลงทะเบียนเท่านั้น การได้รับลายเซ็นแต่ละครั้งเกี่ยวข้องกับการร้องขอประมาณ 50 รายการไปยังเซิร์ฟเวอร์และการประมวลผลภาพที่มีความละเอียดสูงหลายภาพ

การทดสอบโหลดดำเนินการโดยใช้ตั๊กแตน นี่เป็นเครื่องมือง่ายๆ ที่มีให้ผ่าน PyPI สถานการณ์จำลองอธิบายไว้ในโค้ด Python เหมือนกับการทดสอบหน่วยใน Django:

การทดสอบสามารถดำเนินการผ่านเว็บอินเตอร์เฟส ซึ่งจะแสดงกราฟความเร็วคำขอ จำนวนไคลเอนต์ และเวลาตอบสนองของเซิร์ฟเวอร์

การปรับใช้โครงการจะจัดขึ้นในลักษณะเดียวกับเว็บไซต์ Navalny 20!8
แอปพลิเคชันเว็บ Reaper สามารถเข้าถึงได้ผ่านเครือข่าย VPN ของสำนักงานใหญ่เท่านั้น

การตรวจสอบ

เราใช้เครื่องมือต่างๆ เพื่อตรวจสอบเซิร์ฟเวอร์และแอปพลิเคชันที่เกี่ยวข้องกับระบบการรวบรวมลายเซ็น

Zabbix ตรวจสอบสถานะของเครื่องเสมือนทั้งหมดในโปรเจ็กต์

Elasticsearch รวบรวมบันทึก nginx จากเครื่องเสมือนทั้งหมด Kibana จะแสดงสิ่งนี้ในรูปแบบของกราฟ

Sentry มีข้อผิดพลาดทั้งหมดจากแอปพลิเคชันและส่วนหน้า ส่วนหน้าจะถูกวางไว้ใน "องค์กร" ที่แยกต่างหาก เพื่อไม่ให้เสียสถิติเกี่ยวกับข้อผิดพลาดของแบ็กเอนด์ มีประโยชน์มาก แต่การทำให้ Sentry ทำงานภายใต้ภาระของเรานั้นค่อนข้างยาก

ห่าน

นี่คือการตรวจสอบการทำงานซึ่งค่อนข้างคล้ายกับ uptime.com ซึ่งเป็นแบบโฮมเมดเท่านั้น แบ็กเอนด์ถูกสร้างขึ้นบน django คิวถูกสร้างขึ้นบนคื่นฉ่ายโดยมีแบ็กเอนด์ใน redis

เพิ่มโดเมนโปรเจ็กต์ลงใน Goose แล้ว สำหรับแต่ละโดเมน ที่อยู่ที่ต้องได้รับการตรวจสอบ ช่วงเวลาการสแกน และประเภทของการสแกนจะถูกระบุ คุณสามารถตรวจสอบใบรับรอง เนื้อหา ส่วนหัว HTTP การเปลี่ยนเส้นทาง และสิ่งที่เป็นประโยชน์อื่นๆ

หากมีสิ่งผิดปกติเกิดขึ้น กัสสามารถส่งจดหมายและ SMS หรือโทรตอนกลางดึกและอธิบายสถานการณ์ด้วยเสียงของมนุษย์ (บริการ Twillio ใช้สำหรับการโทรและการสังเคราะห์เสียงพูด)

ในอินเทอร์เฟซเว็บ คุณสามารถดูได้ตลอดเวลาว่าโดเมนใดมีข้อผิดพลาดและคิวการตรวจสอบทำงานอย่างไร มีการตรวจสอบ 20-25 ครั้งทุกๆ นาที

เพิ่มแท็ก

เจ้าหน้าที่ซึ่งผิดหวังกับบล็อกเกอร์ได้พูดถึงสถานการณ์ที่ยากลำบากที่สำนักงานใหญ่ ณ สำนักงานใหญ่ของบล็อกเกอร์อเล็กเซย์ นาวาลนี่ ซึ่งยังคงระดมทุนสำหรับการรณรงค์ชิงตำแหน่งประธานาธิบดี แม้ว่า CEC จะสั่งห้ามและมีคำอธิบายก็ตามศาลรัฐธรรมนูญ สับสนอีกครั้ง เจ้าหน้าที่ FBK และนักเคลื่อนไหวด้านสิทธิมนุษยชนคนล่าสุดเขียนบนเพจ Facebook ของเขาเกี่ยวกับวิกฤตการบริหารจัดการในกลุ่มผู้ประท้วงวิตาลี เซอร์คูอานอฟ

- เซรูคานอฟอธิบายว่าเขาออกจากทีมของนาวาลนีว่า “จำเป็นต้องเคารพตนเอง” ตามข้อมูลของ Vitaly Serkuanov สำนักงานใหญ่ของ Navalny ไม่สามารถตอบสนองความต้องการของผู้บริจาคกองทุนได้ และเผยแพร่สถิติเกี่ยวกับลายเซ็นที่รวบรวมในภูมิภาคต่างๆ เหตุผลของนักเคลื่อนไหวนั้นชัดเจน: บล็อกเกอร์ขาดคะแนนโหวตถึง 250,000 เสียงที่จะเสนอชื่อ แต่การได้รับผู้สนับสนุนตามจำนวนที่ต้องการก่อนถึงกำหนดเวลาจะเป็นงานที่เป็นไปไม่ได้ กำหนดเส้นตายในการยื่นเอกสารต่อ CEC เพื่อลงทะเบียน สิ้นสุดวันที่ 31 มกราคม 2561 เวลา 18.00 น. นั่นคือเหตุผลที่ Serukanov ตั้งข้อสังเกตว่าทีมของ Navalny กำลังเปลี่ยนกลยุทธ์ตามหลักการนิคโคโล มาคิอาเวลลี

"จุดสิ้นสุดแสดงให้เห็นถึงวิธีการ" การชุมนุมโดยไม่ได้รับอนุญาตในวันที่ 24 ธันวาคม ถือเป็นขั้นตอนที่ยากลำบากในการเปลี่ยนผ่านจากความล้มเหลวของการรณรงค์ไปสู่ขั้นคว่ำบาตรการเลือกตั้งในอนาคต

“ Volkov (หัวหน้าเจ้าหน้าที่ของ Navalny) ไม่ได้คิดอะไรใหม่ ๆ ยกเว้นเพื่อหลีกเลี่ยงการตอบคำถามเกี่ยวกับสาเหตุของความล้มเหลวของการรณรงค์โดยส่วนใหญ่เป็นยุทธวิธีผ่านการคุมขังการจับกุมและการประชาสัมพันธ์เชิงลบ กระตุ้นความเห็นอกเห็นใจของมวลชน ตอบโต้กลับด้วยการจับกุมฝ่ายบริหาร ในขณะที่ผู้เข้าร่วมทั่วไปจะได้รับโทษทางอาญา” Serukanov เขียน ทนายความอิลยา คราฟต์ ซึ่งดำเนินการสอบสวนอย่างอิสระเกี่ยวกับกิจกรรมของ FBK ในคำอธิบายสำนักข่าว “การเมืองวันนี้”

ตั้งข้อสังเกตว่าจำนวนผู้สนับสนุน Navalny ที่ผิดหวังเพิ่มขึ้นตามธรรมชาติ คู่สนทนาของหน่วยงานกำหนดให้อดีตอาสาสมัครอยู่ในหมวดหมู่นี้อเล็กซานเดอร์ ทูรอฟสกี้ และ- รายแรกได้รับบาดเจ็บระหว่างการค้นหาที่สำนักงานใหญ่ของบล็อกเกอร์ แต่นาวาลนีไม่ได้สนใจที่จะเอ่ยชื่อของเขา เรื่องราวที่คล้ายกันเกิดขึ้นกับ Lebedev เมื่อสามปีก่อน ขาของเขาหักระหว่างเดินทางไปทำธุรกิจ FBK ครั้งหนึ่ง แต่มูลนิธิได้ชี้แจงให้นักเคลื่อนไหวทราบอย่างชัดเจนว่าพวกเขาจะไม่จัดการกับปัญหาของเขา

เรเมสโลมั่นใจว่าสำนักงานใหญ่ของนาวาลนีเข้าใจดีว่าพวกเขาจะไม่สามารถรับผิดชอบเงินบริจาคที่ใช้ไปและรวบรวมลายเซ็นตามจำนวนที่ต้องการได้

“ไม่มีการสนับสนุนจริงๆ สถานการณ์นี้แสดงให้เห็นว่าพวกเขาไม่สามารถจัดระเบียบงานพื้นฐานได้ เพราะคนเหล่านี้ไม่เคยทำงานที่ไหนหรือหาเงินจากการทำงานที่ซื่อสัตย์ ทั้ง Volkov และ Navalny นั่นเป็นเหตุผลว่าทำไมพวกเขาถึงดึงดูดกัน ถ้าพวกเขามี ระดับที่ต้องการอุดหนุนแล้วคนก็หลั่งไหลไม่หยุด เรารวบรวมลายเซ็นเหล่านี้ แม้ว่า Volkov และ Navalny จะไร้ความสามารถโดยสิ้นเชิง แต่เนื่องจากพวกเขาไม่มีความสามารถและไม่มีระดับการสนับสนุน เราจึงได้สิ่งที่เราได้รับ” Remeslo ให้ความเห็น



อ่านอะไรอีก.