ID.nl logo
Zo kun je programmeren in Python - deel 8
© Reshift Digital
Zekerheid & gemak

Zo kun je programmeren in Python - deel 8

Tot nu toe leerde je heel wat mogelijkheden van de programmeertaal Python. Misschien ben je buiten onze lessen zelf al aan de slag gegaan met je kennis. Super, want programmeren leer je door het veel te doen. Maar een goed programma is ook gedocumenteerd en goed getest. Dat leer je in onze achtste les.

Hier vind je les 1 van de Python-cursus.

Verkeerde gewoontes leer je niet snel af, daarom dat we nu even een stapje terugdoen en nadenken over wat ‘goede code’ is. Na deze les kun je code produceren die niet alleen goed gedocumenteerd en goed getest is, maar weet je ook hoe je informatie over Python-modules opzoekt met de helpfunctie.

Code documenteren met commentaar

Tot nu toe schreven we onze code zonder enige vorm van documentatie. Als je met anderen samenwerkt aan een programma, is het belangrijk dat je die documenteert, zodat je anderen duidelijk maakt wat je met je code bedoelt. Maar ook als je helemaal alleen programmeert, is documentatie geen overbodige luxe. Zo begrijp je je eigen code nog als je er over een jaar opnieuw naar kijkt.

De eerste manier om je code te documenteren is met commentaar. Alles na het #-teken (hekje) tot het einde van de regel (behalve als het hekje ín een string voorkomt) is commentaar en wordt door Python genegeerd. Op die manier kun je een uitleg voor jezelf of anderen schrijven. Als je bijvoorbeeld in de functie is_palindroom van deel 6 in de war raakt met die indexen, schrijf er dan gerust wat commentaar bij:

if letters[0] != letters[-1]: # Als de eerste en de laatste letter verschillen

Het getuigt van goede stijl om twee spaties tussen je code en het erna volgende commentaarteken te houden en één spatie tussen het commentaarteken en je commentaar. Overigens kun je ook commentaar op een nieuwe losstaande regel beginnen, dan spreken we van een commentaarregel:

# Als de eerste en de laatste letter verschillen

if letters[0] != letters[-1]:

Het is de gewoonte om een commentaarregel te zetten op de regel vóór de regel waarover hij gaat.

Code uitcommentariëren

