Ontwerp Fotosite

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back end developer PHP

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

Senior Python Software Developer

Over de functie Maandag® IT is op zoek naar een Senior Python Software Developer. Start: Z.S.M Duur: 12 maanden + optie op verlenging Aantal uren: 36 Locatie werken: Arnhem / Remote Als Python Software Developer onderhoud je de bestaande code en implementeer je nieuwe functies. Je bent betrokken en constructief en je deelt nieuwe ideeën, zowel op technisch gebied als wat betreft de gebruikersfunctionaliteit en de organisatie van het team. Je werkt samen met de andere software developers, engineers en projectmanagers om nieuwe functionaliteiten in de tools te realiseren. Daarnaast ben je actief betrokken bij het onderhoud en de devops-taken.

Bekijk vacature »

Senior Java developer (backend)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Senior Angular Developer

Over de functie De klant is een Nederlands familiebedrijf. Bij dit bedrijf maakt men veel software zelf. De afgelopen jaren zijn de fundamenten voor de TypeScript ontwikkel-straat gelegd. Het huis is echter nog lang niet af. Er wachten tientallen applicaties om de reis naar het web te gaan maken. Hier ben jij voor nodig! Je doet dit niet alleen, maar jij slaat behoorlijk de maat want het team is klein. Typescript (Angular), NodeJS, NestJS en GraphQL zijn echt jouw frameworks! Het is nodig om goed aan te sluiten op de bestaande informatiesystemen en databases, die veelal gebaseerd zijn op een

Bekijk vacature »

.NET developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Front-end developer (React)

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een development team met één Senior .NET developer en één junior .NET developer. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit moment veel gebruik van .NET met ASP.NET. Komend kwartaal gaan wij wel gedeeltelijk overstappen naar .NET Core. Verder werken wij ook met SOAP, REST, JSON, HTML5, CSS3

Bekijk vacature »

Android Developer

In this role as an Senior Android Developer you will work on different innovative projects. You will write clean code and you have experience with reviewing code as well. You are paying attention to details. You take full responsibility for building, testing and maintaining the Android application. You will create impact and help each other to develop, learn and grow. Functie-eisen 4 + years experience with programming Android Studio, Android SDK, Java, Kotlin Contributing to the optimization of the applications. Sharing your programming skills and coaching your colleagues You are familiar with CI Tools; Jenkins You are familiar with Atlassian

Bekijk vacature »

Fullstack of back-end PHP developer

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

Senior Frontend developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Bij DPA GEOS werken onze consultants als Frontend Developer in Agile teams bij onze klanten en zijn ze verantwoordelijk voor de grotere webapplicaties. Wil jij dit ook, want we zijn op zoek naar enthousiaste Frontend Developers om ons development team te versterken. Je draagt positief bij aan de teamgeest binnen een projectteam je kijkt verder dan je eigen rol. Eventueel begeleid je ook andere ontwikkelaars in het softwareontwikkelproces. Je gaat webapplicaties maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit

Bekijk vacature »

Junior Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Samenwerken in een team van 10 collega's; Opleveren van mooie eindproducten, middels de Agile methodiek; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als startende IT-professional kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven.

Bekijk vacature »

DUO - Freelance Senior Programmeur (ZZP)

Wat doen we voor werk momenteel? Nieuwe applicaties: We bouwen nieuwe applicaties voor inwinnen B3/B4 scholen. Deze scholen kunnen inschrijvingen via een website aanleveren per keer of meerdere inschrijvingen via bestand. Deze inschrijvingen leggen we vast en ze kunnen ook beheerd worden. Moderniseren: Daarnaast hebben we zoals alle andere teams ook een flinke migratie voor de boeg om in de Cloud te landen. Eén applicatie (AVOID) hebben we al succesvol gemigreerd en deze draait bijna in PRD. De grootste uitdaging voor ons is dat we voornamelijk nog Spring (OSV3) applicaties hebben. Deze zullen eerst naar OSV5 (Spring boot) gemigreerd moeten

Bekijk vacature »

Junior Robot Programmeur

Bedrijfsomschrijving: Locatie: regio Eindhoven Deze organisatie ontwikkelt, test & released robots en verzorgt het product lifecycle management, vanaf potloodschets tot implementatie. Producten worden geschikt gemaakt voor seriefabricage. Als Junior Robot Programmeur werk je samen met de Product Engineers, Cost Engineers, Test Engineers, Process Engineers en Workshop Technicians. Ze streven naar robuuste producten die onder uitdagende omstandigheden, over de hele wereld goed blijven functioneren. Lijkt het jou leuk om dagelijks met innovatie bezig te zijn en robots te ontwikkelen in een multidisciplinair team met een projectmatig karakter? Wil je als Junior Robot Programmeur meewerken aan het ontwerpen en ontwikkelen van state

