mkdir

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Developer Full Stack

Functie omschrijving Developer gezocht! Ben jij een enthousiaste developer die graag wil bijdragen aan ontwikkelingen binnen een mooie organisatie? Solliciteer dan snel. Wij zijn op zoek naar een Full Stack Developer uit de regio Nijkerk die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een SaaS applicatie. Je moet beschikken over beheersing van zowel de Nederlandse als Engelse taal aangezien je samen met de klant gaat werken. Bedrijfsprofiel Je komt te werken binnen een echt familiebedrijf dat al sinds 1925 actief is binnen de FMCG branche. Het bedrijf heeft 40 medewerkers en er heerst een platte communicatiestructuur waarbij

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Implementatie specialist

Standplaats: Honselersdijk Aantal uren: 32 – 40 uur Opleidingsniveau: HBO werk- en denkniveau Ben jij de implementatie expert die onze klanten helpt bij het integreren van de Greencommerce software? Ben jij daarnaast communicatief sterk, denk jij graag in verbeteringen en heb je ervaring met ICT? Lees dan snel verder! Bedrijfsinformatie Jem-id is een grote speler op het gebied van software ontwikkeling. Zo zijn wij continu bezig met het ontwikkelen van de meest innovatieve software voor de AGF- en sierteeltsector. We creëren oplossingen die er toe doen en verbinden klanten niet alleen op technisch vlak, maar zoeken ook de verbinding in

Bekijk vacature »

Front-end developer gezocht

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

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 »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Ontwikkelaar MS Dynamics 365 Projecten

Samengevat: Deze werkgever is de kwaliteitsdienst in de tuinbouwsector. Ben jij een ervaren ontwikkelaar? Heb jij ervaring met Ms Dynamics 365 BC? Vaste baan: Ontwikkelaar Ms Dynamics 365 BC ICT MBO 3.500 - 5.000 Ontwikkelaar Ms Dynamics 365 BC Ons bedrijf bewaakt en bevordert de kwaliteit van producten, processen en ketens in de tuinbouw. Wij kenmerken zich door openheid, ruimte voor initiatief, collegialiteit en zelfontplooiing. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Functie: Voor de vacature als Ontwikkelaar Ms Dynamics 365 BC Roelofarendsveen MBO

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Ontwikkelen van herbruikbare componenten; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als junior .NET Developer kom je terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als junior .NET Developer werk je aan het ontwikkelen van verbeterde

Bekijk vacature »

Dynamics Ontwikkelaar

Dit ga je doen Ontwikkelen van Dynamics 365 voor de interne uitrol; Samen met de consultants sparren met klanten over de wensen en eisen; Ontwikkelen van Dynamics 365 voor verschillende grote klanten; Technische analyse en testen; Meedenken over het gebruik en de richting van Dynamics binnen de organisatie. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden je MBO of HBO ICT in ontvangst mogen nemen? Of ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een uitdagende werkgever in de regio van Tilburg zijn wij op zoek naar een ambitieuze back-end programmeur met affiniteit met MS Acess. Samen met een enthousiast team ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL, Maar affiniteit met MS Acess is nog belangrijker. Je bent sociaal naar klanten en flexibel ingesteld. Je denkt altijd in kansen en gaat graag de uitdaging aan. Verder

Bekijk vacature »

C# .NET Developer

Dit ga je doen Je richt je op het doorontwikkelen en herstructureren van het platform; Je werkt in teamverband en zelfstandig aan uitdagende projecten voor verschillende klanten; Softwareontwikkeling middels C# .NET; Je staat in contact met verschillende opdrachtgevers om de klantwensen te bespreken en deze vervolgens te ontwikkelen; Verbeteren van bedrijfsprocessen; Implementaties. Hier ga je werken Als .NET Developer 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

Bekijk vacature »

Social Media Specialist

Social Media Specialist locatie: Rotterdam (Zuid Holland) Wij zoeken op korte termijn een nieuwe collega, een social media specialist/ adviseur sociale media (24 uur), voor ons sprankelende team Communicatie van CJG Rijnmond. Onze focus ligt op het informeren en binden van onze in- en externe klanten en stakeholders en het versterken van onze naamsbekendheid en zichtbaarheid. Dat doen we in nauwe samenwerking met elkaar. Over de functie Ons team bestaat uit 7 communicatieprofessionals met ieder een eigen expertise. Als lid van het online team ben je verantwoordelijk voor het ontwikkelen, uitvoeren en analyseren van onze socialemediastrategie. Ook stel je campagnes

Bekijk vacature »
Ozzie PHP