Het commentaarteken (#) wordt ook weleens gebruikt om code die je aan het testen bent maar die niet blijkt te werken tijdelijk ‘uit te commentariëren’ ofwel uit te zetten. Door een commentaarteken voor de code te zetten, wordt de code door Python genegeerd, maar kun je hem erna wel eenvoudig weer inschakelen door het commentaarteken weg te halen. Op deze manier gebruik je het commentaarteken dus niet voor documentatie, maar eigenlijk als hulpmiddel bij het debuggen.

Code documenteren met docstrings

Commentaar gebruik je om te documenteren waarom je iets doet en hoe je het doet, maar voor gebruikers van je code is vooral belangrijk wat die doet. Om dat te documenteren, gebruik je docstrings: in het begin van elke module, elke klasse en elke functie of methode geef je met een string tussen drie dubbele aanhalingstekens aan wat het stuk code doet.

Zo zouden we onze klassen uit de vorige les als volgt kunnen documenteren:

"""Klassen om met tweedimensionale, driedimensionale en hogerdimensionale punten te werken."""

import math

class Point:
"""Stelt een punt voor in een willekeurig aantal dimensies."""

def __init__(self, *coordinates):
"""Initialiseer het punt met de opgegeven coördinaten."""
self.coordinates = list(coordinates)

def __repr__(self):
"""Geef een leesbare voorstelling van het punt terug."""
return 'Point(' + ', '.join(str(co) for co in self.coordinates) + ')'

def displacement(self, other_point):
"""Geef het verschil terug tussen dit punt en een ander punt.

De overeenkomstige coördinaten worden van elkaar afgetrokken.

Voorbeeld: het verschil tussen Point(1, 4, 2) en Point(3, 4, 1) is gelijk aan Point(2, 0, -1).
"""
return Point(*[a-b for a, b in zip(other_point.coordinates, self.coordinates)])

def distance(self, other_point):
"""Geef de Euclidische afstand terug tussen dit punt en een ander punt."""
relative_position = self.displacement(other_point)
return math.sqrt(sum(i**2 for i in relative_position.coordinates))
class Point2D(Point):
"""Stelt een tweedimensionaal punt voor."""

def __init__(self, x=0, y=0):
"""Initialiseer het punt met de opgegeven x- en y-coördinaten."""
Point.__init__(self, x, y)
self.x = x
self.y = y
def get_x(self):

"""De x-coördinaat van het punt."""
return self.coordinates[0]

def set_x(self, x):
self.coordinates[0] = x

x = property(get_x, set_x)

def get_y(self):
"""De y-coördinaat van het punt."""
return self.coordinates[1]

def set_y(self, y):
self.coordinates[1] = y

y = property(get_y, set_y)

Je ziet hier dat documentatie niet lang hoeft te zijn. De docstrings bij de module, de klassen en bij de meeste methodes zijn maar één regel lang.

De moeilijkste methode om te begrijpen is displacement en daarom is het zinvol om daar wat meer uitleg bij te geven. Bij een docstring van meer dan één regel raden we aan om na de eerste regel een lege regel te houden, en om de drie dubbele aanhalingstekens op het einde op een nieuwe regel te zetten. Dat geeft wat meer overzicht.

Merk op: bij onze eigenschappen x en y van de klasse Point2D documenteren we alleen de methode die de waarde van de eigenschap opvraagt. Zo toont de ingebouwde helpfunctie van Python (die we op het einde van deze les bespreken) deze documentatie bij de eigenschap.

Interactieve voorbeelden in docstrings

We hebben in de docstring van de methode displacement al een voorbeeld van het gebruik van de methode gegeven als documentatie. Maar dat bleef nogal informeel. We kunnen die documentatie ook in de vorm van echte Python-code doen die je in een interactieve terminalsessie zou kunnen invoeren. Zo kan de gebruiker die de documentatie leest, onmiddellijk de voorbeelden kopiëren uit de documentatie en plakken in de Python-interpreter om ze uit te proberen. Dat zou voor de methode displacement er dan als volgt uitzien:

def displacement(self, other_point):"""Geef het verschil terug tussen dit punt en een ander punt.

De overeenkomstige coördinaten worden van elkaar afgetrokken.

>>> Point(1, 4, 2).displacement(Point(3, 4, 1))Point(2, 0, -1)"""return Point(*[a-b for a, b in zip(other_point.coordinates, self.coordinates)])

Je ziet hier dat je de code na de >>> exact in een Python-terminalsessie zou kunnen invoeren en dan ook het resultaat zou krijgen dat hier staat. In feite hebben we wat hier staat gewoon eerst in de terminal van Thonny ingevoerd en dan samen met de uitvoer gekopieerd en hier in de docstring geplakt.

Code testen met doctest

Stel dat je nu ooit de code van de methode displacement aanpast omdat je denkt een verbetering te zien, maar er een fout in maakt, waardoor het resultaat verkeerd is. Dan kun je dat testen door de voorbeeldcode in je docstring uit te voeren in een Python-terminalsessie. Voer je de code uit en komt het resultaat niet overeen met de uitvoer in de docstring, dan klopt je code niet meer.

Maar zouden we die test niet automatisch kunnen doen? Jazeker! Python kent daarvoor de module doctest, die automatisch alle docstrings in een module kan testen op interactieve voorbeelden. Dat voer je als volgt uit in een Linux- of macOS-terminal of de Windows Opdrachtprompt:

python3 -m doctest -v point.py

Hierbij is point.py de naam van de module met je code erin. Je krijgt dan als uitvoer de tests die doctest in je docstrings ziet en het resultaat. Als je het alleen wilt zien als een test een fout vindt, haal dan de optie -v weg. Stel dat je bijvoorbeeld per ongeluk de * vergeten bent in de methode displacement om de lijst naar een willekeurig aantal argumenten voor de klasse Point om te zetten, dan zal doctest die fout opmerken met de volgende melding:

**********************************************************************

File "point.py", line 21, in point.Point.displacement

Failed example:

Point(1, 4, 2).displacement(Point(3, 4, 1))

Expected:

Point(2, 0, -1)

Got:

Point([2, 0, -1])

**********************************************************************

1 items had failures:

1 of

***Test Failed*** 1 failures.

Een goede manier van programmeren is dan ook dat je je code zoveel mogelijk documenteert met docstrings en daarin ook interactieve voorbeelden opneemt, die je na elke wijziging van je code automatisch test met doctest om je ervan te verzekeren dat je geen fouten hebt geïntroduceerd.

De helpfunctie gebruiken

Als je code is gedocumenteerd, hoef je niet je codebestand in Thonny te openen om de documentatie te bekijken. Je kunt dit in een interactieve Python-sessie, bijvoorbeeld in Thonny, maar ook in een Python-sessie in een Linux- of macOS-terminal of de Windows Opdrachtprompt. Het enige wat je hoeft te doen, is de functie help op te roepen met de naam van de module, klasse, functie of methode waarvoor je de documentatie wilt zien. Bijvoorbeeld in Thonny:

>>> help(Point.displacement)

Help on function displacement in module __main__:

displacement(self, other_point)

Geef het verschil terug tussen dit punt en een ander punt.

De overeenkomstige coördinaten worden van elkaar afgetrokken.

>>> Point(1, 4, 2).displacement(Point(3, 4, 1))

Point(2, 0, -1)

Overigens zijn alle standaardmodules van Python uitgebreid gedocumenteerd met docstrings. Daardoor kun je van alle modules, klassen, functies en methodes heel eenvoudig documentatie opvragen in je Python-terminalsessie. Let er wel op dat je een module eerst dient te importeren voordat je er documentatie van kunt opvragen met help.

Samenvatting

In deze les ging het minder over het programmeren zelf, maar over het documenteren en testen van je Python-programma’s en het uitzoeken van meer informatie over de standaard Python-modules of je eigen modules. Hoe complexer je programma’s zijn, hoe belangrijker dit soort zaken rond je code zijn. Maak er daarom een gewoonte van om documentatie en tests niet als een nabeschouwing te zien, maar al tijdens de ontwikkeling van je programma in je code te integreren. In de volgende les maken we het nog complexer: dan gaan we extra modules installeren die niet in Python ingebouwd zijn.

Opdracht 1

Voer de helpfunctie eens uit op je klasse Point2D. Wat zou er nog beter kunnen aan de getoonde documentatie?

Uitwerking opdracht 1

*>>> from point import Point2D

help(Point2D)* De helpfunctie van onze klasse toont niet alleen de eigenschappen x en y bij de Data descriptors, maar toont ook de methodes get_x, set_x, get_y en set_y. Dat is wat te veel van het goede. Die methodes hoeven niet getoond te worden. Daar doen we in de volgende opdracht iets aan.

Opdracht 2

We hebben een eigenschap zoals x in de klasse Point2D tot nu toe geconstrueerd met methodes get_x en set_x en een opdracht als x = property(get_x, set_x) om deze methodes samen als eigenschap te gebruiken. Maar je kunt een eigenschap ook met een decorator definiëren en dan worden die methodes niet in de helpuitvoer getoond. Zoek zelf met de ingebouwde helpfunctie van Python op hoe je dat doet.

Uitwerking opdracht 2

Met help(property) krijg je uitleg over de opdracht property. Je leert er zelfs dat het geen opdracht maar een klasse is. Het in de helpuitvoer getoonde voorbeeld kun je bijna rechtstreeks toepassen op onze klasse Point2D. Dan kom je tot de volgende code voor x: *@propertydef x(self):"""De x-coördinaat van het punt."""return self.coordinates[0]@x.setter**def x(self, x):*self.coordinates[0] = x Doe hetzelfde voor y. Voer de helpfunctie opnieuw uit op je klasse en verifieer dat je alleen nog maar hulp over de eigenschappen krijgt en niet meer over de methodes die de eigenschappen opbouwen.

Cheatsheet

Commentaar: een regel die begint met # en dient als uitleg bij een stukje code. Debuggen: fouten (bugs) in je code opsporen en verhelpen. Docstring: een string tussen drie dubbele aanhalingstekens die een module, klasse, functie of methode documenteert. Uitcommentariëren: een regel code uitschakelen door er een commentaarteken voor te zetten.

▼ Volgende artikel
Meer privacy? Zo verruil je Google en Apple voor het Zwitserse Proton
© ID.nl
Huis

Meer privacy? Zo verruil je Google en Apple voor het Zwitserse Proton

Microsoft, Google en Apple hebben altijd honger naar data. Vooral persoonlijke gegevens zijn goud waard. Wil je niet dat deze Amerikaanse Big Tech-bedrijven informatie over je verzamelen? Proton is een privacyvriendelijk alternatief. Dit digitale Zwitserse zakmes bestaat onder meer uit een e-maildienst, onlineschijf en VPN-server. Doe er je voordeel mee!

In het kort

In dit artikel helpen we je op weg met de privacyvriendelijke diensten van Proton. We leggen stap voor stap uit hoe je een beveiligd account aanmaakt en inricht. Vervolgens duiken we in de mogelijkheden van Proton Mail, zoals het koppelen van je huidige Gmail en het instellen van een handtekening. Ook laten we zien hoe je bestanden versleuteld opslaat en deelt via Proton Drive en hoe je anoniem surft met Proton VPN.

Lees ook: Europese alternatieven voor Amerikaanse online diensten

Bijna iedereen gebruikt wel een of meerdere diensten van Microsoft, Google of Apple. Logisch, want bekende namen als Gmail, Drive, iCloud, OneDrive en Outlook zitten standaard in diverse (mobiele) besturingssystemen. Je komt er dus bijna niet onderuit. Waarschijnlijk heb je na aanschaf van een nieuwe smartphone, tablet of computer al eens een account bij een Big Tech-bedrijf aangemaakt. Gelukkig wil dat nog niet zeggen dat je de bijbehorende diensten ook permanent moet gebruiken. Je kunt bijvoorbeeld prima ergens anders je agenda en e-mails beheren. Ook je filmpjes, foto's en documenten bewaar je desgewenst bij een andere clouddienst.

Wat is er mis met Big Tech?

Waarom zou je eigenlijk een gebruiksvriendelijke en goedwerkende webdienst van een bekend techbedrijf afdanken? Daarvoor bestaan grofweg twee redenen. Besef allereerst dat deze organisaties continu gebruikersdata analyseren en verzamelen. Voor online adverteerders is deze informatie zeer waardevol, want zij kunnen zo heel gericht adverteren. Een tweede argument is dat de genoemde techbedrijven onder de gammele privacywetgeving van de Verenigde Staten vallen. Als de Amerikaanse overheid een inzageverzoek voor een bepaald gebruikersaccount indient, zal Google, Microsoft of Apple dat honoreren. Zij zijn in dat geval namelijk verplicht om de bijbehorende gegevens af te staan.

Voordelen Proton

Bij Proton zijn jouw privédata in veilige handen. De oprichters kozen er in 2014 bewust voor om de organisatie in Zwitserland te huisvesten. Dit Alpenland staat namelijk bekend om zijn strenge privacywetgeving. Nuttig om te weten is dat al jouw gegevens versleuteld worden opgeslagen. Kortom, niemand kan jouw foto's, e-mails en documenten inzien. Verder zijn de diensten volkomen reclamevrij, waardoor Proton geen belang heeft bij het sprokkelen van persoonlijke informatie.

Zijn er dan helemaal geen nadelen? Bijna niet, al geldt er voor gratis leden wel een strakke datalimiet. Als niet-betalende gebruiker kun je 1 GB aan e-mails en 5 GB aan bestanden opslaan. Wanneer je alleen de belangrijkste berichten, foto's en documenten bewaart, kom je daarmee een heel eind. Overigens hanteert Proton voor zijn betaalde abonnementen schappelijke tarieven.

Voor een tientje per maand bewaar je 200 GB data in zwaarbeveiligde datacentra.

Account aanmaken

Wil je graag met Proton aan de slag? Surf dan naar https://proton.me en klik op Maak een gratis account aan. Typ een relevante gebruikersnaam. Dit is meteen ook je e-mailadres. In de volgende stap vul je tweemaal een sterk wachtwoord in, waarna je bevestigt met Aan de slag. Bewijs nu aan Proton dat je geen robot bent. Sleep het puzzelstukje naar de juiste plek en kies Volgende.

Kun jij deze puzzel afmaken?

Weergavenaam

Na heel even wachten verschijnt er een verse pagina met een zogeheten herstelkit. Die heb je nodig wanneer je onverhoopt niet meer in jouw account kunt komen. Klik achter PDF Downloaden op de paarse downloadknop en bewaar dit pdf'je in een geschikte map. Vink vervolgens het selectiehokje aan en kies Ga verder.

Typ in het volgende scherm een zogenoemde weergavenaam. Die zien mensen wanneer ze een e-mail van je ontvangen. Jouw voor- en achternaam liggen daarom voor de hand. Via Doorgaan verschijnt er een overzichtsscherm met alle beschikbare Proton-diensten.

Bepaal met welke Proton-dienst je wilt beginnen.

Starten met Proton Mail

Van Big Tech-bedrijven is bekend dat ze het e-mailverkeer scannen. Als je niet op digitale pottenkijkers zit te wachten, ben je bij Proton Mail aan het juiste adres. Dankzij het gebruik van eind-tot-eind-encryptie kunnen alleen de verzender en ontvanger de inhoud van een bepaalde e-mail lezen. Nieuwe gebruikers zien eerst een introductiescherm. Neem de tips vrijblijvend door, waarbij je eventueel een desktopprogramma of mobiele app van Proton Mail kunt installeren. Deze workshop behandelt alleen de webmailversie. Pas in de laatste stap het thema naar eigen smaak aan.

Proton Mail heeft zes stijlvolle thema's in huis.

Gmail koppelen aan Proton Mail

Via Gebruik dit open je jouw digitale postbus. Proton Mail oogt als een doodnormale e-maildienst. In het linkermenu staan alle mappen, terwijl je rechts e-mails kunt lezen. Zie linksonder hoeveel opslagruimte er momenteel in gebruik is. Dat is belangrijk om in de gaten te houden, want bij een volle mailbox ben je onbereikbaar. In eerste instantie kunnen gebruikers 500 MB aan e-mails opbergen. Je verdubbelt dat door de gelijknamige app op je mobiele toestel te installeren en jouw Gmail-berichten naar Proton door te sluizen. Klik voor laatstgenoemde optie linksonder op Gmail automatisch doorsturen en Inloggen met Google. Je bevestigt tweemaal met Doorgaan om de Gmail-berichten op te halen.

Koppel jouw Gmail-account aan Proton Mail en mis nooit een bericht.

Instellingen

Via Nieuw Bericht stel je eenvoudig een verse e-mail op. Uiteraard kun je ook mailtjes beantwoorden en doorsturen. Dat werkt op ongeveer dezelfde wijze als je dat wellicht van andere webmaildiensten gewend bent. Houd er rekening mee dat de spam-map in de reguliere weergave is verstopt. Klik in de linkerkolom op Meer om onder andere de mappen Spam en Prullenbak te tonen.

Je kunt in Proton Mail de belangrijkste instellingen nog even nalopen. Klik hiervoor bovenaan op het tandwiel. De opties verschijnen in de rechterkolom. Kies achter Lay-Out voor Rij of Kolom. Een kolommenweergave heeft als voordeel dat je tegelijkertijd het postvak met alle ontvangen e-mails én de inhoud van een los bericht kunt bekijken. Verder pas je desgewenst de Dichtheid van het postvak aan. Selecteer je hier Compact, dan heeft jouw postvak plek voor meer e-mails.

Is jouw computerscherm groot genoeg, dan ligt een kolommenweergave voor de hand.

E-mailhandtekening

Klik eventueel op Alle instellingen om nog meer opties van Proton Mail te tonen. Misschien wil je bijvoorbeeld een handtekening instellen. Die verschijnt dan automatisch onder iedere nieuwe of beantwoorde e-mail. Klik binnen het instellingenvenster onder Proton Mail op Identiteit en adressen. Typ bijvoorbeeld je naam, adres en telefoonnummer. Wil je een (bedrijfs)logo in de handtekening plaatsen? Klik dan helemaal rechts van de werkbalk op het pictogram Afbeelding invoegen. Via Afbeelding uploaden verschijnt het gekozen plaatje in het tekstkader. Pas de grootte naar eigen inzicht aan en bevestig met Update.

Maak met de opmaakfuncties in de werkbalk een mooie e-mailhandtekening.

Superveilige dataopslag

Net als bij Proton Mail past het Zwitserse concern bij Proton Drive eveneens eind-tot-eind-versleuteling toe. Behalve jijzelf kan dus helemaal niemand de gegevens inzien. Ook de eigen personeelsleden van Proton niet! Bestanden en bestandsnamen zijn voor derden dus onleesbaar. Ga naar https://drive.proton.me om de online schijf te openen. Via Aan de slag wijzig je optioneel het thema. Je kiest achtereenvolgens Selecteer thema / Later installeren / Doorgaan / Sla voorlopig over, waarna je persoonlijke cloudomgeving verschijnt. Die is nog leeg, maar daar komt snel verandering in!

Bekijk linksonder de resterende online opslagcapaciteit. Aan het begin heb je 2 GB tot je beschikking. Je breidt dat uit tot hoogstens 5 GB door bepaalde opdrachten te voltooien, namelijk het uploaden van gegevens en het delen van bestanden met bekenden. Proton geeft voor deze taken namelijk een beloning.

Voer de gevraagde taken uit en bewaar 5 GB data in de cloud.

Bestand(en) uploaden

Een gratis opslagcapaciteit van 5 GB lijkt misschien veel, maar in de praktijk zit jouw persoonlijke cloud zo vol. Bedenk daarom goed welke gegevens je veilig wilt bewaren. Met name video's en foto's nemen relatief veel ruimte in beslag. Selecteer daarom alleen de meest dierbare beelden. Verder kun je ook privacygevoelige bestanden in Proton Drive kwijt, zoals een kopie van jouw identiteitsbewijs en financiële documenten.

Het uploaden van gegevens is kinderspel. Sleep vanuit Windows Verkenner met ingedrukte muisknop een map of bestand naar Proton Drive. Zodra je de muisknop loslaat, start direct het uploadproces. Proton Drive versleutelt eerst de gegevens en slaat de boel vervolgens op. Als alternatief voeg je via de knop Nieuw net zo makkelijk een bestand of map toe.

Ondanks de gebruikte encryptie gaat het uploaden in Proton Drive vrij snel.

Bestanden weergeven

Mooi meegenomen is dat deze clouddienst diverse bestanden kan weergeven, zoals foto's, pdf'jes en tekstdocumenten. Dubbelklik gewoon op een bestandsnaam of miniatuur om een voorbeeldweergave te bekijken. Tot slot kun je jouw cloudruimte naar eigen wens organiseren. Klik bovenaan op het pictogram Nieuwe map aanmaken. Nadat je een relevante mapnaam hebt getypt, sleep je de gewenste bestanden naar deze nieuwe locatie.

Klik rechtsboven op het pictogram Lay-out aanpassen om de foto's als miniaturen te tonen.

Verantwoord gegevens delen

Soms is het handig om kiekjes of andere gegevens met bekenden te delen. Geen probleem, want je regelt dat rechtstreeks vanuit Proton Drive. Selecteer eerst een bestand of map. Je doet dat door voor het beoogde item het selectiehokje aan te vinken. Klik vervolgens bovenaan op het pictogram Delen (poppetje met plusteken).

Gebruikt jouw contactpersoon óók Proton Drive? Typ dan eerst het juiste e-mailadres. Daarna schrijf je een bericht, zodat jouw vriend(in) of kennis weet om wat voor bestand(en) het gaat. Bevestig nu met Delen. De ontvanger van de e-mail kan de gegevens nu met zijn of haar eigen account downloaden.

Is jouw contactpersoon geen lid van Proton, dan kun je nog steeds een bestand of map delen. Klik in dat geval achter Maak een publieke link op het schuifje. Het is verstandig om toegang tot deze url te beveiligen. Stel via het tandwieltje een vervaldatum en wachtwoord in. Zo weet je zeker dat onbevoegden geen toegang hebben. Klik ten slotte op Wijzigingen opslaan en verstuur de getoonde link nu bijvoorbeeld via e-mail of WhatsApp.

Stel een map of bestand via een publieke weblink aan anderen beschikbaar.

Data synchroniseren

Met Proton Drive synchroniseer je eenvoudig data tussen verschillende computers, tablets en smartphones. Je kunt de bestanden dan overal gebruiken. Ga naar https://drive.proton.me/u/6/devices om het benodigde programma voor Windows of macOS te downloaden. Log na de installatie in met het juiste e-mailadres en wachtwoord. In de Verkenner of Finder is nu de map Proton Drive zichtbaar. Bestanden en mappen die je hierin plaatst, belanden automatisch op de server van Proton. Vervolgens zijn de data voor alle gekoppelde apparaten beschikbaar. Bewaar op die manier van belangrijke bestanden een veilige back-up.

Je draagt de persoonlijke gegevens voortaan altijd bij je. Installeer vanuit de App Store of Play Store de mobiele app van Proton Drive. Zodra je bent ingelogd, heb je meteen toegang tot al jouw foto's en documenten. Nuttig is dat je optioneel smartphonefoto's kunt back-uppen. Daarnaast deel je eenvoudig bestanden met bekenden.

Bewaar met de Proton Drive-app je belangrijkste bestanden in je broekzak.

Beveiligde verbinding

Het Zwitserse techbedrijf stelt alles in het werk om de privacy van zijn gebruikers zo goed mogelijk te beschermen. In dat kader mag een VPN-dienst natuurlijk niet ontbreken. Je creëert daarmee een versleutelde tunnel tussen jouw apparaat en het Proton-datacenter. Hiervoor wordt het netwerkverkeer via een zogeheten VPN-server omgeleid. Dankzij deze techniek zien derden niet wat je online doet, zoals hackers en je internetprovider. Bovendien blijft jouw ip-adres verborgen.

In tegenstelling tot veel andere aanbieders is Proton VPN gratis. Er geldt geen datalimiet. Surf naar https://account.protonvpn.com en scrol een stukje omlaag. Zoals je ziet, is deze dienst voor vrijwel alle (mobiele) besturingssystemen beschikbaar, waaronder Windows, macOS, Linux, Android, iOS, Apple TV en Android TV. Bovendien kun je Proton VPN ook in de browsers Chrome en Firefox installeren. Download en installeer de gewenste versie.

Je zet eenvoudig een beveiligde netwerkverbinding op. Log in met je account en kies daarna Verbinden. Met de gratis versie selecteert Proton op eigen houtje een beschikbare server. Via Change server wijzig je de locatie. Dat gebeurt willekeurig. Als je liever een VPN-server uit een specifiek land gebruikt, heb je een betaald account nodig.

De gratis versie van Proton VPN selecteert een willekeurige server.

Overige tools van Proton

Naast Proton Mail, Drive en VPN gebruik je met een gratis account nog meer diensten. Zo beheer je met Calendar een versleutelde agenda, terwijl je met Pass jouw wachtwoorden in een beveiligde online kluis bewaart. In Wallet kun je zelfs gekochte bitcoins beheren. Tot slot is Proton Authenticator een nuttig hulpmiddel voor wie tweestapsverificatie voor diverse webdiensten wil instellen.

Lees ook: Waarom je beter geen sms voor tweestapsverificatie kunt gebruiken

Nog meer privacy?

Screenfilters voor je laptop
▼ Volgende artikel
CES 2026: Samsung breidt audio-aanbod uit met nieuwe speakers en soundbars
© Sony
Huis

CES 2026: Samsung breidt audio-aanbod uit met nieuwe speakers en soundbars

Op de CES in Las Vegas presenteert Samsung een uitbreiding van zijn audio-aanbod voor 2026. De fabrikant introduceert twee nieuwe Music Studio-speakers en vernieuwt tegelijk zijn Q-serie soundbars. De nadruk ligt op beter samenwerkende apparaten, waarbij tv, soundbar en losse speakers als één systeem functioneren.

Onder de nieuwe producten bevinden zich de Music Studio 5 en Music Studio 7, twee draadloze luidsprekers die zijn ontworpen om zowel zelfstandig als in combinatie met andere Samsung-audioapparatuur te werken. Beide modellen maken deel uit van een breder ecosysteem, waarin meerdere speakers en soundbars aan één tv gekoppeld kunnen worden.

De Music Studio 7 is het meest uitgebreide model. Deze speaker levert 3.1.1-kanaals audio met aparte speakers voor links, rechts, het midden en omhoog gericht geluid. Daardoor ontstaat een ruimtelijker geluidsbeeld dan bij een traditionele stereospeaker, vooral bij films en series. Samsung past technieken toe om overlap tussen kanalen te beperken en de bas gecontroleerd te houden, ook bij hogere volumes. Muziek wordt verwerkt tot 24-bit/96 kHz en dankzij de super tweeter worden ook hoge tonen verder doorgetrokken. De Music Studio 7 is los te gebruiken, maar kan ook worden gecombineerd met extra speakers of een Samsung-tv voor een bredere stereo-opstelling of surroundgeluid.

De Music Studio 5 is compacter. Hij gebruikt een enkele woofer en twee tweeters voor een evenwichtige weergave en is afgestemd op helder geluid bij dagelijks gebruik, zoals muziekstreaming en tv-geluid. Net als het grotere model ondersteunt hij wifi, bluetooth en spraakbediening. Samsung richt zich hier duidelijk op gebruikers die één losse speaker willen, maar wel de optie willen houden om later uit te breiden.

Soundbars

Naast de nieuwe Music Studio-speakers vernieuwt Samsung ook zijn Q-serie soundbars voor 2026. Het topmodel HW-Q990H bestaat uit een uitgebreide set met een 7.0.2.-soundbar, draadloze 4.0.2.-achterspeakers en een ingebouwde subwoofer. Nieuw is onder meer een functie die dialogen nadrukkelijker naar het midden van het scherm verplaatst en een automatische volumeregeling die grote verschillen tussen bronnen voorkomt. Daarnaast introduceert Samsung een all-in-one soundbar, de HW-QS90H, die zonder losse subwoofer werkt. Dankzij het Convertible Fit-ontwerp kun je die plaatsen waar je wilt: je kunt hem op tafel zetten maar ook aan de muur hangen. Een ingebouwde gyrosensor zorgt ervvor dat de kanaaalverdeling automatisch wordt aangepast.

Alle nieuwe audioproducten werken met elkaar samen via Q-Symphony en de SmartThings-app. Daarmee moeten gebruikers eenvoudiger meerdere speakers kunnen combineren en het geluid beter kunnen afstemmen op hun woonkamer.

Wat is Q-Symphony?

Q-Symphony is een techniek van Samsung waarbij de luidsprekers van een compatibele tv actief blijven wanneer je een soundbar of draadloze speakers aansluit. In plaats van de tv-speakers uit te schakelen, laat het systeem alle speakers samenwerken. Q-Symphony verdeelt het geluid automatisch over de beschikbare luidsprekers en houdt rekening met hun plaatsing in de ruimte. Spraak komt daarbij vaak uit de tv zelf, terwijl muziek en effecten via de soundbar en extra speakers worden weergegeven.

Voor 2026 breidt Samsung deze aanpak verder uit. Q-Symphony wordt adaptiever en kan nu tot vijf geluidsapparaten tegelijk aan één tv koppelen, waaronder soundbars en wifi-speakers. Het systeem analyseert de ruimte en past de kanaalverdeling daarop aan, met als doel een duidelijkere dialoog en een nauwkeuriger surroundgeluid. Via wifi en de SmartThings-app zijn bovendien geluidsinstellingen, speaker­groepen en muziekbediening centraal te regelen vanaf een smartphone of tablet.