Uitleg van derde partijen commandoregeltools in de lokale ServBay-omgeving
ServBay is een krachtige lokale webontwikkelomgeving die niet alleen veelgebruikte webservers, databases en programmeertaal-runtimes integreert, maar ook een reeks derde partijen commandoregeltools bevat die voor ontwikkelaars erg nuttig zijn in het dagelijks werk. Deze tools bestrijken cruciale gebieden als beeldbewerking, netwerkcommunicatie, compressie en decompressie van bestanden, encryptie en beveiliging.
Dit artikel biedt een gedetailleerde introductie tot deze commandoregeltools die in de ServBay-omgeving zijn opgenomen. We leggen uit wat ze doen en geven basisvoorbeelden, zodat ontwikkelaars optimaal profiteren van de mogelijkheden die ServBay biedt.
Waarom bevat ServBay deze tools?
Tijdens webontwikkeling heb je naast het schrijven van code ook vaak aanvullende taken, zoals:
- Afbeeldingsbestanden optimaliseren of bewerken.
- API's testen of netwerkverzoeken debuggen.
- Gecomprimeerde bestanden beheren of verwerken.
- SSL-certificaten en sleutels genereren of beheren.
ServBay integreert deze veelgebruikte commandoregeltools direct in je omgeving, waardoor je ze kunt gebruiken zonder aparte installatie of configuratie. Zo werk je sneller en gemakkelijker in je ServBay-terminalsessie.
Voorwaarden
Controleer vóór het gebruik van onderstaande commandoregeltools het volgende:
- ServBay is succesvol geïnstalleerd en draait op je macOS-systeem.
- Je bevindt je in de ServBay-omgeving via de ServBay-terminal of via een terminal met correct ingestelde ServBay-omgeving variabelen, zodat je de tools rechtstreeks kunt aanroepen.
Beeldbewerkingscomponenten
ServBay levert verschillende commandoregeltools voor beeldbewerking. Ze zijn zeer handig voor frontend-ontwikkelaars en backend-ontwikkelaars die mediabestanden moeten verwerken.
ImageMagick
ImageMagick is een uitgebreide set commandoregeltools en bibliotheken die meer dan 200 beeldformaten ondersteunt. Je kunt hiermee bitmapafbeeldingen creëren, bewerken, samenstellen of omzetten.
Basisgebruik
Afbeeldingsformaat converteren:
bashmagick convert input.jpg output.png
1Afbeeldingsgrootte wijzigen:
bashmagick convert input.jpg -resize 300x300 output.jpg
1Watermerk toevoegen:
bashmagick convert input.jpg -gravity southeast -draw "text 10,10 'ServBay'" output.jpg
1
cwebp
cwebp is een door Google ontwikkelde commandoregelencoder voor het converteren van afbeeldingen naar WebP-formaat. WebP is een modern afbeeldingsformaat dat over het algemeen betere verliesvrije en lossy compressie biedt dan JPEG en PNG, met behoud van vergelijkbare beeldkwaliteit. Dit optimaliseert de laadtijd van websites.
Basisgebruik
Converteer JPEG naar WebP:
bashcwebp input.jpg -o output.webp
1Converteer PNG naar WebP:
bashcwebp input.png -o output.webp
1Stel compressiekwaliteit in (bijvoorbeeld kwaliteitsfactor 80):
bashcwebp -q 80 input.jpg -o output.webp
1
jpegtran
jpegtran is een verliesvrije JPEG-conversietool waarmee je rotatie, spiegeling en transpositie kunt uitvoeren zonder decompressie of hercompressie — dus zonder compressieartefacten.
Basisgebruik
Draai een JPEG-afbeelding 90 graden met de klok mee:
bashjpegtran -rotate 90 input.jpg > output.jpg
1Horizontaal spiegelen van een JPEG-afbeelding:
bashjpegtran -flip horizontal input.jpg > output.jpg
1
djpeg
djpeg ontpakt een JPEG-bestand naar een ruwere pixelformaat (zoals PPM, PGM, BMP of Targa). Dit is handig als je de ruwe pixeldetails uit JPEG-bestanden wilt halen.
Basisgebruik
- Pak JPEG uit naar PPM-formaat:bash
djpeg input.jpg > output.ppm
1
cjpeg
cjpeg is de inverse tool van djpeg. Hiermee kun je afbeeldingen in PPM, PGM, BMP of Targa-formaat comprimeren naar een JPEG-bestand.
Basisgebruik
- Comprimeer PPM naar JPEG:bash
cjpeg input.ppm > output.jpg
1
img2webp
img2webp combineert een reeks losse afbeeldingen (zoals PNG of JPEG) tot één geanimeerd WebP-bestand.
Basisgebruik
- Combineer meerdere afbeeldingen tot een geanimeerde WebP:bash(Zorg ervoor dat
img2webp -o output.webp frame1.png frame2.png frame3.png
1frame*.png
correct gesorteerde afbeeldingsframes zijn.)
Netwerkcommunicatiecomponenten
cURL
cURL is een veelgebruikte commandoregeltool en bibliotheek om data via diverse netwerkprotocollen te verzenden. Het is essentieel voor het testen van API's, downloaden van bestanden en interactie met externe servers. Dankzij de integratie in ServBay kun je eenvoudig netwerktests doen en data uitwisselen.
Basisgebruik
Stuur een HTTP GET-verzoek naar een voorbeeld-API:
bashcurl -X GET https://api.servbay.demo/data
1Stuur een HTTP POST-verzoek met data:
bashcurl -X POST -d "param1=value1¶m2=value2" https://api.servbay.demo/data
1Download een bestand met de originele bestandsnaam:
bashcurl -O https://servbay.demo/file.zip
1Bekijk request- en response-headers:
bashcurl -I https://servbay.demo
1
Compressie en decompressiecomponenten
ServBay beschikt over diverse veelgebruikte compressie- en decompressietools, zodat je moeiteloos verschillende bestandsformaten kunt verwerken.
bzip2
bzip2 is een efficiënte compressietool gebaseerd op de Burrows-Wheeler-transformatie en Huffman-codering. Bestanden gecomprimeerd met bzip2 zijn doorgaans kleiner dan met gzip, maar het proces duurt meestal iets langer.
Basisgebruik
Comprimeer een bestand (het originele bestand wordt vervangen door een
.bz2
bestand):bashbzip2 input.txt
1Decompressie (
.bz2
bestand wordt teruggezet naar het origineel):bashbunzip2 input.txt.bz2
1Uitpakken naar standaard output:
bashbzip2 -dc input.txt.bz2
1
gzip
gzip is een van de meest gebruikte compressietools, vooral op Unix- en Linux-systemen. Het gebruikt Lempel-Ziv-codering (LZ77) en biedt snelle compressie en decompressie.
Basisgebruik
Comprimeer een bestand (origineel vervangen door
.gz
bestand):bashgzip input.txt
1Decomprimeer (
.gz
bestand terug naar origineel):bashgunzip input.txt.gz
1Uitpakken naar standaard output:
bashgzip -dc input.txt.gz
1
xz
xz is een efficiënt compressieprogramma gebaseerd op het LZMA2-algoritme. Het biedt doorgaans een betere compressieratio dan gzip en bzip2, al gaat dat vaak ten koste van de snelheid. De decompressie is doorgaans wel snel.
Basisgebruik
Comprimeer een bestand (origineel vervangen door
.xz
):bashxz input.txt
1Decomprimeer bestand (
.xz
terug naar origineel):bashunxz input.txt.xz
1Uitpakken naar standaard output:
bashxz -dc input.txt.xz
1
zstd
zstd (Zstandard) is een snelle verliesvrije compressie-algoritme van Facebook. Het biedt een uitstekend evenwicht tussen compressiesnelheid en ratio — meestal veel sneller dan gzip, met gelijke of betere compressie.
Basisgebruik
Comprimeer een bestand (origineel vervangen door
.zst
bestand):bashzstd input.txt
1Decomprimeer bestand (
.zst
bestand terug naar origineel):bashunzstd input.txt.zst
1Uitpakken naar standaard output:
bashzstd -dc input.txt.zst
1
Encryptie en beveiligingscomponenten
OpenSSL
OpenSSL is een krachtige open source-toolkit waarmee je de SSL- (Secure Sockets Layer) en TLS- (Transport Layer Security) protocollen implementeert, mét een breed scala aan cryptografische functies. In de ServBay-omgeving is OpenSSL essentieel voor het genereren van sleutels, certificate signing requests (CSR) en het beheren van SSL-certificaatbestanden – vooral nuttig bij lokaal testen van HTTPS of bij gebruik van ServBay’s SSL-functies, zoals de User CA of ACME-integratie.
Basisgebruik
Genereer een RSA private key (2048 bit):
bashopenssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
1Genereer bijpassende public key uit de private key:
bashopenssl rsa -pubout -in private_key.pem -out public_key.pem
1Genereer een certificate signing request (CSR):
bashopenssl req -new -key private_key.pem -out request.csr
1(Na deze opdracht wordt je gevraagd om certificaatgegevens, zoals land, organisatie en algemene naam.)
Genereer een self-signed certificate (voor lokaal testen):
bashopenssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt
1(Let op:
-in request.csr
vereist dat je al een CSR hebt gegenereerd. Wil je in één keer een private key en self-signed certificaat maken, dan is een kortere opdracht mogelijk, vooral geschikt voor eenvoudige testsituaties.)Bekijk certificaatinformatie:
bashopenssl x509 -in certificate.crt -text -noout
1
Opmerkingen
- De exacte versie van deze commandoregeltools hangt af van de ServBay-versie die je gebruikt.
- Alle tools zijn direct toegankelijk in een terminalsessie. Als je problemen ervaart, controleer dan of de ServBay-omgeving variabelen (vooral PATH) correct zijn ingesteld.
Conclusie
ServBay is veel meer dan alleen een lokale webontwikkelomgeving: het bevat een scala aan krachtige derde partijen commandoregeltools, die het functionaliteitsbereik enorm uitbreiden. Hierdoor kunnen ontwikkelaars beeldbewerking, netwerkdebugging, bestandsbeheer en security-taken sneller en eenvoudiger uitvoeren. Door deze ingebouwde tools goed te benutten, til je jouw ontwikkelervaring en productiviteit naar een hoger niveau.