Another search for VK by photo

I love to get involved in adventures, and over the last month I told my friends about one of them a couple of times, which caused delight, so I decided to share it with the Khabrav residents! This story is about daring pet projects, the power of open source and self-development, as well as the main technical details. Hope this inspires you.





1. Background

In the first half of 2016, the sensational FindFace was released, allowing you to upload a photo of a human face and find the corresponding VK profile. It caused a great public outcry, led both to the search for girls by hidden photos on escalators in the subway and to the publication of porn actresses with unpleasant consequences for their loved ones, and to the finds of lost loved ones, to an unrealistically fast search for criminals using random footage from cameras, just like in American films, only in reality.





, , " , ", . , 2018 - , . , - ! – 2018, , ., , , b2b b2g. , , . , , . : - , 10 , .





, , , , /.





, , , ? , , data science, . , , . , , , . , . , , ! , .





2.

2.1.

, , ? , , Google FindFace . , -, , . , , , , , – . , . ( ) - . , . face_recognition, , , 128- -1 1 ( ). , , - – , , . , , .





, . API , . , , , .





, , CPU. VPS, . , VPS, . , , , :D -, , 15 /, .





2.2. DevOps'

, , , , ? , : , , , , , , , ; , , .





, . , , Global Interpreter Lock, , , IO- . , .





, . , SSH . , , , . , , , , Xen OpenVZ 40%.





2.3.

, . , , MySQL v5.7 – Python SQL, . , , big data , SQL- , , , .





-: -- , : v>0.1 v<-0.1 (), , - , . MySQL v8, . 5.7 . 30 – ^_^





, – , , , MySQL , , , ; PostgreSQL.





2.4.

, , .





, , , - . , , . "ISIN ( )" , , .





, , , . – , ! , , --. , , - . – , , .





, , , , FB, Twi, Ig. , , .





3.

3.2. Happy end?

, . , , . , , – . , , , , .





( , ), , , . , . , . , , - . "" , , / , . , , , , .





, , : 2019 25% , . , , (:





, , , , - xD





, , . , . , .





3.2.

, - , :





  • Dealt with multithreading in Python.





  • I dug into specific issues of optimizing MySQL queries.





  • Learned to build an organization of applications, files and comments for the future, so that it does not turn into spaghetti .





  • I learned how to work from code with SSH to set up an environment, I realized how wonderful Ansible is.





  • Developed a microservice architecture of glue and sticks, which then made it easy to understand Kubernetes concepts.





And all this was very useful to me in subsequent works and projects.





3.3. Morality

Everyone will make their own conclusions, but the main thing - do not be afraid to try, learn and look for yourself! Hope you found it interesting.








All Articles