Bekijk vacature »

Senior Mobile Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Mobile Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. 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

Bekijk vacature »

Senior .NET developer

Functie Als Senior .NET ontwikkelaar ga jij bij ons aan de slag in een development team welke bestaat uit een Lead developer, een ervaren Full stack developer, een dedicated Front-end developer en een junior Software developer. Samen zijn wij verantwoordelijk voor onze interne projecten en bekijken wij samen wat er op onze Roadmap komt te staan. Hierbij een glimp van een aantal van onze recente projecten! • Eind 2020 is het zelf ontwikkelde e-commerce platform in productie genomen. Dit systeem is vanaf de grond af aan opgebouwd door ons Development Team. Doordat we dit hebben kunnen doen hebben we geen

Bekijk vacature »
 - Diov  -

- Diov -

03/01/2014 19:50:25
Quote Anchor link
Beste,

Voor een persfotograaf wil hij foto's op een site plaatsen.
Alle foto's zijn ongeveer 1 MB groot, en de foto's worden upgeloaded via ftp.

Dit zou mijn database zijn:
Een database met:
- Unieke ID
- De gegevens van foto (metadata (naam, plaats, ...)
- Datum: tijd wanneer de foto is upgeloaded
- locatie

Dan gaat de fotograaf afbeeldingen gaan uploaden.
Na het uploaden logt hij in, en klikt hij op een knop om de nieuwe foto's in de database te stoppen(*) en een foto aan te maken met een watermerk.

(*) = Hiermee bedoel ik een nieuw record in de tabel met de locatie, ...

Als men op de knop drukt, dan zouden alleen de afbeeldingen die nog niet in de database zijn opgeslaan, geïnserted mogen worden in de database.
Dus dan dacht ik om alle foto's uit de map te halen, waarvan de upload tijd groter is dan de grootste tijd van de database (van het laatste record).

Daarna moet ik telkens de foto openen, de metadata eruit halen met exif(), een thumbnail maken met een watermerk en die dan in een andere map opslaan.

Is deze manier goed, of kan het veel makkelijker?
Alternatieven?
Stel dat er 300 foto's die upgeload zijn, is dit dan nog haalbaar?

Alvast bedankt,
Diov
 
PHP hulp

PHP hulp

08/02/2023 14:24:20
 
Php knipper

php knipper

03/01/2014 20:10:55
Quote Anchor link
Is FTP nodig? kan het niet via een uploader op de site?

Als je 300 foto's upload en je moet die nadien nog in de databank steken is het toch gemakkelijker dit tijdens het uploaden te doen. Ook een aantal gegevens ingeven kan bij 300 foto's best in bulk, dat bespaart al wel wat tijd voor de uploader dan.
 
Bart Smulders

Bart Smulders

03/01/2014 20:13:12
Quote Anchor link
Lijkt mij zeker haalbaar. Misschien de foto's die reeds gedaan zijn verplaatsen naar een andere map bespaart tijd denk ik dan.Zo ben je zeker dat de nieuwe geuploade foto's steeds nieuwe zijn en geen die reeds bestaan in je db. Indien je dit toch wil controleren kan je if exist gebruiken....

En ook belangenrijk is het controleren of de foto wel een foto is.... met
Deze functie
Succes
Gewijzigd op 03/01/2014 20:47:53 door Bart Smulders
 
Bart V B

Bart V B

03/01/2014 20:28:58
Quote Anchor link
Quote:
Is FTP nodig? kan het niet via een uploader op de site?

Ja, dat is nodig.
We hebben het over 300 foto's a 1 MB, dus we praten over 300 MB aan data per keer.
Daar is een upload via $_FILES niet voor gemaakt.
Zoals mijn naamgenoot Bart het dus voorsteld. ;)

Een betere optie is om de foto's te uploaden en een script te maken die de directory's scant en deze in de database zet als er een nieuwe foto is geplaatst. Misschien dat dit nog automagisch zou kunnen via een cronjob zodat de gebruiker er geen last van heeft, maar dat is een keuze aan jou.
 
Joakim Broden

Joakim Broden

03/01/2014 21:13:09
Quote Anchor link
Wat ik zou doen is aangezien het om veel (grote) foto's gaat zou ik het niet handmatig uploaden via een formulier (vooral niet 1 voor 1).

