1 website, meerdere servers

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior .NET Software Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Senior Front-end Developer

Wordt jij de nieuwe Front end specialist / developer? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel binnen als

Bekijk vacature »

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

ERP Developer fleet managementsysteem

Wat ga je doen als ERP Developer fleet managementsysteem? Als ERP developer speel jij een belangrijke rol bij het doorvoeren van wijzigingen en verbeteringen binnen het fleet managementsysteem. Jouw expertise op het gebied van ERP systemen stelt jou in staat om de applicatie optimaal te laten functioneren en te blijven ontwikkelen. Als lid van het IT-team werk je nauw samen met andere developers en het business team om het fleet managementsysteem te integreren met andere systemen. Je bent verantwoordelijk voor het ontwikkelen van nieuwe functionaliteiten en het implementeren van verbeteringen op basis van de wensen en eisen van onze klanten.

Bekijk vacature »

Front-End Developer

Als Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Front-End Developer bij Coolblue? Als Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Je krijgt energie van het bedenken van creatieve oplossingen en presenteert dit graag binnen het team. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te

Bekijk vacature »

Developer Angular & Kotlin

Dit ga je doen Het (door)ontwikkelen van mobiele apps en webapplicaties; Het opstellen van technisch ontwerp en het bespreken van ontwerpen met de software architect; Het uitvoeren van werkzaamheden op het gebied van technisch testen; Het in de gaten houden van nieuwe ontwikkelingen op jouw vakgebied en het adviseren van de organisatie hierover. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze organisatie is van oorsprong een familiebedrijf, er wordt hard gewerkt, er heerst een no nonsense en doeners mentaliteit, een informele sfeer en er is een mix van

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

Bekijk vacature »

Medior PHP developer

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

Software developer

Functieomschrijving Voor een gewaardeerde werkgever in de regio van Middelburg zijn wij op zoek naar een ambitieuze PHP/Symfony Developer. Een enthousiast persoon die het development team komt versterken met het aanpakken van complexe en nieuwe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel persoonlijke als professionele groei? Lees dan snel verder! Dit ga je doen: Aanpassingssuggesties van collega’s in kaart brengen, vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Ontwikkeling en beheer van de serviceportal in Symfony en

Bekijk vacature »

C# .NET Developer

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een klein team van professionals ben je als C# .NET Developer verantwoordelijk voor het ontwikkelen van één van de applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Back end developer PHP, Laravel

Functie Jij komt te werken in ons webdevelopment team, wat bestaat uit 8 ervaren collega’s. Hiernaast hebben wij nog een team van 2 ontwikkelaars die aan native applicaties werken. Bij ons zijn er korte lijntjes en er hangt een gezellige informele werksfeer. Maar het belangrijkste is natuurlijk dat je aan geweldige applicaties zult gaan werken! Wij willen als organisatie niet te groot worden, we willen gewoon toffe dingen maken. Onze techstack bestaat momenteel uit: PHP, Laravel, Javascript, Typescript, Git, MySQL, Java, Kotlin, Xamarin. Samen met ons ga jij zorgen dat we puik werk leveren! Waarbij je bij elke fase in

Bekijk vacature »

Informeel bureau zoekt Senior PHP developer

Functie Als senior PHP developer neem je het voortouw in ontwikkeltrajecten en ben je in staat werk uit te leggen aan collega’s om zo je kennis met hen te delen. Je deinst niet terug voor ingewikkelde projecten. Deze zie jij alleen maar als uit uitdaging. Je werkt doorlopend aan klantcases (en hierdoor je klant echt leert kennen), maar toch ben je afwisselend bezig. Dit alles in een vrije en ontspannen werksfeer, met een team van gelijkgestemde. Binnen de development teams werken ze met o.a. PHP, Laravel, React, Node, Elastic, Amazon AWS, JIRA, Solid, Domain-driven-design, Doctrine, Redis, docker, Kubernetes, CI, PHP

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

18/04/2015 18:17:22
Quote Anchor link
Hallo allemaal,

Ik vraag me iets af. Stel ik maak een website en op die website kan ik fotoalbums plaatsen. Nu is de server waar die website op staat slechts 10 mb (dit is slechts even als voorbeeld). Nu is na een paar albums die server dus al vol.