Ozzie PHP

25/12/2013 23:19:25
Quote Anchor link
Ola,

Een vraagje. Als het niet lukt om een directory aan te maken dan geeft mkdir false terug. Echter, de reden kan verschillend zijn. Het kan zijn dat de directory al bestaat, of dat de maprechten van de parent directory het niet toestaan. Nu kan ik eerst controleren of de directory al bestaat en zo niet, dan pas mkdir() uitvoeren. Dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

if (!is_dir('foo')) mkdir('foo');

?>

Nu is het zo dat PHP meerdere processen (requests) tegelijk uitvoert. Zou het nu kunnen dat proces A constateert dat directory "foo" niet bestaat, direct daarna proces B directory "foo" aanmaakt en proces A vervolgens de mkdir() zal uitvoeren wat resulteert in false omdat proces B zojuist de directory heeft aangemaakt? Anders gezegd, kan in de onderstaande regel op de plek van het sterretje * een ander proces de directory "foo" aanmaken?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

if (!is_dir('foo')) * mkdir('foo');

?>

Ik hoop dat mijn vraag duidelijk is. Zo niet, laat het dan even weten dan probeer ik het nog beter uit te leggen.
Gewijzigd op 25/12/2013 23:22:44 door Ozzie PHP
 
PHP hulp

PHP hulp

28/03/2024 19:25:02
 
Wouter J

Wouter J

25/12/2013 23:25:30
Quote Anchor link
Sinds wanneer kan php meerdere processen tegelijkertijd aan?
 
Mark Hogeveen

Mark Hogeveen

25/12/2013 23:33:25
Quote Anchor link
Bij multithreading zou je dit probleem kunnen hebben, maar voor zover ik weet gaat bij PHP alles echt achter elkaar. En als er überhaupt requests door elkaar worden uitgevoerd, dan is de tijd tussen 2 statements zo immens klein dat ook de kans op problemen hiermee extreem klein is, bij sommige programmeertalen, de vaag gezegd op aparte hardware worden uitgevoerd, wordt er gebruik gemaakt van synchronized functions, dat zijn opdrachten die echt alleen achter elkaar kunnen worden uitgevoerd. het nadeel van deze techniek is dat het iets trager kan worden. Maar we hebben het nu allang niet meer over PHP...
Sowieso zegt men altijd: een computer (processor) kan maar 1 ding tegelijk.
Deze vraag wordt ook wel eens gesteld met SQL queries, ook daar is hier rekening mee gehouden.
Gewijzigd op 25/12/2013 23:35:10 door Mark Hogeveen
 
Ozzie PHP

Ozzie PHP

25/12/2013 23:49:48
Quote Anchor link
>> Sinds wanneer kan php meerdere processen tegelijkertijd aan?

>> Bij multithreading zou je dit probleem kunnen hebben, maar voor zover ik weet gaat bij PHP alles echt achter elkaar.

Volgens anderen op het forum doet PHP wél aan multithreading.

Zie hier een antwoord op een eerdere vraag die ik hierover stelde:
http://www.phphulp.nl/php/forum/topic/processen/90311/#647988

Quote:
Ik denk dat het antwoord hierop volmondig ja moet zijn. Een webserver is een multithreaded omgeving dus die kan meerdere requests tegelijk aan. Uiteraard niet oneindig veel, maar zeker meer dan 1.
Dit kan je simpel zelf testen door van 1 device een aanvraag naar je server te doen die je in een lange (desnoods oneindige) loop laat komen en vanaf een andere device een pagina op te vragen. Die pagina krijg je vast te zien -> twee requests tegelijk uitgevoerd dus.

Hieruit leid ik af dat er meerdere requests tegelijkertijd kunnen worden afgehandeld. Of zie ik het verkeerd?
 
Dos Moonen

Dos Moonen

26/12/2013 01:09:39
Quote Anchor link
Je kunt PHP compilen met multithreading support geloof ik. Maar over het algemeen wordt dit niet gedaan maar spawnt een SAPI zoals Apache meerdere (single threaded) workers. Dat zijn van individuele processen die het OS in theorie precies op het sterretje zou kunnen onderbreken om een andere worker even aan de beurt te laten. In de praktijk

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
18
19
20
21
22
23
<?php

// 'foo' is geen bestand of map
if ( ! file_exists('foo'))
{

    // is_dir() wordt alleen uitgevoerd als mkdir mislukt
    if (mkdir('foo') OR is_dir('foo'))
    {

        // success, 'foo' is een map (ik negeer de mogelijke race conditie waar 'foo' tussen die twee checks verwijders is, anders blijven we bezig
    }
}