Ik zou een zip uploaden via FTP wat sneller gaat, en dan via een CMS een script laten runnen die de zip uitpakt, de foto's naar de goede map schrijft en de bestanden in de database zet.

Desnoods zou ik een excel bestand in de zip zetten die door het zelfde script laten uitlezen. In het excel bestand staat dan bv de gegevens (metadata) van de afbeelding die ook in de database gezet word.

Waar ik nog wel naar zou kijken is, is het echt noodzakelijk om foto's van 1 MB online te zetten? Highresolutie foto's zijn meer voor drukken, voor op het web zou ik toch voor lagere kwaliteit foto's gaan (vooral als het gaat om een foto albumpje). En als je een watermerk via PHP wilt toevoegen gaat de kwaliteit sws erg achteruit, wat zonde zou zijn als je foto's van 1 MB hebt.
 
 - Diov  -

- Diov -

04/01/2014 12:21:10
Quote Anchor link
@PHP Knipper,
dat heb ik ook overweegd, maar de fotograaf werkt met een gebruiksvriendelijk programma waarbij hij zeer makelijk foto's kan uploaden, mailen..

Ook is het een tamelijke grote hoeveelheid, en wat als de browser vastloopt..
Als het programma vastloopt, en start je het opnieuw op, moet je alleen maar klikken op: Verder Uploaden..

@Bart Smulders,
Om de foto's in een andere map te steken, vind ik een goed idee en zal ik zeker gaan toepassen.

@Bart VB,
Misschien kan ik een cronjob om de 5 minuten instellen, maar het ook mogelijk maken via een knop.

@Metal,
In een ZIP Bestand steken is denk ik niet haalbaar.
Men moet de foto's selecteren, en gewoon verslepen naar die map. Men kan niet zomaar een ZIP aanmaken in het programma met de geselecteerde foto's.

De echte originele foto's zijn 5MB groot.
Daarna worden de foto's opgescherpt en verkleint naar ongeveer 1MB.
5MB is geschikt voor op een voorpagina, als de kwaliteit zeer top moet zijn. (En die kunnen op aanvraag worden verstuurd)

1MB zijn de gewone foto's in de krant :)
De kranten kunnen automatisch foto's afhalen via de site via een login.

Daarom zou ik ook per foto een thumbnail aanmaken met een copyright die ik toon aan de gewone bezoekers.
En eventueel ook een thumbnail zonder copyright, voor de kranten.

Bedankt alvast voor het meedenken, en indien je nog wat ideeën hebt, laat maar weten.
Diov
 
Ivo P

Ivo P

04/01/2014 13:39:27
Quote Anchor link
Quote:
Misschien kan ik een cronjob om de 5 minuten instellen, maar het ook mogelijk maken via een knop.


dan wel een controle inbouwen dat je niet2 of meer keer hetzelfde script laat draaien: met 300 foto's ben je wel even bezig met je watermerken en dat kan zo maar meer dan 5 minuten gaan duren.

Sowieso wel een taak om op de achtergrond te doen, en niet via de browser, want je zit zo aan de timeout van 30 of 60 seconden. Danwel, als je de timeout hoog genoeg zet, dan kan de browser het na een tijdje ook wel voor gezien houden.
 
 - Diov  -

- Diov -

05/01/2014 12:38:06
Quote Anchor link
@Ivo, inderdaad daar had ik nog niet over nagedacht maar zal ik zeker gaan toepassen.

Ik maak nu 4 thumbs in totaal
Een grote
Een grote met copyright
Een kleine
Een kleine met copyright

In totaal zijn die 4 thumbs 225KB groot. Dus 1/4 van een MB. (Zonder originele foto)

De namen van de thumbs zijn 64 karakters groot, en uniek.
De codes worden eerst in de database gestoken in 4 velden. (code_groot, code_klein, code_groot_copy, code_klein_copy)

Deze 4 kollommen staan trouwens ook op uniek. Dus als men toch toevallig dezelfde code tegenkomt krijg mysql een error, en zal hij de volgende foto doen.
Op het laatste zal hij dan nog eens proberen de foto up te loaden. (door de cronjob van om de 5 minuten)

Met 1TB aan opslagruimte kan ik ongeveer 650.000 foto's uploaden.
Dit is een schatting die ik ongeveer berekend heb

(1TB = 1 024 000 MB, en 1.5 MB met de foto en thumbmails)..
En daar nog wat afgetrokken voor de layout, en webschop etc.

Ik zal nu nog wat test doen om de RAM van me server te verminderen. Denk om imagedestroy() te gaan gebruiken. Maar misschien zijn er ook nog andere functies?