Ik kan nu (grofweg) 2 dingen doen. Ik vergroot de capaciteit op de server naar 20 mb, maar dan heb ik over een tijdje hetzelfde probleem. Nu vraag ik me af of het mogelijk is om servers "bij te prikken". Dus stel, de eerste 10 mb zijn vol, dan hang ik er een nieuwe server bij, waardoor ik dus 20 mb heb. Maar nu komt het. Ik heb maar 1 website url, en die kan niet bij 2 servers terecht komen. De servers moeten dus met elkaar "praten". Server 1 moet dus tegen server 2 zeggen dat hij een fotoalbum nodig heeft wat op server 2 staat. Volgens mij zijn hier hardwarematige oplossingen voor, maar wat ik me vooral afvraag is of je hier in je code op de een of andere manier rekening mee moet houden. Of gaat dat allemaal hardwarematig en merk je er eigenlijk helemaal niks van dat je met 2 servers werkt?
 
PHP hulp

PHP hulp

26/09/2023 04:52:14
 
Thomas van den Heuvel

Thomas van den Heuvel

18/04/2015 20:04:53
Quote Anchor link
Zijn de foto's voor iedereen vrij op te vragen?
 
Ozzie PHP

Ozzie PHP

18/04/2015 21:12:17
Quote Anchor link
>> Zijn de foto's voor iedereen vrij op te vragen?

Geen idee. Maakt dat wat uit? :)

Dit is puur een voorbeeld hè. De vraag is eigenlijk of je 1 website kunt "uitsmeren" over meerdere servers, en zo ja ... of je daar dan in de code op de een of andere manier rekening mee moet houden.
 
Thomas van den Heuvel

Thomas van den Heuvel

18/04/2015 21:57:26
Quote Anchor link
Je kunt media toch prima op een andere domein stallen?

vanaf domein A: <img src="http://domein.B/whatever.jpg" />

Mijn vraag is in die zin relevant dat je misschien een soort van laag moet schrijven om de afbeeldingen te ontsluiten voor specifieke gebruikers.

Volgens mij bestaat er ook hosting waarbij diskruimte etc. automatisch bijgeschaald kan worden? Maakt Microsoft niet al tijden reclame met zo'n platform (Azure?)?

Al gezocht op media server oplossingen?
 
Ozzie PHP

Ozzie PHP

18/04/2015 22:06:38
Quote Anchor link
>> vanaf domein A: <img src="http://domein.B/whatever.jpg" />

Maar dat is dus wat ik juist niet bedoel. Ik bedoel een hardware matige oplossing, die "weet" dat fotoalbum 9 op server 1 staat en fotoalbum 10 op server 2.

Ander voorbeeld dan. Stel ik maak één site, maar mijn profiel staat op server 1 en jouw profiel staat op server 2. Als ik surf naar www.eenofanderesite.nl/ozzie dan weet ie automatisch dat ie op server 1 moet kijken, en als ik surf naar www.eenofanderesite.nl/thomas, dan weet ie automatisch dat die gegevens op server 2 staan. Maar dus zonder dat ik dit in de code aangeef.
 
- Ariën  -
Beheerder

- Ariën -

18/04/2015 22:37:57
Quote Anchor link
Volgens mij kan je meerdere (file)servers binnen een netwerk met elkaar koppelen zodat je /mnt/fileserver1 /mnt/fileserver2 hebt. Ik heb geen idee op welke manier dit precies gaat, hoewel een symlink mij iets te simpel lijkt.
 
Ozzie PHP

Ozzie PHP

18/04/2015 22:45:34
Quote Anchor link
Tja, ik ben ook wel benieuwd hoe dat werkt, maar eigenlijk zou ik dus willen weten of zoiets kan zonder dat je er in de code rekening mee hoeft te houden. Ik meen me vaag iets te herinneren van load balancers of iets dergelijks maar misschien heeft dat hier helemaal niks mee te maken.

Ander voorbeeld. Denk aan Facebook of een Instagram. Ik neem aan dat niet alle content op 1 fysieke server staat, maar dat alles is verspreid over meerdere servers. Stel nu Pietje logt in op Facebook. Hoe weet de server die de request ontvangt dan waar de server met map "pictures/pietje23532" te vinden is?
 
- Ariën  -
Beheerder

- Ariën -

18/04/2015 22:51:25
Quote Anchor link
Ik zou zou haast denken dat de URL's eerst via een rewriterule via PHP gaan, waarna gekeken wordt op welke server ze staan, maar ik vraag me af of dat wel goed performance heeft.
 
Ozzie PHP

Ozzie PHP

18/04/2015 22:57:17
Quote Anchor link
Mja, kweet het ook niet eigenlijk :-/

