Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 8
  • Come chiudere una relazione e non perdere gli amici in comune. Algoritmo per determinare la sezione "Possibili amici

Come chiudere una relazione e non perdere gli amici in comune. Algoritmo per determinare la sezione "Possibili amici

Ciao habrauser.
Una volta avevo bisogno di trovare una persona, conoscendo il suo aspetto e conoscendo la sua appartenenza a un certo club. Possedevo anche gli indirizzi (VKontakte) delle pagine di altri due membri del club. Quasi sicuramente la persona che stavano cercando era amica di ognuno di loro. Questo problema potrebbe essere risolto in diversi modi. In questo articolo scriverò di come ho implementato la soluzione utilizzando l'API vk.com.
1 compito
Crea un servizio che troverà tutti gli amici comuni di due utenti separati senza richiedere la verifica e un account di social network per gli utenti del servizio. Ottieni dati sugli amici in comune:
  • la foto
Implementa un'attività basata sull'API VKontakte. Scrivi una classe di hotel per questo.
2.Soluzione
2.1 definizione dei metodi API richiesti
Vai a elenco dei metodi API. E dopo aver cercato, troviamo ciò di cui abbiamo bisogno.

Per ottenere gli amici dell'utente, c'è un metodo amici.get.
amici.get - restituisce un elenco degli ID degli amici dell'utente o informazioni estese sugli amici dell'utente (quando si utilizza il parametro fields).

E, ciò che è importante, come parte della soluzione al compito in questione, questo è un metodo aperto che non richiede un access_token.

C'è solo un parametro richiesto:

Usando questo metodo, puoi ottenere informazioni su tutti gli amici di ciascuno dei nostri due set, ma questo approccio non sarà ottimale. L'utente A può avere 2000 persone come amici, solo 3 persone si intersecheranno con gli amici dell'utente B. In questo caso, le informazioni sugli utenti del 1997 non saranno per noi necessarie e le risorse spese per ottenerle saranno sprecate.
Richiederemo solo identificativi utente e, dopo aver ricevuto i numeri di cui abbiamo bisogno (che appartengono all'insieme A e B), selezioneremo già le informazioni da essi.

Esiste un metodo per ottenere informazioni su un utente utenti.get.
utenti.get -Restituisce informazioni estese sugli utenti.

Anche questo metodo non ha bisogno di un access_token, cioè è l'ideale per il nostro compito.


In user_ids, passeremo una matrice di ID utente che si verificano in entrambi i set.
Vogliamo ottenere solo un avatar con una dimensione di 100 * 100, per questo passiamo il valore foto_100 nel parametro dei campi.

2.2 Passando al lato pratico
Ho scritto una semplice classe in php:

Classe VkFriends (funzione pubblica clean_var ($ var) ($ var = strip_tags ($ var); $ var = preg_replace ("~ \ D + ~", "", $ var); $ var = trim ($ var); return $ var;) public function 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 "";)) public function mutual_friends ($ friends) ($ mutual = array_intersect ($ friends-> response, $ friends-> response ); if (! empty ($ mutual)) (return $ mutual;) else (return "";)) public function 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;) funzione pubblica view_user_info ( $ u_info) ($ uid = $ u_info-> uid; $ first_name = $ u_info-> first_name; $ last_name = $ u_info-> last_name; = $ u_info-> photo_100; print ("

");) funzione pubblica view_users_info ($ users_info) (for ($ i = 0; $ i response); $ i ++) ($ this-> view_user_info ($ users_info-> response [$ i]);)))

Ora vediamo la nostra classe in azione:

$ vkf = nuovi VkFriends; $ u_id = $ vkf-> clean_var ($ _ POST ["u1"]); // clean variabili da POST $ u_id = $ vkf-> clean_var ($ _ POST ["u2"]); if (($ u_id! = "") && ($ u_id! = "")) (echo "

"; $ friends = $ vkf-> get_friends ($ u_id); // recupero della lista di amici dall'utente con u_id $ friends = $ vkf-> get_friends ($ u_id); if (($ friends! =" ") && ($ amici! = "")) ($ mutual = $ vkf-> mutual_friends ($ friends); // crea un nuovo array da intersect array if ($ mutual! = "") ($ users_info = $ vkf-> get_users_info ($ mutual ); // ottenere informazioni sugli utenti che sono reciproci $ vkf-> view_users_info ($ users_info); // visualizzare le informazioni sugli utenti selezionati) else (print ("
Ciao habrauser.
Una volta avevo bisogno di trovare una persona, conoscendo il suo aspetto e conoscendo la sua appartenenza a un certo club. Possedevo anche gli indirizzi (VKontakte) delle pagine di altri due membri del club. Quasi sicuramente la persona che stavano cercando era amica di ognuno di loro. Questo problema potrebbe essere risolto in diversi modi. In questo articolo scriverò di come ho implementato la soluzione utilizzando l'API vk.com.
1 compito
Crea un servizio che troverà tutti gli amici comuni di due utenti separati senza richiedere la verifica e un account di social network per gli utenti del servizio. Ottieni dati sugli amici in comune:
  • la foto
Implementa un'attività basata sull'API VKontakte. Scrivi una classe di hotel per questo.
2.Soluzione
2.1 definizione dei metodi API richiesti
Vai a elenco dei metodi API. E dopo aver cercato, troviamo ciò di cui abbiamo bisogno.

Per ottenere gli amici dell'utente, c'è un metodo amici.get.
amici.get - restituisce un elenco degli ID degli amici dell'utente o informazioni estese sugli amici dell'utente (quando si utilizza il parametro fields).

E, ciò che è importante, come parte della soluzione al compito in questione, questo è un metodo aperto che non richiede un access_token.

C'è solo un parametro richiesto:

Usando questo metodo, puoi ottenere informazioni su tutti gli amici di ciascuno dei nostri due set, ma questo approccio non sarà ottimale. L'utente A può avere 2000 persone come amici, solo 3 persone si intersecheranno con gli amici dell'utente B. In questo caso, le informazioni sugli utenti del 1997 non saranno per noi necessarie e le risorse spese per ottenerle saranno sprecate.
Richiederemo solo identificativi utente e, dopo aver ricevuto i numeri di cui abbiamo bisogno (che appartengono all'insieme A e B), selezioneremo già le informazioni da essi.

Esiste un metodo per ottenere informazioni su un utente utenti.get.
utenti.get -Restituisce informazioni estese sugli utenti.

Anche questo metodo non ha bisogno di un access_token, cioè è l'ideale per il nostro compito.


In user_ids, passeremo una matrice di ID utente che si verificano in entrambi i set.
Vogliamo ottenere solo un avatar con una dimensione di 100 * 100, per questo passiamo il valore foto_100 nel parametro dei campi.

2.2 Passando al lato pratico
Ho scritto una semplice classe in php:

Classe VkFriends (funzione pubblica clean_var ($ var) ($ var = strip_tags ($ var); $ var = preg_replace ("~ \ D + ~", "", $ var); $ var = trim ($ var); return $ var;) public function 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 "";)) public function mutual_friends ($ friends) ($ mutual = array_intersect ($ friends-> response, $ friends-> response ); if (! empty ($ mutual)) (return $ mutual;) else (return "";)) public function 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;) funzione pubblica view_user_info ( $ u_info) ($ uid = $ u_info-> uid; $ first_name = $ u_info-> first_name; $ last_name = $ u_info-> last_name; = $ u_info-> photo_100; print ("

");) funzione pubblica view_users_info ($ users_info) (for ($ i = 0; $ i response); $ i ++) ($ this-> view_user_info ($ users_info-> response [$ i]);)))

Ora vediamo la nostra classe in azione:

$ vkf = nuovi VkFriends; $ u_id = $ vkf-> clean_var ($ _ POST ["u1"]); // clean variabili da POST $ u_id = $ vkf-> clean_var ($ _ POST ["u2"]); if (($ u_id! = "") && ($ u_id! = "")) (echo "

"; $ friends = $ vkf-> get_friends ($ u_id); // recupero della lista di amici dall'utente con u_id $ friends = $ vkf-> get_friends ($ u_id); if (($ friends! =" ") && ($ amici! = "")) ($ mutual = $ vkf-> mutual_friends ($ friends); // crea un nuovo array da intersect array if ($ mutual! = "") ($ users_info = $ vkf-> get_users_info ($ mutual ); // ottenere informazioni sugli utenti che sono reciproci $ vkf-> view_users_info ($ users_info); // visualizzare le informazioni sugli utenti selezionati) else (print ("

Il social network "VKontakte" è uno dei progetti Internet più popolari in tutta la Russia e nei paesi dello spazio post-sovietico. Ogni giorno, anno dopo anno, la risorsa viene utilizzata da milioni di utenti che visitano il sito vk.com non solo per comunicare tra loro, ma anche per scoprire le novità, ascoltare le tue registrazioni audio preferite, guardare un film o serie TV, scopri qualcosa di interessante e anche delineare dove andare per un aggiornamento del guardaroba.

Al momento, tutti possono aggiungere come amici fino a 10mila altri "abitanti" del social network e, come mostrano le statistiche, l'utente medio della risorsa ha circa 200-300 amici come amici. Tuttavia, guardando l'elenco dei tuoi amici VKontakte, puoi scoprire inaspettatamente che si trovano in un ordine diverso e a volte possono cambiare posto. Perché sta succedendo questo e come si forma l'intero elenco?

Come era prima

Prima di dare una risposta alla domanda di cui sopra, vorrei ricordarti come si è formata la lista degli amici di VKontakte diversi anni prima. Fino a pochi anni fa, le persone visualizzate negli elenchi di amici di un utente erano ordinate per valutazione. Qui è tutto chiaro: più alto era il punteggio della pagina dell'utente, più alto era visualizzato nell'elenco degli amici. La valutazione può essere ottenuta per la compilazione di informazioni sulla propria pagina o per l'acquisto di voti aggiuntivi. Successivamente, si è deciso di abbandonare la valutazione, che ha fortemente turbato gli utenti che hanno acquistato un gran numero di voti e/o li hanno presentati ad altri "abitanti" del social network.

Come si forma ora la lista degli amici

Ora si sta formando la lista degli amici nel social network più popolare in un altro modo: le prime posizioni della lista sono quegli utenti con cui comunichi più spesso. Tuttavia, ordinare l'elenco di amici VK in questo modo potrebbe confondere alcuni utenti. Ad esempio, alcuni si chiedono perché una persona con cui la comunicazione è estremamente rara sia così in cima alla lista. La risposta è semplice: quando si forma l'elenco, non vengono presi in considerazione solo i messaggi, ma anche i Mi piace, le visualizzazioni di pagina, le risposte, i commenti ai post. Si scopre che non solo l'utente con cui non comunichi così tanto può diventare il primo nella tua lista di amici.

Tuttavia, c'è una piccola eccezione a questa regola: gli utenti che hai aggiunto di recente alla tua lista di amici si trovano di solito al 5° o 6° posto dell'elenco, quindi, secondo gli sviluppatori del social network, in modo da non perdere di vista di loro.

L'ordine degli amici che sono sul sito

Ora vale la pena ricordare come sono ordinati gli utenti dall'elenco degli amici online. Qui, in linea di massima, il principio è esattamente lo stesso: la posizione degli amici converge con quella nella sequenza generale, anche se vengono mostrati solo gli utenti online. Se usi le opzioni "Colleghi", "Migliori amici" e simili, anche la distribuzione degli elenchi di amici in essi sarà la stessa.

Come è organizzato l'elenco degli amici di altri utenti

Se la situazione con la posizione dei nostri amici è già più o meno chiara, che dire degli amici di altri utenti, che vediamo dalla nostra pagina? Qui è tutto un po' diverso: la distribuzione degli amici qui si basa sul numero di conoscenti comuni con la persona di cui stai visualizzando la pagina. Nel caso in cui non si abbiano amici in comune, l'elenco degli amici viene formato in base alla data di registrazione degli utenti al sito.

L'ordine può essere modificato?

Dopo che tutto è diventato chiaro sull'ordinamento degli amici di VKontakte, puoi parlare se questo ordine può essere modificato. Sfortunatamente, questa funzione non è stata fornita dagli sviluppatori del social network, quindi non puoi modificare tu stesso l'ordine degli amici.

Se vuoi che qualcuno vicino a te rimanga sempre in cima alla tua lista di amici, prova a comunicare di più con loro. Altrimenti, mantieni la comunicazione al minimo. Tuttavia, non dimenticare che nessun social network può sostituirti con una vera comunicazione con amici e persone a te vicine!

Il social network VKontakte unisce le persone e in esso vengono costantemente introdotti vari algoritmi, in modo che sia più conveniente per gli utenti trovare i loro amici, parenti e semplici conoscenti con cui potrebbero vedere più volte, ma quando si sono incontrati, non l'hanno fatto avere tempo o non voler essere amici l'uno con l'altro ... Uno dei modi per ricostituire rapidamente la tua lista di amici con conoscenti è utilizzare lo strumento Possibili amici su VKontakte. Nell'ambito dell'articolo, considereremo il principio di funzionamento di questo algoritmo e come utilizzarlo.

Come vedere possibili amici su VKontakte

Per vedere gli utenti che il social network VKontakte considera tuoi potenziali amici, vai alla tua pagina nella sezione "Amici". Nell'angolo in basso a destra della pagina che si apre, sotto gli elenchi di filtraggio degli amici attuali, sarà presente un blocco "Amici potenziali".

Ogni volta che visiti la pagina, viene visualizzata in un modo nuovo. Questo blocco mostra 5 persone che potresti conoscere. Se vuoi vedere più amici possibili, clicca in questo blocco sul pulsante "Mostra tutto".

Successivamente, si aprirà una pagina che mostra tutti gli utenti che sono definiti come possibili amici per la tua pagina. A seconda di quanto attivamente utilizzi il tuo account VKontakte, nonché di una serie di altri fattori, il numero di dati utente può variare. Scorri la pagina verso il basso e i nuovi potenziali amici verranno caricati automaticamente.

Nota: nonostante in questa pagina ci siano tutti i tipi di filtri in alto e a destra, non ti consentono in alcun modo di filtrare l'elenco dei possibili amici. Cioè, se usi la ricerca dall'alto e, ad esempio, provi a trovare tutti i possibili amici con il nome "Sergey", il social network inizierà semplicemente a cercare utenti con il nome "Sergey" nel suo database, senza concentrarsi su l'elenco dei possibili amici selezionati per te.

Come vengono determinati i possibili amici di VKontakte?

La società VKontakte non rivela gli algoritmi con cui viene formato un elenco di possibili amici per ogni utente specifico. Tuttavia, le osservazioni mostrano che chiaramente l'elenco dei possibili amici dipende da:

È importante notare che non c'è modo per l'utente di vedere chi è elencato come potenziale amico. Cioè, queste informazioni non sono reciproche per gli utenti. Se vedi che un utente VK viene visualizzato come possibile amico per te, ad esempio, poiché visiti spesso la sua pagina, ciò non significa che verrai visualizzato come amico con lui. Ovviamente, ad eccezione della situazione in cui, quando visiti una pagina, mostri attività su di essa sotto forma di Mi piace, repost, commenti e così via.

Tu e il tuo ex/ex avete fatto molti nuovi amici durante la vostra relazione? Purtroppo, ora ti stai separando. Come terminare una relazione con un ex/ex senza perdere gli amici in comune?

Passi

    Non parlare della tua rottura con loro. In una situazione del genere, ci sono sempre due punti di vista. Lascia il tuo da discutere con la famiglia e quegli amici con cui conoscevi anche prima di iniziare una relazione.

    Non dire mai niente di male sul tuo ex/ex. Il fatto che tu non stia discutendo della rottura non significa che puoi dire cose cattive su questa persona che non sono collegate alla rottura. Quando dici cose cattive a persone che sono tuoi amici comuni, le metti in una posizione estremamente imbarazzante, perché vogliono rimanere fedeli sia a te che al tuo ex.

    Divulgare le informazioni con attenzione. Dal momento che questi sono tuoi sono comuni amici, ricorda che qualunque cosa dirai loro potrà arrivare al tuo ex. Può rovinare tutti i tuoi tentativi di rompere in modo amichevole.

    Rimaniamo in contatto. Questo momento è molto difficile, perché gli amici comuni ti legano strettamente alla vecchia relazione - sia il cuore che la mente. Tuttavia, se vuoi mantenere l'amicizia, devi capire che i tuoi amici comuni potrebbero semplicemente non sapere come comportarti con te in questa situazione, quindi devi mostrare loro (per telefono o e-mail) che vuoi continuare. tocco. Come già detto, devi stare attento a non rivelare ai tuoi amici informazioni che non dovrebbero raggiungere il tuo ex; tuttavia, condividi con loro i tuoi sentimenti e le tue preoccupazioni su ciò che sta accadendo in modo che si sentano ancora parte della tua vita. Ad esempio, potresti dire: "Tutto considerato, mi sento abbastanza bene. Non è certo facile ricominciare da capo, ma spero che il peggio sia passato e io sono pronto ad andare avanti".

    Se stai già frequentando una nuova persona, tienila lontana dagli amici comuni. L'incontro può generare risentimento e pregiudizio negativo, semplicemente perché è nuovo amore. Gli amici si sentiranno come se tradissero il loro amico (il tuo ex) se a loro piace il tuo nuovo partner che prende il suo posto. Fino a un certo momento, tieni segrete le tue nuove simpatie. Aspetta che la "polvere si schiarisca" e non senti un terreno solido sotto i tuoi piedi - solo dopo puoi provare a far conoscere agli amici comuni una nuova simpatia.

    Parlando dei tuoi incontri congiunti, non ci si dovrebbe aspettare che solo tu sarai invitato dalla coppia. Alcuni dei tuoi amici non vorranno essere sfidati dalla difficile scelta di chi invitare: te o il tuo ex/ex. Molto probabilmente, inviteranno entrambi con il pensiero che siete adulti e affronterete la situazione da soli. Nelle grandi aziende questo è abbastanza appropriato, ma in una stretta cerchia di amici intimi lo sarà nelo-o-o-vko... Evita queste situazioni chiedendo direttamente se il tuo ex/ex sarà alla festa. Quasi sicuramente ti risponderanno onestamente. Non fare i capricci facendo sentire in colpa l'amico che ti ha invitato. Esprimi il tuo rammarico se pensi che in questo incontro sarete entrambi imbarazzati: "Oh, ok ... probabilmente non andrò, sarà una compagnia troppo stretta. Ma non preoccuparti, puoi vederti un'altra volta , quando ci sono più persone e possiamo distrarci". Sorridi, sii gentile e ringrazia la persona per quello che ha pensato di te.

    Non perdere la tua dignità e agisci nobilmente. In un tentativo inappropriato di rassicurarti che sono dalla "tua parte", gli amici potrebbero subire un paio di attacchi al tuo ex. Non dovresti rallegrarti di prendere in giro il tuo ex e non dovresti assolutamente unirti a simili battute. Ricorda, è probabile che questi amici facciano lo stesso con te quando parlano con il tuo ex.

    • Invece, con calma e in modo impressionante dì qualcosa del genere: "Sapete, ragazzi, durante la rottura ero arrabbiato / arrabbiato, ma ora provo rimpianto e sono triste. Il fatto che ora dobbiamo andare avanti, non mi pento il tempo che abbiamo passato insieme. Se non fosse stato per ____ (ex/ex nome), non ti avrei mai incontrato." Dopodiché, stai zitto. I tuoi amici risponderanno con la testa e apprezzeranno i tuoi elevati standard morali.
  1. Lascia che il tempo si occupi del resto. La separazione è come un braccio rotto. Soffre terribilmente e c'è poco che puoi fare dopo aver ottenuto il gesso se non darle tempo. Tutto quello che devi fare è sopportare il dolore e affrontare i cambiamenti che si sono verificati nella tua vita. Col tempo, se non criticherai il tuo ex e non prendi parte a battute su di lui, i tuoi amici capiranno che l'hai passato e andrai avanti.

  • Nel tempo, la tua amicizia si rafforzerà nel nuovo ambiente. Gli amici inizieranno a percepirti non come parte di una coppia, ma come individuo. Solo allora puoi avviarli alla tua nuova relazione romantica.
  • Anche i tuoi amici hanno bisogno di tempo. Ti conoscevano come parte della coppia che amavano e ora anche loro hanno bisogno di adattarsi alle nuove circostanze. Possono fare commenti imbarazzanti o addirittura arrabbiati perché non sanno a chi dare la colpa per quello che è successo e cosa fare. Sii gentile con loro e tieni presente che semplicemente non capiscono come affrontare la situazione.
  • Quando partecipi alle feste o esci con i tuoi amici comuni, sentiti libero di chiedere loro se il tuo ex è stato invitato. Spiega ai tuoi amici che hai bisogno di tempo e spazio personale per essere preparato a un contatto più stretto con il tuo ex rispetto alle feste molto affollate.

Avvertenze

  • Potrebbe risultare che alcuni dei tuoi "amici" non lo siano affatto. Fai attenzione alle spie che ti spiano di nascosto, raccogliendo informazioni per il tuo ex. Questo avvertimento è particolarmente vero se stai attraversando un divorzio. E in questa situazione, sarai più che mai contento di non aver aperto le tue nuove simpatie.
  • Prenditi il ​​tuo tempo per affrontare la rottura troppo buono o troppo presto. Ricorda che anche i tuoi amici comuni provano sentimenti affettuosi per il tuo ex. Se sentono che lo hai facilmente cacciato dalla tua vita, come se fosse qualcosa di non necessario (anche se così), gli amici penseranno che ti stai comportando in modo freddo e senza cuore. Resisti alla tentazione di sfoggiare il tuo nuovo bel ragazzo (nuova bella ragazza), e invece concentrati sui sentimenti dei tuoi amici.
  • Qualsiasi commento sarcastico o aggressivo sul tuo ex ridurrà notevolmente le tue possibilità di mantenere un'amicizia con i tuoi amici comuni.

Principali articoli correlati