Tegenwoordig zie je het steeds meer.. Hyves, Twitter, Facebook, LinkedIn, Heello. Er komen steeds meer nieuwe Social Media sites. Allemaal erg leuk natuurlijk, maar nu wil ik toch wel eens de achterliggende technieken achter zo'n website weten.

Kan iemand mij wat meer vertellen over de werking van bijvoorbeeld Hyves, Facebook of Twitter? 't Is misschien een beetje een 'wilde' vraag waar natuurlijk niet iedereen antwoord op weet, zoals bij Argeweb (;-)). Maar ik ben toch benieuwd of er mensen zijn die contacten hebben met eventueel medewerkers bij Hyves (Lijkt mij voor Twitter en Facebook niet het geval).

Worden er bij zulke websites ook gewoon standaard Frameworks gebruikt? Of is de kennis zo danig groot dat ze alles zelf ontwikkelen. En ook ben ik er erg benieuwd naar of ze gewoon de 'standaard' dingen toepassen zoals PHP (OOP) en MySQL databases. Of zitten er echt 'servers' achter die veel denkwerk op zich nemen? Misschien leuk om wat stukken code met elkaar te delen die eventueel worden toegepast op één site zoals Twitter?

Is er iemand die er mij meer over kan vertellen? Vooral omdat het mij leuk lijkt om eens een systeem te schrijven zoals Twitter. Hyves en Facebook is onmogelijk te doen in je eentje in een relatief korte tijd.

Sinds kort is het nieuwe medium Heello gelanceerd wat eigenlijk de opvolger is van Twitter door de oprichter van Twitpic. En het valt mij op dat dit in een super korte tijd is neergezet, want de eigenaar van Twitpic heeft deze plannen nog niet zo lang. Natuurlijk weet niemand of er op de achtergrond is gewerkt aan het systeem.

En nee, ik ga niet de makers mailen om deze info. Want anders had ik de vraag niet hier gesteld ;-)
Wat bedoel je? Hoe dat er in PHP uitziet?
Dat de Marktplaats frontend op PHP draait? De engine zal wdenk ik wel JAVA zijn?

Ik zie de .php extentie, en pas geleden kwam ik nog ergens een typische PHP-foutmelding tegen, op creatieve wijze, welke een bugje bleek te zijn.
Niels Kieviet op 11/08/2011 20:36:15

Je haalt in je bootstrapper alle gebruikers op, en maakt dan alle routes aan op basis van de naam.

Als je veel users hebt wordt dat wel heel traag, daar zul je dus een nieuwe manier op moeten verzinnen.. Die weet ik wel, maar die vertel ik niet :-)

Wie A zegt, moet ook B zeggen Niels... vertel!

@Aar,

Oh, ik hoorde pas geleden dat ze helemaal over zijn gegaan op JAVA.. Zelfs de frontend. Maar het zou best kunnen dat het op dit moment nog niet geïmplementeerd is, en dat het later komt.

@Ozzie..

Ik zal alleen deel A vertellen..
Ik heb het wel in ZF gemaakt, dus wanneer je een andere framework gebruikt moet je het zelf maar even aanpassen:

<?php

// Je zou eventueel een cache kunnen maken zodat je niet altijd alle users moet laden, wat natuurlijk ongelofelijk veel tijd kost. (Nu even zonder)

$users = new Table_Users();
foreach ($users->getUsers() as $user) {
$route = new Zend_Controller_Route_Route($user->username . '/*',
array(
'controller' => 'user',
'action' => 'index',
'viewtype' => 'user'
);
$router->addRoute('...', $route);
}

?>

Je moet nog wel even aan controles enzo denken.. En niet vergeten om je router te definieren.. Die kan je uit de frontController plukken.

Huh... dit is toch standaard? Ik bedoelde die nieuwe manier van jou....
Ja dit is standaard.. Ik zei ook dat ik deel A zou vertellen.
Maar ik heb wel wat oplossingen voor je:

- Een tabelletje met alle urls
- Vollop cachen
- Een cron waarin je elke keer de url's opnieuw aanmaakt. (Laat je elke 15 min lopen)
Waarom iedere keer opnieuw de url's aanmaken?


Ik dacht eigenlijk dat je een oplossing had voor dit

"Als je veel users hebt wordt dat wel heel traag, daar zul je dus een nieuwe manier op moeten verzinnen.. Die weet ik wel, maar die vertel ik niet :-)"

Je zou zoiets kunnen zeggen... als het maar 1 argument is dan is het automatisch een user... en die specifieke user haal je uit de database. Of bedoel je dat niet?
Nee, ze hadden het hierboven dat het elke gebruiker een eigen twitter url heeft.
Je kan het met 1 argument doen, maar de vraag is of je dat wilt.. Als je per ongelijk iets intikt krijg je.. Deze gebruiker kan niet gevonden worden of iets in die zin.

Daarnaast, doet twitter dat ook helemaal niet.. Bekijk maar eens een paar URL's van hun.. :)

Ja daarom zei ik ook.. Wanneer je elke keer opnieuw de url's aanmaakt wordt dat heel traag bij heel veel gebruikers.. Daarom had ik het ook over alternatieve manieren.

Zit jij met zo'n probleem dan?
Nee, ik zit zeker niet met zo'n prbleem... maar in mijn cms ga ik ook routes gebruiken. Weet nog niet precies hoe flexibel.. ZF doet dat wel heel mooi, dat je exact kunt aangeven hoe een route eruit moet zien... maar ik vraag me af hoe je dat technisch moet implementeren. Bij ZF kan bijvoorbeeld argument 1 een controller zijn, maar ook een variabele.

Stel je hebt deze route:

www.mijnsite.nl/autos/ford/ka

Hoe weet ZF dan bijvoorbeeld dat autos een controller is en ford en ka variabelen zijn? Hoe matcht ie dat? Dat vind ik wel mooi gedaan :)
Owkee.

Um standaard, is de eerste parameter de controller en de twee parameter de action.
Wanneer je geen tweede parameter opgeeft pakt hij standaard de index action van de desbetreffende controller.

Met Zend_Route kan je ook nog aangepaste routes opgeven. Wanneer die route in de url wordt aangeroepen wordt hij naar de door jouw opgegeven controller en action doorgestuurd.

Zo kan je dus heel flexibel, hele mooie routes genereren.

Reageren