Ik heb ooit een docu over Instagram of Facebook gezien en daar staan echt miljarden foto's op de servers. Dat gaat met een paar miljoen per uur. Dat kan nooit allemaal op 1 server, maar hoe weet men dan waar er plek vrij is? Ik hoop dat iemand dit eens kan toelichten. Lijkt me wel erg interessant.
 
Bart V B

Bart V B

19/04/2015 07:02:22
Quote Anchor link
Dat klopt dat dat load balance heet.
Hoe dat ongeveer werkt kan je hier lezen: http://tweakers.net/reviews/301/loadbalancing-bij-tweakers-punt-net.html
Misschien niet de meest nieuwe tekst maar het plaatje maakt het wel duidelijk.
 
Ozzie PHP

Ozzie PHP

19/04/2015 14:56:26
Quote Anchor link
Dankjewel Bart. Zo'n loadbalancer setup is dus een dure aangelegenheid zie ik. Voor de wat kleinere websites kun je dan dus beter gewoon je servercapaciteit opschroeven in plaats van met meerdere servers te werken?

Waar ik wel nog steeds benieuwd naar ben, is of je er in de code rekening mee moet houden. Dus stel jouw Facebook-foto's staan ergens op een server in de wereld in een mapje bartvb345345/pictures/. Hoe weet de primaire server die de request ontvangt dan op welke server jouw foto's zijn opgeslagen? Regelt de hardware dat? Of moet je daar in je code instructies voor geven? Dit laatste lijkt me namelijk haast ondoenlijk.
 
Yoop Overmaat

Yoop Overmaat

19/04/2015 15:01:18
Quote Anchor link
Zoiets is te doen onder php als dit, het is een afgeleide van het Linux/Unix verhaal genaamd df -h of diskfree human readable;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
// $df contains the number of bytes available on "/"
$df = disk_free_space("/");

// On Windows:
$df_c = disk_free_space("C:");
$df_d = disk_free_space("D:");
?>
 
Ozzie PHP

Ozzie PHP

19/04/2015 15:29:11
Quote Anchor link
Thanks Yoop, maar is dat ook noodzakelijk om in je code te regelen? Dat is eigenlijk mijn vraag. Of regelt de hardware dit automatisch? Laat ik het anders vragen: kan hardware simuleren dat er maar 1 server is, terwijl het er in werkelijkheid honderden zijn? Kan je met hardware "faken" dat die honderden afzonderlijke servers als 1 server worden behandeld? Dus stel je wilt foto's ophalen uit het mapje yoopovermaat/pictures, dat die hardware dan automatisch ziet, aha ... dat mapje staat op server 68 in het serverpark in Los Angeles.
 
Ward van der Put
Moderator

Ward van der Put

19/04/2015 17:16:51
Quote Anchor link
Je kunt verschillende scenario's volgen.
Deze slideshare noemt de belangrijkste inclusief voor- en nadelen:

http://www.slideshare.net/nixnutz/load-balancing-for-php-and-mysql
 
Ozzie PHP

Ozzie PHP

19/04/2015 20:03:46
Quote Anchor link
Thanks Ward, nogal technisch allemaal terwijl ik eigenlijk maar 1 vraag heb, en dat is of je er in de code rekening mee moet houden, of is alles via de hardware te regelen?

Laat ik de vraag nog eens wat interessanter stellen. Stel je begint met een hele kleine website, en die website wordt dusdanig groot dat je met meerdere servers wilt gaan werken. Moet je dan al je PHP code gaan aanpassen?
 
Aad B

Aad B

19/04/2015 20:14:32
Quote Anchor link
==>> De servers moeten dus met elkaar "praten". Server 1 moet dus tegen server 2 zeggen dat hij een fotoalbum nodig heeft wat op server 2 staat.

In geval van Linux of Unix servers kan je storage op NFS protocol koppelen. Hier al eerder genoemd, mounten van de storage van server B op server A. Je moet dan wel root rechten hebben op beide servers. Heb je dat niet dan beland je in andere meer knullige oplossingen die feitelijk geen oplossing zijn. Het Network File System, of kortweg NFS, is een netwerkbestandssysteem dat oorspronkelijk werd ontworpen door Sun Microsystems in 1984 voor hun eigen Unix-werkstations. NFS maakt het mogelijk om bestanden op te vragen over het netwerk op dezelfde manier als men dit zou doen voor bestanden op de lokale schijf. NFS bestaat enkel uit een bestandssysteem en heeft niets te maken met procesbeheer of geheugenbeheer.