else
{
    // 'foo' bestaat al, geen idee of het een bestand of een map is
}

//

if (is_dir('foo') OR mkdir('foo'))
{

    // 'foo' is een map
}
?>
Gewijzigd op 26/12/2013 01:11:06 door Dos Moonen
 
Ozzie PHP

Ozzie PHP

26/12/2013 01:19:33
Quote Anchor link
Ah, thanks Dos. Ik moet dus wel rekening houden met de (zeer zeldzame) mogelijkheid dat op het punt van het sterretje proces B tussenbeide komt. Jouw oplossing lijkt me inderdaad een mooie! Die OR kun je die ook vervangen door || ?

Ik dacht ook nog eventueel aan deze oplossing:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if (!@mkdir($directory)) {
  if (is_dir($directory)) {
    // gooi exception dat directory al bestaat
  } else {
    // gooi exception dat directory niet kon worden aangemaakt
  }
}

?>

Hierbij probeer ik eerst zonder enige controle de directory aan te maken. Als het niet lukt ga ik kijken of dat komt omdat de directory al bestaat, of omdat de directory niet kon worden aangemaakt (wegens verkeerde maprechten).

Is mijn variant ook goed?

Nu ik nog even naar jouw variant kijk mis ik de optie om een exception te gooien als het misgaat.
Gewijzigd op 26/12/2013 01:23:38 door Ozzie PHP
 
Ivo P

Ivo P

26/12/2013 03:41:46
Quote Anchor link
Je zou een dir genaamd index.php kunnen willen aanmaken.

Er is gerede kans dat mkdir dan mislukt omdat er al een *file* is met die naam, maar is_dir() geeft dan warschijnlijk false....
 
Ozzie PHP

Ozzie PHP

26/12/2013 12:31:46
Quote Anchor link
>> Je zou een dir genaamd index.php kunnen willen aanmaken.

En waarom zou je een directory willen aanmaken die de naam van een bestand heeft? :-s

>> Er is gerede kans dat mkdir dan mislukt omdat er al een *file* is met die naam, maar is_dir() geeft dan warschijnlijk false....

Dat zal inderdaad false opleveren, maar met mijn code (zie hierboven) komt ie dan dus in de "else" terecht. Precies wat je zou willen lijkt mij.
 
Ozzie PHP

Ozzie PHP

03/01/2014 10:14:21
Quote Anchor link
Toch nog even terugkomend op dit verhaal.

Dos zegt hierboven "Dat zijn van individuele processen die het OS in theorie precies op het sterretje zou kunnen onderbreken om een andere worker even aan de beurt te laten."

Het kan volgens Dos dus zo zijn dat deze situatie optreedt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$directory
= 'foo';

if (is_dir($directory)) {
 // code
 // code
 // code

 $this->rename($directory, 'bar');  // wieuw wieuw, alarmbellen, directory 'foo' bestaat niet. Gooi een exception!
}

?>

Kan de situatie zoals hierboven geschetst "in het echie" voorkomen? Dus dat je een if-statement hebt dat in true resulteert omdat een directory bestaat, en dat ondertussen terwijl het if-statement wordt uitgevoerd een andere proces de directory verwijdert, waardoor je binnen de if-statement ineens geen directory meer hebt? Als dit zo is, is het eigenlijk toch heel vreemd? Zou PHP zelf dan niet voorkomen dat tijdens de uitvoering van een if-statement het ene proces het andere proces niet kan onderbreken?

Eigenlijk kan ik mijn vraag nog iets ruimer stellen. Moet ik in het codeblok hierboven eenmalig controleren of de directory bestaat, of moet ik dubbel controleren?
 
Ivo P

Ivo P

03/01/2014 10:51:29
Quote Anchor link
die kans is natuurlijk altijd aanwezig.

Niet alleen als 2 php processen elkaar in de wielen rijden, maar ook als iemand via de command prompt de directory aanpast/verwijdert, of misschien wel de heel schijf unmount.

Hoe korter de tijd tussen regel 5 en 9 hoe kleiner de kans.
Als je eerst controleert of de dir bestaat en daarna op je gemak een pdf van 100 pagina's gaat bakken, dan kun je zo maar 1 of 2 minuten verder zijn.

Doe je niet heel veel tegen.
 
Ozzie PHP

Ozzie PHP

03/01/2014 11:02:23
Quote Anchor link
Ivo, dankjewel voor je reactie. Dan zal ik er toch maar rekening mee houden...
 



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.