Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows 8
  • Kako prekinuti vezu bez gubitka zajedničkih prijatelja. Algoritam za određivanje odjeljka "Mogući prijatelji

Kako prekinuti vezu bez gubitka zajedničkih prijatelja. Algoritam za određivanje odjeljka "Mogući prijatelji

Zdravo habrauseru.
Jednom sam imao potrebu da nađem osobu, poznavajući njen izgled i znajući za njeno članstvo u određenom klubu. Posjedovao sam i adrese (VKontakte) stranica još dva člana kluba. Gotovo sigurno je osoba koju su tražili bio prijatelj svakog od njih. Ovaj problem bi se mogao riješiti na različite načine. U članku ću pisati o tome kako sam implementirao rješenje koristeći vk.com API.
1. Zadatak
Napravite servis koji će pronaći sve zajedničke prijatelje dva pojedinačna korisnika bez potrebe verifikacije i naloga na društvenoj mreži za korisnike servisa. Dobijte informacije o zajedničkim prijateljima:
  • slika
Implementirajte zadatak zasnovan na VKontakte API-ju. Napišite hotelsku klasu za ovo.
2. Odluka
2.1.Definirajte potrebne API metode
Idemo u lista metoda API. I gledajući, nalazimo ono što nam treba.

Postoji način da dobijete prijatelje korisnika friends.get.
friends.get - vraća listu korisničkih ID-ova prijatelja korisnika ili proširene informacije o korisnikovim prijateljima (kada se koristi parametar polja).

I, što je važno, kao dio rješavanja zadatka, ovo je javna metoda koja ne zahtijeva access_token.

Postoji samo jedan obavezan parametar:

Koristeći ovu metodu, možete dobiti informacije o svim prijateljima svakog od naša dva skupa, ali ovaj pristup neće biti optimalan. Korisnik A može imati 2000 ljudi za prijatelje, samo 3 osobe će se ukrštati sa prijateljima korisnika B. U tom slučaju će nam podaci o 1997 korisnika biti nepotrebni, a sredstva utrošena na njihovo dobijanje će biti uzaludna.
Zatražit ćemo samo identifikatore korisnika, a nakon što dobijemo brojeve koji su nam potrebni (koji pripadaju skupu A i B), već možemo odabrati informacije iz njih.

Postoji način da se dobiju informacije o korisniku users.get.
users.get -Vraća proširene informacije o korisniku.

Ova metoda također ne treba access_token, što je idealno za naš zadatak.


U user_ids ćemo proslijediti niz korisničkih ID-ova koji se pojavljuju u oba skupa.
Želimo dobiti samo avatar veličine 100*100, za to ćemo proslijediti vrijednost photo_100 u parametar polja.

2.2 Pređimo na praktičnu stranu
Napisao sam jednostavnu php klasu:

Class VkFriends (javna funkcija clean_var($var) ( $var = strip_tags($var); $var = preg_replace("~\D+~", "", $var); $var = trim($var); return $ var; ) javna funkcija get_friends($u_id) ( $friends = file_get_contents("https://api.vk.com/method/friends.get?user_id=".$u_id); $friends = json_decode($friends); if(!isset($friends->error))( return $friends; )else( return ""; ) ) javna funkcija mutual_friends($friends) ( $mutual = array_intersect($friends->response, $friends->response) ); if(!empty($mutual))( return $mutual; )else( return ""; ) ) javna funkcija get_users_info($users) ( $u_ids = implode(",",$users); $u_info = file_get_contents ("https://api.vk.com/method/users.get?user_ids=".$u_ids."&fields=photo_100"); $u_info = json_decode($u_info); return $u_info; ) javna funkcija view_user_info( $u_info) ( $uid = $u_info->uid; $first_name = $u_info->first_name; $last_name = $u_info->prezime; = $u_info->photo_100; print("

"); ) javna funkcija view_users_info($users_info) ( for($i=0;$i odgovor);$i++)( $this->view_user_info($users_info->response[$i]); ) ) )

Sada pogledajmo našu klasu u akciji:

$vkf = novi VkFriends; $u_id = $vkf->clean_var($_POST["u1"]);//čisti varijable iz POST-a $u_id = $vkf->clean_var($_POST["u2"]); if(($u_id!="")&&($u_id!=""))( echo "

"; $friends = $vkf->get_friends($u_id);//preuzimanje liste prijatelja od korisnika sa u_id-om $friends = $vkf->get_friends($u_id); if(($friends!="")&&($ prijatelji!=""))( $mutual = $vkf->mutual_friends($friends);//kreiraj novi niz od ukrštanih nizova if($mutual!="")( $users_info = $vkf->get_users_info($mutual );//dobijanje informacija o korisnicima koji su zajednički $vkf->view_users_info($users_info);//pregledajte informacije o odabranim korisnicima )else( print("
Zdravo habrauseru.
Jednom sam imao potrebu da nađem osobu, poznavajući njen izgled i znajući za njeno članstvo u određenom klubu. Posjedovao sam i adrese (VKontakte) stranica još dva člana kluba. Gotovo sigurno je osoba koju su tražili bio prijatelj svakog od njih. Ovaj problem bi se mogao riješiti na različite načine. U članku ću pisati o tome kako sam implementirao rješenje koristeći vk.com API.
1. Zadatak
Napravite servis koji će pronaći sve zajedničke prijatelje dva pojedinačna korisnika bez potrebe verifikacije i naloga na društvenoj mreži za korisnike servisa. Dobijte informacije o zajedničkim prijateljima:
  • slika
Implementirajte zadatak zasnovan na VKontakte API-ju. Napišite hotelsku klasu za ovo.
2. Odluka
2.1.Definirajte potrebne API metode
Idemo u lista metoda API. I gledajući, nalazimo ono što nam treba.

Postoji način da dobijete prijatelje korisnika friends.get.
friends.get - vraća listu korisničkih ID-ova prijatelja korisnika ili proširene informacije o korisnikovim prijateljima (kada se koristi parametar polja).

I, što je važno, kao dio rješavanja zadatka, ovo je javna metoda koja ne zahtijeva access_token.

Postoji samo jedan obavezan parametar:

Koristeći ovu metodu, možete dobiti informacije o svim prijateljima svakog od naša dva skupa, ali ovaj pristup neće biti optimalan. Korisnik A može imati 2000 ljudi za prijatelje, samo 3 osobe će se ukrštati sa prijateljima korisnika B. U tom slučaju će nam podaci o 1997 korisnika biti nepotrebni, a sredstva utrošena na njihovo dobijanje će biti uzaludna.
Zatražit ćemo samo identifikatore korisnika, a nakon što dobijemo brojeve koji su nam potrebni (koji pripadaju skupu A i B), već možemo odabrati informacije iz njih.

Postoji način da se dobiju informacije o korisniku users.get.
users.get -Vraća proširene informacije o korisniku.

Ova metoda također ne treba access_token, što je idealno za naš zadatak.


U user_ids ćemo proslijediti niz korisničkih ID-ova koji se pojavljuju u oba skupa.
Želimo dobiti samo avatar veličine 100*100, za to ćemo proslijediti vrijednost photo_100 u parametar polja.

2.2 Pređimo na praktičnu stranu
Napisao sam jednostavnu php klasu:

Class VkFriends (javna funkcija clean_var($var) ( $var = strip_tags($var); $var = preg_replace("~\D+~", "", $var); $var = trim($var); return $ var; ) javna funkcija get_friends($u_id) ( $friends = file_get_contents("https://api.vk.com/method/friends.get?user_id=".$u_id); $friends = json_decode($friends); if(!isset($friends->error))( return $friends; )else( return ""; ) ) javna funkcija mutual_friends($friends) ( $mutual = array_intersect($friends->response, $friends->response) ); if(!empty($mutual))( return $mutual; )else( return ""; ) ) javna funkcija get_users_info($users) ( $u_ids = implode(",",$users); $u_info = file_get_contents ("https://api.vk.com/method/users.get?user_ids=".$u_ids."&fields=photo_100"); $u_info = json_decode($u_info); return $u_info; ) javna funkcija view_user_info( $u_info) ( $uid = $u_info->uid; $first_name = $u_info->first_name; $last_name = $u_info->prezime; = $u_info->photo_100; print("

"); ) javna funkcija view_users_info($users_info) ( for($i=0;$i odgovor);$i++)( $this->view_user_info($users_info->response[$i]); ) ) )

Sada pogledajmo našu klasu u akciji:

$vkf = novi VkFriends; $u_id = $vkf->clean_var($_POST["u1"]);//čisti varijable iz POST-a $u_id = $vkf->clean_var($_POST["u2"]); if(($u_id!="")&&($u_id!=""))( echo "

"; $friends = $vkf->get_friends($u_id);//preuzimanje liste prijatelja od korisnika sa u_id-om $friends = $vkf->get_friends($u_id); if(($friends!="")&&($ prijatelji!=""))( $mutual = $vkf->mutual_friends($friends);//kreiraj novi niz od ukrštanih nizova if($mutual!="")( $users_info = $vkf->get_users_info($mutual );//dobijanje informacija o korisnicima koji su zajednički $vkf->view_users_info($users_info);//pregledajte informacije o odabranim korisnicima )else( print("

Društvena mreža "VKontakte" jedan je od najpopularnijih internet projekata širom Rusije i post-sovjetskih zemalja. Svakog dana, iz godine u godinu, resurs koriste milioni korisnika koji idu na vk.com da ne samo da ćaskaju jedni s drugima, već i da saznaju vijesti, slušaju svoje omiljene audio snimke, pogledaju film ili seriju, nešto nauče zanimljivo, pa čak i naznačite gdje da idite da ažurirate svoju garderobu.

Trenutno svako može dodati do 10 hiljada drugih "stanovnika" društvene mreže kao prijatelje, a, prema statistikama, prosječan korisnik resursa ima oko 200-300 prijatelja za prijatelje. Ipak, pregledavajući listu svojih VKontakte prijatelja, možete neočekivano sami otkriti da se oni nalaze drugačijim redoslijedom i ponekad mogu promijeniti mjesta. Zašto se to dešava i kako se formira cijela lista?

Kao što je bilo prije

Prije nego što odgovorim na gornje pitanje, želio bih se podsjetiti kako je lista prijatelja VKontaktea formirana nekoliko godina ranije. Prije nekoliko godina, ljudi prikazani na listama prijatelja korisnika bili su razvrstani po ocjenama. Ovdje je sve jasno: što je korisnik bio veći rejting stranice, to je više bio prikazan na listi prijatelja. Ocjena se može dobiti popunjavanjem podataka na vlastitoj stranici ili kupovinom dodatnih glasova. Kasnije je odlučeno da se odustane od rejtinga, što je jako uznemirilo korisnike koji su kupili veliki broj glasova i/ili ih dali drugim "stanovnicima" društvene mreže.

Kako se sada formira lista prijatelja

Sada se formira lista prijatelja na najpopularnijoj društvenoj mreži inače: prve pozicije na listi su oni korisnici sa kojima najčešće komunicirate. Međutim, ovo sortiranje liste VK prijatelja može zbuniti neke korisnike. Na primjer, neki se pitaju zašto je osoba s kojom je komunikacija izuzetno rijetka tako visoko na listi. Odgovor je jednostavan – prilikom formiranja liste ne uzimaju se u obzir samo poruke, već i lajkovi, pregledi stranica, odgovori, komentari na objave. Ispostavilo se da ne samo korisnik s kojim ne komunicirate toliko može postati prvi na vašoj listi prijatelja.

Međutim, postoji jedan mali izuzetak od ovog pravila: korisnici koje ste nedavno dodali na svoju listu prijatelja obično se nalaze na 5. ili 6. mestu liste tako da, prema rečima programera društvene mreže, ne gubite iz vida njima.

Redosled prijatelja koji su na sajtu

Sada je vrijedno spomenuti kako su korisnici razvrstani sa liste prijatelja na mreži. Ovdje je, uglavnom, potpuno isti princip: lokacija prijatelja konvergira s onom u općem nizu, iako su prikazani samo oni korisnici koji su na mreži. Ako koristite opcije "Kolege", "Najbolji prijatelji" i slično, tada će i distribucija lista prijatelja u njima biti slična.

Kako izgleda lista prijatelja drugih korisnika

Ako je situacija sa lokacijom naših vlastitih prijatelja već manje-više jasna, što je onda s prijateljima drugih korisnika koje vidimo sa vlastite stranice? Ovdje je sve malo drugačije: distribucija prijatelja ovdje se zasniva na broju zajedničkih poznanika sa osobom čiju stranicu gledate. U slučaju da nemate zajedničke prijatelje, lista prijatelja se formira prema datumu registracije korisnika na sajtu.

Može li se redoslijed promijeniti?

Nakon što je sve već postalo jasno o sortiranju VKontakte prijatelja, možemo razgovarati o tome da li se ovaj redoslijed može promijeniti. Nažalost, programeri društvene mreže nisu predvidjeli ovu funkciju, tako da ne možete sami promijeniti redoslijed prijatelja.

Ako želite da vam neko blizak uvijek bude na vrhu liste prijatelja, pokušajte više komunicirati s njim. U suprotnom, svedite komunikaciju na minimum. Međutim, ne zaboravite da nijedna društvena mreža ne može zamijeniti pravu komunikaciju s prijateljima i vama bliskim ljudima!

Društvena mreža VKontakte ujedinjuje ljude, a u nju se stalno uvode različiti algoritmi, tako da je korisnicima praktičnije da pronađu svoje prijatelje, rođake i samo poznanike s kojima su se mogli vidjeti nekoliko puta, ali nisu imali vremena ili nisu žele da dodaju prijatelje jedno drugom kada se upoznaju. Jedan od načina da brzo dopunite svoju listu prijatelja sa ljudima koje poznajete je korištenje alata VKontakte "Mogući prijatelji". U okviru članka razmotrit ćemo princip rada ovog algoritma, kao i kako ga koristiti.

Kako vidjeti moguće prijatelje na VKontakteu

Da biste vidjeli korisnike koje društvena mreža VKontakte smatra vašim potencijalnim prijateljima, samo idite na odjeljak "Prijatelji" na svojoj stranici. U donjem desnom uglu stranice koja se otvori, ispod lista za filtriranje trenutnih prijatelja, nalaziće se blok "Mogući prijatelji".

Svaki put kada posjetite stranicu, ona se formira na novi način. Ovaj blok prikazuje 5 osoba koje možda poznajete. Ako želite da vidite više mogućih prijatelja, kliknite na dugme "Prikaži sve" u ovom bloku.

Nakon toga će se otvoriti stranica koja prikazuje sve korisnike koji su definirani kao mogući prijatelji za vašu stranicu. U zavisnosti od toga koliko aktivno koristite svoj VKontakte nalog, kao i od niza drugih faktora, količina korisničkih podataka može varirati. Pomičite se prema dolje po stranici i novi predloženi prijatelji će se automatski učitati.

Imajte na umu: Uprkos činjenici da postoje sve vrste filtera u gornjem i desnom dijelu ove stranice, oni vam ni na koji način ne dozvoljavaju filtriranje liste mogućih prijatelja. Odnosno, ako koristite pretragu odozgo i, na primjer, pokušate pronaći sve moguće prijatelje s imenom "Sergey", društvena mreža će jednostavno početi tražiti korisnike sa imenom "Sergey" u svojoj bazi podataka, ne fokusirajući se na lista mogućih prijatelja odabranih za vas.

Kako se utvrđuju mogući VKontakte prijatelji?

Kompanija VKontakte ne otkriva algoritme prema kojima se formira lista mogućih prijatelja za svakog određenog korisnika. Međutim, zapažanja pokazuju da jasno lista mogućih prijatelja zavisi od:

Važno je napomenuti da korisnik nema mogućnost da vidi kome je naveden kao navodni prijatelj. Odnosno, ove informacije nisu obostrane za korisnike. Ako vidite da je korisnik VKontaktea prikazan kao mogući prijatelj, na primjer, budući da često posjećujete njegovu stranicu, to ne znači da ćete s njim biti prikazani kao prijatelj. Naravno, s izuzetkom situacije kada, kada posjetite stranicu, pokazujete aktivnost na njoj u vidu lajkova, repostova, komentara itd.

Jeste li vi i vaš bivši/bivši stekli mnogo novih prijatelja tokom vaše veze? Nažalost, sada ste razdvojeni. Kako prekinuti vezu sa bivšim/bivšim bez gubitka zajedničkih prijatelja?

Koraci

    Nemojte s njima razgovarati o svom raskidu. U takvoj situaciji uvijek postoje dvije tačke gledišta. Sačuvajte svoje za razgovor sa porodicom i prijateljima koje ste poznavali prije nego što ste stupili u vezu.

    Nikada nemojte reći ništa loše o svom bivšem/bivšem. Samo zato što ne pričate o raskidu ne znači da o toj osobi možete reći ružne stvari koje nisu povezane s raskidom. Kada pričate neprijatne stvari ljudima koji su vam zajednički prijatelji, dovodite ih u krajnje nezgodnu poziciju, jer žele da ostanu verni i vama i vašem bivšem.

    Pažljivo otkrivajte informacije. Jer je tvoje general prijatelji, zapamtite da sve što im kažete može doći do vašeg bivšeg. Ovo može pokvariti sve vaše pokušaje da raskinete na prijateljski način.

    Ostanite u kontaktu. Ovaj trenutak je veoma težak, jer vas zajednički prijatelji čvrsto vezuju za staru vezu – i srcem i umom. Međutim, ako želite da zadržite prijateljstvo, morate shvatiti da vaši zajednički prijatelji možda jednostavno ne znaju kako da se ponašaju prema vama u ovoj situaciji, pa im morate pokazati (telefonskim pozivom ili e-mailom) da želite da i dalje ostanete u kontaktu . Kao što je već spomenuto, morate paziti da svojim prijateljima ne otkrijete informacije koje ne bi trebale doći do vašeg bivšeg; ipak, podijelite s njima svoja osjećanja i iskustva o tome šta se dešava kako bi se i dalje osjećali kao dio vašeg života. Mogli biste, na primjer, reći: "S obzirom na sve, osjećam se prilično dobro. Naravno, nije lako početi ispočetka, ali nadam se da je najgore prošlo i da sam spreman da idem dalje."

    Ako već izlazite s novom osobom, držite je podalje od zajedničkih prijatelja. Sastanak može izazvati ogorčenost i biti praćen negativnim predrasudama, jednostavno zato što je novo ljubav. Prijatelji će osjećati da će izdati svog prijatelja (tvog bivšeg) ako im se sviđa tvoj novi partner koji je zauzeo njegovo mjesto. Do određene tačke čuvajte svoje nove simpatije u tajnosti. Sačekajte dok se "prašina ne raščisti" i osjetite čvrsto tlo pod nogama - tek nakon toga možete pokušati da upoznate zajedničke prijatelje sa novom simpatijom.

    Govoreći o vašim zajedničkim sastancima, ne biste trebali očekivati ​​da ćete samo vas pozvati od jednog para. Neki od vaših prijatelja neće htjeti da se suoče sa teškim izborom koga će pozvati - vas ili vašeg bivšeg/bivšeg. Najvjerovatnije će vas oboje pozvati s idejom da ste odrasli i da ćete se sami nositi sa situacijom. U velikim kompanijama to je sasvim prikladno, ali u uskom krugu bliskih prijatelja će biti nelo-o-o-o-o. Izbjegnite ove situacije direktnim pitanjem hoće li vaš bivši biti na zabavi. Gotovo sigurno ćete dobiti iskren odgovor. Nemojte izazivati ​​bes tako što ćete se prijatelj koji vas poziva osjećati krivim. Samo izrazite žaljenje ako mislite da će ovaj sastanak biti nezgodan za vas oboje: "Ah, pa... vjerovatno neću ići, biće to previše blisko društvo. Ali ne brinite, možemo se naći još vrijeme, kada ima više ljudi i možemo se omesti." Nasmiješite se, budite ljubazni i zahvalite osobi što misli na vas.

    Ne gubite dostojanstvo i ponašajte se plemenito. U pogrešnom pokušaju da vas uvjere da su na "vašoj strani", vaši prijatelji mogu zadati nekoliko udaraca vašem bivšem. Ne biste se trebali radovati ismijavanju bivšeg, a svakako se ne biste trebali pridružiti takvim šalama. Zapamtite, ovi prijatelji najvjerovatnije rade isto vama kada razgovaraju s vašim bivšim.

    • Umjesto toga, mirno i upečatljivo recite nešto poput: "Znate momci, bio sam ljut tokom raskida, ali sada osjećam žaljenje i tužan sam. Za to vrijeme on/ona smo imali puno dobrih stvari. Uprkos tome što smo sada treba da idem dalje,ne kajem se vremena koje smo proveli zajedno.Da nije bilo ____(ime bivseg/bivseg)nikada te ne bih upoznao/upoznao. Nakon toga, samo umukni. Vaši prijatelji će klimati glavom i cijeniti vaše visoke moralne standarde.
  1. Pustite vrijeme da se pobrine za ostalo. Raskid je kao slomljena ruka. Ona je u strašnim bolovima i ne možete mnogo učiniti nakon što stavite gips, osim jedne stvari: dajte joj vremena. Sve što vam preostaje je da izdržite bol i da se nosite sa promjenama koje su se dogodile u vašem životu. Nakon nekog vremena, ako ne kritikujete svog bivšeg i ne učestvujete u šalama na njegov račun, vaši prijatelji će shvatiti da ste to preživjeli i krenuti dalje.

  • Vremenom će vaše prijateljstvo ojačati u novim uslovima. Prijatelji će vas početi doživljavati ne kao dio para, već kao pojedinca. Tek tada ih možete pokrenuti u svoju novu romantičnu vezu.
  • I tvojim prijateljima je potrebno vreme. Poznavali su vas kao dio para koji su voljeli, a sada i oni moraju da se prilagode novim okolnostima. Mogu davati neprijatne ili čak ljutite primedbe jer ne znaju koga da okrive za ono što se dogodilo i šta da rade. Budite nježni prema njima i imajte na umu da jednostavno ne razumiju kako da se ponašaju u ovoj situaciji.
  • Kada idete na zabave ili izlazite sa zajedničkim prijateljima, slobodno ih pitajte da li je vaš bivši pozvan. Objasnite svojim prijateljima da vam treba vremena i malo ličnog prostora da budete spremni za intimniji kontakt sa bivšim nego što će on biti na zaista gužvama.

Upozorenja

  • Može se ispostaviti da neki od vaših "prijatelja" uopće nisu. Čuvajte se špijuna koji vas potajno motre, prikupljajući informacije za vašeg bivšeg. Ovo upozorenje posebno važi ako prolazite kroz razvod. I u ovoj situaciji biće vam više nego ikad drago što niste otkrili svoje nove simpatije.
  • Ne žurite da se nosite sa raskidom previse dobro ili previse rano. Zapamtite da vaši zajednički prijatelji gaje topla osećanja i prema vašem bivšem. Ako im se učini da ste ga lako izbacili iz svog života, kao da je nešto nepotrebno (čak i ako jeste), prijatelji će pomisliti da se ponašate hladno i bezdušno. Oduprite se iskušenju da pokažete svog novog zgodnog dečka (nova zgodna djevojka) i umjesto toga fokusirati se na osećanja prijatelja.
  • Svaka ljuta ili agresivna primjedba na račun vašeg bivšeg kritički smanjuje vaše šanse da održite prijateljstvo sa zajedničkim prijateljima.

Top Related Articles