==>>Laat ik de vraag nog eens wat interessanter stellen. Stel je begint met een hele kleine website, en die website wordt dusdanig groot dat je met meerdere servers wilt gaan werken. Moet je dan al je PHP code gaan aanpassen?

In dit geval moet je echt gaan load balancen en met de juiste load balancing hoef je GEEN code aan te passen. Hierbij kan je denken aan een hardware loadbalancer op poort 80/433 die de load naar verschillende apache servers delegeert. De onderliggende storage kan via NFS lopen maar ook op andere redundante manieren zoals Business Continuity and Data Protection van EMC. Hetzelfde geldt grofweg voor MySQL maar komt iets meer bij kijken qua beheer.
Gewijzigd op 19/04/2015 21:35:56 door Aad B
 
Yoop Overmaat

Yoop Overmaat

19/04/2015 21:21:18
Quote Anchor link
Ozzie PHP op 19/04/2015 15:29:11:
Thanks Yoop, maar is dat ook noodzakelijk om in je code te regelen? Dat is eigenlijk mijn vraag. Of regelt de hardware dit automatisch? Laat ik het anders vragen: kan hardware simuleren dat er maar 1 server is, terwijl het er in werkelijkheid honderden zijn? Kan je met hardware "faken" dat die honderden afzonderlijke servers als 1 server worden behandeld? Dus stel je wilt foto's ophalen uit het mapje yoopovermaat/pictures, dat die hardware dan automatisch ziet, aha ... dat mapje staat op server 68 in het serverpark in Los Angeles.


Jup dat zul je in je code moeten regelen maar zo heel erg veel werk is het niet. Je hebt allereerst een toegangspunt nodig. Main entrance waar je je afbeelding upload.

Vanaf hier krijg je te maken met het df -h verhaal.

-> verbinding databases
-> query (welke server = het minst bezet qua schijfruimte) schrijf hem daar weg
-> wegschrijven van het plaatje in een directory
-> Adres van het plaatje wegschrijven in een database id, naam, serveradres
-> Opvragen van het plaatje via een link in html -> link -> php-> query....
 
Aad B

Aad B

19/04/2015 22:24:28
Quote Anchor link
@Yoop: Op een x moment is server A bezet qua schijfruimte en blijf je dan voor elke foto dan nog deze procedure uitvoeren of verander je dan je code weer omdat server A volledig bezet qua schijfruimte??
 
Ozzie PHP

Ozzie PHP

19/04/2015 22:41:04
Quote Anchor link
Yoop, wat Aad zegt is wat ik bedoelde. Dat lijkt me ook veel handiger. In je code maakt het dan niet uit op welke server iets staat. De code moet enkel zeggen: sla plaatje x op in map "pictures", en die load balancer die moet dan bepalen op welke server dat plaatje wordt gezet en waar het moet worden opgehaald.

Aad, beschrijf ik het bovenstaande zo goed? Klopt het wat ik zeg? Ik heb er zelf geen kaas van gegeten, maar het is fijn om te weten dat als ik ooit een site hebt die uit de klauwen groeit, ik niet alle code hoef aan te passen. Waarschijnlijk moet ik dan wel een expert inhuren om zo'n load balancer in te stellen :)
 
John D

John D

20/04/2015 09:38:52
Quote Anchor link
@Ozzie: Een load balancer plaats je doorgaans aan de voorkant, een load balancer (hardware) verdeelt het verkeer (http/https) over meerder apache servers (hardware). De apache servers spreken een gezamenlijke grote storage (disks/disk array) aan en slaan daar de plaatjes centraal op (storage server). De MySQL data wordt op zich weer bediend door een separate MySQL server met eigen storage (disks).

In jouw eerdere voorbeeld/vraag (server A server B) is het zinvol om een storage koppeling met een NFS mount te realiseren.
Gewijzigd op 20/04/2015 09:40:40 door John D
 
Ivo P

Ivo P

20/04/2015 09:41:24
Quote Anchor link
maar heb je het over een server die te klein wordt voor je site, of over een goedkoop hostingpakketje?

20MB, wat je als voorbeeld aanhaalt, is namelijk niet zo heel erg veel.

Had je het over 1TB wat niet voldoende is, is het wat anders. Want een server met maar 20MB aan boord: dat was iets uit de jaren 90.

En als je 20MB vol is, is het gewoon tijd voor een wat groter hostingpakket. Of gaat het erom dat de hosting voor 20MB gratis/1euro is?
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.