En daarna ook nog ff te recorden hoelang het duurt om 1 afbeelding te verwerken.
Tips zijn nog altijd welkom!

Toevoeging op 05/01/2014 12:50:23:

8.88 seconden voor 13 foto's.
De foto's zijn nu ook nog 5MB (moet nog andere testfoto's krijgen)
 
- SanThe -

- SanThe -

05/01/2014 12:54:29
Quote Anchor link
Even over die cronjob. Als ik een cronjob start dan wordt er eerst gekeken of een bepaald temperary bestandje bestaat. Zo ja, dan stopt de uitvoering direct. Zo nee, dan maakt ie dat temporary bestandje aan en gaat ie aan de slag met wat ie allemaal moet doen. Is ie klaar dan wordt dat temporary bestandje gedeleted. Op die manier zullen er nooit twee cronjobs aan hetzelfde bezig zijn.
 
 - Diov  -

- Diov -

05/01/2014 13:02:47
Quote Anchor link
@SanThe, dat wist ik niet.
Maar is het toch niet beter om daar sowieso geen check op te doen?
Ik wil niet dat er 2 keer dezelfde foto's in de databank worden gestopt en thumbs worden aangemaakt.
 
- SanThe -

- SanThe -

05/01/2014 13:19:30
Quote Anchor link
Dat vermijd je juist met mijn oplossing. Er kan maar 1 cronjob draaien en die doet gewoon wat ie moet doen. Het maakt dan niet uit hoelang ie er over doet.
Gewijzigd op 05/01/2014 13:19:40 door - SanThe -
 
 - Diov  -

- Diov -

05/01/2014 13:55:49
Quote Anchor link
Ahzo Santhe,
Ik dacht dat de cronjob dat automatisch al deed.
Verkeerd opgevat.

Dus gewoon een bestand aanmaken, en daarna weer verwijderen?
En voordat je het script wel uitvoeren, even nog een controle uitvoeren of het bestand werkelijk bestaat?
 
- SanThe -

- SanThe -

05/01/2014 14:14:48
Quote Anchor link
Dat doe je in het script zelf.

Toevoeging op 05/01/2014 14:17:44:

Even simpel;

* Bestaat het bestandje?
* Ja => exit.
* Nee
* Maak dat bestandje aan.
* Doe de dingen die gedaan moeten worden.
* Klaar?
* Verwijder het bestandje.

Toevoeging op 05/01/2014 14:20:13:

In sommige gevallen hou ik zelfs bij hoe vaak ie naar exit moet gaan en als dat te vaak gebeurt stuurt ie mij een mailtje.
 
 - Diov  -

- Diov -

05/01/2014 15:21:45
Quote Anchor link
Zoiets dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php

$n
= 'lock.cronjob';

if (file_exists($n)) {
    echo 'lock.cronjob:: --> Cronjob is nog steeds bezig.';
    exit;
}

else {
    echo 'Start Cronjob'.date();
    $handle = fopen($n, 'w');
    
    #code ...

    unlink($n);
}

?>
Gewijzigd op 05/01/2014 15:22:06 door - Diov -
 
- SanThe -

- SanThe -

05/01/2014 15:50:38
Quote Anchor link
Ik denk dat je er wel iets in moet zetten. Alleen openen weet ik niet of ie dan al aangemaakt wordt. Kan je natuurlijk ook even testen.
 
 - Diov  -

- Diov -

05/01/2014 16:11:56
Quote Anchor link
@SanThe,
Hij maakt het bestand aan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
'w'     Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.


Nu nog een andere vraag:
Zou ik een maximum opleggen:
Voorbeeld dat men 100 foto's maximum in 1 keer bewerkt. En daarna wachten op de cronjob?
Zodat de server even rust heeft? Of maakt dit niets uit?
 
- SanThe -

- SanThe -

05/01/2014 16:18:59
Quote Anchor link
Zoveel tijd zal het niet in beslag nemen. Gewoon doen.
 
 - Diov  -

- Diov -

05/01/2014 16:58:50
Quote Anchor link
Oke bedankt :)
Zal nu beginnen aan de gewone site.

En daarna moet ik nog een server zoeken met 1TB aan opslagruimte die niet te veel kost :)
 
Bart Smulders

Bart Smulders

05/01/2014 19:10:52
Quote Anchor link
- Diov - op 05/01/2014 16:58:50:
Oke bedankt :)
Zal nu beginnen aan de gewone site.

En daarna moet ik nog een server zoeken met 1TB aan opslagruimte die niet te veel kost :)

deze hosthost bv
 



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.